{"openapi":"3.1.0","info":{"title":"Camelus API","version":"2026-10-01","description":"Send feedback, read themes, and change their status. Authenticate with a workspace API key: `Authorization: Bearer ck_live_…`. Responses never contain original feedback text or personal data."},"servers":[{"url":"https://api.camelus.si"}],"security":[{"apiKey":[]}],"paths":{"/v1/feedback":{"post":{"operationId":"sendFeedback","summary":"Send feedback","description":"Stores one feedback item. Returns 202 for a new item, 200 with the same id for a repeat (same external_id, or same text from the same person within 10 minutes). Scope: feedback:write.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"product":{"type":"string","minLength":1,"maxLength":60,"pattern":"^[a-z0-9]+(?:-[a-z0-9]+)*$"},"text":{"type":"string","minLength":1},"title":{"type":"string","maxLength":200},"external_id":{"type":"string","minLength":1,"maxLength":200},"person":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":200},"email":{"type":"string","maxLength":254,"format":"email","pattern":"^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"},"name":{"type":"string","maxLength":200}}},"metadata":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{}},"page_url":{"type":"string","maxLength":2000,"format":"uri"},"created_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"}},"required":["product","text"]}}}},"responses":{"200":{"description":"A repeat of an earlier request","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"status":{"type":"string"},"duplicate":{"const":true}}}}}},"202":{"description":"Stored","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"status":{"const":"received"}}}}}},"400":{"description":"Invalid JSON or body","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Missing, malformed or revoked key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"The key lacks the scope, or the plan doesn't include the read API","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"No active product with that slug","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Body over 128 KB","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited (60 requests a minute per key)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/feedback/{id}":{"get":{"operationId":"getFeedback","summary":"Get a feedback item","description":"Processing results of one item: summary, type, sentiment, urgency and theme. No original text or personal data. Scope: read.","parameters":[{"name":"id","in":"path","required":true,"description":"The feedback item id","schema":{"type":"string"}}],"responses":{"200":{"description":"The item","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Item"}}}},"401":{"description":"Missing, malformed or revoked key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"The key lacks the scope, or the plan doesn't include the read API","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found in this workspace","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited (60 requests a minute per key)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/themes":{"get":{"operationId":"listThemes","summary":"List themes","description":"Themes ranked by score (or another sort), optionally for one product and status. Scope: read.","parameters":[{"name":"product","in":"query","description":"Product slug","schema":{"type":"string"}},{"name":"status","in":"query","schema":{"type":"string","enum":["open","planned","in_progress","shipped","declined","closed"]}},{"name":"sort","in":"query","schema":{"type":"string","enum":["score","requesters","mrr","trend","recent"],"default":"score"}},{"name":"limit","in":"query","schema":{"type":"integer","minimum":1,"maximum":100,"default":20}}],"responses":{"200":{"description":"Themes","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/Theme"}}}}}}},"400":{"description":"Invalid query","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Missing, malformed or revoked key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"The key lacks the scope, or the plan doesn't include the read API","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Unknown product slug","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited (60 requests a minute per key)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/themes/{id}":{"get":{"operationId":"getTheme","summary":"Get a theme","description":"Summary, stats, up to 10 representative item summaries and linked external work. Scope: read.","parameters":[{"name":"id","in":"path","required":true,"description":"The theme id","schema":{"type":"string"}}],"responses":{"200":{"description":"The theme","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ThemeDetail"}}}},"401":{"description":"Missing, malformed or revoked key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"The key lacks the scope, or the plan doesn't include the read API","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found in this workspace","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited (60 requests a minute per key)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"patch":{"operationId":"updateTheme","summary":"Change a theme's status","description":"Sets the status and adds an optional note to the timeline. Fires theme.status_changed to subscribed destinations. Scope: themes:write.","parameters":[{"name":"id","in":"path","required":true,"description":"The theme id","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"status":{"type":"string","enum":["open","planned","in_progress","shipped","declined","closed"]},"note":{"description":"Shown on the theme's timeline","type":"string","maxLength":500}},"required":["status"]}}}},"responses":{"200":{"description":"The updated theme","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ThemeDetail"}}}},"400":{"description":"Invalid body","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Missing, malformed or revoked key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"The key lacks the scope, or the plan doesn't include the read API","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found in this workspace","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"The theme was merged into another one","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited (60 requests a minute per key)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/callbacks/{themeId}":{"post":{"operationId":"statusCallback","summary":"Report progress on a theme (status callback)","description":"Called by the app that received a theme (an n8n workflow, your code). Authenticate with the callback token from the webhook payload (`Authorization: Bearer cbt_…`), or sign the request like an outbound webhook with the destination's signing secret.","security":[{"callbackToken":[]}],"parameters":[{"name":"themeId","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"status":{"type":"string","enum":["planned","in_progress","shipped","declined","failed"]},"external_id":{"description":"Shown on the theme, e.g. LIN-412","type":"string","minLength":1,"maxLength":200},"external_url":{"type":"string","maxLength":2000,"format":"uri"},"deploy_url":{"description":"For shipped","type":"string","maxLength":2000,"format":"uri"},"note":{"description":"Plain text","type":"string","maxLength":500}},"required":["status"]}}}},"responses":{"200":{"description":"Recorded (or already recorded)"},"400":{"description":"Invalid body","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Bad token or signature","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}}},"webhooks":{"theme.sent":{"post":{"summary":"theme.sent","description":"Sent to destinations subscribed to theme.sent. Headers: Camelus-Event, Camelus-Delivery (idempotency key), Camelus-Timestamp, Camelus-Signature (v1=hex HMAC-SHA256 of \"{timestamp}.{raw body}\" with the signing secret), Camelus-Version: 2026-10-01.","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","description":"Event id, the same on retries and replays"},"type":{"type":"string","const":"theme.sent"},"created_at":{"type":"string"},"workspace":{"type":"object","properties":{"id":{"type":"string"}},"required":["id"],"additionalProperties":false},"product":{"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"slug":{"type":"string"},"name":{"type":"string"},"domain":{"type":["string","null"]}},"required":["id","slug","name","domain"],"additionalProperties":false},{"type":"null"}]},"data":{"type":"object","properties":{"theme":{"type":"object","properties":{"id":{"type":"string"},"product":{"type":"object","properties":{"id":{"type":"string"},"slug":{"type":"string"},"name":{"type":"string"},"domain":{"type":["string","null"]}},"required":["id","slug","name","domain"],"additionalProperties":false},"title":{"type":"string"},"summary":{"type":["string","null"]},"type":{"type":"string","enum":["bug","feature_request","question","complaint","praise","other"]},"status":{"type":"string","enum":["open","planned","in_progress","shipped","declined","closed"]},"score":{"type":"number"},"trend":{"type":"string","enum":["new","rising","falling","stable"]},"requesters":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"paying_requesters":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"mrr_affected_cents":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}],"description":"null when no billing connector is set up; never estimated"},"item_count":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"sentiment":{"type":"object","properties":{"negative":{"type":"number"},"neutral":{"type":"number"},"positive":{"type":"number"}},"required":["negative","neutral","positive"],"additionalProperties":false},"last_item_at":{"anyOf":[{"type":"string","description":"ISO 8601 date-time, UTC"},{"type":"null"}]},"url":{"type":"string","description":"The theme in the Camelus app"},"representative_items":{"maxItems":10,"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"summary_en":{"type":"string","description":"One English sentence written by the AI, with personal data removed"},"source":{"type":"string","description":"widget, email, api, manual, csv"},"received_at":{"type":"string","description":"ISO 8601 date-time, UTC"}},"required":["id","summary_en","source","received_at"],"additionalProperties":false}},"requesters_personal":{"description":"Only for destinations with includePersonal on: up to 100 requesters","type":"array","items":{"type":"object","properties":{"email":{"type":["string","null"]},"name":{"type":["string","null"]}},"required":["email","name"],"additionalProperties":false}}},"required":["id","product","title","summary","type","status","score","trend","requesters","paying_requesters","mrr_affected_cents","item_count","sentiment","last_item_at","url","representative_items"],"additionalProperties":false}},"required":["theme"],"additionalProperties":false},"callback":{"description":"Present on theme events for destinations that accept status callbacks","type":"object","properties":{"url":{"type":"string"},"token":{"type":"string","description":"Single theme, single destination, revocable. Send it back as a bearer token"}},"required":["url","token"],"additionalProperties":false}},"required":["id","type","created_at","workspace","product","data"],"additionalProperties":false}}}},"responses":{"2xx":{"description":"Delivered. Any other status, or no answer within 10 s, is retried."}}}},"theme.created":{"post":{"summary":"theme.created","description":"Sent to destinations subscribed to theme.created. Headers: Camelus-Event, Camelus-Delivery (idempotency key), Camelus-Timestamp, Camelus-Signature (v1=hex HMAC-SHA256 of \"{timestamp}.{raw body}\" with the signing secret), Camelus-Version: 2026-10-01.","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","description":"Event id, the same on retries and replays"},"type":{"type":"string","const":"theme.created"},"created_at":{"type":"string"},"workspace":{"type":"object","properties":{"id":{"type":"string"}},"required":["id"],"additionalProperties":false},"product":{"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"slug":{"type":"string"},"name":{"type":"string"},"domain":{"type":["string","null"]}},"required":["id","slug","name","domain"],"additionalProperties":false},{"type":"null"}]},"data":{"type":"object","properties":{"theme":{"type":"object","properties":{"id":{"type":"string"},"product":{"type":"object","properties":{"id":{"type":"string"},"slug":{"type":"string"},"name":{"type":"string"},"domain":{"type":["string","null"]}},"required":["id","slug","name","domain"],"additionalProperties":false},"title":{"type":"string"},"summary":{"type":["string","null"]},"type":{"type":"string","enum":["bug","feature_request","question","complaint","praise","other"]},"status":{"type":"string","enum":["open","planned","in_progress","shipped","declined","closed"]},"score":{"type":"number"},"trend":{"type":"string","enum":["new","rising","falling","stable"]},"requesters":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"paying_requesters":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"mrr_affected_cents":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}],"description":"null when no billing connector is set up; never estimated"},"item_count":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"sentiment":{"type":"object","properties":{"negative":{"type":"number"},"neutral":{"type":"number"},"positive":{"type":"number"}},"required":["negative","neutral","positive"],"additionalProperties":false},"last_item_at":{"anyOf":[{"type":"string","description":"ISO 8601 date-time, UTC"},{"type":"null"}]},"url":{"type":"string","description":"The theme in the Camelus app"},"representative_items":{"maxItems":10,"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"summary_en":{"type":"string","description":"One English sentence written by the AI, with personal data removed"},"source":{"type":"string","description":"widget, email, api, manual, csv"},"received_at":{"type":"string","description":"ISO 8601 date-time, UTC"}},"required":["id","summary_en","source","received_at"],"additionalProperties":false}},"requesters_personal":{"description":"Only for destinations with includePersonal on: up to 100 requesters","type":"array","items":{"type":"object","properties":{"email":{"type":["string","null"]},"name":{"type":["string","null"]}},"required":["email","name"],"additionalProperties":false}}},"required":["id","product","title","summary","type","status","score","trend","requesters","paying_requesters","mrr_affected_cents","item_count","sentiment","last_item_at","url","representative_items"],"additionalProperties":false}},"required":["theme"],"additionalProperties":false},"callback":{"description":"Present on theme events for destinations that accept status callbacks","type":"object","properties":{"url":{"type":"string"},"token":{"type":"string","description":"Single theme, single destination, revocable. Send it back as a bearer token"}},"required":["url","token"],"additionalProperties":false}},"required":["id","type","created_at","workspace","product","data"],"additionalProperties":false}}}},"responses":{"2xx":{"description":"Delivered. Any other status, or no answer within 10 s, is retried."}}}},"theme.rising":{"post":{"summary":"theme.rising","description":"Sent to destinations subscribed to theme.rising. Headers: Camelus-Event, Camelus-Delivery (idempotency key), Camelus-Timestamp, Camelus-Signature (v1=hex HMAC-SHA256 of \"{timestamp}.{raw body}\" with the signing secret), Camelus-Version: 2026-10-01.","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","description":"Event id, the same on retries and replays"},"type":{"type":"string","const":"theme.rising"},"created_at":{"type":"string"},"workspace":{"type":"object","properties":{"id":{"type":"string"}},"required":["id"],"additionalProperties":false},"product":{"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"slug":{"type":"string"},"name":{"type":"string"},"domain":{"type":["string","null"]}},"required":["id","slug","name","domain"],"additionalProperties":false},{"type":"null"}]},"data":{"type":"object","properties":{"theme":{"type":"object","properties":{"id":{"type":"string"},"product":{"type":"object","properties":{"id":{"type":"string"},"slug":{"type":"string"},"name":{"type":"string"},"domain":{"type":["string","null"]}},"required":["id","slug","name","domain"],"additionalProperties":false},"title":{"type":"string"},"summary":{"type":["string","null"]},"type":{"type":"string","enum":["bug","feature_request","question","complaint","praise","other"]},"status":{"type":"string","enum":["open","planned","in_progress","shipped","declined","closed"]},"score":{"type":"number"},"trend":{"type":"string","enum":["new","rising","falling","stable"]},"requesters":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"paying_requesters":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"mrr_affected_cents":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}],"description":"null when no billing connector is set up; never estimated"},"item_count":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"sentiment":{"type":"object","properties":{"negative":{"type":"number"},"neutral":{"type":"number"},"positive":{"type":"number"}},"required":["negative","neutral","positive"],"additionalProperties":false},"last_item_at":{"anyOf":[{"type":"string","description":"ISO 8601 date-time, UTC"},{"type":"null"}]},"url":{"type":"string","description":"The theme in the Camelus app"},"representative_items":{"maxItems":10,"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"summary_en":{"type":"string","description":"One English sentence written by the AI, with personal data removed"},"source":{"type":"string","description":"widget, email, api, manual, csv"},"received_at":{"type":"string","description":"ISO 8601 date-time, UTC"}},"required":["id","summary_en","source","received_at"],"additionalProperties":false}},"requesters_personal":{"description":"Only for destinations with includePersonal on: up to 100 requesters","type":"array","items":{"type":"object","properties":{"email":{"type":["string","null"]},"name":{"type":["string","null"]}},"required":["email","name"],"additionalProperties":false}}},"required":["id","product","title","summary","type","status","score","trend","requesters","paying_requesters","mrr_affected_cents","item_count","sentiment","last_item_at","url","representative_items"],"additionalProperties":false}},"required":["theme"],"additionalProperties":false},"callback":{"description":"Present on theme events for destinations that accept status callbacks","type":"object","properties":{"url":{"type":"string"},"token":{"type":"string","description":"Single theme, single destination, revocable. Send it back as a bearer token"}},"required":["url","token"],"additionalProperties":false}},"required":["id","type","created_at","workspace","product","data"],"additionalProperties":false}}}},"responses":{"2xx":{"description":"Delivered. Any other status, or no answer within 10 s, is retried."}}}},"theme.threshold_reached":{"post":{"summary":"theme.threshold_reached","description":"Sent to destinations subscribed to theme.threshold_reached. Headers: Camelus-Event, Camelus-Delivery (idempotency key), Camelus-Timestamp, Camelus-Signature (v1=hex HMAC-SHA256 of \"{timestamp}.{raw body}\" with the signing secret), Camelus-Version: 2026-10-01.","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","description":"Event id, the same on retries and replays"},"type":{"type":"string","const":"theme.threshold_reached"},"created_at":{"type":"string"},"workspace":{"type":"object","properties":{"id":{"type":"string"}},"required":["id"],"additionalProperties":false},"product":{"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"slug":{"type":"string"},"name":{"type":"string"},"domain":{"type":["string","null"]}},"required":["id","slug","name","domain"],"additionalProperties":false},{"type":"null"}]},"data":{"type":"object","properties":{"theme":{"type":"object","properties":{"id":{"type":"string"},"product":{"type":"object","properties":{"id":{"type":"string"},"slug":{"type":"string"},"name":{"type":"string"},"domain":{"type":["string","null"]}},"required":["id","slug","name","domain"],"additionalProperties":false},"title":{"type":"string"},"summary":{"type":["string","null"]},"type":{"type":"string","enum":["bug","feature_request","question","complaint","praise","other"]},"status":{"type":"string","enum":["open","planned","in_progress","shipped","declined","closed"]},"score":{"type":"number"},"trend":{"type":"string","enum":["new","rising","falling","stable"]},"requesters":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"paying_requesters":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"mrr_affected_cents":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}],"description":"null when no billing connector is set up; never estimated"},"item_count":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"sentiment":{"type":"object","properties":{"negative":{"type":"number"},"neutral":{"type":"number"},"positive":{"type":"number"}},"required":["negative","neutral","positive"],"additionalProperties":false},"last_item_at":{"anyOf":[{"type":"string","description":"ISO 8601 date-time, UTC"},{"type":"null"}]},"url":{"type":"string","description":"The theme in the Camelus app"},"representative_items":{"maxItems":10,"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"summary_en":{"type":"string","description":"One English sentence written by the AI, with personal data removed"},"source":{"type":"string","description":"widget, email, api, manual, csv"},"received_at":{"type":"string","description":"ISO 8601 date-time, UTC"}},"required":["id","summary_en","source","received_at"],"additionalProperties":false}},"requesters_personal":{"description":"Only for destinations with includePersonal on: up to 100 requesters","type":"array","items":{"type":"object","properties":{"email":{"type":["string","null"]},"name":{"type":["string","null"]}},"required":["email","name"],"additionalProperties":false}}},"required":["id","product","title","summary","type","status","score","trend","requesters","paying_requesters","mrr_affected_cents","item_count","sentiment","last_item_at","url","representative_items"],"additionalProperties":false}},"required":["theme"],"additionalProperties":false},"callback":{"description":"Present on theme events for destinations that accept status callbacks","type":"object","properties":{"url":{"type":"string"},"token":{"type":"string","description":"Single theme, single destination, revocable. Send it back as a bearer token"}},"required":["url","token"],"additionalProperties":false}},"required":["id","type","created_at","workspace","product","data"],"additionalProperties":false}}}},"responses":{"2xx":{"description":"Delivered. Any other status, or no answer within 10 s, is retried."}}}},"theme.status_changed":{"post":{"summary":"theme.status_changed","description":"Sent to destinations subscribed to theme.status_changed. Headers: Camelus-Event, Camelus-Delivery (idempotency key), Camelus-Timestamp, Camelus-Signature (v1=hex HMAC-SHA256 of \"{timestamp}.{raw body}\" with the signing secret), Camelus-Version: 2026-10-01.","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","description":"Event id, the same on retries and replays"},"type":{"type":"string","const":"theme.status_changed"},"created_at":{"type":"string"},"workspace":{"type":"object","properties":{"id":{"type":"string"}},"required":["id"],"additionalProperties":false},"product":{"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"slug":{"type":"string"},"name":{"type":"string"},"domain":{"type":["string","null"]}},"required":["id","slug","name","domain"],"additionalProperties":false},{"type":"null"}]},"data":{"type":"object","properties":{"theme":{"type":"object","properties":{"id":{"type":"string"},"product":{"type":"object","properties":{"id":{"type":"string"},"slug":{"type":"string"},"name":{"type":"string"},"domain":{"type":["string","null"]}},"required":["id","slug","name","domain"],"additionalProperties":false},"title":{"type":"string"},"summary":{"type":["string","null"]},"type":{"type":"string","enum":["bug","feature_request","question","complaint","praise","other"]},"status":{"type":"string","enum":["open","planned","in_progress","shipped","declined","closed"]},"score":{"type":"number"},"trend":{"type":"string","enum":["new","rising","falling","stable"]},"requesters":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"paying_requesters":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"mrr_affected_cents":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}],"description":"null when no billing connector is set up; never estimated"},"item_count":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"sentiment":{"type":"object","properties":{"negative":{"type":"number"},"neutral":{"type":"number"},"positive":{"type":"number"}},"required":["negative","neutral","positive"],"additionalProperties":false},"last_item_at":{"anyOf":[{"type":"string","description":"ISO 8601 date-time, UTC"},{"type":"null"}]},"url":{"type":"string","description":"The theme in the Camelus app"},"representative_items":{"maxItems":10,"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"summary_en":{"type":"string","description":"One English sentence written by the AI, with personal data removed"},"source":{"type":"string","description":"widget, email, api, manual, csv"},"received_at":{"type":"string","description":"ISO 8601 date-time, UTC"}},"required":["id","summary_en","source","received_at"],"additionalProperties":false}},"requesters_personal":{"description":"Only for destinations with includePersonal on: up to 100 requesters","type":"array","items":{"type":"object","properties":{"email":{"type":["string","null"]},"name":{"type":["string","null"]}},"required":["email","name"],"additionalProperties":false}}},"required":["id","product","title","summary","type","status","score","trend","requesters","paying_requesters","mrr_affected_cents","item_count","sentiment","last_item_at","url","representative_items"],"additionalProperties":false},"previous_status":{"type":"string","enum":["open","planned","in_progress","shipped","declined","closed"]},"note":{"type":["string","null"]},"changed_via":{"type":"string","enum":["app","api","mcp","callback"]}},"required":["theme","previous_status","note","changed_via"],"additionalProperties":false},"callback":{"description":"Present on theme events for destinations that accept status callbacks","type":"object","properties":{"url":{"type":"string"},"token":{"type":"string","description":"Single theme, single destination, revocable. Send it back as a bearer token"}},"required":["url","token"],"additionalProperties":false}},"required":["id","type","created_at","workspace","product","data"],"additionalProperties":false}}}},"responses":{"2xx":{"description":"Delivered. Any other status, or no answer within 10 s, is retried."}}}},"theme.merged":{"post":{"summary":"theme.merged","description":"Sent to destinations subscribed to theme.merged. Headers: Camelus-Event, Camelus-Delivery (idempotency key), Camelus-Timestamp, Camelus-Signature (v1=hex HMAC-SHA256 of \"{timestamp}.{raw body}\" with the signing secret), Camelus-Version: 2026-10-01.","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","description":"Event id, the same on retries and replays"},"type":{"type":"string","const":"theme.merged"},"created_at":{"type":"string"},"workspace":{"type":"object","properties":{"id":{"type":"string"}},"required":["id"],"additionalProperties":false},"product":{"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"slug":{"type":"string"},"name":{"type":"string"},"domain":{"type":["string","null"]}},"required":["id","slug","name","domain"],"additionalProperties":false},{"type":"null"}]},"data":{"type":"object","properties":{"theme":{"type":"object","properties":{"id":{"type":"string"},"product":{"type":"object","properties":{"id":{"type":"string"},"slug":{"type":"string"},"name":{"type":"string"},"domain":{"type":["string","null"]}},"required":["id","slug","name","domain"],"additionalProperties":false},"title":{"type":"string"},"summary":{"type":["string","null"]},"type":{"type":"string","enum":["bug","feature_request","question","complaint","praise","other"]},"status":{"type":"string","enum":["open","planned","in_progress","shipped","declined","closed"]},"score":{"type":"number"},"trend":{"type":"string","enum":["new","rising","falling","stable"]},"requesters":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"paying_requesters":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"mrr_affected_cents":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}],"description":"null when no billing connector is set up; never estimated"},"item_count":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"sentiment":{"type":"object","properties":{"negative":{"type":"number"},"neutral":{"type":"number"},"positive":{"type":"number"}},"required":["negative","neutral","positive"],"additionalProperties":false},"last_item_at":{"anyOf":[{"type":"string","description":"ISO 8601 date-time, UTC"},{"type":"null"}]},"url":{"type":"string","description":"The theme in the Camelus app"},"representative_items":{"maxItems":10,"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"summary_en":{"type":"string","description":"One English sentence written by the AI, with personal data removed"},"source":{"type":"string","description":"widget, email, api, manual, csv"},"received_at":{"type":"string","description":"ISO 8601 date-time, UTC"}},"required":["id","summary_en","source","received_at"],"additionalProperties":false}},"requesters_personal":{"description":"Only for destinations with includePersonal on: up to 100 requesters","type":"array","items":{"type":"object","properties":{"email":{"type":["string","null"]},"name":{"type":["string","null"]}},"required":["email","name"],"additionalProperties":false}}},"required":["id","product","title","summary","type","status","score","trend","requesters","paying_requesters","mrr_affected_cents","item_count","sentiment","last_item_at","url","representative_items"],"additionalProperties":false},"merged_theme":{"type":"object","properties":{"id":{"type":"string"},"title":{"type":"string"}},"required":["id","title"],"additionalProperties":false,"description":"The theme that no longer exists"}},"required":["theme","merged_theme"],"additionalProperties":false},"callback":{"description":"Present on theme events for destinations that accept status callbacks","type":"object","properties":{"url":{"type":"string"},"token":{"type":"string","description":"Single theme, single destination, revocable. Send it back as a bearer token"}},"required":["url","token"],"additionalProperties":false}},"required":["id","type","created_at","workspace","product","data"],"additionalProperties":false}}}},"responses":{"2xx":{"description":"Delivered. Any other status, or no answer within 10 s, is retried."}}}},"feedback.received":{"post":{"summary":"feedback.received","description":"Sent to destinations subscribed to feedback.received. Headers: Camelus-Event, Camelus-Delivery (idempotency key), Camelus-Timestamp, Camelus-Signature (v1=hex HMAC-SHA256 of \"{timestamp}.{raw body}\" with the signing secret), Camelus-Version: 2026-10-01.","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","description":"Event id, the same on retries and replays"},"type":{"type":"string","const":"feedback.received"},"created_at":{"type":"string"},"workspace":{"type":"object","properties":{"id":{"type":"string"}},"required":["id"],"additionalProperties":false},"product":{"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"slug":{"type":"string"},"name":{"type":"string"},"domain":{"type":["string","null"]}},"required":["id","slug","name","domain"],"additionalProperties":false},{"type":"null"}]},"data":{"type":"object","properties":{"item":{"type":"object","properties":{"id":{"type":"string"},"summary_en":{"type":"string","description":"One English sentence written by the AI, with personal data removed"},"source":{"type":"string","description":"widget, email, api, manual, csv"},"received_at":{"type":"string","description":"ISO 8601 date-time, UTC"},"type":{"anyOf":[{"type":"string","enum":["bug","feature_request","question","complaint","praise","other"]},{"type":"null"}]},"sentiment":{"anyOf":[{"type":"string","enum":["negative","neutral","positive"]},{"type":"null"}]},"urgency":{"anyOf":[{"type":"string","enum":["low","medium","high"]},{"type":"null"}]},"language":{"type":["string","null"]},"theme_id":{"type":["string","null"]},"person":{"description":"Only for destinations with includePersonal on","type":"object","properties":{"email":{"type":["string","null"]},"name":{"type":["string","null"]}},"required":["email","name"],"additionalProperties":false}},"required":["id","summary_en","source","received_at","type","sentiment","urgency","language","theme_id"],"additionalProperties":false}},"required":["item"],"additionalProperties":false},"callback":{"description":"Present on theme events for destinations that accept status callbacks","type":"object","properties":{"url":{"type":"string"},"token":{"type":"string","description":"Single theme, single destination, revocable. Send it back as a bearer token"}},"required":["url","token"],"additionalProperties":false}},"required":["id","type","created_at","workspace","product","data"],"additionalProperties":false}}}},"responses":{"2xx":{"description":"Delivered. Any other status, or no answer within 10 s, is retried."}}}},"feedback.urgent":{"post":{"summary":"feedback.urgent","description":"Sent to destinations subscribed to feedback.urgent. Headers: Camelus-Event, Camelus-Delivery (idempotency key), Camelus-Timestamp, Camelus-Signature (v1=hex HMAC-SHA256 of \"{timestamp}.{raw body}\" with the signing secret), Camelus-Version: 2026-10-01.","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","description":"Event id, the same on retries and replays"},"type":{"type":"string","const":"feedback.urgent"},"created_at":{"type":"string"},"workspace":{"type":"object","properties":{"id":{"type":"string"}},"required":["id"],"additionalProperties":false},"product":{"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"slug":{"type":"string"},"name":{"type":"string"},"domain":{"type":["string","null"]}},"required":["id","slug","name","domain"],"additionalProperties":false},{"type":"null"}]},"data":{"type":"object","properties":{"item":{"type":"object","properties":{"id":{"type":"string"},"summary_en":{"type":"string","description":"One English sentence written by the AI, with personal data removed"},"source":{"type":"string","description":"widget, email, api, manual, csv"},"received_at":{"type":"string","description":"ISO 8601 date-time, UTC"},"type":{"anyOf":[{"type":"string","enum":["bug","feature_request","question","complaint","praise","other"]},{"type":"null"}]},"sentiment":{"anyOf":[{"type":"string","enum":["negative","neutral","positive"]},{"type":"null"}]},"urgency":{"anyOf":[{"type":"string","enum":["low","medium","high"]},{"type":"null"}]},"language":{"type":["string","null"]},"theme_id":{"type":["string","null"]},"person":{"description":"Only for destinations with includePersonal on","type":"object","properties":{"email":{"type":["string","null"]},"name":{"type":["string","null"]}},"required":["email","name"],"additionalProperties":false}},"required":["id","summary_en","source","received_at","type","sentiment","urgency","language","theme_id"],"additionalProperties":false}},"required":["item"],"additionalProperties":false},"callback":{"description":"Present on theme events for destinations that accept status callbacks","type":"object","properties":{"url":{"type":"string"},"token":{"type":"string","description":"Single theme, single destination, revocable. Send it back as a bearer token"}},"required":["url","token"],"additionalProperties":false}},"required":["id","type","created_at","workspace","product","data"],"additionalProperties":false}}}},"responses":{"2xx":{"description":"Delivered. Any other status, or no answer within 10 s, is retried."}}}},"digest.ready":{"post":{"summary":"digest.ready","description":"Sent to destinations subscribed to digest.ready. Headers: Camelus-Event, Camelus-Delivery (idempotency key), Camelus-Timestamp, Camelus-Signature (v1=hex HMAC-SHA256 of \"{timestamp}.{raw body}\" with the signing secret), Camelus-Version: 2026-10-01.","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","description":"Event id, the same on retries and replays"},"type":{"type":"string","const":"digest.ready"},"created_at":{"type":"string"},"workspace":{"type":"object","properties":{"id":{"type":"string"}},"required":["id"],"additionalProperties":false},"product":{"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"slug":{"type":"string"},"name":{"type":"string"},"domain":{"type":["string","null"]}},"required":["id","slug","name","domain"],"additionalProperties":false},{"type":"null"}]},"data":{"type":"object","properties":{"digest":{"type":"object","properties":{"kind":{"type":"string","enum":["daily","weekly"]},"date":{"type":"string"},"timezone":{"type":"string"},"period":{"type":"object","properties":{"from":{"type":"string"},"to":{"type":"string"}},"required":["from","to"],"additionalProperties":false},"intro":{"description":"Opening summary written by the AI from the facts below","type":["string","null"]},"totals":{"type":"object","properties":{"items":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"by_product":{"type":"array","items":{"type":"object","properties":{"product":{"type":"string"},"count":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["product","count"],"additionalProperties":false}},"by_source":{"type":"array","items":{"type":"object","properties":{"source":{"type":"string"},"count":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["source","count"],"additionalProperties":false}}},"required":["items","by_product","by_source"],"additionalProperties":false},"top_themes":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"title":{"type":"string"},"product":{"type":"string"},"score":{"type":"number"},"requesters":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"new_items":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Items in the digest period"},"trend":{"type":"string"},"status":{"type":"string"}},"required":["id","title","product","score","requesters","new_items","trend","status"],"additionalProperties":false}},"rising":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"title":{"type":"string"},"product":{"type":"string"},"score":{"type":"number"},"requesters":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"new_items":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Items in the digest period"},"trend":{"type":"string"},"status":{"type":"string"}},"required":["id","title","product","score","requesters","new_items","trend","status"],"additionalProperties":false}},"new_themes":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"title":{"type":"string"},"product":{"type":"string"},"score":{"type":"number"},"requesters":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"new_items":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Items in the digest period"},"trend":{"type":"string"},"status":{"type":"string"}},"required":["id","title","product","score","requesters","new_items","trend","status"],"additionalProperties":false}},"urgent_items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"product":{"type":"string"},"summary_en":{"type":"string"},"type":{"type":["string","null"]},"theme_id":{"type":["string","null"]}},"required":["id","product","summary_en","type","theme_id"],"additionalProperties":false}},"paying_complaints":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"product":{"type":"string"},"summary_en":{"type":"string"},"type":{"type":["string","null"]},"theme_id":{"type":["string","null"]}},"required":["id","product","summary_en","type","theme_id"],"additionalProperties":false}},"cancellations":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"product":{"type":"string"},"summary_en":{"type":"string"},"type":{"type":["string","null"]},"theme_id":{"type":["string","null"]}},"required":["id","product","summary_en","type","theme_id"],"additionalProperties":false}},"shipped":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"title":{"type":"string"},"product":{"type":"string"},"score":{"type":"number"},"requesters":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"new_items":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Items in the digest period"},"trend":{"type":"string"},"status":{"type":"string"}},"required":["id","title","product","score","requesters","new_items","trend","status"],"additionalProperties":false}},"held_alerts":{"type":"array","items":{"type":"object","properties":{"kind":{"type":"string"},"text":{"type":"string"}},"required":["kind","text"],"additionalProperties":false}},"wins":{"type":"object","properties":{"shipped":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"notified":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["shipped","notified"],"additionalProperties":false},"oldest_open":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"title":{"type":"string"},"product":{"type":"string"},"score":{"type":"number"},"requesters":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"new_items":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Items in the digest period"},"trend":{"type":"string"},"status":{"type":"string"}},"required":["id","title","product","score","requesters","new_items","trend","status"],"additionalProperties":false}}},"required":["kind","date","timezone","period","intro","totals","top_themes","rising","new_themes","urgent_items","paying_complaints","cancellations","shipped","held_alerts"],"additionalProperties":false}},"required":["digest"],"additionalProperties":false},"callback":{"description":"Present on theme events for destinations that accept status callbacks","type":"object","properties":{"url":{"type":"string"},"token":{"type":"string","description":"Single theme, single destination, revocable. Send it back as a bearer token"}},"required":["url","token"],"additionalProperties":false}},"required":["id","type","created_at","workspace","product","data"],"additionalProperties":false}}}},"responses":{"2xx":{"description":"Delivered. Any other status, or no answer within 10 s, is retried."}}}},"test.ping":{"post":{"summary":"test.ping","description":"Sent to destinations subscribed to test.ping. Headers: Camelus-Event, Camelus-Delivery (idempotency key), Camelus-Timestamp, Camelus-Signature (v1=hex HMAC-SHA256 of \"{timestamp}.{raw body}\" with the signing secret), Camelus-Version: 2026-10-01.","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","description":"Event id, the same on retries and replays"},"type":{"type":"string","const":"test.ping"},"created_at":{"type":"string"},"workspace":{"type":"object","properties":{"id":{"type":"string"}},"required":["id"],"additionalProperties":false},"product":{"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"slug":{"type":"string"},"name":{"type":"string"},"domain":{"type":["string","null"]}},"required":["id","slug","name","domain"],"additionalProperties":false},{"type":"null"}]},"data":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"],"additionalProperties":false},"callback":{"description":"Present on theme events for destinations that accept status callbacks","type":"object","properties":{"url":{"type":"string"},"token":{"type":"string","description":"Single theme, single destination, revocable. Send it back as a bearer token"}},"required":["url","token"],"additionalProperties":false}},"required":["id","type","created_at","workspace","product","data"],"additionalProperties":false}}}},"responses":{"2xx":{"description":"Delivered. Any other status, or no answer within 10 s, is retried."}}}}},"components":{"securitySchemes":{"apiKey":{"type":"http","scheme":"bearer","description":"Workspace API key, ck_live_…"},"callbackToken":{"type":"http","scheme":"bearer","description":"Callback token from a webhook payload, cbt_…"}},"schemas":{"Theme":{"type":"object","properties":{"id":{"type":"string"},"product":{"type":"object","properties":{"id":{"type":"string"},"slug":{"type":"string"},"name":{"type":"string"},"domain":{"type":["string","null"]}},"required":["id","slug","name","domain"],"additionalProperties":false},"title":{"type":"string"},"summary":{"type":["string","null"]},"type":{"type":"string","enum":["bug","feature_request","question","complaint","praise","other"]},"status":{"type":"string","enum":["open","planned","in_progress","shipped","declined","closed"]},"score":{"type":"number"},"trend":{"type":"string","enum":["new","rising","falling","stable"]},"requesters":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"paying_requesters":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"mrr_affected_cents":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}],"description":"null when no billing connector is set up; never estimated"},"item_count":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"sentiment":{"type":"object","properties":{"negative":{"type":"number"},"neutral":{"type":"number"},"positive":{"type":"number"}},"required":["negative","neutral","positive"],"additionalProperties":false},"last_item_at":{"anyOf":[{"type":"string","description":"ISO 8601 date-time, UTC"},{"type":"null"}]},"url":{"type":"string","description":"The theme in the Camelus app"}},"required":["id","product","title","summary","type","status","score","trend","requesters","paying_requesters","mrr_affected_cents","item_count","sentiment","last_item_at","url"],"additionalProperties":false},"ThemeDetail":{"type":"object","properties":{"id":{"type":"string"},"product":{"type":"object","properties":{"id":{"type":"string"},"slug":{"type":"string"},"name":{"type":"string"},"domain":{"type":["string","null"]}},"required":["id","slug","name","domain"],"additionalProperties":false},"title":{"type":"string"},"summary":{"type":["string","null"]},"type":{"type":"string","enum":["bug","feature_request","question","complaint","praise","other"]},"status":{"type":"string","enum":["open","planned","in_progress","shipped","declined","closed"]},"score":{"type":"number"},"trend":{"type":"string","enum":["new","rising","falling","stable"]},"requesters":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"paying_requesters":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"mrr_affected_cents":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}],"description":"null when no billing connector is set up; never estimated"},"item_count":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"sentiment":{"type":"object","properties":{"negative":{"type":"number"},"neutral":{"type":"number"},"positive":{"type":"number"}},"required":["negative","neutral","positive"],"additionalProperties":false},"last_item_at":{"anyOf":[{"type":"string","description":"ISO 8601 date-time, UTC"},{"type":"null"}]},"url":{"type":"string","description":"The theme in the Camelus app"},"representative_items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"summary_en":{"type":"string","description":"One English sentence written by the AI, with personal data removed"},"source":{"type":"string","description":"widget, email, api, manual, csv"},"received_at":{"type":"string","description":"ISO 8601 date-time, UTC"}},"required":["id","summary_en","source","received_at"],"additionalProperties":false},"description":"Up to 10, chosen by code: most recent, highest weight, diverse sources"},"external_links":{"type":"array","items":{"type":"object","properties":{"destination":{"type":"string"},"external_id":{"type":["string","null"]},"external_url":{"type":["string","null"]},"status":{"type":["string","null"]},"updated_at":{"type":"string","description":"ISO 8601 date-time, UTC"}},"required":["destination","external_id","external_url","status","updated_at"],"additionalProperties":false}}},"required":["id","product","title","summary","type","status","score","trend","requesters","paying_requesters","mrr_affected_cents","item_count","sentiment","last_item_at","url","representative_items","external_links"],"additionalProperties":false},"Item":{"type":"object","properties":{"id":{"type":"string"},"product":{"type":"object","properties":{"id":{"type":"string"},"slug":{"type":"string"},"name":{"type":"string"},"domain":{"type":["string","null"]}},"required":["id","slug","name","domain"],"additionalProperties":false},"source":{"type":"string"},"status":{"type":"string","enum":["received","processing","processed","needs_review","archived","spam"]},"received_at":{"type":"string","description":"ISO 8601 date-time, UTC"},"external_id":{"type":["string","null"]},"language":{"type":["string","null"]},"summary_en":{"type":["string","null"]},"type":{"anyOf":[{"type":"string","enum":["bug","feature_request","question","complaint","praise","other"]},{"type":"null"}]},"sentiment":{"anyOf":[{"type":"string","enum":["negative","neutral","positive"]},{"type":"null"}]},"urgency":{"anyOf":[{"type":"string","enum":["low","medium","high"]},{"type":"null"}]},"theme_id":{"type":["string","null"]}},"required":["id","product","source","status","received_at","external_id","language","summary_en","type","sentiment","urgency","theme_id"],"additionalProperties":false},"Error":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"}},"required":["code","message"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}