What type of API does Docusign provide?
DocuSign offers two types of APIs:
- REST API
DocuSign provides a REST API for its eSignature service, with the latest version being eSignature API v2.1. This API allows developers to interact with DocuSign's eSignature functionality using standard HTTP methods and JSON payloads.
- SOAP API
DocuSign also supports a SOAP API, which is considered legacy compared to the REST API but is still maintained.
The REST API is the recommended choice for new integrations, offering improved features, customizable responses, better usability, and the ability to handle large workloads.
Does the Docusign API have webhooks?
Yes, the official DocuSign API has webhooks, called DocuSign Connect. Here are the key points:
Webhook Support
DocuSign Connect provides webhook functionality to receive real-time notifications about envelope and recipient events.
Event Types
You can subscribe to various types of events through DocuSign Connect, including:
- Envelope events:
- Sent
- Delivered
- Completed
- Declined
- Voided
- Recipient events:
- Sent
- Delivered
- Completed
- Declined
- Authentication Failed
- Auto Responded
Configuration Options
There are two main ways to configure DocuSign Connect webhooks:
-
Account-level Connect configuration:
- Set up in the DocuSign Admin page under Integrations > Connect
- Applies to all envelopes in the account
-
Envelope-level configuration:
- Added to individual envelope requests
- Allows for per-envelope control of webhook notifications
Webhook Payload
When an event occurs, DocuSign sends an XML payload to the specified webhook URL containing information about the envelope and recipient events. You can configure whether to include the signed document in the XML payload.
Best Practices
- Use SIM queuing for Connect if you want individual notifications for closely timed events (e.g., recipient signing and envelope completion).
- Consider using OAuth 2.0 for secure authentication of webhook callbacks.
- Test your webhook endpoint thoroughly to ensure it can handle the volume and types of notifications you expect to receive.
By leveraging DocuSign Connect webhooks, you can build real-time integrations that respond to document signing events and automate workflows based on envelope and recipient statuses.
Rate Limits and other limitations
The DocuSign API has several rate limits and resource limits that developers need to be aware of when integrating with their services. Here's an overview of the API rate limits for DocuSign:
Default API Rate Limits
By default, each DocuSign account has the following API rate limits:
- 1,000 API requests per hour
- 50 concurrent requests
These limits apply to most standard DocuSign accounts and are designed to prevent abuse and ensure fair usage across all users.
Increased API Rate Limits
DocuSign offers the possibility of increased API rate limits for accounts that meet certain prerequisites. These increased limits can be:
- Up to 3,000 API requests per hour
- Up to 100 concurrent requests
To qualify for these higher limits, accounts typically need to demonstrate a legitimate business need and may need to meet specific criteria set by DocuSign.
API Limit Management
DocuSign provides tools and guidelines for managing API limits:
- The API Usage Center allows developers to monitor their API usage and track their limits.
- Developers can set up notifications to alert them when they're approaching their API limits.
- Best practices include implementing retry logic with exponential backoff for rate limit errors.
Resource Limits
In addition to rate limits, DocuSign also imposes resource limits on various aspects of their API:
- Maximum number of envelope recipients: 1,000
- Maximum number of bulk recipient batches: 1,000
- Maximum size for a single API request: 25 MB
- Maximum number of documents per envelope: 100
These resource limits help ensure system stability and prevent abuse of the platform.
Best Practices
To work effectively within these limits, DocuSign recommends the following best practices:
- Implement efficient API calls by using bulk operations where possible.
- Cache frequently accessed data to reduce the number of API calls.
- Use webhooks for real-time updates instead of polling the API.
- Implement proper error handling and respect the rate limit headers in API responses.
Additional Considerations
- Different DocuSign APIs (e.g., eSignature API, Admin API) may have specific rules and limits.
- Limits may vary based on your DocuSign plan and account type.
- DocuSign may adjust these limits over time, so it's important to stay updated with their latest documentation.
By understanding and respecting these API rate limits and resource constraints, developers can build robust and efficient integrations with DocuSign's services while ensuring a smooth experience for all users of the platform.
Latest API Version
The most recent version of the DocuSign API is version 2.1 (v2.1) for the eSignature REST API. Here are some key points to consider:
API Versioning
- DocuSign uses versioning for its APIs to ensure stability and backward compatibility.
- The current version (v2.1) of the eSignature REST API was introduced to replace the previous version (v2.0).
Upgrading to v2.1
- DocuSign recommends upgrading to v2.1 to take advantage of the latest features and improvements.
- The upgrade process involves updating API endpoints and potentially adjusting some request and response structures.
Other DocuSign APIs
- While the eSignature REST API is at v2.1, other DocuSign APIs may have different version numbers.
- For example, the Rooms API recently upgraded from v1.0 to v2.0.
Staying Updated
- DocuSign provides a changelog to keep developers informed about API updates and new features.
- It's important to regularly check the changelog and release notes to stay informed about the latest API changes and improvements.
Best Practices
- When working with the DocuSign API, always use the latest stable version unless there are specific reasons not to.
- Test your integrations thoroughly when upgrading to a new API version to ensure compatibility and proper functionality.
- Subscribe to DocuSign's developer communications to receive notifications about API updates and changes.
By staying up-to-date with the latest API version, you can ensure that your integrations take advantage of the most recent features and improvements offered by DocuSign.
How to get a Docusign developer account and API Keys?
To get a developer account for DocuSign and create an API integration:
-
Visit the DocuSign Developer Center and sign up for a free developer account.
-
Once you have your account, check out the Get Started page for guidance.
-
Developer accounts operate in a DocuSign non-production (demo) environment.
-
These accounts have most enterprise features enabled by default and don't expire.
-
You can develop as many apps as you want with your developer account.
-
Envelopes sent through your developer account are not valid for legal purposes.
-
When you're ready to move to production:
- Purchase a plan that allows DocuSign API access.
- Go through the go-live process to promote your app to production.
-
For additional support:
- Check the developer support FAQ for common issues.
- Use Stack Overflow to ask questions and get help from the DocuSign developer community.
- Open a support case if you're working in a developer account or have purchased a plan.
Remember, you only need a developer plan when you are ready to migrate your integration to the DocuSign production environment. The free developer account is sufficient for development and testing purposes.
What can you do with the Docusign API?
Based on the search results provided and my knowledge of the DocuSign API, here's a list of data models you can interact with using the DocuSign API, along with what is possible for each:
Envelopes
- Create and send envelopes for signature
- Add, modify, or remove recipients
- Add, modify, or remove documents
- Set envelope status (e.g., sent, voided, completed)
- Retrieve envelope information and status
- Apply templates to envelopes
- Set expiration dates and reminders
Templates
- Create, modify, and delete templates
- Add or remove template recipients
- Add or remove template documents
- Share templates across users or accounts
- Apply templates to envelopes
Documents
- Upload and manage documents within envelopes
- Add, modify, or remove document fields (tabs)
- Set document order within an envelope
- Apply document visibility settings for recipients
- Retrieve document information and content
Recipients
- Add, modify, or remove recipients for envelopes
- Set recipient types (e.g., signer, carbon copy, in-person signer)
- Define routing order for recipients
- Set authentication methods for recipients
- Manage recipient groups
Tabs (Form Fields)
- Add, modify, or remove tabs on documents
- Set tab properties (e.g., required, read-only, data validation)
- Define tab types (e.g., signature, date, text, checkbox)
- Apply conditional logic to tabs
- Retrieve tab data after envelope completion
Users
- Create, modify, and manage user accounts
- Set user permissions and access levels
- Manage user groups and memberships
- Retrieve user activity and usage information
Accounts
- Manage account settings and preferences
- Retrieve account information and usage data
- Manage account-level branding and customization
- Handle account-level permissions and security settings
Brands
- Create, modify, and delete brand profiles
- Apply brands to envelopes and templates
- Manage brand assets (e.g., logos, colors, email templates)
- Set default brands for accounts or users
Signing Groups
- Create and manage signing groups
- Assign members to signing groups
- Use signing groups as recipients in envelopes
- Manage signing group rules and permissions
Custom Fields
- Create and manage custom fields at the account level
- Apply custom fields to envelopes and templates
- Use custom fields for reporting and integration purposes
- Set data validation rules for custom fields
Folders
- Create, modify, and delete folders
- Organize envelopes and templates within folders
- Set folder permissions and sharing options
- Retrieve folder contents and metadata
Each of these data models can be interacted with through various API endpoints, allowing for comprehensive management and automation of the DocuSign eSignature process. The specific operations available for each model may vary depending on the API version and the permissions granted to your integration.