---
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)

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)

## .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)

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)

## 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)

The following code will do this:

#### HTTP Request

`GET /api/packages/{packageId}/signingStatus?signer={signerId}&amp;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)

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)
