> You are reading the Docusign Developer Documentation. For clean Markdown of any page, append .md to the page URL.
>
> Documentation indexes by section:
> - APIs and SDKs: https://docusign.docs.buildwithfern.com/docs/llms.txt
> - Platform 101: https://docusign.docs.buildwithfern.com/platform/llms.txt
> - Extension Apps: https://docusign.docs.buildwithfern.com/extension-apps/llms.txt
> - Docusign CLI: https://docusign.docs.buildwithfern.com/docusign-cli/llms.txt
>
> Authentication (OAuth, JWT Grant, M2M): https://docusign.docs.buildwithfern.com/platform/auth
> Webhooks and Connect: https://docusign.docs.buildwithfern.com/platform/webhooks
>
> OpenAPI specifications: https://docusign.docs.buildwithfern.com/openapi.json
> MCP server: https://docusign.docs.buildwithfern.com/_mcp/server

# CMS service API

Docusign requires that TSPs return signed documents using CMSs (
[Cryptographic Message Syntax](/docs/tsp-api/tsp101/concepts#:~:text=Cryptographic%20message%20syntax,back%20to%20Docusign.)). TSPs can build CMSs on their own. They can also use the CMS service API to delegate the creation of the CMS to Docusign.

The CMS service API does not belong to the eSignature REST API, but has its own API with the following base URLs:

* eu-sigadapter.docusign.net | Europe
* na-sigadapter.docusign.net | North America
* au-sigadapter.docusign.net | Australia
* ca-sigadapter.docusign.net | Canada

To delegate the creation of the CMS to Docusign you must first get the signed attributes using the
`POST SignedAttributes` method. Next, you must use the
`POST cms` endpoint to pass the required information, including the signed attributes, to Docusign which returns a proper CMS.

You authenticate in the CMS API using the same token you provided to authenticate in the TSP API.