SiftDocs
Developer

API field reference

Every REST endpoint below lists its query, path, body, and response fields. Read this with the API guide.

At a glance

ContractBehavior
AuthenticationX-API-Key header
Base URLhttps://api.getsift.ai
Versionv0
Full filtering on action listfullFilter
Conversation paginationpage and pageSize
MCP paginationDifferent contract; use cursor and limit
Complete machine-readable REST contractOpenAPI JSON

What you're looking at

This reference follows the public OpenAPI contract retrieved on 2026-10-08. It covers each declared nested field. Required and optional labels apply inside the parent object. A child marked required does not make an optional parent mandatory. Nullable values represent missing or unavailable facts. Dynamic maps can contain organization-defined keys. Use the live OpenAPI contract for changes after this reference date.

Filtering and pagination rules

GET /v0/action/list defaults to the past seven days and responded actions. Send fullFilter to apply the complete Operations DSL. It adds no responded default. Legacy filter and filterJson read only the responded flag. Do not rely on them for platform, queue, or status filtering. Do not combine fullFilter with either legacy field.

The action list accepts no numbered page input. Its response includes page metadata, but that does not create a page parameter. Continue with timestamp windows and deduplicate by actionId. Equal timestamps can complicate large exports; use MCP cursor pagination for resumable record walks.

The action list's to is inclusive. A date-only value is midnight UTC, not the end of that date. sortBy controls both the date filter and newest-first order. Supply explicit timestamps for precise windows.

Conversation search accepts numbered page and pageSize. Inspect totalRecordsCapped before treating a reported count as exact.

Endpoint fields

GET /v0/action/list

Request and response fields

Path and query fields

FieldTypeRequirement and meaning
from (query)date stringOptional. ISO 8601 date or timestamp for the window start. A date-only value is midnight UTC.
to (query)date stringOptional. ISO 8601 date or timestamp for the window end. Check the endpoint date rules.
pageSize (query)integerOptional. Response page size. Default 50. Minimum 1. Maximum 500.
filter (query)stringOptional. Endpoint-specific filter text. Read the filtering guide before using it.
filterJson (query)stringOptional. Legacy JSON filter text; only the responded flag applies.
fullFilter (query)stringOptional. Full Operations DSL filter. Do not combine with filter or filterJson. Maximum characters 10000.
includeFullConversation (query)booleanOptional. Include the serialized conversation. Default false.
sortBy (query)stringOptional. Choose createdAt or updatedAt for both filtering and newest-first ordering. Default "createdAt". Values: createdAt, updatedAt.

Response 200

FieldTypeRequirement and meaning
dataarray of objectRequired. Result data. Read the nested contract for this endpoint.
data[].actionIdstringRequired. Sift action identifier. Keep it as a string.
data[].actionTitlestringRequired. Action title.
data[].actionSummarystringRequired. Sift summary of the action.
data[].statusstringRequired. Current state. Use the declared enum when present.
data[].platformstringRequired. Source platform.
data[].recordTypestring / nullRequired. Source record type.
data[].isPublicPostbooleanRequired. Whether the record is public.
data[].siftURLstringRequired. Link to the action in Sift.
data[].sourceURLstring / nullRequired. Link to the original record; can be null for private content.
data[].queuestring / nullRequired. Current queue label.
data[].initialQueuestring / nullRequired. Original queue label.
data[].sentimentstring / nullRequired. Sentiment label.
data[].sentimentScorenumber / nullRequired. Stored sentiment score.
data[].moderationstring / nullRequired. Stored moderation value.
data[].assigneeNamestring / nullRequired. Assigned agent name.
data[].assigneeEmailstring / nullRequired. Assigned agent email.
data[].assigneeUserIdstring / nullRequired. Assigned agent identifier.
data[].assigneeRolestring / nullRequired. Assigned agent role.
data[].userNamestringRequired. Customer name.
data[].userUsernamestringRequired. Customer platform handle.
data[].userIdstringRequired. User identifier. Preserve its original string value.
data[].userEmailstring / nullRequired. Customer email.
data[].userFollowerCountnumber / nullRequired. Stored customer follower count; null if unavailable.
data[].createdAtstringRequired. Creation timestamp.
data[].updatedAtstring / nullRequired. Last update timestamp.
data[].initialMessageTimestring / nullRequired. Time of the first customer message.
data[].initialResponseTimestring / nullRequired. Time of the first agent response.
data[].closeTimestring / nullRequired. Time the action closed.
data[].claimTimestring / nullRequired. Time the action was claimed.
data[].firstResponseTimestring / nullRequired. Exported response duration value. Do not parse as a timestamp.
data[].handleTimestring / nullRequired. Exported handling duration value. Do not parse as a timestamp.
data[].serverNamestringRequired. Source account or community name.
data[].channelNamestringRequired. Source channel name.
data[].csatScorestring / nullRequired. Reported customer satisfaction score.
data[].csatFeedbackstring / nullRequired. Customer satisfaction feedback.
data[].estimatedCSATnumber / nullRequired. Estimated satisfaction score.
data[].totalMessagesnumber / nullRequired. Message count.
data[].totalUserMessagesnumber / nullRequired. Customer message count.
data[].totalAgentMessagesnumber / nullRequired. Agent message count.
data[].tagsarray of objectRequired. Action tags.
data[].tags[].valuestringRequired. Tag label.
data[].tags[].groupstringRequired. Tag group label.
data[].closingTagsarray of objectRequired. Tags applied at closure.
data[].closingTags[].valuestringRequired. Tag label.
data[].closingTags[].groupstringRequired. Tag group label.
data[].customFieldsobjectRequired. Organization-defined field names and values.
data[].rootMessageTextstring / nullRequired. Root message body.
data[].conversationJsonstring / nullRequired. Serialized conversation JSON when requested; null otherwise.
totalRecordsnumberRequired. Matching record count returned by this endpoint.
currentPagenumberRequired. Page represented by the response.
pageSizenumberRequired. Response page size.
totalPagesnumberRequired. Number of reported pages.

Response 400

FieldTypeRequirement and meaning
successbooleanRequired. Whether the request succeeds.
errorstringRequired. Error message.

Response 500

FieldTypeRequirement and meaning
successbooleanRequired. Whether the request succeeds.
errorstringRequired. Error message.

GET /v0/action/{id}

Request and response fields

Path and query fields

FieldTypeRequirement and meaning
id (path)stringRequired. Identifier of this object.

Response 200

FieldTypeRequirement and meaning
userobjectRequired. Customer profile.
user.namestringRequired. Display name.
user.usernamestringRequired. Platform handle.
user.userIdstringRequired. User identifier. Preserve its original string value.
user.emailstring / nullRequired. Email address.
user.followerCountnumber / nullRequired. Stored follower count; null if unavailable.
actionIdstringRequired. Sift action identifier. Keep it as a string.
actionTitlestringRequired. Action title.
actionSummarystringRequired. Sift summary of the action.
platformstringRequired. Source platform.
recordTypestring / nullRequired. Source record type.
isPublicPostbooleanRequired. Whether the record is public.
sentimentstring / nullRequired. Sentiment label.
sentimentScorenumber / nullRequired. Stored sentiment score.
queuestring / nullRequired. Current queue label.
initialQueuestring / nullRequired. Original queue label.
statusstringRequired. Current state. Use the declared enum when present.
createdAtstringRequired. Creation timestamp.
siftURLstringRequired. Link to the action in Sift.
sourceURLstring / nullRequired. Link to the original record; can be null for private content.
updatedAtstring / nullRequired. Last update timestamp.
initialMessageTimestring / nullRequired. Time of the first customer message.
initialResponseTimestring / nullRequired. Time of the first agent response.
closeTimestring / nullRequired. Time the action closed.
firstResponseTimestring / nullRequired. Exported response duration value. Do not parse as a timestamp.
handleTimestring / nullRequired. Exported handling duration value. Do not parse as a timestamp.
claimTimestring / nullRequired. Time the action was claimed.
assigneeobjectRequired. Assigned Sift agent.
assignee.namestring / nullRequired. Display name.
assignee.emailstring / nullRequired. Email address.
assignee.userIdstring / nullRequired. User identifier. Preserve its original string value.
assignee.rolestring / nullRequired. Role label.
serverNamestringRequired. Source account or community name.
channelNamestringRequired. Source channel name.
tagsarray of objectRequired. Action tags.
tags[].valuestringRequired. Tag label.
tags[].groupstringRequired. Tag group label.
closingTagsarray of objectRequired. Tags applied at closure.
closingTags[].valuestringRequired. Tag label.
closingTags[].groupstringRequired. Tag group label.
moderationstring / nullRequired. Stored moderation value.
commentsarray of objectRequired. Exported comments.
comments[].textstringRequired. Text body.
comments[].authorNativeIdstringRequired. Platform-native author ID.
comments[].authorNativeNamestring / nullRequired. Platform-native author name.
messagesarray of objectRequired. Exported message records.
messages[].idstringRequired. Identifier of this object.
messages[].timestampstringRequired. Message or event timestamp.
messages[].authorstringRequired. Author name.
messages[].authorIdstringOptional. Author identifier.
messages[].authorTypestringRequired. USER, AGENT, or BOT. Values: USER, AGENT, BOT.
messages[].messagestringRequired. Message body.
messages[].mediaUrlsarray of stringRequired. Media links.
rootMessageTextstring / nullRequired. Root message body.
conversationarray of objectOptional. Optional full conversation.
conversation[].idstringRequired. Identifier of this object.
conversation[].timestampstringRequired. Message or event timestamp.
conversation[].authorstringRequired. Author name.
conversation[].authorIdstring / nullRequired. Author identifier.
conversation[].authorTypestringRequired. USER, AGENT, or BOT. Values: USER, AGENT, BOT.
conversation[].messagestringRequired. Message body.
conversation[].parentMessageIdstring / nullRequired. Parent message identifier; null if unavailable.
conversation[].mediaUrlsarray of stringRequired. Media links.
customFieldsobjectRequired. Organization-defined field names and values.
csatScorestring / nullRequired. Reported customer satisfaction score.
csatFeedbackstring / nullRequired. Customer satisfaction feedback.
estimatedCSATnumber / nullRequired. Estimated satisfaction score.
totalMessagesnumber / nullRequired. Message count.
totalUserMessagesnumber / nullRequired. Customer message count.
totalAgentMessagesnumber / nullRequired. Agent message count.

Response 404

FieldTypeRequirement and meaning
successbooleanRequired. Whether the request succeeds.
errorstringRequired. Error message.

Response 500

FieldTypeRequirement and meaning
successbooleanRequired. Whether the request succeeds.
errorstringRequired. Error message.

PATCH /v0/actions/{actionId}/custom-fields

Request and response fields

Path and query fields

FieldTypeRequirement and meaning
actionId (path)stringRequired. Sift action identifier. Keep it as a string. Minimum characters 1.

JSON body

FieldTypeRequirement and meaning
fieldsarray of objectRequired. Custom fields in this request or response. Minimum items 1.
fields[].fieldNamestringRequired. Registered custom field name. Minimum characters 1.
fields[].valueJSONRequired. Field value. Its accepted type depends on the declared field.
fields[].confidencenumberOptional. Optional confidence from 0 to 1. Minimum 0. Maximum 1.
fields[].rationalestringOptional. Optional reason for the field value.

Response 200

FieldTypeRequirement and meaning
actionIdstringRequired. Sift action identifier. Keep it as a string.
updatedarray of objectRequired. Fields that this request updates.
updated[].fieldNamestringRequired. Registered custom field name.
updated[].valueJSONRequired. Field value. Its accepted type depends on the declared field.

Response 403

FieldTypeRequirement and meaning
successbooleanRequired. Whether the request succeeds.
errorstringRequired. Error message.
fieldErrorsobjectOptional. Field name to validation message map.

Response 404

FieldTypeRequirement and meaning
successbooleanRequired. Whether the request succeeds.
errorstringRequired. Error message.
fieldErrorsobjectOptional. Field name to validation message map.

Response 422

FieldTypeRequirement and meaning
successbooleanRequired. Whether the request succeeds.
errorstringRequired. Error message.
fieldErrorsobjectOptional. Field name to validation message map.

Response 500

FieldTypeRequirement and meaning
successbooleanRequired. Whether the request succeeds.
errorstringRequired. Error message.
fieldErrorsobjectOptional. Field name to validation message map.

GET /v0/actions/{actionId}/custom-fields

Request and response fields

Path and query fields

FieldTypeRequirement and meaning
actionId (path)stringRequired. Sift action identifier. Keep it as a string. Minimum characters 1.

Response 200

FieldTypeRequirement and meaning
actionIdstringRequired. Sift action identifier. Keep it as a string.
fieldsarray of objectRequired. Custom fields in this request or response.
fields[].fieldNamestringRequired. Registered custom field name.
fields[].displayNamestringRequired. Customer-visible field label.
fields[].fieldTypestringRequired. Registered field type.
fields[].valueJSONRequired. Field value. Its accepted type depends on the declared field.
fields[].provenanceJSONOptional. Stored origin of the value.

Response 403

FieldTypeRequirement and meaning
successbooleanRequired. Whether the request succeeds.
errorstringRequired. Error message.
fieldErrorsobjectOptional. Field name to validation message map.

Response 404

FieldTypeRequirement and meaning
successbooleanRequired. Whether the request succeeds.
errorstringRequired. Error message.
fieldErrorsobjectOptional. Field name to validation message map.

Response 500

FieldTypeRequirement and meaning
successbooleanRequired. Whether the request succeeds.
errorstringRequired. Error message.
fieldErrorsobjectOptional. Field name to validation message map.

GET /v0/agents

Request and response fields

Path and query fields

FieldTypeRequirement and meaning
from (query)date stringOptional. ISO 8601 date or timestamp for the window start. A date-only value is midnight UTC.
to (query)date stringOptional. ISO 8601 date or timestamp for the window end. Check the endpoint date rules.

Response 200

FieldTypeRequirement and meaning
successbooleanRequired. Whether the request succeeds.
dataarray of objectRequired. Result data. Read the nested contract for this endpoint.
data[].agentIdstringRequired. Sift agent identifier.
data[].metricsobjectRequired. Metrics for the selected window.
data[].metrics.totalActionsnumberRequired. Action count.
data[].metrics.totalActionsWithResponsenumberRequired. Actions with an agent response.
data[].metrics.totalMessagesnumberRequired. Message count.
data[].metrics.totalAgentMessagesnumberRequired. Agent message count.
data[].metrics.totalUserMessagesnumberRequired. Customer message count.
data[].metrics.averageCsatnumberRequired. Average reported satisfaction.
data[].metrics.averageResponseTimenumberRequired. Average response time. Check the metrics reference for units.
data[].metrics.averageHandleTimenumberRequired. Average handling time. Check the metrics reference for units.
data[].metrics.averageEstimatedCsatnumberRequired. Average estimated satisfaction.
data[].metrics.averageResolutionQualitynumberRequired. Average resolution quality.
data[].metrics.averageSentimentChangenumberRequired. Average sentiment change.
data[].metrics.averageRubricScorenumberRequired. Average rubric score.
data[].workloadobjectRequired. Counts by workload state.
data[].workload.activenumberRequired. Active action count.
data[].workload.closednumberRequired. Closed action count.
data[].workload.cancellednumberRequired. Cancelled action count.

Response 403

FieldTypeRequirement and meaning
successbooleanRequired. Whether the request succeeds.
errorstringRequired. Error message.

Response 500

FieldTypeRequirement and meaning
successbooleanRequired. Whether the request succeeds.
errorstringRequired. Error message.

GET /v0/agents/{id}

Request and response fields

Path and query fields

FieldTypeRequirement and meaning
from (query)date stringOptional. ISO 8601 date or timestamp for the window start. A date-only value is midnight UTC.
to (query)date stringOptional. ISO 8601 date or timestamp for the window end. Check the endpoint date rules.
id (path)stringRequired. Identifier of this object.

Response 200

FieldTypeRequirement and meaning
successbooleanRequired. Whether the request succeeds.
dataobjectRequired. Result data. Read the nested contract for this endpoint.
data.metricsarray of objectRequired. Metrics for the selected window.
data.aggregatedMetricsobjectRequired. Aggregated agent metrics.
data.aggregatedMetrics.totalActionsnumberRequired. Action count.
data.aggregatedMetrics.totalMessagesnumberRequired. Message count.
data.aggregatedMetrics.totalAgentMessagesnumberRequired. Agent message count.
data.aggregatedMetrics.totalUserMessagesnumberRequired. Customer message count.
data.aggregatedMetrics.averageCsatnumberRequired. Average reported satisfaction.
data.aggregatedMetrics.averageResponseTimenumberRequired. Average response time. Check the metrics reference for units.
data.aggregatedMetrics.averageHandleTimenumberRequired. Average handling time. Check the metrics reference for units.
data.aggregatedMetrics.averageEstimatedCsatnumberRequired. Average estimated satisfaction.
data.aggregatedMetrics.averageResolutionQualitynumberRequired. Average resolution quality.
data.aggregatedMetrics.averageSentimentChangenumberRequired. Average sentiment change.
data.aggregatedMetrics.averageRubricScorenumberRequired. Average rubric score.
data.currentWorkloadobjectRequired. Current agent workload.
data.currentWorkload.activenumberRequired. Active action count.
data.currentWorkload.closednumberRequired. Closed action count.
data.currentWorkload.cancellednumberRequired. Cancelled action count.
data.queuesarray of objectRequired. Agent queue records.

Response 403

FieldTypeRequirement and meaning
successbooleanRequired. Whether the request succeeds.
errorstringRequired. Error message.

Response 404

FieldTypeRequirement and meaning
successbooleanRequired. Whether the request succeeds.
errorstringRequired. Error message.

Response 500

FieldTypeRequirement and meaning
successbooleanRequired. Whether the request succeeds.
errorstringRequired. Error message.

GET /v0/queues

Request and response fields

Path and query fields

FieldTypeRequirement and meaning
from (query)date stringOptional. ISO 8601 date or timestamp for the window start. A date-only value is midnight UTC.
to (query)date stringOptional. ISO 8601 date or timestamp for the window end. Check the endpoint date rules.

Response 200

FieldTypeRequirement and meaning
successbooleanRequired. Whether the request succeeds.
dataarray of objectRequired. Result data. Read the nested contract for this endpoint.
data[].queueIdstring / nullRequired. Queue identifier; null can represent no queue.
data[].queueNamestring / nullRequired. Queue name.
data[].metricsobjectRequired. Metrics for the selected window.
data[].metrics.totalActionsnumberRequired. Action count.
data[].metrics.totalMessagesnumberRequired. Message count.
data[].metrics.totalAgentMessagesnumberRequired. Agent message count.
data[].metrics.totalUserMessagesnumberRequired. Customer message count.
data[].metrics.averageCsatnumberRequired. Average reported satisfaction.
data[].metrics.averageResponseTimenumberRequired. Average response time. Check the metrics reference for units.
data[].metrics.averageHandleTimenumberRequired. Average handling time. Check the metrics reference for units.
data[].metrics.averageEstimatedCsatnumberRequired. Average estimated satisfaction.
data[].metrics.averageResolutionQualitynumberRequired. Average resolution quality.
data[].metrics.averageSentimentChangenumberRequired. Average sentiment change.
data[].metrics.averageRubricScorenumberRequired. Average rubric score.
data[].metrics.averageSentimentScorenumberRequired. Average sentiment score.
data[].workloadobjectRequired. Counts by workload state.
data[].workload.activenumberRequired. Active action count.
data[].workload.closednumberRequired. Closed action count.
data[].workload.cancellednumberRequired. Cancelled action count.

Response 403

FieldTypeRequirement and meaning
successbooleanRequired. Whether the request succeeds.
errorstringRequired. Error message.

Response 500

FieldTypeRequirement and meaning
successbooleanRequired. Whether the request succeeds.
errorstringRequired. Error message.

GET /v0/analytics/tags

Request and response fields

Path and query fields

FieldTypeRequirement and meaning
from (query)date stringOptional. ISO 8601 date or timestamp for the window start. A date-only value is midnight UTC.
to (query)date stringOptional. ISO 8601 date or timestamp for the window end. Check the endpoint date rules.
respondedOnly (query)booleanOptional. Restrict tag analytics to responded records when enabled.
limit (query)numberOptional. Requested maximum result size.
offset (query)numberOptional. Starting result offset.
search (query)stringOptional. Text search over tags.

Response 200

FieldTypeRequirement and meaning
successbooleanRequired. Whether the request succeeds.
dataobjectRequired. Result data. Read the nested contract for this endpoint.
data.summaryobjectRequired. Summary of the selected data.
data.summary.totalTagsnumberRequired. Tag count.
data.summary.totalTagGroupsnumberRequired. Tag group count.
data.summary.totalTaggedRecordsnumberRequired. Tagged record count.
data.summary.totalActionsnumberRequired. Action count.
data.tagBreakdownarray of objectRequired. Tag distribution.
data.tagBreakdown[].tagIdstringRequired. Tag identifier.
data.tagBreakdown[].tagNamestringRequired. Tag label.
data.tagBreakdown[].groupNamestring / nullRequired. Tag group label.
data.tagBreakdown[].countnumberRequired. Count for this group.
data.tagBreakdown[].percentagenumberRequired. Percentage for this group.
data.volumeByTagarray of objectRequired. Volume and scores for each tag.
data.volumeByTag[].tagIdstringRequired. Tag identifier.
data.volumeByTag[].tagNamestringRequired. Tag label.
data.volumeByTag[].totalnumberRequired. Total for this scope.
data.volumeByTag[].respondednumberRequired. Responded count.
data.volumeByTag[].notRespondednumberRequired. Unresponded count.
data.volumeByTag[].avgSentimentnumber / nullRequired. Average sentiment.
data.volumeByTag[].avgActionabilitynumber / nullRequired. Average actionability.
data.volumeByTag[].avgRelevancenumber / nullRequired. Average relevance.
data.paginationobjectRequired. Pagination receipt.
data.pagination.totalnumberRequired. Total for this scope.
data.pagination.limitnumberRequired. Requested maximum result size.
data.pagination.offsetnumberRequired. Starting result offset.
data.pagination.hasMorebooleanRequired. Whether another page exists.

Response 403

FieldTypeRequirement and meaning
successbooleanRequired. Whether the request succeeds.
errorstringRequired. Error message.

Response 500

FieldTypeRequirement and meaning
successbooleanRequired. Whether the request succeeds.
errorstringRequired. Error message.

GET /v0/analytics/tags/volume

Request and response fields

Path and query fields

FieldTypeRequirement and meaning
from (query)date stringOptional. ISO 8601 date or timestamp for the window start. A date-only value is midnight UTC.
to (query)date stringOptional. ISO 8601 date or timestamp for the window end. Check the endpoint date rules.
respondedOnly (query)booleanOptional. Restrict tag analytics to responded records when enabled.
topTagsLimit (query)numberOptional. Maximum number of top tags.
tagIds (query)stringOptional. Comma-separated tag IDs.

Response 200

FieldTypeRequirement and meaning
successbooleanRequired. Whether the request succeeds.
dataobjectRequired. Result data. Read the nested contract for this endpoint.
data.dataarray of objectRequired. Result data. Read the nested contract for this endpoint.
data.tagsarray of stringRequired. Action tags.

Response 403

FieldTypeRequirement and meaning
successbooleanRequired. Whether the request succeeds.
errorstringRequired. Error message.

Response 500

FieldTypeRequirement and meaning
successbooleanRequired. Whether the request succeeds.
errorstringRequired. Error message.

GET /v0/analytics/sentiment

Request and response fields

Path and query fields

FieldTypeRequirement and meaning
from (query)date stringOptional. ISO 8601 date or timestamp for the window start. A date-only value is midnight UTC.
to (query)date stringOptional. ISO 8601 date or timestamp for the window end. Check the endpoint date rules.

Response 200

FieldTypeRequirement and meaning
successbooleanRequired. Whether the request succeeds.
dataarray of objectRequired. Result data. Read the nested contract for this endpoint.
data[].daystringRequired. Day bucket.
data[].Very NegativenumberRequired. Very negative sentiment count.
data[].NegativenumberRequired. Negative sentiment count.
data[].NeutralnumberRequired. Neutral sentiment count.
data[].PositivenumberRequired. Positive sentiment count.

Response 403

FieldTypeRequirement and meaning
successbooleanRequired. Whether the request succeeds.
errorstringRequired. Error message.

Response 500

FieldTypeRequirement and meaning
successbooleanRequired. Whether the request succeeds.
errorstringRequired. Error message.

GET /v0/analytics/sentiment/by-tag

Request and response fields

Path and query fields

FieldTypeRequirement and meaning
from (query)date stringOptional. ISO 8601 date or timestamp for the window start. A date-only value is midnight UTC.
to (query)date stringOptional. ISO 8601 date or timestamp for the window end. Check the endpoint date rules.

Response 200

FieldTypeRequirement and meaning
successbooleanRequired. Whether the request succeeds.
dataarray of objectRequired. Result data. Read the nested contract for this endpoint.
data[].tagNamestringRequired. Tag label.
data[].veryNegativenumberRequired. Very negative sentiment count.
data[].negativenumberRequired. Negative sentiment count.
data[].neutralnumberRequired. Neutral sentiment count.
data[].positivenumberRequired. Positive sentiment count.
data[].totalMentionsnumberRequired. Mentions counted for this tag.

Response 403

FieldTypeRequirement and meaning
successbooleanRequired. Whether the request succeeds.
errorstringRequired. Error message.

Response 500

FieldTypeRequirement and meaning
successbooleanRequired. Whether the request succeeds.
errorstringRequired. Error message.

GET /v0/analytics/engagement

Request and response fields

Path and query fields

FieldTypeRequirement and meaning
from (query)date stringOptional. ISO 8601 date or timestamp for the window start. A date-only value is midnight UTC.
to (query)date stringOptional. ISO 8601 date or timestamp for the window end. Check the endpoint date rules.
platforms (query)stringOptional. Comma-separated source platform values.

Response 200

FieldTypeRequirement and meaning
successbooleanRequired. Whether the request succeeds.
dataobjectRequired. Result data. Read the nested contract for this endpoint.
data.engagementPercentilesarray of objectRequired. Message volume percentiles per platform.
data.engagementPercentiles[].platformstringRequired. Source platform.
data.engagementPercentiles[].p25MessagesPerUsernumberRequired. 25th percentile of messages per user.
data.engagementPercentiles[].medianMessagesPerUsernumberRequired. Median messages per user.
data.engagementPercentiles[].p75MessagesPerUsernumberRequired. 75th percentile of messages per user.
data.growthTrendsarray of objectRequired. Weekly user growth by platform.
data.growthTrends[].weekstringRequired. Week bucket. Format date-time.
data.growthTrends[].platformstringRequired. Source platform.
data.growthTrends[].currentWeekUsersnumberRequired. Current week user count.
data.growthTrends[].previousWeekUsersnumberRequired. Previous week user count.
data.growthTrends[].growthPercentagenumberRequired. Growth percentage.
data.conversionFunnelarray of objectRequired. Source-defined funnel rows.

Response 403

FieldTypeRequirement and meaning
successbooleanRequired. Whether the request succeeds.
errorstringRequired. Error message.

Response 500

FieldTypeRequirement and meaning
successbooleanRequired. Whether the request succeeds.
errorstringRequired. Error message.

GET /v0/conversations/search

Request and response fields

Path and query fields

FieldTypeRequirement and meaning
filter (query)stringOptional. Endpoint-specific filter text. Read the filtering guide before using it.
page (query)integerOptional. Numbered page, starting at 1. Default 1. Minimum 1. Maximum 10000.
pageSize (query)integerOptional. Response page size. Default 50. Minimum 1. Maximum 100.

Response 200

FieldTypeRequirement and meaning
successbooleanRequired. Whether the request succeeds.
dataarray of objectRequired. Result data. Read the nested contract for this endpoint.
data[].actionIdstringRequired. Sift action identifier. Keep it as a string.
data[].actionTitlestringRequired. Action title.
data[].actionSummarystringRequired. Sift summary of the action.
data[].statusstringRequired. Current state. Use the declared enum when present.
data[].platformstringRequired. Source platform.
data[].recordTypestring / nullRequired. Source record type.
data[].isPublicPostbooleanRequired. Whether the record is public.
data[].siftURLstringRequired. Link to the action in Sift.
data[].sourceURLstring / nullRequired. Link to the original record; can be null for private content.
data[].queuestring / nullRequired. Current queue label.
data[].initialQueuestring / nullRequired. Original queue label.
data[].sentimentstring / nullRequired. Sentiment label.
data[].sentimentScorenumber / nullRequired. Stored sentiment score.
data[].moderationstring / nullRequired. Stored moderation value.
data[].assigneeNamestring / nullRequired. Assigned agent name.
data[].assigneeEmailstring / nullRequired. Assigned agent email.
data[].assigneeUserIdstring / nullRequired. Assigned agent identifier.
data[].assigneeRolestring / nullRequired. Assigned agent role.
data[].userNamestringRequired. Customer name.
data[].userUsernamestringRequired. Customer platform handle.
data[].userIdstringRequired. User identifier. Preserve its original string value.
data[].userEmailstring / nullRequired. Customer email.
data[].userFollowerCountnumber / nullRequired. Stored customer follower count; null if unavailable.
data[].createdAtstringRequired. Creation timestamp.
data[].updatedAtstring / nullRequired. Last update timestamp.
data[].initialMessageTimestring / nullRequired. Time of the first customer message.
data[].initialResponseTimestring / nullRequired. Time of the first agent response.
data[].closeTimestring / nullRequired. Time the action closed.
data[].claimTimestring / nullRequired. Time the action was claimed.
data[].firstResponseTimestring / nullRequired. Exported response duration value. Do not parse as a timestamp.
data[].handleTimestring / nullRequired. Exported handling duration value. Do not parse as a timestamp.
data[].serverNamestringRequired. Source account or community name.
data[].channelNamestringRequired. Source channel name.
data[].csatScorestring / nullRequired. Reported customer satisfaction score.
data[].csatFeedbackstring / nullRequired. Customer satisfaction feedback.
data[].estimatedCSATnumber / nullRequired. Estimated satisfaction score.
data[].totalMessagesnumber / nullRequired. Message count.
data[].totalUserMessagesnumber / nullRequired. Customer message count.
data[].totalAgentMessagesnumber / nullRequired. Agent message count.
data[].tagsarray of objectRequired. Action tags.
data[].tags[].valuestringRequired. Tag label.
data[].tags[].groupstringRequired. Tag group label.
data[].closingTagsarray of objectRequired. Tags applied at closure.
data[].closingTags[].valuestringRequired. Tag label.
data[].closingTags[].groupstringRequired. Tag group label.
data[].customFieldsobjectRequired. Organization-defined field names and values.
data[].rootMessageTextstring / nullRequired. Root message body.
data[].conversationJsonstring / nullRequired. Serialized conversation JSON when requested; null otherwise.
data[].threadIdstringRequired. Thread identifier.
data[].easyIdstring / nullRequired. Readable case identifier.
data[].contributorsstring / nullRequired. Stored contributor summary.
totalRecordsnumberRequired. Matching record count returned by this endpoint.
totalRecordsCappedbooleanRequired. Whether the count stops at a cap. Do not treat a capped count as exact.
currentPagenumberRequired. Page represented by the response.
pageSizenumberRequired. Response page size.
totalPagesnumberRequired. Number of reported pages.

Response 400

FieldTypeRequirement and meaning
successbooleanRequired. Whether the request succeeds.
errorstringRequired. Error message.

Response 403

FieldTypeRequirement and meaning
successbooleanRequired. Whether the request succeeds.
errorstringRequired. Error message.

Response 500

FieldTypeRequirement and meaning
successbooleanRequired. Whether the request succeeds.
errorstringRequired. Error message.

POST /v0/moderation/cases

Request and response fields

JSON body

FieldTypeRequirement and meaning
externalIdstringRequired. Producer identifier. Preserve it across exact retries. Minimum characters 1. Maximum characters 256.
sourceSystemstringRequired. Producer system name. Minimum characters 1. Maximum characters 128.
sourcePlatformstringRequired. Source advertising platform. Minimum characters 1. Maximum characters 128.
sourceAdIdstringRequired. Source ad identifier. Minimum characters 1. Maximum characters 256.
advertiserIdstringOptional. Identifier of the advertiser. Minimum characters 1. Maximum characters 256.
advertiserNamestringRequired. Name of the advertiser. Minimum characters 1. Maximum characters 500.
campaignIdstringOptional. Identifier of the campaign. Minimum characters 1. Maximum characters 256.
marketstringRequired. Market for policy evaluation. Minimum characters 1. Maximum characters 128.
placementstringRequired. Ad placement. Minimum characters 1. Maximum characters 128.
languagestringOptional. Language of the submitted content. Default "en". Minimum characters 1. Maximum characters 64.
providerMetadataobjectOptional. Provider metadata retained with the submission.
landingPageUrlstring / nullRequired. Landing page URL.
titlestringRequired. Record title. Minimum characters 1. Maximum characters 500.
headlinestringOptional. Ad headline. Minimum characters 1. Maximum characters 500.
brandNamestringOptional. Advertised brand name. Minimum characters 1. Maximum characters 500.
callToActionstringOptional. Call-to-action value. Values: APPLY_NOW, BOOK_NOW, GET_NOW, INSTALL_NOW, MORE, SHOP_NOW, SIGN_UP, VIEW, WATCH.
publicProfileobjectOptional. Public profile information.
publicProfile.displayNamestringOptional. Customer-visible field label. Minimum characters 1. Maximum characters 500.
publicProfile.logoUrlstringOptional. Brand logo URL. Format uri.
publicProfile.verifiedbooleanOptional. Whether this assessment verifies the claim.
mediaarray of objectRequired. Ordered media assets. Minimum items 1. Maximum items 20.
media[].urlstringRequired. Absolute HTTP or HTTPS source link. Format uri.
media[].typestringRequired. Declared type for this object. Values: image, video.
media[].positionintegerRequired. Position of this asset in the media sequence. Minimum 1. Maximum 20.
attachmentobjectRequired. Destination attachment for the ad.
attachment.typestringRequired. Declared type for this object. Values: web_view, deep_link, app_install, lens, long_form_video.
attachment.destinationUrlstring / nullRequired. Attachment destination URL.
targetingobjectRequired. Ad targeting configuration.
targeting.ageMininteger / nullRequired. Minimum targeted age.
targeting.ageMaxinteger / nullOptional. Maximum targeted age.
targeting.geosarray of stringRequired. Targeted geographic areas. Minimum items 1. Maximum items 250.
targeting.languagesarray of stringOptional. Targeted languages. Minimum items 1. Maximum items 100.
copyobjectRequired. Ad copy and linked title text.
copy.bodystringOptional. Record body. Maximum characters 20000.
copy.captionstringOptional. Ad caption. Maximum characters 20000.
copy.linkDescriptionstringOptional. Description of the linked destination. Maximum characters 20000.
copy.sourceTitlestringOptional. Title from the submitted source. Maximum characters 20000.
discoverTilebooleanOptional. Whether the placement uses a Discover tile.
partnershipAdbooleanOptional. Whether this is a partnership ad.
formatstring / nullOptional. Ad format.
arLensstring / nullOptional. Augmented reality lens information.
submittedAtstringOptional. Submission timestamp. Format date-time.

Response 202

FieldTypeRequirement and meaning
caseIdstringRequired. Accepted case identifier. Use it for status reads.
externalIdstringRequired. Producer identifier. Preserve it across exact retries.
statusstringRequired. Current state. Use the declared enum when present. Values: accepted, duplicate.
analysisStatusstringRequired. Current evaluation state. A decision is available only after completion. Values: pending.
evaluationIdstringRequired. Evaluation identifier, when available.
idempotencyobjectRequired. Retry receipt.
idempotency.keystringRequired. Idempotency key.
idempotency.replayedbooleanRequired. Whether this request reuses an earlier submission.

Response 400

FieldTypeRequirement and meaning
successbooleanRequired. Whether the request succeeds. Values: False.
errorstringRequired. Error message.
messagestringOptional. Message body.
codestringOptional. Machine-readable error code. Values: MODERATION_INPUT_INCOMPLETE, MODERATION_INPUT_INVALID.
missingFieldsarray of stringOptional. Missing input field paths.
invalidFieldsarray of stringOptional. Invalid input field paths.
supportedarray of stringOptional. Whether evidence supports this claim.

Response 403

FieldTypeRequirement and meaning
successbooleanRequired. Whether the request succeeds. Values: False.
errorstringRequired. Error message.
messagestringOptional. Message body.
codestringOptional. Machine-readable error code. Values: MODERATION_INPUT_INCOMPLETE, MODERATION_INPUT_INVALID.
missingFieldsarray of stringOptional. Missing input field paths.
invalidFieldsarray of stringOptional. Invalid input field paths.
supportedarray of stringOptional. Whether evidence supports this claim.

Response 409

FieldTypeRequirement and meaning
successbooleanRequired. Whether the request succeeds. Values: False.
errorstringRequired. Error message.
messagestringOptional. Message body.
codestringOptional. Machine-readable error code. Values: MODERATION_INPUT_INCOMPLETE, MODERATION_INPUT_INVALID.
missingFieldsarray of stringOptional. Missing input field paths.
invalidFieldsarray of stringOptional. Invalid input field paths.
supportedarray of stringOptional. Whether evidence supports this claim.

Response 422

FieldTypeRequirement and meaning
successbooleanRequired. Whether the request succeeds. Values: False.
errorstringRequired. Error message.
messagestringOptional. Message body.
codestringOptional. Machine-readable error code. Values: MODERATION_INPUT_INCOMPLETE, MODERATION_INPUT_INVALID.
missingFieldsarray of stringOptional. Missing input field paths.
invalidFieldsarray of stringOptional. Invalid input field paths.
supportedarray of stringOptional. Whether evidence supports this claim.

Response 500

FieldTypeRequirement and meaning
successbooleanRequired. Whether the request succeeds. Values: False.
errorstringRequired. Error message.
messagestringOptional. Message body.
codestringOptional. Machine-readable error code. Values: MODERATION_INPUT_INCOMPLETE, MODERATION_INPUT_INVALID.
missingFieldsarray of stringOptional. Missing input field paths.
invalidFieldsarray of stringOptional. Invalid input field paths.
supportedarray of stringOptional. Whether evidence supports this claim.

POST /v0/moderation/cases/batch

Request and response fields

JSON body

FieldTypeRequirement and meaning
casesarray of objectRequired. Batch of moderation cases, 1–100 items. Minimum items 1. Maximum items 100.
cases[].externalIdstringRequired. Producer identifier. Preserve it across exact retries. Minimum characters 1. Maximum characters 256.
cases[].sourceSystemstringRequired. Producer system name. Minimum characters 1. Maximum characters 128.
cases[].sourcePlatformstringRequired. Source advertising platform. Minimum characters 1. Maximum characters 128.
cases[].sourceAdIdstringRequired. Source ad identifier. Minimum characters 1. Maximum characters 256.
cases[].advertiserIdstringOptional. Identifier of the advertiser. Minimum characters 1. Maximum characters 256.
cases[].advertiserNamestringRequired. Name of the advertiser. Minimum characters 1. Maximum characters 500.
cases[].campaignIdstringOptional. Identifier of the campaign. Minimum characters 1. Maximum characters 256.
cases[].marketstringRequired. Market for policy evaluation. Minimum characters 1. Maximum characters 128.
cases[].placementstringRequired. Ad placement. Minimum characters 1. Maximum characters 128.
cases[].languagestringOptional. Language of the submitted content. Default "en". Minimum characters 1. Maximum characters 64.
cases[].providerMetadataobjectOptional. Provider metadata retained with the submission.
cases[].landingPageUrlstring / nullRequired. Landing page URL.
cases[].titlestringRequired. Record title. Minimum characters 1. Maximum characters 500.
cases[].headlinestringOptional. Ad headline. Minimum characters 1. Maximum characters 500.
cases[].brandNamestringOptional. Advertised brand name. Minimum characters 1. Maximum characters 500.
cases[].callToActionstringOptional. Call-to-action value. Values: APPLY_NOW, BOOK_NOW, GET_NOW, INSTALL_NOW, MORE, SHOP_NOW, SIGN_UP, VIEW, WATCH.
cases[].publicProfileobjectOptional. Public profile information.
cases[].publicProfile.displayNamestringOptional. Customer-visible field label. Minimum characters 1. Maximum characters 500.
cases[].publicProfile.logoUrlstringOptional. Brand logo URL. Format uri.
cases[].publicProfile.verifiedbooleanOptional. Whether this assessment verifies the claim.
cases[].mediaarray of objectRequired. Ordered media assets. Minimum items 1. Maximum items 20.
cases[].media[].urlstringRequired. Absolute HTTP or HTTPS source link. Format uri.
cases[].media[].typestringRequired. Declared type for this object. Values: image, video.
cases[].media[].positionintegerRequired. Position of this asset in the media sequence. Minimum 1. Maximum 20.
cases[].attachmentobjectRequired. Destination attachment for the ad.
cases[].attachment.typestringRequired. Declared type for this object. Values: web_view, deep_link, app_install, lens, long_form_video.
cases[].attachment.destinationUrlstring / nullRequired. Attachment destination URL.
cases[].targetingobjectRequired. Ad targeting configuration.
cases[].targeting.ageMininteger / nullRequired. Minimum targeted age.
cases[].targeting.ageMaxinteger / nullOptional. Maximum targeted age.
cases[].targeting.geosarray of stringRequired. Targeted geographic areas. Minimum items 1. Maximum items 250.
cases[].targeting.languagesarray of stringOptional. Targeted languages. Minimum items 1. Maximum items 100.
cases[].copyobjectRequired. Ad copy and linked title text.
cases[].copy.bodystringOptional. Record body. Maximum characters 20000.
cases[].copy.captionstringOptional. Ad caption. Maximum characters 20000.
cases[].copy.linkDescriptionstringOptional. Description of the linked destination. Maximum characters 20000.
cases[].copy.sourceTitlestringOptional. Title from the submitted source. Maximum characters 20000.
cases[].discoverTilebooleanOptional. Whether the placement uses a Discover tile.
cases[].partnershipAdbooleanOptional. Whether this is a partnership ad.
cases[].formatstring / nullOptional. Ad format.
cases[].arLensstring / nullOptional. Augmented reality lens information.
cases[].submittedAtstringOptional. Submission timestamp. Format date-time.

Response 202

FieldTypeRequirement and meaning
resultsarray of objectRequired. Ordered result for every batch input.
results[].externalIdstringRequired. Producer identifier. Preserve it across exact retries.
results[].caseIdstringRequired. Accepted case identifier. Use it for status reads.
results[].statusstringRequired. Current state. Use the declared enum when present. Values: accepted, duplicate, rejected.
results[].analysisStatusstringOptional. Current evaluation state. A decision is available only after completion. Values: pending.
results[].evaluationIdstringOptional. Evaluation identifier, when available.
results[].idempotencyobjectOptional. Retry receipt.
results[].idempotency.keystringRequired. Idempotency key.
results[].idempotency.replayedbooleanRequired. Whether this request reuses an earlier submission.
results[].errorsarray of stringOptional. Validation messages.
results[].messagestringOptional. Message body.
results[].codestringOptional. Machine-readable error code. Values: MODERATION_INPUT_INCOMPLETE, MODERATION_INPUT_INVALID.
results[].missingFieldsarray of stringOptional. Missing input field paths.
results[].invalidFieldsarray of stringOptional. Invalid input field paths.

Response 400

FieldTypeRequirement and meaning
successbooleanRequired. Whether the request succeeds. Values: False.
errorstringRequired. Error message.
messagestringOptional. Message body.
codestringOptional. Machine-readable error code. Values: MODERATION_INPUT_INCOMPLETE, MODERATION_INPUT_INVALID.
missingFieldsarray of stringOptional. Missing input field paths.
invalidFieldsarray of stringOptional. Invalid input field paths.
supportedarray of stringOptional. Whether evidence supports this claim.

Response 403

FieldTypeRequirement and meaning
successbooleanRequired. Whether the request succeeds. Values: False.
errorstringRequired. Error message.
messagestringOptional. Message body.
codestringOptional. Machine-readable error code. Values: MODERATION_INPUT_INCOMPLETE, MODERATION_INPUT_INVALID.
missingFieldsarray of stringOptional. Missing input field paths.
invalidFieldsarray of stringOptional. Invalid input field paths.
supportedarray of stringOptional. Whether evidence supports this claim.

GET /v0/moderation/cases/{caseId}

Request and response fields

Path and query fields

FieldTypeRequirement and meaning
caseId (path)stringRequired. Accepted case identifier. Use it for status reads. Minimum characters 1.

Response 200

FieldTypeRequirement and meaning
caseIdstringRequired. Accepted case identifier. Use it for status reads.
externalIdstringRequired. Producer identifier. Preserve it across exact retries.
analysisStatusstringRequired. Current evaluation state. A decision is available only after completion. Values: policy_not_configured, pending, running, completed, failed.
evaluationIdstringOptional. Evaluation identifier, when available.
decisionobjectOptional. Completed moderation decision. Read the nested decision fields.
decision.dispositionstringRequired. Final disposition of the case. Values: age_gate, approve, escalate, reject.
decision.confidencestringRequired. Optional confidence from 0 to 1. Values: low, medium, high.
decision.titlestring / nullRequired. Record title. Default null.
decision.reasonstringRequired. Reason for this result. Minimum characters 1.
decision.hitsarray of objectRequired. Rules matched by the evaluation.
decision.hits[].ruleIdstringRequired. Matched rule identifier. Minimum characters 1.
decision.hits[].ruleSlugstringRequired. Matched rule slug. Minimum characters 1.
decision.hits[].polaritystringRequired. Polarity assigned to the assessed claim. Values: AMBIGUOUS, NEGATIVE, POSITIVE.
decision.hits[].confidencestringRequired. Optional confidence from 0 to 1. Values: low, medium, high.
decision.hits[].reasoningstring / nullRequired. Explanation of the assessment.
decision.hits[].evidencearray of objectRequired. Evidence supporting this assessment.
decision.hits[].evidence[].modalitystringRequired. Evidence modality. Values: image, video, text, metadata.
decision.hits[].evidence[].claimstringRequired. Claim assessed by the rule. Minimum characters 1.
decision.hits[].evidence[].locatorobjectOptional. Location of evidence within the source.
decision.hits[].evidence[].locator.assetstringOptional. Media asset assessed by this evidence. Values: public_profile_logo.
decision.hits[].evidence[].locator.mediaIndexintegerOptional. Index of the media asset containing the evidence. Minimum 0. Maximum 9007199254740991.
decision.hits[].evidence[].locator.boundingBoxJSONOptional. Evidence location within an image.
decision.hits[].evidence[].locator.startSecondsnumberOptional. Start of video evidence, in seconds. Minimum 0.
decision.hits[].evidence[].locator.endSecondsnumberOptional. End of video evidence, in seconds. Minimum 0.
decision.hits[].evidence[].locator.textSpanobjectOptional. Evidence span within text.
decision.hits[].evidence[].locator.textSpan.fieldstringOptional. Field containing the evidence. Minimum characters 1. Maximum characters 128.
decision.hits[].evidence[].locator.textSpan.startintegerRequired. Start of the evidence span. Minimum 0. Maximum 9007199254740991.
decision.hits[].evidence[].locator.textSpan.endintegerRequired. End of the evidence span. Minimum 0. Maximum 9007199254740991.
decision.advertiserAssessmentobjectRequired. Advertiser assessment in the final decision.
decision.advertiserAssessment.polaritystringRequired. Polarity assigned to the assessed claim. Values: AMBIGUOUS, NEGATIVE, POSITIVE.
decision.advertiserAssessment.reasoningstringRequired. Explanation of the assessment. Minimum characters 1. Maximum characters 1000.
decision.landingAssessmentobjectRequired. Landing page assessment in the final decision.
decision.landingAssessment.polaritystringRequired. Polarity assigned to the assessed claim. Values: AMBIGUOUS, NEGATIVE, POSITIVE.
decision.landingAssessment.reasoningstringRequired. Explanation of the assessment. Minimum characters 1. Maximum characters 1000.
decision.decisionSourcestringRequired. Origin of the decision. Default "model". Values: model, fail_closed.
decision.failureCodestring / nullRequired. Machine-readable evaluation failure. Default null.
decision.failureMessagestring / nullRequired. Human-readable failure message. Default null.
failureCodestringOptional. Machine-readable evaluation failure.

Response 403

FieldTypeRequirement and meaning
successbooleanRequired. Whether the request succeeds. Values: False.
errorstringRequired. Error message.
messagestringOptional. Message body.
codestringOptional. Machine-readable error code. Values: MODERATION_INPUT_INCOMPLETE, MODERATION_INPUT_INVALID.
missingFieldsarray of stringOptional. Missing input field paths.
invalidFieldsarray of stringOptional. Invalid input field paths.
supportedarray of stringOptional. Whether evidence supports this claim.

Response 404

FieldTypeRequirement and meaning
successbooleanRequired. Whether the request succeeds. Values: False.
errorstringRequired. Error message.
messagestringOptional. Message body.
codestringOptional. Machine-readable error code. Values: MODERATION_INPUT_INCOMPLETE, MODERATION_INPUT_INVALID.
missingFieldsarray of stringOptional. Missing input field paths.
invalidFieldsarray of stringOptional. Invalid input field paths.
supportedarray of stringOptional. Whether evidence supports this claim.

POST /v0/ingest/records

Request and response fields

JSON body

FieldTypeRequirement and meaning
platformstringRequired. Source platform. Values: DISCORD, SLACK, GITHUB, ZENDESK, TELEGRAM, FACEBOOK_GROUP, TWITTER_COMMUNITY, SALESFORCE, FACEBOOK, TWITTER, THREADS, TIKTOK, INSTAGRAM, LINKEDIN, WHATSAPP, YOUTUBE, GAINSIGHT, APPSTORE, GOOGLE_PLAY, HIGHER_LOGIC, DISCOURSE, CUSTOM_FORM, MODERATION_API, CHROME_WEB_STORE, CANNY.
serverIdstringRequired. Source account or community identifier. Minimum characters 1.
serverNamestringRequired. Source account or community name. Minimum characters 1.
channelIdstringOptional. Source channel identifier.
channelNamestringOptional. Source channel name.
processingLevelstringOptional. INSIGHTS for normal insight processing, or STATS_ONLY for statistics-only processing. Values: INSIGHTS, STATS_ONLY.
sourceobjectOptional. Producer origin metadata.
source.systemstringRequired. Producer system name. Minimum characters 1.
source.sourceIdstringOptional. Producer source identifier.
recordsarray of objectRequired. Normalized record batch, 1–500 items. Minimum items 1. Maximum items 500.
records[].externalIdstringRequired. Producer identifier. Preserve it across exact retries. Minimum characters 1.
records[].threadExternalIdstringOptional. Producer thread identifier.
records[].parentExternalIdstringOptional. Producer parent identifier.
records[].authorIdstringRequired. Author identifier. Minimum characters 1.
records[].authorNamestringRequired. Producer author name. Minimum characters 1.
records[].titlestringOptional. Record title.
records[].bodystringRequired. Record body.
records[].scorenumberOptional. Optional score from 0 to 5. Minimum 0. Maximum 5.
records[].createdAtstringRequired. Creation timestamp. Minimum characters 1.
records[].urlstringOptional. Absolute HTTP or HTTPS source link.
records[].recordTypestringRequired. Source record type. Minimum characters 1.
records[].customFieldsobjectOptional. Organization-defined field names and values.

Response 202

FieldTypeRequirement and meaning
statusstringRequired. Current state. Use the declared enum when present. Values: accepted.
acceptednumberRequired. Number of accepted input records.

Response 403

FieldTypeRequirement and meaning
successbooleanRequired. Whether the request succeeds. Values: False.
errorstringRequired. Error message.

Response 422

FieldTypeRequirement and meaning
successbooleanRequired. Whether the request succeeds. Values: False.
errorstringRequired. Error message.

Response 500

FieldTypeRequirement and meaning
successbooleanRequired. Whether the request succeeds. Values: False.
errorstringRequired. Error message.

Write behavior

Custom field writes require a write-scoped key. Values must match the organization's registered field types. A validation failure can return fieldErrors. Read the field definitions before writing a value.

Moderation intake requires the organization's ad_policy mode and a write-scoped key. An unchanged externalId with unchanged content returns duplicate on an exact retry. Conflicting content for an existing ID returns 409 for a single case. Batch results remain ordered and report per-item rejection. Poll the returned caseId. A decision appears only after the current evaluation completes.

Normalized ingestion accepts 1–500 records and returns asynchronous acceptance. Acceptance does not prove processing is complete. Record identity uses the organization, platform, server, and external ID. Preserve these identifiers for retries.

Tips

  • Keep identifiers as strings and preserve nullable values.
  • Validate response fields before reusing them in another request.
  • Read Metrics reference before interpreting metric units.
  • Do not mix REST response envelopes with MCP operation envelopes.

On this page