# How to Track eSignature Document Status

If you need to monitor documents based on their status, BoldSign provides a `List` API that allows you to retrieve a list of documents based on their status. BoldSign offers various statuses to classify the progress of a document. These statuses include:

1. `Waiting for me` - The document sent to you is pending, and you still need to sign it.
2. `Waiting for others` - The document has been sent to multiple recipients for review and signature, and one or more still needs to sign the document.
3. `Needs attention` - Documents that failed to deliver because of an invalid email address and require further attention or action.
4. `Completed` - All the recipients have completed the signing process.
5. `Declined` - One or more document recipients have chosen not to sign it.
6. `Revoked` - The document’s sender has chosen to recall or cancel it.
7. `Expired` - The signer didn’t sign the document before the deadline.

Here are code examples in various programming languages demonstrating how to use the API:

## Code snippet

{% codetab %}

cURL

```shell 
curl -X 'GET' \ 'https://api.boldsign.com/v1/document/list?PageSize=10&Page=1&Status={Status of the document}' \
     -H 'accept: application/json' \
     -H 'X-API-KEY: {your-api-key}'
```

C#

```csharp
var apiClient = new ApiClient("https://api.boldsign.com", "{your API key}");
var documentClient = new DocumentClient(apiClient);
var documents = documentClient.ListDocuments(1, 10, status: new List<Status> { Status.Revoked });
```

Python

```python
import requests

url = "https://api.boldsign.com/v1/document/list?PageSize=10&Page=1&Status={Status of the document}"

payload={}
headers = {
  'accept': 'application/json',
  'X-API-KEY': '{your-api-key}}'
}

response = requests.request("GET", url, headers=headers, data=payload)
print(response.text)
```

NodeJS

```js
const axios = require('axios');
const response = await axios.get('https://api.boldsign.com/v1/document/list', {
    params: {
        'PageSize': '10',
        'Page': '1',
        'Status': '{Status of the document}'
    },
    headers: {
        'accept': 'application/json',
        'X-API-KEY': '{your API key}'
    }
});
```

{% /codetab %}

In the provided examples, replace `Status` with the specific status you want to track documents for. After executing the relevant code snippet, you'll retrieve information about documents based on the specified status. 
