v51

latestOpenAPI 3.0.1MITraw.githubusercontent.com2026-08-01150230854.3 KB
Fin Agent

Submit a CSAT rating

Record a customer's satisfaction rating for a conversation, with an optional free-text remark.

Fin decides when to ask for a rating — this reuses the CSAT settings on your Fin workflow, not this API. When Fin asks, it fires a csat_requested event over webhooks or SSE carrying the rating options to show the user. Present those options, then submit the user's choice here.

Submitting the same rating again, with no new remark, is a no-op and stays successful, so an at-least-once client can safely retry. Submitting a different rating updates the stored rating while the update window is still open, and a first remark can be added to an already-rated survey. Once a remark has been recorded the rating is locked and can no longer be changed.

{% admonition type="warning" %} Please reach out to your accounts team to discuss access. {% /admonition %}

post/fin/csat

Headers

Intercom-Version'1.0' | '1.1' | '1.2' | '1.3' | '1.4' | '2.0' | '2.1' | '2.2' | '2.3' | '2.4' | '2.5' | '2.6' | '2.7' | '2.8' | '2.9' | '2.10' | '2.11' | '2.12' | '2.13' | '2.14'

Intercom API version.</br>By default, it's equal to the version set in the app package.

Example:2.14

Request body

conversation_idstring required

Your external conversation ID — the same ID you started the conversation with, and the one echoed on the csat_requested event.

rating'terrible' | 'bad' | 'ok' | 'good' | 'amazing' required

The rating the user selected — one of the key values from the csat_requested event's options.

remarkstring

Optional free-text comment the user left alongside the rating. Can be added to an already-rated survey, but only once — the rating locks after a remark is recorded.

Example request

{
  "conversation_id": "ext-123",
  "rating": "amazing",
  "remark": "Fin solved my problem in seconds."
}

Response

Rating recorded successfully

conversation_idstring

The external ID of the rated conversation.

rating'terrible' | 'bad' | 'ok' | 'good' | 'amazing'

The rating now recorded on the conversation.

status'rated'

The result of the submission.

Example response

{
  "conversation_id": "ext-123",
  "rating": "amazing",
  "status": "rated"
}