Skip to main content
GET
/
v1
/
contract-container-templates
cURL
curl --request GET \
  --url https://public.api.live.turrisfi.com/v1/contract-container-templates
{
  "data": [
    {
      "_id": "507f1f77bcf86cd799439011",
      "name": "Standard Producer Agreement",
      "status": "active",
      "producerAgreement": {
        "fileDocumentId": "507f1f77bcf86cd799439011",
        "customFields": [
          {
            "fieldName": "commissionNumber",
            "fieldType": "string",
            "value": "<string>",
            "defaultValue": "<string>",
            "isRequired": true,
            "minValue": 123,
            "maxValue": 123
          }
        ]
      },
      "createdAt": "2023-11-07T05:31:56Z",
      "updatedAt": "2023-11-07T05:31:56Z",
      "additionalDocuments": [
        {
          "fileDocumentId": "507f1f77bcf86cd799439012",
          "name": "W-9 Tax Form"
        }
      ]
    }
  ],
  "requestId": "dev-2c5e7cf2-9acf-4c8c-ab2f-b81f39d775a8",
  "timestamp": "2025-11-12T20:49:03.293Z"
}
Returns active ContractContainer templates available to your organization. Each item describes one template, including its underlying producer-agreement PDF and any additional folder documents.

Which ID do I send on invite?

Each template carries three different IDs. Use the top-level _id as contractContainerTemplateId when calling Invite Downstream Entity.
Field in responseWhat it identifiesWhen to use it
_id (top-level)The ContractContainer template itselfcontractContainerTemplateId on the invite endpoint
producerAgreement.fileDocumentIdThe PDF behind the producer-agreement documentDownloading the PDF via List File Documents
additionalDocuments[].fileDocumentIdA PDF inside the template’s folder setDownloading that document via List File Documents
_id is the only value the invite endpoint accepts as contractContainerTemplateId. Sending one of the fileDocumentId values instead will return 400 No active contract template found for that contractContainerTemplateId.

Example

Given a response item like:
{
  "_id": "6a0dee5f72ffa31272c65a6c",
  "name": "Producer Agreement",
  "status": "active",
  "producerAgreement": {
    "fileDocumentId": "6847fed985e35f21c00bfd79",
    "customFields": []
  },
  "additionalDocuments": [
    { "fileDocumentId": "6a0e01d5d4227d43c85af4cd", "name": "Compensation & Commission Schedules" }
  ]
}
The invite call uses the top-level _id:
POST /v1/downstream-entity-associations/invite
{
  "contractContainerTemplateId": "6a0dee5f72ffa31272c65a6c",
  ...
}

Response

Active ContractContainer templates for your organization. Use the returned _id as contractContainerTemplateId on POST /v1/downstream-entity-associations/invite.

data
object[]
required
requestId
string
required

Unique request identifier

Example:

"dev-2c5e7cf2-9acf-4c8c-ab2f-b81f39d775a8"

timestamp
string
required

Response timestamp

Example:

"2025-11-12T20:49:03.293Z"