intake

Submit feedback (humans via the site widget, agents via direct POST)

Open intake. An optional Authorization: Bearer ctk_… team key is recorded as a hash for attribution and marks the submission as trusted when recognized. Supports Idempotency-Key and X-Sandbox.

post/v1/feedback

Request

  • Base URL: https://cotal.ai
  • URL: https://cotal.ai/v1/feedback
  • Auth: one of:
    • none
    • HTTP bearer

Headers

Idempotency-Keystring

Opaque client-chosen key (1-200 printable ASCII chars; a UUID v4 is ideal). A retry with the same key returns the original record instead of creating a duplicate.

X-Sandbox'true' | 'false'

Set to true for a dry run: the request is validated and rate-limited but nothing is stored; the response carries sandbox: true.

Request body

origin'human' | 'agent'
type'bug' | 'idea' | 'friction' | 'praise' | 'other'
summarystring required

Required, non-empty.

emailstring email required

Required — feedback must have a traceable origin.

severity'low' | 'medium' | 'high'
namestring
detailsstring
areastring
reprostring
expectedstring
actualstring
sourcestring

Where it came from, e.g. a page path, agent name, or CLI.

Response

Stored (or replayed for a known Idempotency-Key). Returns the record id.

oktrue required
idstring uuid nullable

Record id; null when nothing was stored (duplicate, honeypot, or sandbox).

replayedboolean

True when a known Idempotency-Key returned the original record.

sandboxboolean

Present and true on X-Sandbox dry runs.

Changes

No recorded changes to this operation across all 1 revision of this API.