---
title: "API errors"
url: "https://docs.signnow.com/docs/api-errors"
type: "page"
section: "Documentation"
slug: "api-errors"
---

# API errors

# API errors

## About API errors

When a request fails, the SignNow API returns an HTTP status code (`400`, `401`, `403`, `404`, or `429`) and a JSON body with a numeric error code and a message:

```json
{
  "errors": [
    {
      "code": 65582,
      "message": "Upgrade your subscription plan to personalize invite subject and message."
    }
  ]
}
```

Some endpoints return a single `error` field with a `code` instead of the `errors` array.

<!-- theme: warning -->

> **Note**: Numeric error codes are not unique identifiers of a specific problem. The same code (most commonly `65582`) accompanies many different validation errors across endpoints. Always identify the problem by the `message` text, not the code.

To review your failed API calls, go to [API Dashboard > Logs](https://app.signnow.com/webapp/api-dashboard/logs): every request is logged with its HTTP method, URL, and response status. Click a log entry for details. For more information, see [API Dashboard | SignNow](/docs/account#logs).

## Generic validation errors (code 65582)

`65582` is a general-purpose validation code. Common messages and how to resolve them:

| Message | What it means | What to do |
|---|---|---|
| `Upgrade your subscription plan to personalize invite subject and message.` | Your request includes a custom `subject` or `message` for an invite, but invite personalization requires a paid API plan, an API free trial, or a Site License. | Remove the `subject` and `message` fields from the request, or upgrade your plan. |
| `Upgrade your subscription plan to customize SMS for authorization.` | Your request includes a custom 2FA SMS message (`authentication_sms_message`, or `sms_message` inside `authentication`), but customizing the authentication SMS requires a paid API plan, an API free trial, or a Site License. | Remove the custom authentication SMS message from the request, or upgrade your plan. |
| `Two invite_actions have the same document_id {document_id} and role {role}` | In a document group invite, each combination of document and role must be unique across `invite_actions`. | Remove the duplicate `invite_actions` entry or assign a different role. |
| `Document not found` | The ID in the request doesn't identify a document available to the account that made the request. On template endpoints the same message refers to the template ID. | Verify the ID and make sure the request is authorized with the owner's access token. |
| `User is not document owner` | The requested action can only be performed by the document owner. | Repeat the request with the document owner's access token. |
| `Role {role} on document {document_id} was not specified in any invite_actions. All roles must be used in all document groups` | A document group invite must cover every role on every document in the group. | Add the missing entries to `invite_actions`, or remove unused roles from the documents. |

<!-- theme: info -->

> **Note**: If sending an SMS invite fails, check whether your organization requires electronic consent: SMS invites can't be sent while this setting is on. For details, see [SMS invite](/docs/sms-invite).

## Subscription and API access errors

<!-- theme: warning -->

> **Note**: An API subscription is separate from your SignNow business plan: an active Business or Enterprise plan does not automatically include API access. API access is included with a [paid API plan](https://snseats.signnow.com/purchase/api/pricing), an [API free trial](https://snseats.signnow.com/purchase/api/pricing), or a [Site License](https://snseats.signnow.com/purchase/business_plans/pricing). On a Site License, make sure API users are added to the subscription plan, as described in the [Go-live checklist](/docs/go-live-checklist).

| Code | Message | What it means | What to do |
|---|---|---|---|
| `80001002` | `Your API subscription could not be found.` | The account has no API subscription. | Check [API Dashboard > Plan usage](/docs/account#plan-usage). If you believe your plan is active, contact API support at **api@signnow.com**. |
| `80001003` | `Your API subscription is inactive.` | The API subscription exists but is not active. | Same as above. |
| `80001005` | `Your API subscription has expired.` | The API subscription or API free trial reached its end date. The trial expires on its end date even if you haven't used up the included invites. | Renew your plan, or contact API support at **api@signnow.com**. |
| `80001006` | `You have reached the limit of event subscriptions.` | Accounts without an active API subscription (or a Site License) are limited to 10 active webhooks. | See [Webhooks troubleshooting](/docs/guides-webhooks#troubleshooting). |

## Embedded invite errors

Common errors when creating an embedded invite:

| Code | Message | What it means | What to do |
|---|---|---|---|
| `19002019` | `Role {role_id} was not specified in any invite. All roles must be used.` | The embedded invite must cover every role defined on the document. | Include an invite for each role in the request, or remove unused roles from the document or template. |
| `19002018` | `Role {role_id} does not exist in the document.` | The `role_id` in the request doesn't match any role on the document. | Get the current role IDs from the [document details](/docs/document/operations/get-document) and use them in the request. |
| `19002005` | `Emails in embedded invites must be unique.` | The same email address is used for more than one signer in the invite. | Use a unique email address for each signer. |
| `19001003` | `Cannot send invites for templates.` | The ID in the request belongs to a template. A template is a master for generating documents and can't be signed. | Create a document or document group from the template, then create the embedded invite for that copy. See [Reuse the same documents for many signers](/docs/guides-embedded-signing#reuse-the-same-documents-for-many-signers). |
| `19002001` | `Document not found` | The ID doesn't identify a document available to the account that made the request. | Use the document IDs returned when you created the document or document group, and authorize the request with the document owner's access token. |

For signing link and session issues, see [Embedded signing troubleshooting](/docs/guides-embedded-signing#troubleshooting).

## Authentication errors (401)

For `401` errors (expired, revoked, or malformed tokens and API keys), see [Common 401 errors and solutions](/docs/authentication#common-401-errors-and-solutions) in the Authentication guide.

If a `POST /oauth2/token` request with the password grant returns `Access denied` (code `11005001`), the user in the request is not the owner of the API application. The password grant works only for the application owner, even if the user's credentials are valid for the SignNow web application. Authenticate other users with the [authorization code grant](/docs/authentication#authorization-code-grant).

## Rate limit errors (429)

When you exceed the allowed number of API requests per hour, the API responds with `429` and the message `You exceeded the rate limit of {limit} API requests per hour`. Check the `X-RateLimit-*` response headers, add exponential backoff to your integration, and see [API rate limits](/docs/account#api-rate-limits) for the defaults and how to request a higher limit.

## Internal API Error

The message `internal api error` usually indicates a malformed request (most often a missing required field) rather than a SignNow outage. Compare your request against the endpoint's reference page, including required fields and their formats. If the error persists with a valid request, contact API support at **api@signnow.com** and include the full request and response.


---
*Full page: https://docs.signnow.com/docs/api-errors*
