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

# API Dashboard

# SignNow API dashboard: monitor and manage your integrations

Access the SignNow API dashboard to create and manage apps, monitor logs, set up webhook subscriptions, manage your subscription plan, and track signature invite limits. Gain insights into usage statistics, manage API keys, and troubleshoot real-time data to enhance application performance.

After registering for a [free development account](https://www.signnow.com/api) and verifying your email address, your SignNow account will be ready.

To access the API dashboard from your SignNow account, click the API tab on the left-hand panel.

![dashboard_start.png](/reference-assets/images/API%20dashboard/new_onboarding/dashboard_start.png)

The API dashboard provides a centralized hub for developers to manage integrations. Key features include:

✅ [**Apps and Keys**](/docs/account#apps-and-keys): Create and manage your API applications and keys.

✅ [**Logs**](/docs/account#logs): Monitor API request logs for troubleshooting.

✅ [**Webhooks**](/docs/account#webhooks): View, create, and manage webhook subscriptions and events. 

✅ [**Plan Usage**](/docs/account#plan-usage): Track your API usage and signature invite limits.

✅ [**Email Notifications**](/docs/account#api-email-notifications): Configure API-related email notifications.

✅ **Developer Tools**: Explore tools and resources for building eSignature integrations.

![dashboard_add_app.png](/reference-assets/images/API%20dashboard/new_onboarding/dashboard_add_app.png)

## Apps and Keys

On the **Apps and Keys** page, you can:

- Create applications by clicking the **Add Application** button.
- Access quick-start examples for requesting eSignatures.
- Click **Help Center** to learn how to work with the SignNow API or get in touch with sales by selecting **Contact Sales**. You can also ask the AI assistant any API-related questions.

> Your first application is created automatically once you sign up.

### Create an application

Click **Add Application** to create a new application. Your application will be created automatically. 

If you don’t have a free trial or active subscription, your application will be created in **Development mode**.

If you have a free trial or active subscription, you can select either **Development** or **Live mode**.

| | 🚧 App in Development mode | 🚀 App in Live mode |
|---|---|---|
| **Purpose** | Test your application and the SignNow API for free. You can seamlessly switch to **Live mode** when ready. | Run your application in production with legally binding invites and branding. |
| **Availability** | For all accounts | Requires an API free trial, an active API subscription, or a Site License |
| **Signed PDFs** | Include watermarks and are not legally binding | Legally binding, customizable with your company branding |
| **API requests** | Up to 500 per hour | Up to 1,000 per hour by default (see [API rate limits](/docs/account#api-rate-limits)) |
| **Signature invites** | Up to 500 without an active plan or trial. With an active plan or trial, invites sent in Development mode don't count toward your plan limit. | According to your plan |
| **Webhooks** | Cannot be created without an active plan or trial | Real-time notifications via webhook subscriptions |
| **Email notifications** | Cannot be activated without an active plan or trial | Available |

Before switching from **Development** to **Live mode**, you don't need to get new tokens or keys, transfer settings, create a new app, etc. All your application data will be automatically transferred.

> Once an application is switched to **Live mode**, it cannot be reverted to **Development mode**.

### Application details page

On the application details page, you can view and manage your application:

- Rename the application.

- Switch from **Development** to **Live mode**.

- Deactivate or delete the application. 

> If you delete your app, the integration with this app will be permanently stopped.

- Under the **API Keys tab**: copy the API key to use for authorization, delete it, or generate a new one.

- Under the **OAuth 2.0 tab**: copy the required parameters to use for authorization.

![dashboard_new_app.png](/reference-assets/images/API%20dashboard/new_onboarding/dashboard_new_app.png)

### Application authorization

To send API requests, you must authorize your application.

The SignNow API supports several authorization methods:

- **API key**: Authorize requests using an API key passed in the request headers.
- **Access token (bearer token)**: Authorize requests using an access token obtained via the OAuth 2.0 flow.
- **Refresh token**: Obtain a new access token without repeating the OAuth authorization flow.

#### API keys

The API key is generated automatically once you add the application.

To view the key, click the eye icon.
Copy the key and use it in the `Authorization` header after **Bearer**.

```json
--header 'Authorization: Bearer {{API_key}}
```

To create a new API key, click **Create New Key**. You can create an unlimited number of API keys and use them for any API request.

> You can generate an API key only for an active application.

![dashboard_api_keys.png](/reference-assets/images/API%20dashboard/new_onboarding/dashboard_api_keys.png)

To delete the API key, click the trash bin icon on the right. Note that once the API key is deleted, the application using the key will no longer work.

Learn more about [API keys](/docs/authentication#generate-an-api-key).

#### Access token (bearer token)

To [generate an access token](/docs/oauth2/operations/post__oauth2_token), use the **Basic Authorization Token** from the OAuth 2.0 tab.

Click the copy icon to use the **Basic Authorization Token** for the authentication flow.

![dashboard_oauth.png](/reference-assets/images/API%20dashboard/new_onboarding/dashboard_oauth.png)

Learn more about an [access token](/docs/authentication#generate-access-token-bearer-token).


### Manage your applications

Modify your applications on the **Apps and Keys** page.

CLick **More (...)** near the application and select the required action from the dropdown.

![dashboard_app_more.png](/reference-assets/images/API%20dashboard/new_onboarding/dashboard_app_more.png)

## Logs

The **Logs** tab displays all your API calls, including:

- Application name
- Date and time of the call
- HTTP method used
- URL involved
- Response status

![dashboard_logs.png](/reference-assets/images/API%20dashboard/new_onboarding/dashboard_logs.png)

To filter logs by app, date, method, URL, or status, click **Add filters**. 

Select the required sections, choose specific options, and click **Apply**. 

Click **Refresh** to get the most recent logs.

![dashboard_logs_filters.png](/reference-assets/images/API%20dashboard/new_onboarding/dashboard_logs_filters.png)

To get detailed information about a specific log, click on the log entry to open its page.

![dashboard_logs_details.png](/reference-assets/images/API%20dashboard/new_onboarding/dashboard_logs_details.png)

## Webhooks

> An API free trial, an active API subscription, or a Site License is required to create webhook subscriptions.

The **Webhooks** tab displays your event subscriptions. You can view the list of webhook **Subscriptions** and the list of **Events History** (logs for every subscription). 

### Subscriptions

This section displays details for each webhook subscription, including:

- Application name
- Event name
- Status
- Creation date
- Entity ID (user, document, or document group)
- Callback URL (where data is sent after an event is triggered)
- Number of occurred events

> You can view event subscriptions created with both Webhooks 1.0 and Webhooks 2.0. However, Webhooks 1.0 is deprecated and no longer supported.

#### Webhook ownership on a Site License

Every user on a Site License subscription can create webhooks and manage their own: activate, deactivate, unsubscribe, and resend events.

The subscription owner sees all webhooks created under the subscription: the **Owner** column on the **Subscriptions** and **Events History** pages shows the email address of each webhook's owner. However, webhooks can only be managed by the user who created them. For webhooks owned by other users, the management actions are unavailable: *Only the event subscription owner can edit this webhook*.

To get detailed information about an event subscription, click the entry in the list or click **More (...)** and select **Open Event History**.

![dashboard_subscriptions.png](/reference-assets/images/API%20dashboard/new_onboarding/dashboard_subscriptions.png)

Here, you can view detailed information about subscription events, such as name, HTTP method, entity type and ID, callback URL, and start and end time.

![dashboard_event_history.png](/reference-assets/images/API%20dashboard/new_onboarding/dashboard_event_history.png)

To get more details about a specific event, click its entry.

![dashboard_event_details.png](/reference-assets/images/API%20dashboard/new_onboarding/dashboard_event_details.png)

#### Filter and sort subscriptions

Search webhook subscriptions by:
- Entity ID: an ID of the entity that triggered the webhook. The entity can be a user, a document, or a document group.
- Callback URL

Filter webhook subscriptions by:
- Application
- Event
- Date of creation
- Status (active or deactivated)

Sort webhook subscriptions by:
- Application name
- Event name
- Status
- Date

By default, subscriptions are sorted by the start time, with the latest on top. To sort the subscriptions by another category, click the name of the respective column. ​​Click it again to reverse the order.

### Events history

This section shows event logs for all your subscriptions. 

To view logs for a specific subscription, go to **Subscriptions** and select the subscription entry you need.

#### Filter and sort events

Search events history by:
- Entity ID: ​​an ID of the entity that triggered the webhook. The entity can be a user, document, or document group.
- Initiator ID: an ID of the user who triggered the webhook. For example, the user that triggered `user.document.update` is a user that changed the document.
- Callback URL

Filter events history by:
- Application
- Event
- Entity type
- Response status code
- Start time

Sort events history by:
- Application
- Event name
- Response status code
- Start time
- End time

By default, events are sorted by the start time with the latest logs on top. To sort the logs by another category, click the name of the respective column. Click again to reverse the order.

To get detailed information about an event subscription, click the event entry.

#### Filter and sort a single event history

You can search for the history of an event subscription using the initiator ID. The initiator ID is the ID of the user who triggered the webhook. For example, the user who triggered `user.document.update` is the user who changed the document.

Filter the history of an event subscription by:
- Response status code
- Date

Sort the history of an event subscription by:
- Response status code
- Start time
- End time

By default, the history of an event subscription is sorted by the start time with the latest logs on top. To sort the logs by another category, click the name of the respective column. Click again to reverse the order.

![dashboard_filter_single_event.png](/reference-assets/images/API%20dashboard/new_onboarding/dashboard_filter_single_event.png)

### Create a webhook subscription

To create a webhook event subscription, you need a publicly available callback URL. This is the URL where SignNow will send event data.

> For testing purposes, you can use a URL from an online webhook test tool to receive and check the payload.

1. Click **Create Webhook**.
2. Insert your callback URL and select **Validate link**. The host of the link must be available.
3. Select the entity type (user, document, or document group). You can choose only one entity for one subscription.
4. If the entity type is a document or document group, insert its ID. To find the ID, go to **Documents** > **More (...)** next to the document or document group, and select **Copy ID** from the dropdown.
5. Select the event or events that should trigger the webhook. See the [full list of events](/docs/guides-webhooks#entity-events).
6. (Optional) Under **Additional Settings**:
    - Enable **access tokens** or **custom metadata** in the payload. Metadata is linked via API and not visible to signers.
    - Set up an **HMAC signature** for payload verification.
    - Enter your own authentication key or click **Generate New Key** to create one. Copy and save the key for verification.
    > Generating a new key replaces any existing HMAC signature for this subscription.
    - **Retries Number**: Set the number of retries for 5xx errors. The value must be between 1 and 10.
    - **Delay**: Set the delay in seconds between the event being triggered and the callback being sent. The value must be between 0 and 100.
7. Click **Create**.

![dashboard_create_webhooks.png](/reference-assets/images/API%20dashboard/new_onboarding/dashboard_create_webhooks.png)

### Retries

If your webhook event was unsuccessful, SignNow runs [automatic retries](/docs/guides-webhooks#retries).

After automatic retries are exhausted, the failed event stays in **Events History** and you can manually resend it — as long as the subscription is still active.

Go to **Events History** > **More (...)** > **Resend**, or click **Resend** on the **Event details** page. 

![dashboard_resend_webhook.png](/reference-assets/images/API%20dashboard/new_onboarding/dashboard_resend_webhook.png)

Resending the event will trigger your webhook once. If the resend is successful, this event's status will be updated.

If the resend is unsuccessful, check the **Event details** page for more information:

- **Response status code** — indicates the HTTP error type returned by your callback URL.
- **Response content** — contains a specific error `code` and `message` explaining why the delivery failed.

Use these to diagnose and fix the issue on your side before attempting to resend again.

> If you are a Site License owner, you cannot resend webhooks for users managed under your subscription.


### Deactivate and unsubscribe

To stop your application from listening for an event subscription:
1. Click **More (...)** next to the event subscription on the **Subscriptions** tab or the **Events History** page.
2. Select the required action from the menu:
    - **Deactivate**: Temporarily stop the subscription without deleting it.
    - **Unsubscribe**: Permanently remove the subscription.


Learn more about [webhooks](/docs/guides-webhooks).

## Plan usage

The **Plan Usage** tab displays your API plan statistics for applications in **Development** and **Live mode**.

> For users without a free trial or active subscription, only **Development mode** statistics are shown.

![dashboard_plan_usage.png](/reference-assets/images/API%20dashboard/new_onboarding/dashboard_plan_usage.png)

**Signatures Invites** indicate the total number of invites available under your API plan, how many have already been sent, and how many remain until the plan expires.

> If you have a free trial or active subscription, signature invites sent in **Development mode** won’t count toward your limit.<br><br>If you don’t have a free trial or active subscription, you can send up to 500 signature invites in **Development mode**.

Different **request types** count towards your signature invites total:

| Request Type | Description | How We Charge |
|--------------|-------------|---------------|
|  [Invite to Sign](/docs/document-field-invite/operations/post-field_invite)      | An invite to sign a document is sent via email. The document has fields that need to be completed. The invite is role-based: you can set up a multi-step process with different people processing a document at different steps. |  Charging applies per invite sent. If multiple signers are included in one invite, it counts as a single invite. |
| [Signing Link](/docs/signing-link/operations/post-v2-document-group-document_group_id-signing-links)       | A link to the document that requires a signature is generated. | Charging applies when the last signer completes the signing process (if there is more than one signer). |
| [Freeform Invite](/docs/document-field-invite/operations/post-field_invite)       | An email invitation to sign a document/document group without predefined fields. Signers can place their signature anywhere in the document. | **For a document**: You can add one signer per invite. Charging applies per invite sent. If you send a freeform invite to multiple signers, each invite is charged separately.<br>**For a document group**: You can add multiple signers in a single invite. Charging applies per invite sent. |
|   [Bulk Invite](/docs/template/operations/bulk-invite)     | Invites to sign a document are sent to multiple signers simultaneously. Each recipient will receive their own copy of the document to fill out and sign. Documents are generated from a template. | Charging applies per invite sent (for each record in the CSV file, which contains signers' roles, emails, and document names). |
|   [Embedded Invite](/docs/document-embedded-signing/operations/create-embedded-signing-invite)     | A link to sign a document is generated and you can embed it into your website. | Charging applies per invite sent (via a link or email), even if multiple signers are included in one invite. |
|   [Document Group Invite](/docs/doc-group-field-invite/operations/invite-to-sign-document-group)     | An invite to sign a document group is sent via email. Documents have fields that need to be completed. The invite is role-based: you can set up a multi-step process with different people processing documents at different steps. | Charging applies per invite sent. If multiple signers are added to a document group invite, it counts as a single invite. |
|   [Document Group Signing Link](/docs/signing-link/operations/post-v2-document-group-document_group_id-signing-links)     | A link to the document group that requires a signature is generated. | Charging applies when the first signer completes the signing process (if there is more than one signer). |
|   [Document Group Freeform Invite](/docs/doc-group-freeform-invite/operations/post-v2-document-groups-document_group_id-free-form-invites)     | An email invitation to sign a document group without predefined fields. Signers can place their signature anywhere in the documents. | Charging applies per invite sent. If you send a freeform invite to multiple signers, each invite is charged separately. |
|   [Embedded Group Invite](/docs/doc-group-embedded-signing/operations/create-embedded-invite-document-group)    | A link to sign a document group is generated and you can embed it into your website.| Charging applies per invite sent (via a link or email), even if multiple signers are included in one invite. |

You can view your plan usage from two perspectives:

- The **Invite Logs** displays logs of all time signature invites (sent via API and web) during the billing period. You can see each log in detail by clicking the log entry. The logs are only available for the last 30 days.

- The **Stats per month** shows the number of invites sent per month. All invites are sorted by month and type.

Click **Generate and Download Report** to set the report of your signature invites by selecting the date range and app. Click **Generate** to receive your report in the XLSX file.

![generate_download_report.png](/reference-assets/images/API%20dashboard/new_api_dashboard/generate_download_report.png)

#### Manage subscription plan

Click **Invoices** next to your plan name to check your monthly invoices.

Click **Manage subscription** to access details of your current plan.

Here you can review your plan details, add seats, transfer or cancel your subscription.

Use the tabs on the left to view invoices and manage organization users.

![dashboard_plan_usage_subscription.png](/reference-assets/images/API%20dashboard/new_api_dashboard/dashboard_plan_usage_subscription.png)

## Subscription plans

SignNow API offers flexible subscription plans tailored to your business needs. Choose a plan based on the estimated annual number of signature invites sent to recipients.

<!-- theme: warning -->

> **Note**: SignNow API plans are separate from SignNow business plans: an active Business or Enterprise plan for the web application does not 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), which combines the web application and the API. On a Site License, make sure all API users are added to the subscription plan, as described in the [Go-live checklist](/docs/go-live-checklist).

When you register for a free development account, you can create applications and test the SignNow API features as long as you need. 

> The signatures you collect in **Development mode** are not legally binding. 

When you are ready to go live with your application, choose from one of the following:
- Start a **free trial**: Includes all paid features; 250 signature invites risk-free ($500 value); automatic volume discounts when your plan grows.

> Unused invites expire after one year. You won’t be charged if you don’t use them.

- Buy the **Starter** plan with 500 signature invites per year.
- Buy the **Professional** plan with 1,000 signature invites per year.
- Buy the **Premium** plan with 2,000 signature invites per year.
- Buy the **Enterprise** plan with 5,000 signature invites per year.
- Contact sales if none of the options fit your needs.

Learn more about [subscription plans](https://snseats.signnow.com/purchase/api/pricing).

## API email notifications

> An API free trial, an active API subscription, or a Site License is required to use email notifications.

The API email notifications tab allows you to set up notifications about your API usage and performance for multiple email addresses. 

- To switch off notifications for a specific email address, click the toggle next to the notification icon. To switch on notifications, click the toggle again.

- To change an email address that should receive notifications, click **More (...)** > **Change Email**.
- To remove an email address from the notification list, click **More (...)** > **Remove**.

![dashboard_email_notifications.png](/reference-assets/images/API%20dashboard/new_onboarding/dashboard_email_notifications.png)

**Tip**: Add additional email addresses to the list of API notification recipients by clicking **Add Emails**. You can add up to 15 email addresses at once.

### Manage notifications

To configure notification preferences for your account, click **Manage Notifications**.

Select what notifications account users should receive by choosing from the list of events:

- Your subscription will expire in x days. You can set the number of days.
- You've used x% of your paid signatures. You can set the percentage.
- Your API subscription has expired.
- Your API subscription has been renewed or updated.
- Your webhook automatically unsubscribed because of too many errors (30 errors or more in the past hour).
- Your webhook will unsubscribe because of too many errors (10 or more in the past 10 minutes).


You can also configure API error reports:
- **Log error report**: Send a report if a specific application receives 4xx or 5xx errors.
- **Webhook error report**: Send a report if x errors occur in x hour(s). You can also include callback URLs as report triggers.

![dashboard_manage_notifications.png](/reference-assets/images/API%20dashboard/new_onboarding/dashboard_manage_notifications.png)

Each email includes an unsubscribe link. If a recipient unsubscribes, the API dashboard settings will update automatically.

## **API rate limits**

SignNow has established API call efficiency guidelines for the reliability and stability of both **Development** and **Live** modes. To ensure the operational efficiency of the system, each application has an API rate limitation set on the number of calls per hour to maintain an effective load balance.

Every new application has a default limit of 1,000 requests per hour (500 requests in **Development mode**). Each API request receives the following parameters in the response header:

```
X-RateLimit-Limit => count of number of allowed requests per this hour
X-RateLimit-Remaining => count of number of remaining requests per this hour
X-RateLimit-Reset => timestamp, when the remaining number will be reset
```
If the limit of requests per hour is exceeded, the user will receive the 429 error code along with the following message: 

```
“You exceeded the rate limit of {limit} API requests per hour”.
```

If your application consistently exceeds 1,000 calls per hour, you can request an increased limit by contacting [SignNow support](https://support.signnow.com) for assistance.  


---
*Full page: https://docs.signnow.com/docs/account*
