Enrichment Templates

GET
/v1/enrichment-templates

Lists your organization's templates. Free.

Authorization

ApiKeyAuth
AuthorizationBearer <token>

API key authentication using Bearer token. Format: sk_live_ followed by a secure random string.

In: header

Query Parameters

limit?integer
Range1 <= value <= 100
Default20
offset?integer
Range0 <= value
Default0
includeDeleted?boolean

Include deleted templates in the response

Defaultfalse

Response Body

application/json

curl -X GET "https://example.com/v1/enrichment-templates"
{  "items": [    {      "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",      "templateId": "196100ac-4eec-4fb6-a7f7-86c8b584771d",      "version": 0,      "organizationId": "string",      "name": "string",      "description": "string",      "question": "string",      "answerType": "open_text",      "outputSchema": {},      "weight": "important",      "qualificationCriteria": {},      "createdByUserId": "string",      "createdAt": "2019-08-24T14:15:22Z",      "deletedAt": "2019-08-24T14:15:22Z",      "source": "api"    }  ],  "total": 0,  "limit": 0,  "offset": 0,  "hasMore": true}
POST
/v1/enrichment-templates

Creates a reusable custom-question template — the same operation as POST /v1/companies/signals/templates, promoted to its top-level home (decision 26: templates are entity-agnostic; contact enrichments reference the same signalTemplateId). The legacy route keeps working until its announced sunset. Free.

Authorization

ApiKeyAuth
AuthorizationBearer <token>

API key authentication using Bearer token. Format: sk_live_ followed by a secure random string.

In: header

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

name*string

User-friendly name for the template

Length1 <= length <= 200
description?string

Optional description of what this template does

Lengthlength <= 1000
question*string

The research question to ask about companies

Length1 <= length <= 2000
answerType?string

The expected format of the answer

Default"open_text"

Value in

  • "open_text"
  • "number"
  • "boolean"
  • "list"
  • "percentage"
  • "currency"
  • "url"
  • "contacts"
  • "contacts_generation"
  • "contact_posts"
  • "contact_engagements"
  • "json_schema"
outputSchema?

JSON Schema defining the expected output structure. Required when answerType is "json_schema". See CreateSignalRequest.outputSchema for full documentation.

weight?string

The importance/weight of the signal

Value in

  • "important"
  • "nice_to_have"
  • "not_important"
qualificationCriteria?

Qualification criteria mapping answer values based on answerType. Structure varies by answerType:

  • For percentage/number/currency: { ranges: [{ rangeStart, rangeEnd, answerQualification }] }
  • For boolean: { yes: "qualification", no: "qualification" }
  • For list: { choices: { key: { answerQualification, label } } }

Valid answerQualification values: disqualified, poor, neutral, good, excellent

Response Body

application/json

application/json

curl -X POST "https://example.com/v1/enrichment-templates" \  -H "Content-Type: application/json" \  -d '{    "name": "string",    "question": "string"  }'
{  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",  "templateId": "196100ac-4eec-4fb6-a7f7-86c8b584771d",  "version": 0,  "organizationId": "string",  "name": "string",  "description": "string",  "question": "string",  "answerType": "open_text",  "outputSchema": {},  "weight": "important",  "qualificationCriteria": {},  "createdByUserId": "string",  "createdAt": "2019-08-24T14:15:22Z",  "deletedAt": "2019-08-24T14:15:22Z",  "source": "api"}
GET
/v1/enrichment-templates/{templateId}

Free.

Authorization

ApiKeyAuth
AuthorizationBearer <token>

API key authentication using Bearer token. Format: sk_live_ followed by a secure random string.

In: header

Path Parameters

templateId*string
Formatuuid

Response Body

application/json

application/json

curl -X GET "https://example.com/v1/enrichment-templates/497f6eca-6276-4993-bfeb-53cbbbba6f08"
{  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",  "templateId": "196100ac-4eec-4fb6-a7f7-86c8b584771d",  "version": 0,  "organizationId": "string",  "name": "string",  "description": "string",  "question": "string",  "answerType": "open_text",  "outputSchema": {},  "weight": "important",  "qualificationCriteria": {},  "createdByUserId": "string",  "createdAt": "2019-08-24T14:15:22Z",  "deletedAt": "2019-08-24T14:15:22Z",  "source": "api"}
PATCH
/v1/enrichment-templates/{templateId}

Updating creates a new template version; in-flight runs keep the version they started with. Same operation as the legacy PATCH /v1/companies/signals/templates/{templateId}. Free.

Authorization

ApiKeyAuth
AuthorizationBearer <token>

API key authentication using Bearer token. Format: sk_live_ followed by a secure random string.

In: header

Path Parameters

templateId*string
Formatuuid

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Request body for updating a signal template using PATCH semantics. All fields are optional - only provide the fields you want to update. Omitted fields will retain their values from the previous template version.

name?string

User-friendly name for the template

Length1 <= length <= 200
description?string

Optional description of what this template does

Lengthlength <= 1000
question?string

The research question to ask about companies

Length1 <= length <= 2000
answerType?string

The expected format of the answer

Value in

  • "open_text"
  • "number"
  • "boolean"
  • "list"
  • "percentage"
  • "currency"
  • "url"
  • "contacts"
  • "contact_posts"
  • "contact_engagements"
  • "json_schema"
outputSchema?

JSON Schema defining the expected output structure. Required when answerType is "json_schema".

weight?string

The importance/weight of the signal

Value in

  • "important"
  • "nice_to_have"
  • "not_important"
qualificationCriteria?

Qualification criteria mapping answer values based on answerType

Response Body

application/json

application/json

application/json

curl -X PATCH "https://example.com/v1/enrichment-templates/497f6eca-6276-4993-bfeb-53cbbbba6f08" \  -H "Content-Type: application/json" \  -d '{}'
{  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",  "templateId": "196100ac-4eec-4fb6-a7f7-86c8b584771d",  "version": 0,  "organizationId": "string",  "name": "string",  "description": "string",  "question": "string",  "answerType": "open_text",  "outputSchema": {},  "weight": "important",  "qualificationCriteria": {},  "createdByUserId": "string",  "createdAt": "2019-08-24T14:15:22Z",  "deletedAt": "2019-08-24T14:15:22Z",  "source": "api"}
DELETE
/v1/enrichment-templates/{templateId}

Free.

Authorization

ApiKeyAuth
AuthorizationBearer <token>

API key authentication using Bearer token. Format: sk_live_ followed by a secure random string.

In: header

Path Parameters

templateId*string
Formatuuid

Response Body

application/json

curl -X DELETE "https://example.com/v1/enrichment-templates/497f6eca-6276-4993-bfeb-53cbbbba6f08"
Empty

On this page