> You are reading the Docusign Developer Documentation. For clean Markdown of any page, append .md to the page URL.
>
> Documentation indexes by section:
> - APIs and SDKs: https://docusign.docs.buildwithfern.com/docs/llms.txt
> - Platform 101: https://docusign.docs.buildwithfern.com/platform/llms.txt
> - Extension Apps: https://docusign.docs.buildwithfern.com/extension-apps/llms.txt
> - Docusign CLI: https://docusign.docs.buildwithfern.com/docusign-cli/llms.txt
>
> Authentication (OAuth, JWT Grant, M2M): https://docusign.docs.buildwithfern.com/platform/auth
> Webhooks and Connect: https://docusign.docs.buildwithfern.com/platform/webhooks
>
> OpenAPI specifications: https://docusign.docs.buildwithfern.com/openapi.json
> MCP server: https://docusign.docs.buildwithfern.com/_mcp/server

# Handling API responses

> Describes the elements of a REST eSignature API response.

Responses are usually JSON or XML-formatted objects. In some cases, such as when requesting a document, the response is data.

## Response status

Successful API responses are in the 200 range. The body of the response has the result.

| Status | Description                                                                                                                                   |
| ------ | --------------------------------------------------------------------------------------------------------------------------------------------- |
| 200    | Successful                                                                                                                                    |
| 201    | Created. **Example:** An envelope has been successfully created.                                                                              |
| 204    | No Content response.                                                                                                                          |
| 400    | Bad Request. **Example**: The request is missing information or not legal XML or JSON.                                                        |
| 401    | Unauthorized. **Example:** Your integration key is incorrect.                                                                                 |
| 403    | Forbidden. **Example:** user lacks permission to complete this action.                                                                        |
| 408    | Request timeout.                                                                                                                              |
| 415    | Unsupported media type. **Example:** Your request may be in XML, but you did not specify Content-Type: application/xml in the request header. |
| 429    | Too many requests.                                                                                                                            |
| 444    | No response. Indicated dropped connection by server.                                                                                          |

Error results have a response body that describes the error:

```text
{
  "errorCode": "PARTNER_AUTHENTICATION_FAILED",
  "message": "The specified integrator key was not found or is disabled. An integrator key was not specified."
}
```

## Response headers

In addition to the standard response headers, API responses include the following headers.

| Header                 | Description                                                                                       |
| ---------------------- | ------------------------------------------------------------------------------------------------- |
| X-BurstLimit-Limit     | The maximum number of API requests you can make in a 30-second burst.                             |
| X-BurstLimit-Remaining | The number of API requests left before you reach the burst limit.                                 |
| X-RateLimit-Limit      | The maximum number of API requests you can make.                                                  |
| X-RateLimit-Remaining  | The number of API requests left before you reach the limit.                                       |
| X-RateLimit-Reset      | The time, in Unix Epoch terms, when the rate limit will be reset.                                 |
| Content-Type           | The format of the response. Usually one of application/json, application/xml, or application/pdf. |
| Content-Disposition    | Present only if the body is an attachment. Specifies the attachment’s file name.                  |

## Response body

API responses use the following conventions:

* All response fields are in camelCase: `userName`, `envelopeId`.
* All values that represent constants or enumerations, except for errors, are given in lowercase: `status: 'created'`.
* Error constants are in uppercase.
* Fields with `uri` in their name are relative to the base URL.
* Fields with `url` in their name are fully qualified URLs.
* All times are in [UTC](https://www.timeanddate.com/worldclock/timezone/utc).

By default, responses are formatted as JSON. Otherwise, results are rendered according to the `Content-Type` header in the request. For example, if you request a document from an envelope, the response body contains the data of a PDF file, and the content type is `application/pdf`.