Project-configurable metadata: custom lead fields, custom activity types and
their fields, tags, lead statuses, and call outcomes. All endpoints require a
valid Bearer JWT and are scoped to the
token's project_id.
Lead custom fields
| Method | Path | Description |
|---|
| GET | /api/custom-fields | List custom field definitions. |
| POST | /api/custom-fields | Create a custom field definition. |
| PUT | /api/custom-fields/{id} | Update a custom field definition. |
| DELETE | /api/custom-fields/{id} | Delete a custom field definition. |
| GET | /api/leads/{lead_id}/custom-fields | Get a lead's custom field values. |
| PUT | /api/leads/{lead_id}/custom-fields | Set a lead's custom field values. |
Custom activity types
| Method | Path | Description |
|---|
| GET | /api/custom-activity-types | List custom activity types. |
| GET | /api/custom-activity-types/{id} | Fetch a custom activity type. |
| POST | /api/custom-activity-types | Create a custom activity type. |
| PUT | /api/custom-activity-types/{id} | Update a custom activity type. |
| DELETE | /api/custom-activity-types/{id} | Delete a custom activity type. |
Custom activity fields
| Method | Path | Description |
|---|
| GET | /api/custom-activity-types/{type_id}/fields | List fields for a custom activity type. |
| POST | /api/custom-activity-types/{type_id}/fields | Create a field on a custom activity type. |
| GET | /api/custom-activity-fields/{id} | Fetch a custom activity field. |
| PUT | /api/custom-activity-fields/{id} | Update a custom activity field. |
| DELETE | /api/custom-activity-fields/{id} | Delete a custom activity field. |
| Method | Path | Description |
|---|
| GET | /api/tags | List tags. |
| POST | /api/tags | Create a tag. |
| PUT | /api/tags/{id} | Update a tag. |
| DELETE | /api/tags/{id} | Delete a tag. |
| GET | /api/leads/{lead_id}/tags | List a lead's tags. |
| POST | /api/leads/{lead_id}/tags | Assign a tag to a lead. |
| DELETE | /api/leads/{lead_id}/tags/{tag_id} | Remove a tag from a lead. |
Lead statuses
| Method | Path | Description |
|---|
| GET | /api/lead-statuses | List lead statuses. |
| GET | /api/lead-statuses/{id} | Fetch a lead status. |
| POST | /api/lead-statuses | Create a lead status. |
| PUT | /api/lead-statuses/{id} | Update a lead status. |
| DELETE | /api/lead-statuses/{id} | Delete a lead status. |
| POST | /api/lead-statuses/reorder | Reorder lead statuses. |
Call outcomes
Each call outcome's description is part of the prompt the AI uses to choose the
outcome after a call — never leave it empty. How assignment works:
Post-call outcomes.
| Method | Path | Description |
|---|
| GET | /api/call-outcomes | List call outcomes. |
| GET | /api/call-outcomes/{id} | Fetch a call outcome. |
| POST | /api/call-outcomes | Create a call outcome. |
| PUT | /api/call-outcomes/{id} | Update a call outcome. |
| DELETE | /api/call-outcomes/{id} | Delete a call outcome. |