Skip to main content

Method

POST /v1/contract-templates

Body Parameters

Headers

Authorization
string
Bearer token (requires contract-templates:write).
content-type
string
application/json

Request Example

curl -X POST "https://api.voyantcloud.com/v1/contract-templates" \
  -H "Authorization: Bearer $VOYANT_API_KEY" \
  -H "content-type: application/json" \
  -d '{
    "name": "Customer Master Agreement",
    "type": "customer",
    "description": "Standard customer contract",
    "templateJson": {
      "sections": [
        {
          "type": "paragraph",
          "text": "This Agreement is made between {{seller.name}} and {{buyer.name}}."
        }
      ]
    },
    "translation": {
      "locale": "fr",
      "bodyHtml": "<p>Ce contrat lie {{seller.name}} à {{buyer.name}}.</p>",
      "variables": {
        "seller.name": "Raison sociale du vendeur",
        "buyer.name": "Raison sociale du client"
      }
    }
  }'

Response

{
  "template": {
    "id": "ct_01J0BE7Z3S494F9D4T3E2QJ0XR",
    "workspaceId": "ws_01HZYPM2QF2R8X9SZQ0J9SYBCN",
    "name": "Customer Master Agreement",
    "type": "customer",
    "description": "Standard customer contract",
    "templateJson": {
      "sections": [
        {
          "type": "paragraph",
          "text": "This Agreement is made between {{seller.name}} and {{buyer.name}}."
        }
      ]
    },
    "active": true,
    "createdBy": null,
    "createdAt": "2025-01-10T11:08:44.000Z",
    "updatedAt": "2025-01-10T11:08:44.000Z"
  }
}
If you supply translation, only the specified locale is stored. Use the update endpoint to add additional locales later.