# Behalf list documents

{% get /%}
{% path text="/v1/document/behalfList" /%}

By using sender identities, users are able to send documents on behalf of another individual upon receiving their approval. These documents will not appear in the standard listing or team document listing APIs; instead, they can only be accessed through this exclusive behalf listing API. 

The primary purpose of the sender identity and behalf listing feature is to equip users with the necessary tools to implement multi-tenancy using the BoldSign API. This API facilitates the listing of documents sent on behalf of others from an account and offers various options for filtering the document listing, such as displaying documents sent on behalf of a specific person.

Additionally, it can list documents sent on your behalf using `pageType`, provided you have granted permission to another BoldSign user.

## Code snippet

{% codetab %}

cURL

```shell
 curl -X 'GET' \ 'https://api.boldsign.com/v1/document/behalfList?status=WaitingForOthers&pageSize=10&page=1&pageType=BehalfOfMe' \
  -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 behalfDocumentRecords = documentClient.ListBehalfDocuments(1);
```

Python

```python
import boldsign

configuration = boldsign.Configuration(host = "https://api.boldsign.com", api_key="YOUR_API_KEY")

with boldsign.ApiClient(configuration) as api_client:

    document_api = boldsign.DocumentApi(api_client)
    behalf_document_records = document_api.behalf_documents(page=1)
```

PHP

```php
<?php require_once "vendor/autoload.php";

use BoldSign\Configuration;
use BoldSign\Api\DocumentApi;

$config = new Configuration();
$config->setHost('https://api.boldsign.com');
$config->setApiKey('YOUR_API_KEY');

$document_api = new DocumentApi($config);
$behalf_document_records = $document_api->behalfDocuments($page=1);
```

Java

```java
ApiClient client = Configuration.getDefaultApiClient();
client.setBasePath("https://api.boldsign.com");
client.setApiKey("YOUR_API_KEY");
        
DocumentApi documentApi = new DocumentApi(client);

int page=1;
BehalfDocumentRecords behalfDocumentRecords = documentApi.behalfDocuments(page, null, null, null, null, null, null, null, null, null, null, null);
```

NodeJS

```js
import { DocumentApi } from "boldsign";

const documentApi = new DocumentApi("https://api.boldsign.com");
documentApi.setApiKey("YOUR_API_KEY");

const behalfDocumentRecords = documentApi.behalfDocuments(1);
```

{% /codetab %}

## Query parameters

{% nestedtable %}

- {% arguments name="page" /%}{% batch datatype="integer" /%}{% required /%}
- The page number used for navigating between different pages. The default value is `1`.

---

- {% arguments name="pageSize" /%}{% batch datatype="integer" /%}
- The number of documents to include per page. Defaults to `10`. Maximum is `100`.

---

- {% arguments name="pageType" /%}{% batch datatype="string" /%}
- One of `BehalfOfOthers` or `BehalfOfMe` to list documents only sent on behalf of others or you. Defaults to `BehalfOfOthers`.

---

- {% arguments name="status" /%}{% batch datatype="array" /%}
- Filter documents based on their status, one of `None`, `WaitingForMe`, `WaitingForOthers`, `NeedAttention`, `Completed`, `Declined`, `Revoked`, `Expired`, and `Draft`. Defaults to `None`.

---
- {% arguments name="signers" /%}{% batch datatype="array" /%}
- Filter documents by specifying the signer's email address. One or more emails can be used to filter documents.

---

- {% arguments name="emailAddress" /%}{% batch datatype="array" /%}
- Filter documents by specifying the sender identity's email address. One or more emails can be used to filter documents.

---

- {% arguments name="searchKey" /%}{% batch datatype="string" /%}
- Search for documents using a keyword. The keyword will be applied to fields such as document title, document ID, sender's name, or signer's name, etc.

---

- {% arguments name="startDate" /%}{% batch datatype="string" /%}
- Filter documents using the start date range of the document. The string should be in a date-time format.

---

- {% arguments name="endDate" /%}{% batch datatype="string" /%}
- Filter documents using the end date range of the document. The string should be in a date-time format.

---

- {% arguments name="labels" /%}{% batch datatype="array" /%}
- Filter documents using the Labels (tags) specified in the document.

---

- {% arguments name="nextCursor" /%}{% batch datatype="int" /%}
- To facilitate pagination and fetch the next set of documents beyond 10,000 records, it is necessary to set the `nextCursor` value. This should be the `cursor` value of the last document retrieved, e.g., `nextCursor: 1689815402493`.

---

- {% arguments name="brandIds" /%}{% batch datatype="array" /%}
- Filters documents based on their associated brand IDs. The brand ID filter applies only to new documents created on or after `Oct 4th, 2024`.
{% /nestedtable %}

## Example response

***200 Success***

```json
{
  "pageDetails": {
    "pageSize": 10,
    "page": 1,
    "totalRecordsCount": 28,
    "totalPages": 3,
    "sortedColumn": "activityDate",
    "sortDirection": "DESC"
  },
  "result": [
    {
      "behalfOf": {
        "name": "Alex",
        "emailAddress": "alexgayle@cubeflakes.com"
      },
      "documentId": "755195d8-xxxx-xxxx-xxxx-88ff77d35419",
      "senderDetail": {
        "name": "Richard",
        "privateMessage": null,
        "emailAddress": "richard@cubeflakes.com",
        "isViewed": false
      },
      "ccDetails": [
        {
          "emailAddress": "alexgayle@cubeflakes.com",
          "isViewed": false
        }
      ],
      "createdDate": 1664961706,
      "activityDate": 1665989290,
      "activityBy": "alexgayle@cubeflakes.com",
      "messageTitle": "565",
      "status": "InProgress",
      "signerDetails": [
        {
          "signerName": "Richard",
          "signerRole": "",
          "signerEmail": "",
          "status": "NotCompleted",
          "enableAccessCode": false,
          "isAuthenticationFailed": null,
          "enableEmailOTP": false,
          "authenticationType": "None",
          "isDeliveryFailed": false,
          "isViewed": false,
          "order": 1,
          "signerType": "Signer",
          "signType": "Single",
          "groupId": "",
          "hostEmail": "",
          "hostName": "",
          "isReassigned": true,
          "privateMessage": "",
          "formFields": [],
          "language": 0
        }
      ],
      "expiryDate": 1670178599,
      "enableSigningOrder": false,
      "isDeleted": false,
      "labels": [],
      "nextCursor": 1665989290,
      "brandId": "95e2fbd3-dd01-469c-b4dc-e2e39a33c561"
    },
    {
      "behalfOf": {
        "name": "Alex",
        "emailAddress": "alexgayle@cubeflakes.com"
      },
      "documentId": "655195d8-xxxx-xxxx-xxxx-88ff77d35531",
      "senderDetail": {
        "name": "Alex Gayle",
        "privateMessage": null,
        "emailAddress": "alexgayle@cubeflakes.com",
        "isViewed": false
      },
      "ccDetails": [
        {
          "emailAddress": "richard@cubeflakes.com",
          "isViewed": false
        }
      ],
      "createdDate": 1665988967,
      "activityDate": 1665988967,
      "activityBy": "alexgayle@cubeflakes.com",
      "messageTitle": "Agreement",
      "status": "InProgress",
      "signerDetails": [
        {
          "signerName": "Richard",
          "signerRole": "",
          "signerEmail": "richard@cubeflakes.com",
          "status": "NotCompleted",
          "enableAccessCode": false,
          "isAuthenticationFailed": null,
          "enableEmailOTP": false,
          "authenticationType": "None",
          "isDeliveryFailed": false,
          "isViewed": false,
          "order": 1,
          "signerType": "Signer",
          "signType": "Single",
          "groupId": "",
          "hostEmail": "",
          "hostName": "",
          "isReassigned": false,
          "privateMessage": "",
          "formFields": [],
          "language": 0
        },
        {
          "signerName": "Alex Gayle",
          "signerRole": "",
          "signerEmail": "alexgayle@cubeflakes.com",
          "status": "NotCompleted",
          "enableAccessCode": false,
          "isAuthenticationFailed": null,
          "enableEmailOTP": false,
          "authenticationType": "None",
          "isDeliveryFailed": false,
          "isViewed": false,
          "order": 2,
          "signerType": "Signer",
          "signType": "Single",
          "groupId": "",
          "hostEmail": "",
          "hostName": "",
          "isReassigned": false,
          "privateMessage": "",
          "formFields": [],
          "language": 0
        }
      ],
      "expiryDate": 1671820199,
      "enableSigningOrder": false,
      "isDeleted": false,
      "labels": [
        "Agreement"
      ],
      "nextCursor": 1689815402493,
      "brandId": "95e2fbd3-dd01-469c-b4dc-e2e39a33c561"
    }
  ]
}
```
