Tickets
Get Ticket Form by ID
GET https://api.clearfeed.app/v1/rest/tickets/forms/:id
Retrieves detailed information about a ticket form by its ID, including the form's configuration, fields, and integration type.
Path Parameters
id*
integer
The unique identifier of the form
Response
Returns a ticket form object with the following properties:
id
integer
The unique identifier of the form
name
string
The display name of the form
description
string
The description of the form (can be null)
enabled
boolean
Whether the form is enabled for use
action_config
object
Configuration object containing the form's actions and field definitions
created_at
string
The creation timestamp of the form
updated_at
string
The update timestamp of the form
integration_type
string
The type of integration this form is associated with
Example Request
Response
Notes
This endpoint returns form details only for forms that belong to the authenticated account
The
action_configobject contains the form's field definitions and validation rulesUse this endpoint when you receive a
form_idin the Requests API to get the full form details
List Ticket Forms
GET https://api.clearfeed.app/v1/rest/tickets/forms
Returns ticket forms for the authenticated account, sorted and paginated by creation time. Use this endpoint to discover available form_ids before calling Create Ticket via Form.
Query Parameters
enabled
boolean
Optional. Filter by enabled state (true or false).
integration_type
string
Optional. Filter forms by integration type. Allowed values: clearfeed, zendesk, freshdesk, hubspot, clickup, intercom, salesforce.
sort_order
string
Optional. asc or desc. Defaults to desc (newest first).
next_cursor
string
Optional. Cursor from a previous response's response_metadata.next_cursor to fetch the next page.
limit
number
Optional. Number of results per page (1–100). Defaults to 50.
after
ISO date
Optional. Return forms created strictly after this ISO 8601 timestamp.
before
ISO date
Optional. Return forms created strictly before this ISO 8601 timestamp.
Example Request
Response
Returns an object with a ticket_forms array and a response_metadata object. Each form in ticket_forms has the same shape as the response of Get Ticket Form by ID.
Create Ticket via Form
POST https://api.clearfeed.app/v1/rest/tickets
Creates a new ticket in ClearFeed using a configured ClearFeed ticket form.
Only ClearFeed-type ticket forms that are enabled are supported via this endpoint. External integration forms are not supported.
The request must be sent as multipart/form-data.
Obtaining form_id and Custom Field IDs
form_id— Use List Ticket Forms (GET /v1/rest/tickets/forms) to find available forms, or Get Ticket Form by ID to inspect a specific form's fields andintegration_type.Custom field ids — Use Get All Custom Fields to retrieve the available custom fields for your account. The numeric
idreturned by that endpoint for particular form fields is the key you must use inside thefieldsobject. Each value must match the field type's expected format — see the Custom Field Value Format Guide.
Request Body
type*
string
Must be "create".
form_id*
integer
The id of the ClearFeed ticket form to use. Must refer to an existing, enabled ClearFeed-type form.
description*
string
The ticket description in HTML format. Max length: 4000 characters.
fields
string
A JSON-encoded string representing an object that maps field keys to values. See Fields Object below. Optional — required fields configured on the form must still be supplied here.
Fields Object
The fields parameter is a JSON-encoded object containing both standard field keys and custom field ids.
Standard Field Keys
title
string
Title of the ticket. If omitted, a title will be generated using AI.
priority
string
Priority of the ticket. Allowed values: low, normal, high, urgent.
assignee
string
Email of the workspace user to assign the ticket to.
contributors
string[]
Array of emails of workspace users to add as contributors.
assigned_team
string
The Slack user-group id (e.g. S0123ABCD) of an active ClearFeed team.
status
string
Initial status of the ticket, if the form supports it.
Custom Field Keys
For every custom field on the form, set the key to the numeric custom-field id (from Get All Custom Fields) and the value to a format that matches the field's type. Refer to the Custom Field Value Format Guide for the expected value format per type, except user_select and attachments which are detailed below.
For custom fields of type user_select, the value must be the email of a workspace user (resolved server-side to a user id).
Attachments
Attachments are sent as additional multipart/form-data parts:
Story-level attachments — use the form field name
attachmentfor files that should be attached to the ticket's first message.Custom-field attachments — for custom fields of type
attachment, use the numeric custom-field id as the form field name (e.g.--form '20=@/path/to/file').
Limits: Maximum 5 files, each up to 100MB.
Example Request
In the example above:
title,priority,assignee,assigned_team, andcontributorsare standard fields —assigneeand each entry incontributorsis a workspace user email, andassigned_teamis the Slack user-group id of an active ClearFeed team.12is a single-select custom field — value is the option id.15is a multi-select custom field — value is an array of option ids.54is auser_selectcustom field — value is a workspace user's email.154is anattachmentcustom field — the file is sent as a multipart part whose field name is154.attachment=@...is a story-level attachment, attached to the ticket's first message.
Response
Link Ticket to Request
POST https://api.clearfeed.app/v1/rest/tickets
Links an external ticket to a ClearFeed request. You can link using either:
Via Slack Message: Provide
message_ts,channel_id, andmessage_sourceto identify the requestVia Request ID: Provide the ClearFeed
request_iddirectly
Request Body
type*
string
The type of ticket action to perform. Must be link.
Link Ticket Data Object
The data object must include the following required fields, plus one of the following paths for identifying the request:
Always Required Fields (All Paths)
integration*
string
The external ticketing integration name. Supported values: zendesk, clickup.
ticket_id*
string
The ID of the ticket in the external system.
Optional Fields
is_task
boolean
If true, links as a task (ADDED) and allows multiple task links on the same request. If omitted/false, link is treated as transferred (TRANSFERRED).
Path 1: Link via Slack Message
Use these fields when linking via Slack message identifiers. Cannot be combined with request_id.
message_ts*
string
The unique identifier (timestamp) of the Slack message to link with the ticket (e.g., "1750828950.739009").
channel_id*
string
The monitored Slack channel ID where the message exists (e.g., "C05UGMKEHHN").
message_source*
string
The source of the message. Must be: slack_channel.
Path 2: Link via Request ID
Use this field when linking via ClearFeed request ID. Cannot be combined with Slack message fields above.
request_id*
number
The ClearFeed request ID to link the ticket to.
Sync Config Object (Optional)
should_forward_sync_comments
boolean
Override forward comment sync for this link.
should_backward_sync_comments
boolean
Override backward comment sync for this link.
notifiable_fields
string[]
Fields that can trigger thread notifications. Currently supported value: status. Use [] to disable field-based notifications for that link.
should_send_alert_message
boolean
Whether to post the initial ticket-linked alert message in the request thread (does not disable later sync updates). Default: true.
Notes
Partial
sync_configis supported; omitted fields use account/integration defaults.sync_configapplies only to the current link operation; it does not permanently change account settings.
Sync Config Behavior (Important)
sync_config values are per-request overrides, but they are still evaluated with the account/collection ticketing settings.
sync_configis merged with existing sync settings If a field is not provided insync_config, ClearFeed uses the saved integration sync settings.should_backward_sync_comments: falsewill not suppress backward behavior when screen is enabled.should_send_alert_messageonly controls the initial "ticket linked" alert message Settingshould_send_alert_message: falsesuppresses only the initial link alert. It does not disable ongoing sync/subscription-driven updates after linking.
Example Request Body
Link via Slack Message:
Link via Request ID:
Link as Task with Sync Overrides:
Example Requests
Link via Slack Message:
Link via Request ID:
Link as Task with Sync Overrides:
Response
The ticket was successfully linked. The API returns an empty body on success.
Notes
Two Ways to Identify the Request
You must provide exactly one of the following paths to identify which ClearFeed request to link the ticket to:
Via Slack Message — Provide all three fields:
message_ts— The unique identifier (timestamp) for a Slack messagechannel_id— Must be a valid Slack channel ID that is being monitored by ClearFeedmessage_source— Must be"slack_channel"
Via Request ID — Provide only:
request_id— The ClearFeed request ID (numeric value)
⚠️ Important: Do not mix fields from both paths. The API uses the presence of request_id to determine which validation path to apply.
Supported Integrations
zendesk— Zendesk ticketsclickup— ClickUp tasks
The API will validate that the request exists and is accessible before creating the link.
Last updated