Skip to main content
Build a template once in a source account you manage, then copy it into each firm’s account. Both accounts must belong to the calling partner; any other account or template is a 404. Only a partner key can call this endpoint, never a tenant token.
The 201 response is the new template in the shape GET /api/templates/{id} returns (schema, submitters, preferences, documents) plus account: { id, external_id }.

What is copied

  • Schema, submitters and preferences. Field and submitter uuids are kept. Each document gets a new uuid, and every reference to it (schema areas’ attachment_uuid, preferences.document_conditions, document lists) is rewritten, so fields stay on the right page of the right document.
  • Documents. Each stored PDF is re-validated, then re-encrypted under the new template’s own storage. The copy shares no file or row with the source.
  • Account-specific preferences are adapted: brand_id is re-pointed at the target account’s brand with the same name, or dropped; a custom_domain the target account does not have is dropped. The copy is never shared (a public link) until the target account turns that on.
Optional name, folder_name and external_id override the source’s values (an empty string clears a folder or external ID). The source template is not modified. The copy counts against the target plan’s template limit (unless the account is in test mode), fires template.created to the target account’s webhooks and is audited there as partner.template_copied. Send an Idempotency-Key so a retried request does not copy twice.