--- title: "Retrieving Signing Status" slug: "retrieving-signing-status" updated: 2025-09-29T20:20:18Z published: 2025-09-29T20:20:18Z canonical: "docs.onespan.com/retrieving-signing-status" --- > ## Documentation Index > Fetch the complete documentation index at: https://docs.onespan.com/llms.txt > Use this file to discover all available pages before exploring further. # Retrieving Signing Status [Java SDK](/v1/docs/retrieving-signing-status#java-sdk) [.NET SDK](/v1/docs/retrieving-signing-status#net-sdk) [REST API](/v1/docs/retrieving-signing-status#rest-api) [APEX SDK](/v1/docs/retrieving-signing-status#apex-sdk) ## Java SDK To download the full code sample see our [Code Share](https://community.onespan.com/documentation/onespan-sign/codeshare/get-signing-status-java-sdk/) site. Once a transaction as been created, you can retrieve the signing status of that transaction, or of a particular signer. It is strongly recommended that you use a [Callback Listener](/v1/docs/creating-a-callback-notification-listener) instead of polling for transaction statuses. The use of polling may consume unnecessary resources on both your end, and on the OneSpan Sign service. OneSpan Sign transactions follow a predefined lifecycle, defined by the following lifecycle states: - Draft: The transaction has not yet been sent. The transaction is inactive and can be edited. A signing status of "INACTIVE" will be returned. - In progress: The transaction has been distributed for signatures, but has not yet been completed. A signing status of "SIGNING_PENDING" or "SIGNING_COMPLETE" will be returned, depending on the progress of the signer. - Completed: The transaction has been signed by all recipients. A signing status of "COMPLETED" will be returned - Opted out: The transaction has at least one recipient who has opted out of signing the transaction electronically. Note: The opt-out option has been removed from the Signer Experience. - Declined: The transaction has at least one recipient who has declined to sign the transaction. A signing status of “DECLINED” will be returned. - Expired: The transaction has expired (i.e., its expiry date is in the past). A signing status of “EXPIRED” will be returned. - Archived: The transaction has been archived. A signing status of “ARCHIVED” will be returned. The following diagram outlines the flow a transaction normally goes through. In addition, included in this diagram are two possible actions that you can take during this lifecycle process. - **Trash Action**: The Trash action is used to move a selected transaction to the Trash folder. A signing status of “DELETED” will be returned. Transactions in the trash folder are not automatically deleted, unless there is a specific retention policy set for that account. Transactions that are manually deleted from this folder are recoverable for two weeks after deletion. To recover these transactions you must contact our [Support Team](https://www.onespan.com/support). - **Delete Action**: Your package will be permanently deleted and cannot be reinstated. A signing status of “DELETED” will be returned. ![](https://cdn.document360.io/038f59a7-abd0-4c14-9de7-3434d28b49fd/Images/Documentation/image(25).png?sv=2026-02-06&spr=https&st=2026-11-13T10%3A41%3A11Z&se=2026-11-13T11%3A41%3A11Z&sr=c&sp=r&sig=sdNr6fROWIJAWEoLaJ%2FmXhLzZA6gQDUosdIEo%2F%2BziYY%3D) The first step is to create your PackageId object. The following code will do this: ```javascript PackageId packageId = new PackageId("XB4m3cocNudSPEAoUDCIZgbkZD4="); ``` Then, you use the OneSpan Sign client to query the status of the transaction and of a signer. The following code will do this: ```javascript com.silanis.esl.sdk.SigningStatus pkgStatus =    eslClient.getSigningStatus(packageId, null, null); com.silanis.esl.sdk.SigningStatus signerStatus1 =    eslClient.getSigningStatus(packageId, new SignerId(signerId1), null); ``` ### Results Once you have retrieved the signing status, do a System.out.println() of each SigningStatus object. Here is an example of what you can expect to see once you have run your code. ![](https://cdn.document360.io/038f59a7-abd0-4c14-9de7-3434d28b49fd/Images/Documentation/image(26).png?sv=2026-02-06&spr=https&st=2026-11-13T10%3A41%3A11Z&se=2026-11-13T11%3A41%3A11Z&sr=c&sp=r&sig=sdNr6fROWIJAWEoLaJ%2FmXhLzZA6gQDUosdIEo%2F%2BziYY%3D) ## .NET SDK To download the full code sample see our [Code Share](https://community.onespan.com/documentation/onespan-sign/codeshare/get-signing-status-net-sdk/) site. Once a transaction as been created, you can retrieve the signing status of that transaction, or of a particular signer. It is strongly recommended that you use a [Callback Listener](/v1/docs/creating-a-callback-notification-listener) instead of polling for transaction statuses. The use of polling may consume unnecessary resources on both your end, and on the OneSpan Sign service. OneSpan Sign transactions follow a predefined lifecycle, defined by the following lifecycle states: - Draft: The transaction has not yet been sent. The transaction is inactive and can be edited. A signing status of "INACTIVE" will be returned. - In progress: The transaction has been distributed for signatures, but has not yet been completed. A signing status of "SIGNING_PENDING" or "SIGNING_COMPLETE" will be returned, depending on the progress of the signer. - Completed: The transaction has been signed by all recipients. A signing status of "COMPLETED" will be returned - Opted out: The transaction has at least one recipient who has opted out of signing the transaction electronically. Note: The opt-out option has been removed from the Signer Experience. - Declined: The transaction has at least one recipient who has declined to sign the transaction. A signing status of “DECLINED” will be returned. - Expired: The transaction has expired (i.e., its expiry date is in the past). A signing status of “EXPIRED” will be returned. - Archived: The transaction has been archived. A signing status of “ARCHIVED” will be returned. The following diagram outlines the flow a transaction normally goes through. In addition, included in this diagram are two possible actions that you can take during this lifecycle process. - **Trash Action**: The Trash action is used to move a selected transaction to the Trash folder. A signing status of “DELETED” will be returned. Transactions in the trash folder are not automatically deleted, unless there is a specific retention policy set for that account. Transactions that are manually deleted from this folder are recoverable for two weeks after deletion. To recover these transactions you must contact our [Support Team](https://www.onespan.com/support). - **Delete Action**: Your package will be permanently deleted and cannot be reinstated. A signing status of “DELETED” will be returned. ![](https://cdn.document360.io/038f59a7-abd0-4c14-9de7-3434d28b49fd/Images/Documentation/image(27).png?sv=2026-02-06&spr=https&st=2026-11-13T10%3A41%3A11Z&se=2026-11-13T11%3A41%3A11Z&sr=c&sp=r&sig=sdNr6fROWIJAWEoLaJ%2FmXhLzZA6gQDUosdIEo%2F%2BziYY%3D) The first step is to create your PackageId object. The following code will do this: ```csharp PackageId packageId = new PackageId("XB4m3cocNudSPEAoUDCIZgbkZD4="); ``` Then, you use the OneSpan Sign client to query the status of the transaction and of a signer. The following code will do this: ```csharp Silanis.ESL.SDK.SigningStatus signerStatus1 =    eslClient.GetSigningStatus(packageId, signerId1, null); Silanis.ESL.SDK.SigningStatus pkgStatus =    eslClient.GetSigningStatus(packageId, null, null); ``` ### Results Once you have retrieved the signing status, do a Debug.WriteLine() of each SigningStatus object. Here is an example of what you can expect to see once you have run your code. ![](https://cdn.document360.io/038f59a7-abd0-4c14-9de7-3434d28b49fd/Images/Documentation/image(28).png?sv=2026-02-06&spr=https&st=2026-11-13T10%3A41%3A11Z&se=2026-11-13T11%3A41%3A11Z&sr=c&sp=r&sig=sdNr6fROWIJAWEoLaJ%2FmXhLzZA6gQDUosdIEo%2F%2BziYY%3D) ## REST API To download the full code sample see our [Code Share](https://community.onespan.com/documentation/onespan-sign/codeshare/get-signing-status-rest-api/) site. Once a transaction as been created, you can retrieve the signing status of that transaction, or of a particular signer. It is strongly recommended that you use a [Callback Listener](/v1/docs/creating-a-callback-notification-listener) instead of polling for transaction statuses. The use of polling may consume unnecessary resources on both your end, and on the OneSpan Sign service. OneSpan Sign transactions follow a predefined lifecycle, defined by the following lifecycle states: - Draft: The transaction has not yet been sent. The transaction is inactive and can be edited. - In progress: The transaction has been distributed for signatures, but has not yet been completed. - Completed: The transaction has been signed by all recipients. - Opted out: The transaction has at least one recipient who has opted out of signing the transaction electronically. Note: The opt-out option has been removed from the Signer Experience. - Declined: The transaction has at least one recipient who has declined to sign the transaction. - Expired: The transaction has expired (i.e., its expiry date is in the past). - Archived: The transaction has been archived. The following diagram outlines the flow a transaction normally goes through. In addition, included in this diagram are two possible actions that you can take during this lifecycle process. - **Trash Action**: The Trash action is used to move a selected transaction to the Trash folder. Transactions in the trash folder are not automatically deleted, unless there is a specific retention policy set for that account. Transactions that are manually deleted from this folder are recoverable for two weeks after deletion. To recover these transactions you must contact our [Support Team](https://www.onespan.com/support). - **Delete Action**: Your package will be permanently deleted and cannot be reinstated. The following diagram outlines the flow a transaction normally goes through. In addition, included in this diagram are two possible actions that you can take during this lifecycle process. - **Trash Action**: The Trash action is used to move a selected transaction to the Trash folder. Transactions in the trash folder are not automatically deleted, unless there is a specific retention policy set for that account. Transactions that are manually deleted from this folder are recoverable for two weeks after deletion. To recover these transactions you must contact our [Support Team](https://www.onespan.com/support). - **Delete Action**: Your package will be permanently deleted and cannot be reinstated. ![](https://cdn.document360.io/038f59a7-abd0-4c14-9de7-3434d28b49fd/Images/Documentation/image(29).png?sv=2026-02-06&spr=https&st=2026-11-13T10%3A41%3A11Z&se=2026-11-13T11%3A41%3A11Z&sr=c&sp=r&sig=sdNr6fROWIJAWEoLaJ%2FmXhLzZA6gQDUosdIEo%2F%2BziYY%3D) The following code will do this: #### HTTP Request `GET /api/packages/{packageId}/signingStatus?signer={signerId}&document={documentId}` #### HTTP Headers ```http Accept: application/json   Content-Type: application/json   Authorization: Basic api_key ``` For a complete description of each field, see the Request Payload table below. #### Response Payload ```json {   "status": "DRAFT"   } ``` Where the packageId is returned to you during transaction creation. Optionally, you can add the signerId and documentId parameters to retrieve the signing status of a signer or document. ### Results The following signing statuses are available: - INACTIVE: The transaction is in a DRAFT state - SIGNING_PENDING: The transaction is in an active SENT state, and the signer has not completed their signatures - SIGNING_COMPLETE: The specified signer has completed their portion of the signing ceremony ## APEX SDK To download the full code sample see our [Code Share](https://community.onespan.com/documentation/onespan-sign/codeshare/get-signing-status-apex-sdk/) site. Once a transaction as been created, you can retrieve the signing status of that transaction, or of a particular signer. It is strongly recommended that you use a [Callback Listener](/v1/docs/creating-a-callback-notification-listener) instead of polling for transaction statuses. The use of polling may consume unnecessary resources on both your end, and on the OneSpan Sign service. OneSpan Sign transactions follow a predefined lifecycle, defined by the following lifecycle states: - Draft: The transaction has not yet been sent. The transaction is inactive and can be edited. A signing status of "INACTIVE" will be returned. - In progress: The transaction has been distributed for signatures, but has not yet been completed. A signing status of "SIGNING_PENDING" or "SIGNING_COMPLETE" will be returned, depending on the progress of the signer. - Completed: The transaction has been signed by all recipients. A signing status of "COMPLETED" will be returned - Opted out: The transaction has at least one recipient who has opted out of signing the transaction electronically. Note: The opt-out option has been removed from the Signer Experience. - Declined: The transaction has at least one recipient who has declined to sign the transaction. A signing status of “DECLINED” will be returned. - Expired: The transaction has expired (i.e., its expiry date is in the past). A signing status of “EXPIRED” will be returned. - Archived: The transaction has been archived. A signing status of “ARCHIVED” will be returned. The following diagram outlines the flow a transaction normally goes through. In addition, included in this diagram are two possible actions that you can take during this lifecycle process. - **Trash Action**: The Trash action is used to move a selected transaction to the Trash folder. A signing status of “DELETED” will be returned. Transactions in the trash folder are not automatically deleted, unless there is a specific retention policy set for that account. Transactions that are manually deleted from this folder are recoverable for two weeks after deletion. To recover these transactions you must contact our [Support Team](https://www.onespan.com/support). - **Delete Action**: Your package will be permanently deleted and cannot be reinstated. A signing status of “DELETED” will be returned. The following diagram outlines the flow a transaction normally goes through. In addition, included in this diagram are two possible actions that you can take during this lifecycle process. - **Trash Action**: The Trash action is used to move a selected transaction to the Trash folder. Transactions in the trash folder are not automatically deleted, unless there is a specific retention policy set for that account. Transactions that are manually deleted from this folder are recoverable for two weeks after deletion. To recover these transactions you must contact our [Support Team](https://www.onespan.com/support). - **Delete Action**: Your package will be permanently deleted and cannot be reinstated. ![](https://cdn.document360.io/038f59a7-abd0-4c14-9de7-3434d28b49fd/Images/Documentation/image(31).png?sv=2026-02-06&spr=https&st=2026-11-13T10%3A41%3A11Z&se=2026-11-13T11%3A41%3A11Z&sr=c&sp=r&sig=sdNr6fROWIJAWEoLaJ%2FmXhLzZA6gQDUosdIEo%2F%2BziYY%3D) The following function allows you to query a status: ```plaintext public String getSigningStatus(String packageId, String signerId, String documentId) ``` You can also query the status of a package or of a signer or of a signer with specific document ID. The following code will do tihs: ```plaintext String pkgStatus = getSigningStatus('_AQlDyjbxVLphMfM0oPG5YuioTU=',null,null);   String signer1Status = getSigningStatus('_AQlDyjbxVLphMfM0oPG5YuioTU=','signer1@example.com',null);   String signer1Document1Status = getSigningStatus('_AQlDyjbxVLphMfM0oPG5YuioTU=','signer1@example.com','document1'); ``` ### Results Here is an example of what you can expect to see once you have run your code. ![](https://cdn.document360.io/038f59a7-abd0-4c14-9de7-3434d28b49fd/Images/Documentation/image(32).png?sv=2026-02-06&spr=https&st=2026-11-13T10%3A41%3A11Z&se=2026-11-13T11%3A41%3A11Z&sr=c&sp=r&sig=sdNr6fROWIJAWEoLaJ%2FmXhLzZA6gQDUosdIEo%2F%2BziYY%3D)