Platform
Provision client workspaces, brand signing flows, and bill your way. Outcome-oriented API for SaaS, agencies, and marketplaces. Upload PDF or DOCX. Not another per-tenant DocuSign login.
Outcomes
Create connected accounts with your external_id. Each client gets their own credits, envelopes, and optional teams.
Platform pays bundles e-sign into your pricing. Child pays lets each customer buy their own credits.
Logo, accent color, and optional custom sending domain on sign pages and emails. Hide the Atlas footer when you are ready.
REST API with webhooks and audit trails. Upload a contract file. No brittle per-customer OAuth wiring for every tenant.
Use cases
Same platform API. Different go-to-market.
Bundle e-sign into onboarding and offer letters. Provision one connected account per customer company. Platform pays keeps billing inside your subscription.
Send contracts under each client brand. Set logo and accent per org. Your platform key routes sends with Atlas-Account while signers see the client name.
Let sellers run their own signing workflows. Child pays puts credit purchases on each connected account. Webhooks sync status back to your listing flow.
API
One platform key. Atlas-Account picks the connected workspace on every envelope call.
# 1. Enable in dashboard: Team → Platform → Enable platform mode → Create key
# 2. Provision a client:
curl -X POST https://atlaswork.ai/api/platform/connected-accounts \
-H "Authorization: Bearer $ATLAS_PLATFORM_KEY" \
-H "Content-Type: application/json" \
-d '{
"external_id": "acme-corp",
"name": "Acme Corp",
"billing_mode": "platform_pays"
}'
# 3. Create an envelope for that client (ext_ prefix or connected org UUID):
curl -X POST https://atlaswork.ai/api/envelope \
-H "Authorization: Bearer $ATLAS_PLATFORM_KEY" \
-H "Atlas-Account: ext_acme-corp" \
-F "file=@contract.pdf" \
-F 'parties=[{"email":"alice@example.com","order":1}]'
# Use contract.docx instead of contract.pdf when needed.Same end state: signed PDF. Different path for your engineering team.
Billing
Set billing_mode when you provision a connected account. One credit per send. Drafts are free.
| Mode | Credits from |
|---|---|
| platform_pays | Your platform org (default) |
| child_pays | The connected client org |
Webhooks
Pass webhook_url at envelope create. Atlas POSTs JSON with an HMAC signature in X-Atlas-Signature. Return 2xx within 10 seconds.
envelope.createdNew envelope row written (before detection finishes on uploads)envelope.sentFirst signing email dispatchedenvelope.viewedSigner opens the sign page for the first timeenvelope.signedEach signer completes; includes signed_pdf_url on the final partyenvelope.declinedAny signer declines; envelope is terminalenvelope.voidedSender voids a pending envelopecontract.extractedStructured data extraction after all parties signBranding
Branding is org-wide. Platform partners configure it per connected account org in Team → Settings → Branding.
Set a public logo URL and primary color in Team → Settings → Branding. Sign page buttons and email CTAs pick up your accent.
Remove the Atlas tagline from envelope emails. ESIGN compliance text stays.
Verify your domain to send from addresses like signing@yourcompany.com. Until verified, emails come from Atlas with your logo and colors applied.
Setup
Turn on platform mode in the dashboard. Create a platform API key scoped to your org.
POST connected accounts with external_id and name. Idempotent on your client ID.
Pass Atlas-Account on envelope creates to target the right client workspace. Upload a contract file.
Running one company with multiple senders? See Teams for invites, roles, and shared credits inside a single org.