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

IntentAdobe Sign RESTAtlas REST
UploadPOST transientDocumentsPOST /api/envelope
Send for signPOST agreements + statePOST /api/envelope/{id}/send
StatusGET agreements/{id}GET /api/envelope/{id}/status
VoidPUT agreements/{id}/state cancelPOST /api/envelope/{id}/void
RemindPOST remindersPOST /api/envelope/{id}/remind
Template sendlibraryDocuments + agreementsPOST /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?

e-signature API and /openapi.json.