Adobe Sign REST API
---
title: Adobe Sign REST API
description: Automate Adobe Sign REST API with Atlas API keys: upload PDF or DOCX, confirm fields, send, and archive signed PDFs. Includes five free sends on signup.
date: 2026-06-19
updated: 2026-06-19
---
"adobe sign rest api" sits at the intersection of product shipping and compliance. Atlas keeps the surface small: create, review, send, webhook, download.
Share: One POST to create, one review click, one webhook when signed.
"Adobe sign rest api" queries target endpoint-level documentation: paths, verbs, payloads, and status codes. This guide summarizes Adobe Sign REST v6 patterns and maps them to Atlas routes for migration engineers.
Base URLs and versioning
Adobe Sign REST v6 uses regional bases:
https://api.na1.adobesign.com/api/rest/v6/ https://api.eu1.adobesign.com/api/rest/v6/
Always use the shard assigned in Adobe Admin Console. Cross-region calls fail authentication.
Atlas base:
https://atlaswork.ai/api/
Versioning is path-based on both platforms. Pin integration tests to documented stable routes.
Core REST flows
Upload document
Adobe:
POST /transientDocuments Content-Type: multipart/form-data File: binary PDF
Atlas:
POST /envelope Content-Type: multipart/form-data OR application/json document / document_url / file field
Create agreement
Adobe POST /agreements with:
- fileInfos (transient or library document id)
- participantSets (roles, order)
- signatureType
- state (AUTHORING vs IN_PROCESS)
Atlas POST /api/envelope returns envelope_id and review_url. Send is separate:
POST /api/envelope/{id}/send
Status poll
Adobe:
GET /agreements/{agreementId}
States include OUT_FOR_SIGNATURE, SIGNED, CANCELLED, etc.
Atlas:
GET /api/envelope/{id}/status
Returns status, signed_count, total, next_signer_email.
Download signed PDF
Adobe:
GET /agreements/{agreementId}/combinedDocument
Atlas signed PDF via GET on envelope routes after status signed, or webhook payload references.
Error handling
Adobe returns structured error codes with HTTP 4xx/5xx. Common issues:
- INVALID_ACCESS_TOKEN: refresh OAuth
- INVALID_AGREEMENT_ID: stale idempotency
- UPLOAD_LOCKED: concurrent upload limits
Atlas returns JSON errors with HTTP 402 for credits exhausted, 409 for version conflicts on fields, 409 for send while fields_status pending.
Wrap both clients with retries only on idempotent creates using Idempotency-Key header on Atlas.
Webhooks REST registration
Adobe:
POST /webhooks
Configure webhookSubscriptionEvents and callback URL.
Atlas passes webhook_url on create or envelope metadata. Verify HMAC-SHA256 signatures with your API key.
Rate limits
Adobe publishes account-level rate limits that vary by license. Implement exponential backoff on 429 responses.
Atlas serverless routes use fair-use limits. Contact support for high-volume enterprise arrangements.
Idempotency
Atlas supports Idempotency-Key on POST /api/envelope and send routes with 24-hour dedupe window.
Adobe agreements should use your own idempotency layer on client reference fields to avoid duplicate agreements on retry.
Side-by-side route map
| Intent | Adobe Sign REST | Atlas REST |
|---|---|---|
| Upload | POST transientDocuments | POST /api/envelope |
| Send for sign | POST agreements + state | POST /api/envelope/{id}/send |
| Status | GET agreements/{id} | GET /api/envelope/{id}/status |
| Void | PUT agreements/{id}/state cancel | POST /api/envelope/{id}/void |
| Remind | POST reminders | POST /api/envelope/{id}/remind |
| Template send | libraryDocuments + agreements | POST /api/templates/{id}/send |
MCP alternative
Agent clients can skip raw REST with Atlas MCP tools:
- send_contract_for_review
- check_signing_status
- get_envelope
See MCP electronic signatures.
Further reading
Adobe Sign REST API FAQ
JSON or XML? Adobe Sign REST v6 is JSON. Legacy SOAP integrations are separate.
OAuth scopes? Request agreement_read, agreement_write, webhook_read, webhook_write as needed. Principle of least privilege.
Does Atlas mirror Adobe participant sets? Atlas uses parties array with email, name, role, sequential order. Map roles at send time.
Bulk operations? Adobe bulk send uses separate APIs. Atlas template send handles repeat shapes.
Testing without billing surprises? Atlas drafts free; production sends consume credits. Adobe sandbox licensing follows Adobe developer program rules.
Pagination and list endpoints
Adobe list endpoints paginate agreements and library documents. Handle cursors in sync jobs.
Atlas GET /api/envelopes supports status filter for list views. Paginate client-side if you cache results.
Partial save and drafts
Adobe AUTHORING state holds draft agreements. Atlas drafts have no parties with tokens until send.
Do not confuse Atlas draft status with pending send status after parties receive tokens.
Custom fields and merge
Adobe supports merge field data on send. Atlas prefill object on template send fills text fields by key.
Map CRM columns to prefill keys explicitly in middleware.
TLS and mTLS
Some enterprise Adobe deployments require mutual TLS. Confirm with account team before coding standard OAuth only.
Atlas uses standard HTTPS with Bearer API keys on REST.
Logging redaction
Redact PDF bytes and PII from logs on both integrations. Log agreementId or envelope_id plus event type only.
Postman collections
Adobe publishes Postman samples. Atlas OpenAPI imports into Postman or Insomnia for team sharing.
Keep environment variables for tokens separate from collection files in git.
Rollback plan
If REST migration fails mid-cutover, keep Adobe integration branch deployable for two weeks with feature flag on create path.
Document rollback owner and on-call steps before launch day.
Contract testing
Maintain contract tests that assert Adobe response schema has not changed after vendor maintenance windows.
Atlas OpenAPI version changes are documented in changelog. Pin client expectations to documented response shapes.
FAQ
Does Atlas accept PDF and DOCX?
Yes on every create path.
How do I authenticate?
Bearer API key from dashboard settings.
When do credits get used?
One credit per send, not per upload.
Where is the full API reference?