{"items":[{"type":"link","label":"Fin Custom Helpdesk API","link":"/docs/guides/fin-custom-helpdesk/api-posts-only","routeSlug":"/docs/guides/fin-custom-helpdesk/api-posts-only","content":{"contentType":"overview","meta":{"name":"Fin Custom Helpdesk API"},"children":[{"nodeType":"container","panels":[{"title":"Download OpenAPI description","titleTranslationKey":"download.description.title","children":[{"kind":"download","label":"api-posts-only.json","url":"/_bundle/docs/guides/fin-custom-helpdesk/api-posts-only.json?download"},{"kind":"download","label":"api-posts-only.yaml","url":"/_bundle/docs/guides/fin-custom-helpdesk/api-posts-only.yaml?download"}]},{"title":"Overview","titleTranslationKey":"info.title","children":[{"kind":"externallink","title":"URL","titleTranslationKey":"info.contact.url","label":"https://developers.intercom.com","url":"https://developers.intercom.com"}]},{"title":"Languages","titleTranslationKey":"languages.title","children":[{"kind":"languages","options":[{"key":"curl","title":"curl","lang":"curl"},{"key":"node","title":"Node.js","lang":"Node.js"},{"key":"ruby","title":"Ruby","lang":"Ruby"},{"key":"php","title":"PHP","lang":"PHP"},{"key":"python","title":"Python","lang":"Python"},{"key":"java","title":"Java","lang":"Java"},{"key":"go","title":"Go","lang":"Go"},{"key":"csharp","title":"C#","lang":"C#"},{"key":"r","title":"R","lang":"R"}]}]},{"title":"Servers","titleTranslationKey":"servers.title","children":[{"kind":"servers","servers":[{"url":"https://helpdesk.example.com/api/fin","description":"Your Custom Helpdesk API (replace with your actual domain)"}],"mode":"default"}]}],"children":[{"nodeType":"overview-section-wrapper","children":[{"nodeType":"header","level":1,"label":"Fin Custom Helpdesk API (0.0.1)","showPageActions":true},{"nodeType":"overview-section-wrapper","children":[{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The Fin Custom Helpdesk API allows you to integrate your custom helpdesk with Fin through a standardized set of API endpoints and webhooks."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Note that the names of the endpoints are set by the custom helpdesk's API. They do not need to conform to the names given in this API spec (e.g. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"create_message"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")."},"children":[]}]}]}]}],"sectionId":"/docs/guides/fin-custom-helpdesk/api-posts-only"}],"sectionId":"/docs/guides/fin-custom-helpdesk/api-posts-only"},{"nodeType":"overview-section-wrapper","children":[{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"heading","attributes":{"level":2,"id":"section/faq"},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"FAQ"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Q: Can POST be used for all API requests instead of GET?"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A:"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" Yes. All endpoints now support POST requests."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Q: Must field names use snake_case or can camelCase be used?"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A:"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" snake_case is required. The format of the responses outlined in the documentation must be followed, including the snake_case key names. Intercom cannot support different naming conventions for different customers."},"children":[]}]}]},{"$$mdtype":"Node","type":"hr","attributes":{},"children":[]}]}],"sectionId":"/docs/guides/fin-custom-helpdesk/api-posts-only/section/faq"},{"nodeType":"overview-section-wrapper","children":[{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"heading","attributes":{"level":2,"id":"section/message-and-idempotency"},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Message & Idempotency"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Q: Does create_message API provide a unique message ID for idempotency?"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A:"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" Yes. An "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"object_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" field is available on all "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"create"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" type requests: "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"create_message"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"create_conversation"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"create_user"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". This represents the ID of the object in the Intercom system."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Q: Do message APIs support attachments?"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A:"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" Yes, attachments are supported. The format of attachments is outlined in the Messages section of the API docs."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Messages can contain:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Text body only (no attachments)"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Attachments only (no text body - body can be null or empty string)"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Both text body and attachments"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"However, a message cannot be completely empty - it must have either a body or at least one attachment."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Q: What HTML is supported in message content?"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A:"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" The following HTML tags are supported in the Message object:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Paragraphs: "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<p>"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Headings: "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<h1>"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<h2>"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (note: h3-h6 appear as h2)"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Text formatting: "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<b>"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (bold), "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<i>"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (italic)"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Links: "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<a>"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Images: "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<img>"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (can be linked)"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Line breaks: "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<br>"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Code blocks: "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<code>"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Lists: "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<ul>"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (unordered), "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<ol>"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (ordered)"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Example HTML:"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"<!-- Headings (h1–h6) -->\n<h1>Heading 1</h1>\n<h2>Heading 2</h2>\n<h3>Heading 3</h3>\n<h4>Heading 4</h4>\n<h5>Heading 5</h5>\n<h6>Heading 6</h6>\n\n<!-- Paragraphs with inline formatting and link -->\n<p>\n  Normal paragraph with <a href=\"https://example.com\">a link</a>, <b>bold</b>,\n  <i>italic</i>, and a line break<br />right here.\n</p>\n\n<!-- Image and linked image -->\n<img src=\"https://placehold.co/600x400/png\" alt=\"Example image\" />\n<a href=\"https://example.com\"\n  ><img src=\"https://placehold.co/200x120/png\" alt=\"Linked image\"\n/></a>\n\n<!-- Lists: unordered, ordered-->\n<ul>\n  <li>Unordered item 1</li>\n  <li>Unordered item 2</li>\n</ul>\n\n<ol>\n  <li>Ordered item 1</li>\n  <li>Ordered item 2</li>\n</ol>\n\n<!-- Code block -->\n<code> console.log('hello world!'); </code>\n","language":"html"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"<!-- Headings (h1–h6) -->\n<h1>Heading 1</h1>\n<h2>Heading 2</h2>\n<h3>Heading 3</h3>\n<h4>Heading 4</h4>\n<h5>Heading 5</h5>\n<h6>Heading 6</h6>\n\n<!-- Paragraphs with inline formatting and link -->\n<p>\n  Normal paragraph with <a href=\"https://example.com\">a link</a>, <b>bold</b>,\n  <i>italic</i>, and a line break<br />right here.\n</p>\n\n<!-- Image and linked image -->\n<img src=\"https://placehold.co/600x400/png\" alt=\"Example image\" />\n<a href=\"https://example.com\"\n  ><img src=\"https://placehold.co/200x120/png\" alt=\"Linked image\"\n/></a>\n\n<!-- Lists: unordered, ordered-->\n<ul>\n  <li>Unordered item 1</li>\n  <li>Unordered item 2</li>\n</ul>\n\n<ol>\n  <li>Ordered item 1</li>\n  <li>Ordered item 2</li>\n</ol>\n\n<!-- Code block -->\n<code> console.log('hello world!'); </code>\n"},"children":[]}]},{"$$mdtype":"Node","type":"hr","attributes":{},"children":[]}]}],"sectionId":"/docs/guides/fin-custom-helpdesk/api-posts-only/section/message-and-idempotency"},{"nodeType":"overview-section-wrapper","children":[{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"heading","attributes":{"level":2,"id":"section/agent-and-conversation-management"},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Agent & Conversation Management"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Q: Does the get_agent API need conversation ID parameters?"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A:"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" No. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"get_agent"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is only used during initial Fin configuration to select which agent represents Fin in the external system. You can return a single hardcoded bot agent here."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Q: How will Intercom inform us that a human agent needs to join a conversation?"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A:"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" Intercom sends an "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"update_conversation"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" call with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"assignee_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" set to null."},"children":[]}]}]},{"$$mdtype":"Node","type":"hr","attributes":{},"children":[]}]}],"sectionId":"/docs/guides/fin-custom-helpdesk/api-posts-only/section/agent-and-conversation-management"},{"nodeType":"overview-section-wrapper","children":[{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"heading","attributes":{"level":2,"id":"section/attributes-and-data-structure"},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Attributes & Data Structure"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Q: Are conversation-level attributes separate from user attributes?"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A:"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" Yes. Structure is:"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"{\n  \"conversation\": {\n    \"attributes\": {\n      // conversation-specific data like locale, topic, sentiment, order_id\n    },\n    \"user\": {\n      \"id\": \"...\",\n      \"type\": \"end-user\",\n      \"name\": \"...\",\n      \"attributes\": {\n        // user-specific custom attributes\n      }\n    }\n  }\n}\n","language":"json"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"{\n  \"conversation\": {\n    \"attributes\": {\n      // conversation-specific data like locale, topic, sentiment, order_id\n    },\n    \"user\": {\n      \"id\": \"...\",\n      \"type\": \"end-user\",\n      \"name\": \"...\",\n      \"attributes\": {\n        // user-specific custom attributes\n      }\n    }\n  }\n}\n"},"children":[]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Q: When EndUser attributes change, will update_conversation be called?"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A:"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" Yes. Conversation and user state is synchronized on each inbound/outbound event (new messages, user data updates via workflows, for example an Email Collector step, etc.)."},"children":[]}]}]},{"$$mdtype":"Node","type":"hr","attributes":{},"children":[]}]}],"sectionId":"/docs/guides/fin-custom-helpdesk/api-posts-only/section/attributes-and-data-structure"},{"nodeType":"overview-section-wrapper","children":[{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"heading","attributes":{"level":2,"id":"section/request-verification"},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Request Verification"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Q: How do I verify that incoming requests are genuine?"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A:"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" We provide two extra headers on our requests to your servers:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"X-Fin-Request-Timestamp"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" - This is the timestamp of the request (in seconds since epoch). You may use this to reject requests that are too old."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"X-Fin-Signature"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" - This is the SHA256 HMAC signature of "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"{timestamp}:{request_body}"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". You may use this to verify the authenticity of the request from us."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Note as there is no body for GET requests, we instead sign: "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"{timestamp}:{request_params_sorted_alphabetically}"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The HMAC key used to validate the signature is found in your deployment settings."},"children":[]}]}]},{"$$mdtype":"Node","type":"hr","attributes":{},"children":[]}]}],"sectionId":"/docs/guides/fin-custom-helpdesk/api-posts-only/section/request-verification"},{"nodeType":"overview-section-wrapper","children":[{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"heading","attributes":{"level":2,"id":"section/connecting-fin-to-your-endpoints"},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Connecting Fin to your endpoints"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"1"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" - Navigate to the Deploy > Fin Messenger section in your Fin Workspace."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"tag","tag":"html","inline":true,"attributes":{"name":"a","attrs":{"href":"/assets/standalone-chd-1.31aaea1c8c9518e54ab0840c885c61051d6928fa6125a8557f874850449f1f7f.71a4f21c.png","target":"_blank"}},"children":[{"$$mdtype":"Node","type":"tag","tag":"html","inline":true,"attributes":{"name":"img","attrs":{"src":"/assets/standalone-chd-1.31aaea1c8c9518e54ab0840c885c61051d6928fa6125a8557f874850449f1f7f.71a4f21c.png","alt":"standalone-chd-1"}},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"2"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" - You can give your integration a name to identify it. We will support multiple different connections later (e.g. for multiple different sub-brands you may have)"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note that \"Channel type\" is currently static with the value \"Fin messenger\". We will support other channel types at a later time."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Make note of the "},"children":[]},{"$$mdtype":"Node","type":"em","inline":true,"attributes":{"marker":"*"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Identifier"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" value you are given here. This is the identifer you must use in your webhooks back to the Fin system."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"3"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" - Configure your API endpoint URLs. What these endpoints are for and the request/response format is described in the rest of these docs."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"tag","tag":"html","inline":true,"attributes":{"name":"a","attrs":{"href":"/assets/standalone-chd-3.5b9bbe5f321d6511a711a4af86006069ca3ededb251ca1f2b675d08caa6da2aa.71a4f21c.png","target":"_blank"}},"children":[{"$$mdtype":"Node","type":"tag","tag":"html","inline":true,"attributes":{"name":"img","attrs":{"src":"/assets/standalone-chd-3.5b9bbe5f321d6511a711a4af86006069ca3ededb251ca1f2b675d08caa6da2aa.71a4f21c.png","alt":"standalone-chd-3"}},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"4"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" - Set up authentication for your endpoints. By default we use OAuth for this. Choose the \"OAuth token settings\" option and configure the OAuth connection with your server."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Note, you may allowlist Intercom's IP address ranges — see "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"/docs/build-an-integration/learn-more/ip-allowlisting/"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Intercom IP addresses"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"tag","tag":"html","inline":true,"attributes":{"name":"a","attrs":{"href":"/assets/standalone-chd-4.aaa3cf2e65012cdb45abc5672cd7afcd11afdd4e6b8422a2b93be9db0e2fe2c2.71a4f21c.png","target":"_blank"}},"children":[{"$$mdtype":"Node","type":"tag","tag":"html","inline":true,"attributes":{"name":"img","attrs":{"src":"/assets/standalone-chd-4.aaa3cf2e65012cdb45abc5672cd7afcd11afdd4e6b8422a2b93be9db0e2fe2c2.71a4f21c.png","alt":"standalone-chd-4"}},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"tag","tag":"html","inline":true,"attributes":{"name":"a","attrs":{"href":"/assets/standalone-chd-5.a41526b631aaaa8d5dca2372b020f97952cb0f6380b5e9e7d05ce82d5eebcd7b.71a4f21c.png","target":"_blank"}},"children":[{"$$mdtype":"Node","type":"tag","tag":"html","inline":true,"attributes":{"name":"img","attrs":{"src":"/assets/standalone-chd-5.a41526b631aaaa8d5dca2372b020f97952cb0f6380b5e9e7d05ce82d5eebcd7b.71a4f21c.png","alt":"standalone-chd-5"}},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"5"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" - Note the webhook secret generated for you. This must be provided in the X-Webhook-Key header in webhook requests to the Fin system."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"tag","tag":"html","inline":true,"attributes":{"name":"a","attrs":{"href":"/assets/standalone-chd-6.b4ecc747b0eeb4664a61665591a0c1a9fd69c5437bd198f634b51a2539e1588b.71a4f21c.png","target":"_blank"}},"children":[{"$$mdtype":"Node","type":"tag","tag":"html","inline":true,"attributes":{"name":"img","attrs":{"src":"/assets/standalone-chd-6.b4ecc747b0eeb4664a61665591a0c1a9fd69c5437bd198f634b51a2539e1588b.71a4f21c.png","alt":"standalone-chd-6"}},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"6"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" - Choose a agent from your system to attribute Fin's replies to."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When Fin generate a response for the customer, we will use the ID of the agent chosen here when creating messages in your system."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"tag","tag":"html","inline":true,"attributes":{"name":"a","attrs":{"href":"/assets/standalone-chd-7.a11c9b78d35785db7ec381bdc45efbcf47a32e0793d9583dc9a0711025b6fbfa.71a4f21c.png","target":"_blank"}},"children":[{"$$mdtype":"Node","type":"tag","tag":"html","inline":true,"attributes":{"name":"img","attrs":{"src":"/assets/standalone-chd-7.a11c9b78d35785db7ec381bdc45efbcf47a32e0793d9583dc9a0711025b6fbfa.71a4f21c.png","alt":"standalone-chd-7"}},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"7"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" - Finally, when you've configured your workflow and installed the Fin Messenger you're ready to activate Fin."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"tag","tag":"html","inline":true,"attributes":{"name":"a","attrs":{"href":"/assets/standalone-chd-8.2ee11a5ec9ccf91edeb0fce1288329d3f014bbedc4c116ff9decd5c543f0e4e2.71a4f21c.png","target":"_blank"}},"children":[{"$$mdtype":"Node","type":"tag","tag":"html","inline":true,"attributes":{"name":"img","attrs":{"src":"/assets/standalone-chd-8.2ee11a5ec9ccf91edeb0fce1288329d3f014bbedc4c116ff9decd5c543f0e4e2.71a4f21c.png","alt":"standalone-chd-8"}},"children":[]}]}]}]}]}],"sectionId":"/docs/guides/fin-custom-helpdesk/api-posts-only/section/connecting-fin-to-your-endpoints"}]}]}},{"type":"link","label":"FAQ","link":"/docs/guides/fin-custom-helpdesk/api-posts-only/section/faq","routeSlug":"/docs/guides/fin-custom-helpdesk/api-posts-only/section/faq","content":null},{"type":"link","label":"Message & Idempotency","link":"/docs/guides/fin-custom-helpdesk/api-posts-only/section/message-and-idempotency","routeSlug":"/docs/guides/fin-custom-helpdesk/api-posts-only/section/message-and-idempotency","content":null},{"type":"link","label":"Agent & Conversation Management","link":"/docs/guides/fin-custom-helpdesk/api-posts-only/section/agent-and-conversation-management","routeSlug":"/docs/guides/fin-custom-helpdesk/api-posts-only/section/agent-and-conversation-management","content":null},{"type":"link","label":"Attributes & Data Structure","link":"/docs/guides/fin-custom-helpdesk/api-posts-only/section/attributes-and-data-structure","routeSlug":"/docs/guides/fin-custom-helpdesk/api-posts-only/section/attributes-and-data-structure","content":null},{"type":"link","label":"Request Verification","link":"/docs/guides/fin-custom-helpdesk/api-posts-only/section/request-verification","routeSlug":"/docs/guides/fin-custom-helpdesk/api-posts-only/section/request-verification","content":null},{"type":"link","label":"Connecting Fin to your endpoints","link":"/docs/guides/fin-custom-helpdesk/api-posts-only/section/connecting-fin-to-your-endpoints","routeSlug":"/docs/guides/fin-custom-helpdesk/api-posts-only/section/connecting-fin-to-your-endpoints","content":null},{"type":"group","label":"Users","link":"/docs/guides/fin-custom-helpdesk/api-posts-only/users","routeSlug":"/docs/guides/fin-custom-helpdesk/api-posts-only/users","items":[{"label":"Get User","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/docs/guides/fin-custom-helpdesk/api-posts-only/users/getuser","routeSlug":"/docs/guides/fin-custom-helpdesk/api-posts-only/users/getuser","metadata":{"seo":{"title":"Get User","description":"Retrieve an end-user by their ID."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getUser","name":"Get User","isWebhook":false,"pointer":"/paths/~1get_user/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get User","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Retrieve an end-user by their ID.\n\nUsed to load an end-user from the customer's system. We will call this during synchronization to get the latest data about the end-user to drive the Fin workflows and tasks correctly.\nIf using the Fin messenger with a logged in and verified end-user, we will load the end- user when they start a new conversation.\n"},{"nodeType":"security","requirements":[{"schemes":[{"name":"BearerAuth","scopes":[],"type":"oauth2","description":"OAuth2 access token configured in Fin Deployment UI","flows":{"clientCredentials":{"tokenUrl":"https://helpdesk.fin.com/api/auth/oauth/token","scopes":{"read":"Read access to the API (example)","write":"Write access to the API (example)"}}}}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/GetUserRequest"}},"schemaId":"components/schemas/GetUserRequest","pointer":"/paths/~1get_user/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/get_user","servers":[{"url":"https://helpdesk.example.com/api/fin","description":"Your Custom Helpdesk API (replace with your actual domain)"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"BearerAuth","type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://helpdesk.fin.com/api/auth/oauth/token","scopes":{"read":"Read access to the API (example)","write":"Write access to the API (example)"}}}}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/GetUserRequest"}},"responseCodes":["200"],"pointer":"/get_user","href":"users/getuser","openApiOperationId":"getUser","summary":"Get User"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://helpdesk.example.com/api/fin","description":"Your Custom Helpdesk API (replace with your actual domain)"}],"schemaId":"components/schemas/GetUserRequest","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/GetUserRequest"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Find a user by their ID","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/EndUserResponse","exampleIds":["paths/~1get_user/post/responses/200/content/application~1json/examples/userFound","paths/~1get_user/post/responses/200/content/application~1json/examples/userNotFound"]}},"schemaId":"components/schemas/EndUserResponse","exampleIds":["paths/~1get_user/post/responses/200/content/application~1json/examples/userFound","paths/~1get_user/post/responses/200/content/application~1json/examples/userNotFound"]}],"pointer":"/paths/~1get_user/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/EndUserResponse","exampleIds":["paths/~1get_user/post/responses/200/content/application~1json/examples/userFound","paths/~1get_user/post/responses/200/content/application~1json/examples/userNotFound"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/EndUserResponse","exampleIds":["paths/~1get_user/post/responses/200/content/application~1json/examples/userFound","paths/~1get_user/post/responses/200/content/application~1json/examples/userNotFound"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/users/getuser"}],"panels":[]}]},"httpPath":"/get_user"},{"label":"Update User","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/docs/guides/fin-custom-helpdesk/api-posts-only/users/updateuser","routeSlug":"/docs/guides/fin-custom-helpdesk/api-posts-only/users/updateuser","metadata":{"seo":{"title":"Update User","description":"Update an end-user by their ID."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"updateUser","name":"Update User","isWebhook":false,"pointer":"/paths/~1update_user/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Update User","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Update an end-user by their ID."},{"nodeType":"security","requirements":[{"schemes":[{"name":"BearerAuth","scopes":[],"type":"oauth2","description":"OAuth2 access token configured in Fin Deployment UI","flows":{"clientCredentials":{"tokenUrl":"https://helpdesk.fin.com/api/auth/oauth/token","scopes":{"read":"Read access to the API (example)","write":"Write access to the API (example)"}}}}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/UpdateUserRequest"}},"schemaId":"components/schemas/UpdateUserRequest","pointer":"/paths/~1update_user/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/update_user","servers":[{"url":"https://helpdesk.example.com/api/fin","description":"Your Custom Helpdesk API (replace with your actual domain)"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"BearerAuth","type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://helpdesk.fin.com/api/auth/oauth/token","scopes":{"read":"Read access to the API (example)","write":"Write access to the API (example)"}}}}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/UpdateUserRequest"}},"responseCodes":["200"],"pointer":"/update_user","href":"users/updateuser","openApiOperationId":"updateUser","summary":"Update User"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://helpdesk.example.com/api/fin","description":"Your Custom Helpdesk API (replace with your actual domain)"}],"schemaId":"components/schemas/UpdateUserRequest","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/UpdateUserRequest"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"User updated successfully","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/EndUserResponse","exampleIds":["paths/~1update_user/post/responses/200/content/application~1json/examples/userUpdated","paths/~1update_user/post/responses/200/content/application~1json/examples/userNotFound"]}},"schemaId":"components/schemas/EndUserResponse","exampleIds":["paths/~1update_user/post/responses/200/content/application~1json/examples/userUpdated","paths/~1update_user/post/responses/200/content/application~1json/examples/userNotFound"]}],"pointer":"/paths/~1update_user/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/EndUserResponse","exampleIds":["paths/~1update_user/post/responses/200/content/application~1json/examples/userUpdated","paths/~1update_user/post/responses/200/content/application~1json/examples/userNotFound"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/EndUserResponse","exampleIds":["paths/~1update_user/post/responses/200/content/application~1json/examples/userUpdated","paths/~1update_user/post/responses/200/content/application~1json/examples/userNotFound"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/users/updateuser"}],"panels":[]}]},"httpPath":"/update_user"},{"label":"Create User","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/docs/guides/fin-custom-helpdesk/api-posts-only/users/createuser","routeSlug":"/docs/guides/fin-custom-helpdesk/api-posts-only/users/createuser","metadata":{"seo":{"title":"Create User","description":"When an end-user starts a conversation in the Fin Messenger and there is no information about them in the third party we request a new record be created."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"createUser","name":"Create User","isWebhook":false,"pointer":"/paths/~1create_user/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Create User","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"When an end-user starts a conversation in the Fin Messenger and there is no information about them in the third party we request a new record be created.\n"},{"nodeType":"security","requirements":[{"schemes":[{"name":"BearerAuth","scopes":[],"type":"oauth2","description":"OAuth2 access token configured in Fin Deployment UI","flows":{"clientCredentials":{"tokenUrl":"https://helpdesk.fin.com/api/auth/oauth/token","scopes":{"read":"Read access to the API (example)","write":"Write access to the API (example)"}}}}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/CreateUserRequest"}},"schemaId":"components/schemas/CreateUserRequest","pointer":"/paths/~1create_user/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/create_user","servers":[{"url":"https://helpdesk.example.com/api/fin","description":"Your Custom Helpdesk API (replace with your actual domain)"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"BearerAuth","type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://helpdesk.fin.com/api/auth/oauth/token","scopes":{"read":"Read access to the API (example)","write":"Write access to the API (example)"}}}}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/CreateUserRequest"}},"responseCodes":["201"],"pointer":"/create_user","href":"users/createuser","openApiOperationId":"createUser","summary":"Create User"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://helpdesk.example.com/api/fin","description":"Your Custom Helpdesk API (replace with your actual domain)"}],"schemaId":"components/schemas/CreateUserRequest","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/CreateUserRequest"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"201","description":"End-user created successfully","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/EndUser","exampleIds":["paths/~1create_user/post/responses/201/content/application~1json/examples/userCreated","paths/~1create_user/post/responses/201/content/application~1json/examples/badRequest"]}},"schemaId":"components/schemas/EndUser","exampleIds":["paths/~1create_user/post/responses/201/content/application~1json/examples/userCreated","paths/~1create_user/post/responses/201/content/application~1json/examples/badRequest"]}],"pointer":"/paths/~1create_user/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"201","schemaId":"components/schemas/EndUser","exampleIds":["paths/~1create_user/post/responses/201/content/application~1json/examples/userCreated","paths/~1create_user/post/responses/201/content/application~1json/examples/badRequest"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/EndUser","exampleIds":["paths/~1create_user/post/responses/201/content/application~1json/examples/userCreated","paths/~1create_user/post/responses/201/content/application~1json/examples/badRequest"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/users/createuser"}],"panels":[]}]},"httpPath":"/create_user"}],"content":{"contentType":"group","meta":{"name":"Users"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Users","showPageActions":true},{"nodeType":"markdoc","content":"Manage end-users in your helpdesk system"}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/get_user","summary":"Get User","prefix":{"name":"post","color":"post"},"badges":[],"link":"/users/getuser","deprecated":false},{"title":"/update_user","summary":"Update User","prefix":{"name":"post","color":"post"},"badges":[],"link":"/users/updateuser","deprecated":false},{"title":"/create_user","summary":"Create User","prefix":{"name":"post","color":"post"},"badges":[],"link":"/users/createuser","deprecated":false}]}]}]}]}},{"type":"group","label":"Agents","link":"/docs/guides/fin-custom-helpdesk/api-posts-only/agents","routeSlug":"/docs/guides/fin-custom-helpdesk/api-posts-only/agents","items":[{"label":"Get Agents","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/docs/guides/fin-custom-helpdesk/api-posts-only/agents/getagents","routeSlug":"/docs/guides/fin-custom-helpdesk/api-posts-only/agents/getagents","metadata":{"seo":{"title":"Get Agents","description":"The customer must choose an Agent from within their own system to act as Fin."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getAgents","name":"Get Agents","isWebhook":false,"pointer":"/paths/~1get_agents/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get Agents","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"The customer must choose an Agent from within their own system to act as Fin.\n\nWhen we tell the customer about responses from Fin, the author ID will be the agent chosen to act as Fin.\n"},{"nodeType":"security","requirements":[{"schemes":[{"name":"BearerAuth","scopes":[],"type":"oauth2","description":"OAuth2 access token configured in Fin Deployment UI","flows":{"clientCredentials":{"tokenUrl":"https://helpdesk.fin.com/api/auth/oauth/token","scopes":{"read":"Read access to the API (example)","write":"Write access to the API (example)"}}}}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_415"}},"schemaId":"schema_415","pointer":"/paths/~1get_agents/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/get_agents","servers":[{"url":"https://helpdesk.example.com/api/fin","description":"Your Custom Helpdesk API (replace with your actual domain)"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"BearerAuth","type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://helpdesk.fin.com/api/auth/oauth/token","scopes":{"read":"Read access to the API (example)","write":"Write access to the API (example)"}}}}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"schema_415"}},"responseCodes":["200"],"pointer":"/get_agents","href":"agents/getagents","openApiOperationId":"getAgents","summary":"Get Agents"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://helpdesk.example.com/api/fin","description":"Your Custom Helpdesk API (replace with your actual domain)"}],"schemaId":"schema_415","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_415"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Agents retrieved successfully","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/AgentsResponse","exampleIds":["paths/~1get_agents/post/responses/200/content/application~1json/examples/agentsFound","paths/~1get_agents/post/responses/200/content/application~1json/examples/noAgents"]}},"schemaId":"components/schemas/AgentsResponse","exampleIds":["paths/~1get_agents/post/responses/200/content/application~1json/examples/agentsFound","paths/~1get_agents/post/responses/200/content/application~1json/examples/noAgents"]}],"pointer":"/paths/~1get_agents/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/AgentsResponse","exampleIds":["paths/~1get_agents/post/responses/200/content/application~1json/examples/agentsFound","paths/~1get_agents/post/responses/200/content/application~1json/examples/noAgents"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/AgentsResponse","exampleIds":["paths/~1get_agents/post/responses/200/content/application~1json/examples/agentsFound","paths/~1get_agents/post/responses/200/content/application~1json/examples/noAgents"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/agents/getagents"}],"panels":[]}]},"httpPath":"/get_agents"}],"content":{"contentType":"group","meta":{"name":"Agents"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Agents","showPageActions":true},{"nodeType":"markdoc","content":"Manage agents in your helpdesk system"}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/get_agents","summary":"Get Agents","prefix":{"name":"post","color":"post"},"badges":[],"link":"/agents/getagents","deprecated":false}]}]}]}]}},{"type":"group","label":"Conversations","link":"/docs/guides/fin-custom-helpdesk/api-posts-only/conversations","routeSlug":"/docs/guides/fin-custom-helpdesk/api-posts-only/conversations","items":[{"label":"Get Conversation","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/docs/guides/fin-custom-helpdesk/api-posts-only/conversations/getconversation","routeSlug":"/docs/guides/fin-custom-helpdesk/api-posts-only/conversations/getconversation","metadata":{"seo":{"title":"Get Conversation","description":"Used to load a known conversation from the customer's system. Used during ongoing synchronizations."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getConversation","name":"Get Conversation","isWebhook":false,"pointer":"/paths/~1get_conversation/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get Conversation","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Used to load a known conversation from the customer's system. Used during ongoing synchronizations."},{"nodeType":"security","requirements":[{"schemes":[{"name":"BearerAuth","scopes":[],"type":"oauth2","description":"OAuth2 access token configured in Fin Deployment UI","flows":{"clientCredentials":{"tokenUrl":"https://helpdesk.fin.com/api/auth/oauth/token","scopes":{"read":"Read access to the API (example)","write":"Write access to the API (example)"}}}}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/GetConversationRequest"}},"schemaId":"components/schemas/GetConversationRequest","pointer":"/paths/~1get_conversation/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/get_conversation","servers":[{"url":"https://helpdesk.example.com/api/fin","description":"Your Custom Helpdesk API (replace with your actual domain)"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"BearerAuth","type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://helpdesk.fin.com/api/auth/oauth/token","scopes":{"read":"Read access to the API (example)","write":"Write access to the API (example)"}}}}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/GetConversationRequest"}},"responseCodes":["200"],"pointer":"/get_conversation","href":"conversations/getconversation","openApiOperationId":"getConversation","summary":"Get Conversation"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://helpdesk.example.com/api/fin","description":"Your Custom Helpdesk API (replace with your actual domain)"}],"schemaId":"components/schemas/GetConversationRequest","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/GetConversationRequest"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Conversation found successfully","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ConversationResponse","exampleIds":["paths/~1get_conversation/post/responses/200/content/application~1json/examples/conversationFound","paths/~1get_conversation/post/responses/200/content/application~1json/examples/conversationNotFound"]}},"schemaId":"components/schemas/ConversationResponse","exampleIds":["paths/~1get_conversation/post/responses/200/content/application~1json/examples/conversationFound","paths/~1get_conversation/post/responses/200/content/application~1json/examples/conversationNotFound"]}],"pointer":"/paths/~1get_conversation/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/ConversationResponse","exampleIds":["paths/~1get_conversation/post/responses/200/content/application~1json/examples/conversationFound","paths/~1get_conversation/post/responses/200/content/application~1json/examples/conversationNotFound"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ConversationResponse","exampleIds":["paths/~1get_conversation/post/responses/200/content/application~1json/examples/conversationFound","paths/~1get_conversation/post/responses/200/content/application~1json/examples/conversationNotFound"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/conversations/getconversation"}],"panels":[]}]},"httpPath":"/get_conversation"},{"label":"Update Conversation","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/docs/guides/fin-custom-helpdesk/api-posts-only/conversations/updateconversation","routeSlug":"/docs/guides/fin-custom-helpdesk/api-posts-only/conversations/updateconversation","metadata":{"seo":{"title":"Update Conversation","description":"Called at the end of a synchronization run to push the latest derived data into the Customer's system."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"updateConversation","name":"Update Conversation","isWebhook":false,"pointer":"/paths/~1update_conversation/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Update Conversation","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Called at the end of a synchronization run to push the latest derived data into the Customer's system."},{"nodeType":"security","requirements":[{"schemes":[{"name":"BearerAuth","scopes":[],"type":"oauth2","description":"OAuth2 access token configured in Fin Deployment UI","flows":{"clientCredentials":{"tokenUrl":"https://helpdesk.fin.com/api/auth/oauth/token","scopes":{"read":"Read access to the API (example)","write":"Write access to the API (example)"}}}}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/UpdateConversationRequest"}},"schemaId":"components/schemas/UpdateConversationRequest","pointer":"/paths/~1update_conversation/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/update_conversation","servers":[{"url":"https://helpdesk.example.com/api/fin","description":"Your Custom Helpdesk API (replace with your actual domain)"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"BearerAuth","type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://helpdesk.fin.com/api/auth/oauth/token","scopes":{"read":"Read access to the API (example)","write":"Write access to the API (example)"}}}}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/UpdateConversationRequest"}},"responseCodes":["200"],"pointer":"/update_conversation","href":"conversations/updateconversation","openApiOperationId":"updateConversation","summary":"Update Conversation"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://helpdesk.example.com/api/fin","description":"Your Custom Helpdesk API (replace with your actual domain)"}],"schemaId":"components/schemas/UpdateConversationRequest","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/UpdateConversationRequest"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Conversation updated successfully","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ConversationResponse","exampleIds":["paths/~1update_conversation/post/responses/200/content/application~1json/examples/conversationUpdated","paths/~1update_conversation/post/responses/200/content/application~1json/examples/conversationNotFound"]}},"schemaId":"components/schemas/ConversationResponse","exampleIds":["paths/~1update_conversation/post/responses/200/content/application~1json/examples/conversationUpdated","paths/~1update_conversation/post/responses/200/content/application~1json/examples/conversationNotFound"]}],"pointer":"/paths/~1update_conversation/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/ConversationResponse","exampleIds":["paths/~1update_conversation/post/responses/200/content/application~1json/examples/conversationUpdated","paths/~1update_conversation/post/responses/200/content/application~1json/examples/conversationNotFound"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ConversationResponse","exampleIds":["paths/~1update_conversation/post/responses/200/content/application~1json/examples/conversationUpdated","paths/~1update_conversation/post/responses/200/content/application~1json/examples/conversationNotFound"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/conversations/updateconversation"}],"panels":[]}]},"httpPath":"/update_conversation"},{"label":"Create Conversation","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/docs/guides/fin-custom-helpdesk/api-posts-only/conversations/createconversation","routeSlug":"/docs/guides/fin-custom-helpdesk/api-posts-only/conversations/createconversation","metadata":{"seo":{"title":"Create Conversation","description":"Called when a new conversation has been created via the Fin Messenger. Note we provide the initial message from the conversation as we know many help desks require this to be provided when creating a conversation. The response requires both the conversation object and the message object so that these can be mapped correctly to their Fin equivalents."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"createConversation","name":"Create Conversation","isWebhook":false,"pointer":"/paths/~1create_conversation/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Create Conversation","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Called when a new conversation has been created via the Fin Messenger.\nNote we provide the initial message from the conversation as we know many help desks require this to be provided when creating a conversation.\nThe response requires both the conversation object and the message object so that these can be mapped correctly to their Fin equivalents.\n"},{"nodeType":"security","requirements":[{"schemes":[{"name":"BearerAuth","scopes":[],"type":"oauth2","description":"OAuth2 access token configured in Fin Deployment UI","flows":{"clientCredentials":{"tokenUrl":"https://helpdesk.fin.com/api/auth/oauth/token","scopes":{"read":"Read access to the API (example)","write":"Write access to the API (example)"}}}}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/CreateConversationRequest"}},"schemaId":"components/schemas/CreateConversationRequest","pointer":"/paths/~1create_conversation/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/create_conversation","servers":[{"url":"https://helpdesk.example.com/api/fin","description":"Your Custom Helpdesk API (replace with your actual domain)"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"BearerAuth","type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://helpdesk.fin.com/api/auth/oauth/token","scopes":{"read":"Read access to the API (example)","write":"Write access to the API (example)"}}}}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/CreateConversationRequest"}},"responseCodes":["200"],"pointer":"/create_conversation","href":"conversations/createconversation","openApiOperationId":"createConversation","summary":"Create Conversation"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://helpdesk.example.com/api/fin","description":"Your Custom Helpdesk API (replace with your actual domain)"}],"schemaId":"components/schemas/CreateConversationRequest","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/CreateConversationRequest"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Conversation created successfully","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/CreateConversationResponse","exampleIds":["paths/~1create_conversation/post/responses/200/content/application~1json/examples/conversationCreated","paths/~1create_conversation/post/responses/200/content/application~1json/examples/badRequest"]}},"schemaId":"components/schemas/CreateConversationResponse","exampleIds":["paths/~1create_conversation/post/responses/200/content/application~1json/examples/conversationCreated","paths/~1create_conversation/post/responses/200/content/application~1json/examples/badRequest"]}],"pointer":"/paths/~1create_conversation/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/CreateConversationResponse","exampleIds":["paths/~1create_conversation/post/responses/200/content/application~1json/examples/conversationCreated","paths/~1create_conversation/post/responses/200/content/application~1json/examples/badRequest"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/CreateConversationResponse","exampleIds":["paths/~1create_conversation/post/responses/200/content/application~1json/examples/conversationCreated","paths/~1create_conversation/post/responses/200/content/application~1json/examples/badRequest"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/conversations/createconversation"}],"panels":[]}]},"httpPath":"/create_conversation"}],"content":{"contentType":"group","meta":{"name":"Conversations"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Conversations","showPageActions":true},{"nodeType":"markdoc","content":"Manage conversations between end-users and agents"}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/get_conversation","summary":"Get Conversation","prefix":{"name":"post","color":"post"},"badges":[],"link":"/conversations/getconversation","deprecated":false},{"title":"/update_conversation","summary":"Update Conversation","prefix":{"name":"post","color":"post"},"badges":[],"link":"/conversations/updateconversation","deprecated":false},{"title":"/create_conversation","summary":"Create Conversation","prefix":{"name":"post","color":"post"},"badges":[],"link":"/conversations/createconversation","deprecated":false}]}]}]}]}},{"type":"group","label":"Messages","link":"/docs/guides/fin-custom-helpdesk/api-posts-only/messages","routeSlug":"/docs/guides/fin-custom-helpdesk/api-posts-only/messages","items":[{"label":"Get Messages","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/docs/guides/fin-custom-helpdesk/api-posts-only/messages/getmessages","routeSlug":"/docs/guides/fin-custom-helpdesk/api-posts-only/messages/getmessages","metadata":{"seo":{"title":"Get Messages","description":"Called during synchronization to pull in the messages from the conversation in your system. Messages which have already been synchronized will be ignored. New messages will be pulled into Fin's version of the Conversation."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getMessages","name":"Get Messages","isWebhook":false,"pointer":"/paths/~1get_messages/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get Messages","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Called during synchronization to pull in the messages from the conversation in your system.\nMessages which have already been synchronized will be ignored. New messages will be pulled into Fin's version of the Conversation.\n"},{"nodeType":"security","requirements":[{"schemes":[{"name":"BearerAuth","scopes":[],"type":"oauth2","description":"OAuth2 access token configured in Fin Deployment UI","flows":{"clientCredentials":{"tokenUrl":"https://helpdesk.fin.com/api/auth/oauth/token","scopes":{"read":"Read access to the API (example)","write":"Write access to the API (example)"}}}}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/GetMessagesRequest"}},"schemaId":"components/schemas/GetMessagesRequest","pointer":"/paths/~1get_messages/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/get_messages","servers":[{"url":"https://helpdesk.example.com/api/fin","description":"Your Custom Helpdesk API (replace with your actual domain)"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"BearerAuth","type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://helpdesk.fin.com/api/auth/oauth/token","scopes":{"read":"Read access to the API (example)","write":"Write access to the API (example)"}}}}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/GetMessagesRequest"}},"responseCodes":["200"],"pointer":"/get_messages","href":"messages/getmessages","openApiOperationId":"getMessages","summary":"Get Messages"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://helpdesk.example.com/api/fin","description":"Your Custom Helpdesk API (replace with your actual domain)"}],"schemaId":"components/schemas/GetMessagesRequest","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/GetMessagesRequest"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Messages retrieved successfully","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/MessagesResponse","exampleIds":["paths/~1get_messages/post/responses/200/content/application~1json/examples/messagesFound","paths/~1get_messages/post/responses/200/content/application~1json/examples/noMessages"]}},"schemaId":"components/schemas/MessagesResponse","exampleIds":["paths/~1get_messages/post/responses/200/content/application~1json/examples/messagesFound","paths/~1get_messages/post/responses/200/content/application~1json/examples/noMessages"]}],"pointer":"/paths/~1get_messages/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/MessagesResponse","exampleIds":["paths/~1get_messages/post/responses/200/content/application~1json/examples/messagesFound","paths/~1get_messages/post/responses/200/content/application~1json/examples/noMessages"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/MessagesResponse","exampleIds":["paths/~1get_messages/post/responses/200/content/application~1json/examples/messagesFound","paths/~1get_messages/post/responses/200/content/application~1json/examples/noMessages"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/messages/getmessages"}],"panels":[]}]},"httpPath":"/get_messages"},{"label":"Create Message","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/docs/guides/fin-custom-helpdesk/api-posts-only/messages/createmessage","routeSlug":"/docs/guides/fin-custom-helpdesk/api-posts-only/messages/createmessage","metadata":{"seo":{"title":"Create Message","description":"Used during synchronization to push new messages into your helpdesk. These messages may come from either the end-user or Fin. Note that the author of the Fin messages will be the agent selected to represent Fin on initial setup of the integration."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"createMessage","name":"Create Message","isWebhook":false,"pointer":"/paths/~1create_message/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Create Message","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Used during synchronization to push new messages into your helpdesk. These messages may come from either the end-user or Fin.\nNote that the author of the Fin messages will be the agent selected to represent Fin on initial setup of the integration.\n"},{"nodeType":"security","requirements":[{"schemes":[{"name":"BearerAuth","scopes":[],"type":"oauth2","description":"OAuth2 access token configured in Fin Deployment UI","flows":{"clientCredentials":{"tokenUrl":"https://helpdesk.fin.com/api/auth/oauth/token","scopes":{"read":"Read access to the API (example)","write":"Write access to the API (example)"}}}}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/CreateMessageRequest"}},"schemaId":"components/schemas/CreateMessageRequest","pointer":"/paths/~1create_message/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/create_message","servers":[{"url":"https://helpdesk.example.com/api/fin","description":"Your Custom Helpdesk API (replace with your actual domain)"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"BearerAuth","type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://helpdesk.fin.com/api/auth/oauth/token","scopes":{"read":"Read access to the API (example)","write":"Write access to the API (example)"}}}}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/CreateMessageRequest"}},"responseCodes":["201"],"pointer":"/create_message","href":"messages/createmessage","openApiOperationId":"createMessage","summary":"Create Message"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://helpdesk.example.com/api/fin","description":"Your Custom Helpdesk API (replace with your actual domain)"}],"schemaId":"components/schemas/CreateMessageRequest","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/CreateMessageRequest"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"201","description":"Message created successfully","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/MessageResponse","exampleIds":["paths/~1create_message/post/responses/201/content/application~1json/examples/messageCreated","paths/~1create_message/post/responses/201/content/application~1json/examples/badRequest"]}},"schemaId":"components/schemas/MessageResponse","exampleIds":["paths/~1create_message/post/responses/201/content/application~1json/examples/messageCreated","paths/~1create_message/post/responses/201/content/application~1json/examples/badRequest"]}],"pointer":"/paths/~1create_message/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"201","schemaId":"components/schemas/MessageResponse","exampleIds":["paths/~1create_message/post/responses/201/content/application~1json/examples/messageCreated","paths/~1create_message/post/responses/201/content/application~1json/examples/badRequest"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/MessageResponse","exampleIds":["paths/~1create_message/post/responses/201/content/application~1json/examples/messageCreated","paths/~1create_message/post/responses/201/content/application~1json/examples/badRequest"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/messages/createmessage"}],"panels":[]}]},"httpPath":"/create_message"}],"content":{"contentType":"group","meta":{"name":"Messages"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Messages","showPageActions":true},{"nodeType":"markdoc","content":"Manage messages within conversations"}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/get_messages","summary":"Get Messages","prefix":{"name":"post","color":"post"},"badges":[],"link":"/messages/getmessages","deprecated":false},{"title":"/create_message","summary":"Create Message","prefix":{"name":"post","color":"post"},"badges":[],"link":"/messages/createmessage","deprecated":false}]}]}]}]}},{"type":"group","label":"Webhooks","link":"/docs/guides/fin-custom-helpdesk/api-posts-only/webhooks","routeSlug":"/docs/guides/fin-custom-helpdesk/api-posts-only/webhooks","items":[{"label":"Notify Fin of Conversation Events","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/docs/guides/fin-custom-helpdesk/api-posts-only/webhooks/customhelpdeskconversationevent","routeSlug":"/docs/guides/fin-custom-helpdesk/api-posts-only/webhooks/customhelpdeskconversationevent","metadata":{"seo":{"title":"Notify Fin of Conversation Events","description":"This endpoint handles two distinct use cases depending on whether an event_type is provided:"}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"customHelpdeskConversationEvent","name":"Notify Fin of Conversation Events","isWebhook":false,"pointer":"/paths/~1custom_helpdesk_conversation_event~1{integration_id}/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Notify Fin of Conversation Events","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"This endpoint handles two distinct use cases depending on whether an "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"event_type"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is provided:"},"children":[]}]}]},{"$$mdtype":"Node","type":"heading","attributes":{"level":2,"id":"webhooks/customhelpdeskconversationevent/request/1.-conversation-synchronization-(default-behavior)","deepLinkHash":"/webhooks/customhelpdeskconversationevent#webhooks/customhelpdeskconversationevent/request/1.-conversation-synchronization-(default-behavior)"},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"1. Conversation Synchronization (default behavior)"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When you "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"omit the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"event_type"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" field"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", Fin will synchronize the conversation by pulling the latest data from your endpoints. Use this when:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"An agent sends a message"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The conversation state changes (status, assignee, etc.)"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Any other conversation data changes that Fin should know about"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Example payload:"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"{\n  \"conversation_id\": \"conv_456\"\n}\n","language":"json"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"{\n  \"conversation_id\": \"conv_456\"\n}\n"},"children":[]}]},{"$$mdtype":"Node","type":"heading","attributes":{"level":2,"id":"webhooks/customhelpdeskconversationevent/request/2.-agent-typing-indicator","deepLinkHash":"/webhooks/customhelpdeskconversationevent#webhooks/customhelpdeskconversationevent/request/2.-agent-typing-indicator"},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"2. Agent Typing Indicator"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When you set "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"event_type"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"agent_typing"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", Fin will display a typing indicator to the end-user in the Fin Messenger. "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"No synchronization occurs"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" - this is purely a real-time UI update."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use this when an agent starts typing a response in your helpdesk. The typing indicator automatically dismisses after a few seconds."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Important:"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" When using "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"event_type: \"agent_typing\""},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"data.agent"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" field is "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"required"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and must include the agent's "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"user_type"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"name"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"email"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Example payload:"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"{\n  \"conversation_id\": \"conv_456\",\n  \"event_type\": \"agent_typing\",\n  \"data\": {\n    \"agent\": {\n      \"id\": \"agent_001\",\n      \"user_type\": \"agent\",\n      \"name\": \"Sarah Johnson\",\n      \"email\": \"sarah.johnson@company.com\"\n    }\n  }\n}\n","language":"json"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"{\n  \"conversation_id\": \"conv_456\",\n  \"event_type\": \"agent_typing\",\n  \"data\": {\n    \"agent\": {\n      \"id\": \"agent_001\",\n      \"user_type\": \"agent\",\n      \"name\": \"Sarah Johnson\",\n      \"email\": \"sarah.johnson@company.com\"\n    }\n  }\n}\n"},"children":[]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"WebhookSignature","scopes":[],"type":"apiKey","in":"header","paramName":"X-Webhook-Key","description":"Webhook key for the custom helpdesk integration. Obtained from Fin Deployment UI."}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"integration_id","in":"path","schemaId":"schema_416","description":"The ID of your integration. You can find this in the Fin Deployment UI.","required":true,"example":"a3c729d4e8f6b15c"}],"pointer":"/paths/~1custom_helpdesk_conversation_event~1{integration_id}/post/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/WebhookConversationEventRequest","exampleIds":["paths/~1custom_helpdesk_conversation_event~1{integration_id}/post/requestBody/content/application~1json/examples/conversation_sync","paths/~1custom_helpdesk_conversation_event~1{integration_id}/post/requestBody/content/application~1json/examples/agent_typing"]}},"schemaId":"components/schemas/WebhookConversationEventRequest","exampleIds":["paths/~1custom_helpdesk_conversation_event~1{integration_id}/post/requestBody/content/application~1json/examples/conversation_sync","paths/~1custom_helpdesk_conversation_event~1{integration_id}/post/requestBody/content/application~1json/examples/agent_typing"],"pointer":"/paths/~1custom_helpdesk_conversation_event~1{integration_id}/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/custom_helpdesk_conversation_event/{integration_id}","servers":[{"url":"https://api.intercom.io/hooks/standalone","description":"Fin Webhook US Endpoint"},{"url":"https://api.eu.intercom.io/hooks/standalone","description":"Fin Webhook EU Endpoint"},{"url":"https://api.au.intercom.io/hooks/standalone","description":"Fin Webhook AU Endpoint"}],"parameters":{"path":[{"name":"integration_id","in":"path","required":true,"example":"a3c729d4e8f6b15c","schemaId":"schema_416"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"WebhookSignature","type":"apiKey","name":"X-Webhook-Key","in":"header"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/WebhookConversationEventRequest","exampleIds":["paths/~1custom_helpdesk_conversation_event~1{integration_id}/post/requestBody/content/application~1json/examples/conversation_sync","paths/~1custom_helpdesk_conversation_event~1{integration_id}/post/requestBody/content/application~1json/examples/agent_typing"]}},"responseCodes":["204","400","401","404"],"pointer":"/custom_helpdesk_conversation_event/{integration_id}","href":"webhooks/customhelpdeskconversationevent","openApiOperationId":"customHelpdeskConversationEvent","summary":"Notify Fin of Conversation Events"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.intercom.io/hooks/standalone","description":"Fin Webhook US Endpoint"},{"url":"https://api.eu.intercom.io/hooks/standalone","description":"Fin Webhook EU Endpoint"},{"url":"https://api.au.intercom.io/hooks/standalone","description":"Fin Webhook AU Endpoint"}],"schemaId":"components/schemas/WebhookConversationEventRequest","exampleIds":["paths/~1custom_helpdesk_conversation_event~1{integration_id}/post/requestBody/content/application~1json/examples/conversation_sync","paths/~1custom_helpdesk_conversation_event~1{integration_id}/post/requestBody/content/application~1json/examples/agent_typing"],"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/WebhookConversationEventRequest","exampleIds":["paths/~1custom_helpdesk_conversation_event~1{integration_id}/post/requestBody/content/application~1json/examples/conversation_sync","paths/~1custom_helpdesk_conversation_event~1{integration_id}/post/requestBody/content/application~1json/examples/agent_typing"]}},"examples":[{},{}]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"204","description":"Webhook accepted"},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Invalid payload. Common causes:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"event_type"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"agent_typing"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" but "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"data.agent"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is missing or invalid"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"data.agent"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is missing required fields ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"user_type"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"name"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"email"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}]}]},{"code":"401","description":"Invalid or missing webhook signature"},{"code":"404","description":"Custom helpdesk integration not found"}],"pointer":"/paths/~1custom_helpdesk_conversation_event~1{integration_id}/post/responses"}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/webhooks/customhelpdeskconversationevent"}],"panels":[]}]},"httpPath":"/custom_helpdesk_conversation_event/{integration_id}"}],"content":{"contentType":"group","meta":{"name":"Webhooks"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Webhooks","showPageActions":true},{"nodeType":"markdoc","content":"Notify Fin when conversations change"}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/custom_helpdesk_conversation_event/{integration_id}","summary":"Notify Fin of Conversation Events","prefix":{"name":"post","color":"post"},"badges":[],"link":"/webhooks/customhelpdeskconversationevent","deprecated":false}]}]}]}]}},{"type":"group","label":"Models","link":"/docs/guides/fin-custom-helpdesk/api-posts-only/models","routeSlug":"/docs/guides/fin-custom-helpdesk/api-posts-only/models","items":[{"type":"link","label":"Agent","link":"/docs/guides/fin-custom-helpdesk/api-posts-only/models/agent","routeSlug":"/docs/guides/fin-custom-helpdesk/api-posts-only/models/agent","httpVerb":"schema","content":{"contentType":"item","itemVariant":"schema","meta":{"name":"Agent"},"seo":{"title":"Agent"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Agent","showPageActions":true}],"panels":[]},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"tag","tag":"schemaDefinition","attributes":{"showWriteOnly":true,"schemaRef":"#/components/schemas/Agent"},"children":[]}]}]}},{"type":"link","label":"AgentsResponse","link":"/docs/guides/fin-custom-helpdesk/api-posts-only/models/agentsresponse","routeSlug":"/docs/guides/fin-custom-helpdesk/api-posts-only/models/agentsresponse","httpVerb":"schema","content":{"contentType":"item","itemVariant":"schema","meta":{"name":"AgentsResponse"},"seo":{"title":"AgentsResponse"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"AgentsResponse","showPageActions":true}],"panels":[]},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"tag","tag":"schemaDefinition","attributes":{"showWriteOnly":true,"schemaRef":"#/components/schemas/AgentsResponse"},"children":[]}]}]}},{"type":"link","label":"Attachment","link":"/docs/guides/fin-custom-helpdesk/api-posts-only/models/attachment","routeSlug":"/docs/guides/fin-custom-helpdesk/api-posts-only/models/attachment","httpVerb":"schema","content":{"contentType":"item","itemVariant":"schema","meta":{"name":"Attachment"},"seo":{"title":"Attachment"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Attachment","showPageActions":true}],"panels":[]},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"tag","tag":"schemaDefinition","attributes":{"showWriteOnly":true,"schemaRef":"#/components/schemas/Attachment"},"children":[]}]}]}},{"type":"link","label":"Conversation","link":"/docs/guides/fin-custom-helpdesk/api-posts-only/models/conversation","routeSlug":"/docs/guides/fin-custom-helpdesk/api-posts-only/models/conversation","httpVerb":"schema","content":{"contentType":"item","itemVariant":"schema","meta":{"name":"Conversation"},"seo":{"title":"Conversation"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Conversation","showPageActions":true}],"panels":[]},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"tag","tag":"schemaDefinition","attributes":{"showWriteOnly":true,"schemaRef":"#/components/schemas/Conversation"},"children":[]}]}]}},{"type":"link","label":"ConversationAttributes","link":"/docs/guides/fin-custom-helpdesk/api-posts-only/models/conversationattributes","routeSlug":"/docs/guides/fin-custom-helpdesk/api-posts-only/models/conversationattributes","httpVerb":"schema","content":{"contentType":"item","itemVariant":"schema","meta":{"name":"ConversationAttributes"},"seo":{"title":"ConversationAttributes"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"ConversationAttributes","showPageActions":true}],"panels":[]},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"tag","tag":"schemaDefinition","attributes":{"showWriteOnly":true,"schemaRef":"#/components/schemas/ConversationAttributes"},"children":[]}]}]}},{"type":"link","label":"ConversationResponse","link":"/docs/guides/fin-custom-helpdesk/api-posts-only/models/conversationresponse","routeSlug":"/docs/guides/fin-custom-helpdesk/api-posts-only/models/conversationresponse","httpVerb":"schema","content":{"contentType":"item","itemVariant":"schema","meta":{"name":"ConversationResponse"},"seo":{"title":"ConversationResponse"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"ConversationResponse","showPageActions":true}],"panels":[]},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"tag","tag":"schemaDefinition","attributes":{"showWriteOnly":true,"schemaRef":"#/components/schemas/ConversationResponse"},"children":[]}]}]}},{"type":"link","label":"ConversationStatus","link":"/docs/guides/fin-custom-helpdesk/api-posts-only/models/conversationstatus","routeSlug":"/docs/guides/fin-custom-helpdesk/api-posts-only/models/conversationstatus","httpVerb":"schema","content":{"contentType":"item","itemVariant":"schema","meta":{"name":"ConversationStatus"},"seo":{"title":"ConversationStatus"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"ConversationStatus","showPageActions":true}],"panels":[]},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"tag","tag":"schemaDefinition","attributes":{"showWriteOnly":true,"schemaRef":"#/components/schemas/ConversationStatus"},"children":[]}]}]}},{"type":"link","label":"CreateConversationRequest","link":"/docs/guides/fin-custom-helpdesk/api-posts-only/models/createconversationrequest","routeSlug":"/docs/guides/fin-custom-helpdesk/api-posts-only/models/createconversationrequest","httpVerb":"schema","content":{"contentType":"item","itemVariant":"schema","meta":{"name":"CreateConversationRequest"},"seo":{"title":"CreateConversationRequest"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"CreateConversationRequest","showPageActions":true}],"panels":[]},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"tag","tag":"schemaDefinition","attributes":{"showWriteOnly":true,"schemaRef":"#/components/schemas/CreateConversationRequest"},"children":[]}]}]}},{"type":"link","label":"CreateConversationResponse","link":"/docs/guides/fin-custom-helpdesk/api-posts-only/models/createconversationresponse","routeSlug":"/docs/guides/fin-custom-helpdesk/api-posts-only/models/createconversationresponse","httpVerb":"schema","content":{"contentType":"item","itemVariant":"schema","meta":{"name":"CreateConversationResponse"},"seo":{"title":"CreateConversationResponse"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"CreateConversationResponse","showPageActions":true}],"panels":[]},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"tag","tag":"schemaDefinition","attributes":{"showWriteOnly":true,"schemaRef":"#/components/schemas/CreateConversationResponse"},"children":[]}]}]}},{"type":"link","label":"CreateMessageRequest","link":"/docs/guides/fin-custom-helpdesk/api-posts-only/models/createmessagerequest","routeSlug":"/docs/guides/fin-custom-helpdesk/api-posts-only/models/createmessagerequest","httpVerb":"schema","content":{"contentType":"item","itemVariant":"schema","meta":{"name":"CreateMessageRequest"},"seo":{"title":"CreateMessageRequest"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"CreateMessageRequest","showPageActions":true}],"panels":[]},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"tag","tag":"schemaDefinition","attributes":{"showWriteOnly":true,"schemaRef":"#/components/schemas/CreateMessageRequest"},"children":[]}]}]}},{"type":"link","label":"CreateUserRequest","link":"/docs/guides/fin-custom-helpdesk/api-posts-only/models/createuserrequest","routeSlug":"/docs/guides/fin-custom-helpdesk/api-posts-only/models/createuserrequest","httpVerb":"schema","content":{"contentType":"item","itemVariant":"schema","meta":{"name":"CreateUserRequest"},"seo":{"title":"CreateUserRequest"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"CreateUserRequest","showPageActions":true}],"panels":[]},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"tag","tag":"schemaDefinition","attributes":{"showWriteOnly":true,"schemaRef":"#/components/schemas/CreateUserRequest"},"children":[]}]}]}},{"type":"link","label":"CustomAttributes","link":"/docs/guides/fin-custom-helpdesk/api-posts-only/models/customattributes","routeSlug":"/docs/guides/fin-custom-helpdesk/api-posts-only/models/customattributes","httpVerb":"schema","content":{"contentType":"item","itemVariant":"schema","meta":{"name":"CustomAttributes"},"seo":{"title":"CustomAttributes"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"CustomAttributes","showPageActions":true}],"panels":[]},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"tag","tag":"schemaDefinition","attributes":{"showWriteOnly":true,"schemaRef":"#/components/schemas/CustomAttributes"},"children":[]}]}]}},{"type":"link","label":"EndUser","link":"/docs/guides/fin-custom-helpdesk/api-posts-only/models/enduser","routeSlug":"/docs/guides/fin-custom-helpdesk/api-posts-only/models/enduser","httpVerb":"schema","content":{"contentType":"item","itemVariant":"schema","meta":{"name":"EndUser"},"seo":{"title":"EndUser"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"EndUser","showPageActions":true}],"panels":[]},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"tag","tag":"schemaDefinition","attributes":{"showWriteOnly":true,"schemaRef":"#/components/schemas/EndUser"},"children":[]}]}]}},{"type":"link","label":"EndUserResponse","link":"/docs/guides/fin-custom-helpdesk/api-posts-only/models/enduserresponse","routeSlug":"/docs/guides/fin-custom-helpdesk/api-posts-only/models/enduserresponse","httpVerb":"schema","content":{"contentType":"item","itemVariant":"schema","meta":{"name":"EndUserResponse"},"seo":{"title":"EndUserResponse"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"EndUserResponse","showPageActions":true}],"panels":[]},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"tag","tag":"schemaDefinition","attributes":{"showWriteOnly":true,"schemaRef":"#/components/schemas/EndUserResponse"},"children":[]}]}]}},{"type":"link","label":"GetConversationRequest","link":"/docs/guides/fin-custom-helpdesk/api-posts-only/models/getconversationrequest","routeSlug":"/docs/guides/fin-custom-helpdesk/api-posts-only/models/getconversationrequest","httpVerb":"schema","content":{"contentType":"item","itemVariant":"schema","meta":{"name":"GetConversationRequest"},"seo":{"title":"GetConversationRequest"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"GetConversationRequest","showPageActions":true}],"panels":[]},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"tag","tag":"schemaDefinition","attributes":{"showWriteOnly":true,"schemaRef":"#/components/schemas/GetConversationRequest"},"children":[]}]}]}},{"type":"link","label":"GetMessagesRequest","link":"/docs/guides/fin-custom-helpdesk/api-posts-only/models/getmessagesrequest","routeSlug":"/docs/guides/fin-custom-helpdesk/api-posts-only/models/getmessagesrequest","httpVerb":"schema","content":{"contentType":"item","itemVariant":"schema","meta":{"name":"GetMessagesRequest"},"seo":{"title":"GetMessagesRequest"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"GetMessagesRequest","showPageActions":true}],"panels":[]},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"tag","tag":"schemaDefinition","attributes":{"showWriteOnly":true,"schemaRef":"#/components/schemas/GetMessagesRequest"},"children":[]}]}]}},{"type":"link","label":"GetUserRequest","link":"/docs/guides/fin-custom-helpdesk/api-posts-only/models/getuserrequest","routeSlug":"/docs/guides/fin-custom-helpdesk/api-posts-only/models/getuserrequest","httpVerb":"schema","content":{"contentType":"item","itemVariant":"schema","meta":{"name":"GetUserRequest"},"seo":{"title":"GetUserRequest"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"GetUserRequest","showPageActions":true}],"panels":[]},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"tag","tag":"schemaDefinition","attributes":{"showWriteOnly":true,"schemaRef":"#/components/schemas/GetUserRequest"},"children":[]}]}]}},{"type":"link","label":"HtmlMessageBody","link":"/docs/guides/fin-custom-helpdesk/api-posts-only/models/htmlmessagebody","routeSlug":"/docs/guides/fin-custom-helpdesk/api-posts-only/models/htmlmessagebody","httpVerb":"schema","content":{"contentType":"item","itemVariant":"schema","meta":{"name":"HtmlMessageBody"},"seo":{"title":"HtmlMessageBody"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"HtmlMessageBody","showPageActions":true}],"panels":[]},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"tag","tag":"schemaDefinition","attributes":{"showWriteOnly":true,"schemaRef":"#/components/schemas/HtmlMessageBody"},"children":[]}]}]}},{"type":"link","label":"Message","link":"/docs/guides/fin-custom-helpdesk/api-posts-only/models/message","routeSlug":"/docs/guides/fin-custom-helpdesk/api-posts-only/models/message","httpVerb":"schema","content":{"contentType":"item","itemVariant":"schema","meta":{"name":"Message"},"seo":{"title":"Message"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Message","showPageActions":true}],"panels":[]},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"tag","tag":"schemaDefinition","attributes":{"showWriteOnly":true,"schemaRef":"#/components/schemas/Message"},"children":[]}]}]}},{"type":"link","label":"MessageAuthor","link":"/docs/guides/fin-custom-helpdesk/api-posts-only/models/messageauthor","routeSlug":"/docs/guides/fin-custom-helpdesk/api-posts-only/models/messageauthor","httpVerb":"schema","content":{"contentType":"item","itemVariant":"schema","meta":{"name":"MessageAuthor"},"seo":{"title":"MessageAuthor"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"MessageAuthor","showPageActions":true}],"panels":[]},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"tag","tag":"schemaDefinition","attributes":{"showWriteOnly":true,"schemaRef":"#/components/schemas/MessageAuthor"},"children":[]}]}]}},{"type":"link","label":"MessageInput","link":"/docs/guides/fin-custom-helpdesk/api-posts-only/models/messageinput","routeSlug":"/docs/guides/fin-custom-helpdesk/api-posts-only/models/messageinput","httpVerb":"schema","content":{"contentType":"item","itemVariant":"schema","meta":{"name":"MessageInput"},"seo":{"title":"MessageInput"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"MessageInput","showPageActions":true}],"panels":[]},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"tag","tag":"schemaDefinition","attributes":{"showWriteOnly":true,"schemaRef":"#/components/schemas/MessageInput"},"children":[]}]}]}},{"type":"link","label":"MessageResponse","link":"/docs/guides/fin-custom-helpdesk/api-posts-only/models/messageresponse","routeSlug":"/docs/guides/fin-custom-helpdesk/api-posts-only/models/messageresponse","httpVerb":"schema","content":{"contentType":"item","itemVariant":"schema","meta":{"name":"MessageResponse"},"seo":{"title":"MessageResponse"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"MessageResponse","showPageActions":true}],"panels":[]},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"tag","tag":"schemaDefinition","attributes":{"showWriteOnly":true,"schemaRef":"#/components/schemas/MessageResponse"},"children":[]}]}]}},{"type":"link","label":"MessagesResponse","link":"/docs/guides/fin-custom-helpdesk/api-posts-only/models/messagesresponse","routeSlug":"/docs/guides/fin-custom-helpdesk/api-posts-only/models/messagesresponse","httpVerb":"schema","content":{"contentType":"item","itemVariant":"schema","meta":{"name":"MessagesResponse"},"seo":{"title":"MessagesResponse"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"MessagesResponse","showPageActions":true}],"panels":[]},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"tag","tag":"schemaDefinition","attributes":{"showWriteOnly":true,"schemaRef":"#/components/schemas/MessagesResponse"},"children":[]}]}]}},{"type":"link","label":"MessageType","link":"/docs/guides/fin-custom-helpdesk/api-posts-only/models/messagetype","routeSlug":"/docs/guides/fin-custom-helpdesk/api-posts-only/models/messagetype","httpVerb":"schema","content":{"contentType":"item","itemVariant":"schema","meta":{"name":"MessageType"},"seo":{"title":"MessageType"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"MessageType","showPageActions":true}],"panels":[]},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"tag","tag":"schemaDefinition","attributes":{"showWriteOnly":true,"schemaRef":"#/components/schemas/MessageType"},"children":[]}]}]}},{"type":"link","label":"MessageVisibility","link":"/docs/guides/fin-custom-helpdesk/api-posts-only/models/messagevisibility","routeSlug":"/docs/guides/fin-custom-helpdesk/api-posts-only/models/messagevisibility","httpVerb":"schema","content":{"contentType":"item","itemVariant":"schema","meta":{"name":"MessageVisibility"},"seo":{"title":"MessageVisibility"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"MessageVisibility","showPageActions":true}],"panels":[]},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"tag","tag":"schemaDefinition","attributes":{"showWriteOnly":true,"schemaRef":"#/components/schemas/MessageVisibility"},"children":[]}]}]}},{"type":"link","label":"ProblemDetails","link":"/docs/guides/fin-custom-helpdesk/api-posts-only/models/problemdetails","routeSlug":"/docs/guides/fin-custom-helpdesk/api-posts-only/models/problemdetails","httpVerb":"schema","content":{"contentType":"item","itemVariant":"schema","meta":{"name":"ProblemDetails"},"seo":{"title":"ProblemDetails"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"ProblemDetails","showPageActions":true}],"panels":[]},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"tag","tag":"schemaDefinition","attributes":{"showWriteOnly":true,"schemaRef":"#/components/schemas/ProblemDetails"},"children":[]}]}]}},{"type":"link","label":"UpdateConversationRequest","link":"/docs/guides/fin-custom-helpdesk/api-posts-only/models/updateconversationrequest","routeSlug":"/docs/guides/fin-custom-helpdesk/api-posts-only/models/updateconversationrequest","httpVerb":"schema","content":{"contentType":"item","itemVariant":"schema","meta":{"name":"UpdateConversationRequest"},"seo":{"title":"UpdateConversationRequest"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"UpdateConversationRequest","showPageActions":true}],"panels":[]},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"tag","tag":"schemaDefinition","attributes":{"showWriteOnly":true,"schemaRef":"#/components/schemas/UpdateConversationRequest"},"children":[]}]}]}},{"type":"link","label":"UpdateUserRequest","link":"/docs/guides/fin-custom-helpdesk/api-posts-only/models/updateuserrequest","routeSlug":"/docs/guides/fin-custom-helpdesk/api-posts-only/models/updateuserrequest","httpVerb":"schema","content":{"contentType":"item","itemVariant":"schema","meta":{"name":"UpdateUserRequest"},"seo":{"title":"UpdateUserRequest"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"UpdateUserRequest","showPageActions":true}],"panels":[]},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"tag","tag":"schemaDefinition","attributes":{"showWriteOnly":true,"schemaRef":"#/components/schemas/UpdateUserRequest"},"children":[]}]}]}},{"type":"link","label":"UserBasic","link":"/docs/guides/fin-custom-helpdesk/api-posts-only/models/userbasic","routeSlug":"/docs/guides/fin-custom-helpdesk/api-posts-only/models/userbasic","httpVerb":"schema","content":{"contentType":"item","itemVariant":"schema","meta":{"name":"UserBasic"},"seo":{"title":"UserBasic"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"UserBasic","showPageActions":true}],"panels":[]},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"tag","tag":"schemaDefinition","attributes":{"showWriteOnly":true,"schemaRef":"#/components/schemas/UserBasic"},"children":[]}]}]}},{"type":"link","label":"WebhookConversationEventRequest","link":"/docs/guides/fin-custom-helpdesk/api-posts-only/models/webhookconversationeventrequest","routeSlug":"/docs/guides/fin-custom-helpdesk/api-posts-only/models/webhookconversationeventrequest","httpVerb":"schema","content":{"contentType":"item","itemVariant":"schema","meta":{"name":"WebhookConversationEventRequest"},"seo":{"title":"WebhookConversationEventRequest"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"WebhookConversationEventRequest","showPageActions":true}],"panels":[]},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"tag","tag":"schemaDefinition","attributes":{"showWriteOnly":true,"schemaRef":"#/components/schemas/WebhookConversationEventRequest"},"children":[]}]}]}}],"content":{"contentType":"group","meta":{"name":"Models"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Models","showPageActions":true}],"panels":[{"children":[{"kind":"group-items","title":"Schemas","titleTranslationKey":"schemas","items":[{"title":"Agent","link":"/models/agent","deprecated":false},{"title":"AgentsResponse","link":"/models/agentsresponse","deprecated":false},{"title":"Attachment","link":"/models/attachment","deprecated":false},{"title":"Conversation","link":"/models/conversation","deprecated":false},{"title":"ConversationAttributes","link":"/models/conversationattributes","deprecated":false},{"title":"ConversationResponse","link":"/models/conversationresponse","deprecated":false},{"title":"ConversationStatus","link":"/models/conversationstatus","deprecated":false},{"title":"CreateConversationRequest","link":"/models/createconversationrequest","deprecated":false},{"title":"CreateConversationResponse","link":"/models/createconversationresponse","deprecated":false},{"title":"CreateMessageRequest","link":"/models/createmessagerequest","deprecated":false},{"title":"CreateUserRequest","link":"/models/createuserrequest","deprecated":false},{"title":"CustomAttributes","link":"/models/customattributes","deprecated":false},{"title":"EndUser","link":"/models/enduser","deprecated":false},{"title":"EndUserResponse","link":"/models/enduserresponse","deprecated":false},{"title":"GetConversationRequest","link":"/models/getconversationrequest","deprecated":false},{"title":"GetMessagesRequest","link":"/models/getmessagesrequest","deprecated":false},{"title":"GetUserRequest","link":"/models/getuserrequest","deprecated":false},{"title":"HtmlMessageBody","link":"/models/htmlmessagebody","deprecated":false},{"title":"Message","link":"/models/message","deprecated":false},{"title":"MessageAuthor","link":"/models/messageauthor","deprecated":false},{"title":"MessageInput","link":"/models/messageinput","deprecated":false},{"title":"MessageResponse","link":"/models/messageresponse","deprecated":false},{"title":"MessagesResponse","link":"/models/messagesresponse","deprecated":false},{"title":"MessageType","link":"/models/messagetype","deprecated":false},{"title":"MessageVisibility","link":"/models/messagevisibility","deprecated":false},{"title":"ProblemDetails","link":"/models/problemdetails","deprecated":false},{"title":"UpdateConversationRequest","link":"/models/updateconversationrequest","deprecated":false},{"title":"UpdateUserRequest","link":"/models/updateuserrequest","deprecated":false},{"title":"UserBasic","link":"/models/userbasic","deprecated":false},{"title":"WebhookConversationEventRequest","link":"/models/webhookconversationeventrequest","deprecated":false}]}]}]}]}}],"store":{"schemaStore":{"components/schemas/GetUserRequest":{"id":"components/schemas/GetUserRequest","kind":"json-schema","title":"GetUserRequest","data":{"type":"object","properties":{"user_id":{"type":"string","description":"ID of the end-user in your system","example":"user_123"}}}},"components/schemas/UpdateUserRequest":{"id":"components/schemas/UpdateUserRequest","kind":"json-schema","title":"UpdateUserRequest","data":{"type":"object","properties":{"user_id":{"type":"string","description":"ID of the end-user in your system","example":"user_123"},"attributes":{"$ref":"#/components/schemas/CustomAttributes"}}}},"components/schemas/CreateUserRequest":{"id":"components/schemas/CreateUserRequest","kind":"json-schema","title":"CreateUserRequest","data":{"type":"object","properties":{"name":{"type":"string","description":"User's name (may not be known at creation time)","example":"Jane Doe","nullable":true},"email":{"type":"string","format":"email","description":"User's email (may not be known at creation time)","example":"jane.doe@example.com","nullable":true},"object_id":{"type":"string","description":"Unique identifier for the user in our system","example":"123456"},"attributes":{"allOf":[{"$ref":"#/components/schemas/CustomAttributes"},{"nullable":true}]}}}},"components/schemas/GetConversationRequest":{"id":"components/schemas/GetConversationRequest","kind":"json-schema","title":"GetConversationRequest","data":{"type":"object","properties":{"conversation_id":{"type":"string","description":"ID of the conversation in your system","example":"conv_456"}}}},"components/schemas/UpdateConversationRequest":{"id":"components/schemas/UpdateConversationRequest","kind":"json-schema","title":"UpdateConversationRequest","data":{"type":"object","properties":{"conversation_id":{"type":"string","description":"ID of the conversation to update","example":"conv_456"},"title":{"type":"string","description":"Conversation title","example":"Pricing inquiry - resolved","nullable":true},"tags":{"type":"array","description":"List of tags associated with the conversation in your system. Can be used to power routing within the Fin workflow among other things.","items":{"type":"string"},"example":["pricing","sales"]},"attributes":{"$ref":"#/components/schemas/ConversationAttributes"},"status":{"$ref":"#/components/schemas/ConversationStatus"},"assignee_id":{"type":"string","description":"Agent ID (Fin agent). Set to null when handing over to a human agent.","example":"agent_fin"},"last_user_read_at":{"type":"string","format":"date-time","description":"When user last read the conversation","example":"2025-10-27T15:45:00.000Z","nullable":true},"user":{"$ref":"#/components/schemas/UserBasic"}}}},"components/schemas/CreateConversationRequest":{"id":"components/schemas/CreateConversationRequest","kind":"json-schema","title":"CreateConversationRequest","data":{"type":"object","properties":{"title":{"type":"string","description":"Conversation title (may be blank)","example":"Question about pricing","nullable":true},"user":{"$ref":"#/components/schemas/UserBasic"},"object_id":{"type":"string","description":"Unique identifier for the conversation in our system","example":"123456"},"attributes":{"$ref":"#/components/schemas/ConversationAttributes"},"initial_message":{"$ref":"#/components/schemas/MessageInput"}}}},"components/schemas/GetMessagesRequest":{"id":"components/schemas/GetMessagesRequest","kind":"json-schema","title":"GetMessagesRequest","data":{"type":"object","properties":{"conversation_id":{"type":"string","description":"ID of the conversation in your system","example":"conv_456"},"after_id":{"type":"string","description":"ID of the last seen message ID from the external system. As an optimization, the external service may choose to return only messages created after this.","example":"msg_101"}}}},"components/schemas/CreateMessageRequest":{"id":"components/schemas/CreateMessageRequest","kind":"json-schema","title":"CreateMessageRequest","data":{"allOf":[{"$ref":"#/components/schemas/MessageInput"},{"type":"object","properties":{"conversation_id":{"type":"string","description":"ID of the parent conversation","example":"conv_456"}}}]}},"components/schemas/WebhookConversationEventRequest":{"id":"components/schemas/WebhookConversationEventRequest","kind":"json-schema","title":"WebhookConversationEventRequest","data":{"type":"object","required":["conversation_id"],"properties":{"conversation_id":{"type":"string","description":"ID of the conversation in your system","example":"conv_456"},"event_type":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Optional. The type of event that occurred."},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Omitted or null"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": Fin will synchronize the conversation by pulling the latest data from your endpoints."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"agent_typing"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": Displays a typing indicator to the end-user. No synchronization occurs. Requires "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"data.agent"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to be provided."},"children":[]}]}]}]}],"enum":["agent_typing"]},"data":{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Additional event data. Required fields depend on the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"event_type"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":":"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"For "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"agent_typing"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"agent"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" field is required."},"children":[]}]}]}]}],"properties":{"agent":{"$ref":"#/components/schemas/Agent","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The agent who is typing. "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Required"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" when "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"event_type"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"agent_typing"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Must include: "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"user_type"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (must be \"agent\"), "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"name"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"email"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}}}}}},"components/schemas/EndUserResponse":{"id":"components/schemas/EndUserResponse","kind":"json-schema","title":"EndUserResponse","data":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/EndUser"},"error":{"$ref":"#/components/schemas/ProblemDetails","nullable":true}}}},"components/schemas/AgentsResponse":{"id":"components/schemas/AgentsResponse","kind":"json-schema","title":"AgentsResponse","data":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/Agent"}},"error":{"$ref":"#/components/schemas/ProblemDetails","nullable":true}}}},"components/schemas/ConversationResponse":{"id":"components/schemas/ConversationResponse","kind":"json-schema","title":"ConversationResponse","data":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/Conversation"},"error":{"$ref":"#/components/schemas/ProblemDetails","nullable":true}}}},"components/schemas/CreateConversationResponse":{"id":"components/schemas/CreateConversationResponse","kind":"json-schema","title":"CreateConversationResponse","data":{"type":"object","properties":{"data":{"type":"object","required":["conversation","message"],"properties":{"conversation":{"$ref":"#/components/schemas/Conversation","description":"The newly created conversation in your system."},"message":{"$ref":"#/components/schemas/Message","description":"The initial message in the conversation that was created in your system."}}},"error":{"$ref":"#/components/schemas/ProblemDetails","nullable":true}}}},"components/schemas/MessagesResponse":{"id":"components/schemas/MessagesResponse","kind":"json-schema","title":"MessagesResponse","data":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/Message"}},"error":{"$ref":"#/components/schemas/ProblemDetails","nullable":true}}}},"components/schemas/MessageResponse":{"id":"components/schemas/MessageResponse","kind":"json-schema","title":"MessageResponse","data":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/Message"},"error":{"$ref":"#/components/schemas/ProblemDetails","nullable":true}}}},"components/schemas/EndUser":{"id":"components/schemas/EndUser","kind":"json-schema","title":"EndUser","data":{"type":"object","description":"End user having a conversation with Fin or with an agent.","required":["id","user_type"],"properties":{"id":{"type":"string","description":"Unique identifier for the user in your system","example":"user_123456","nullable":false},"user_type":{"type":"string","description":"Type of user","enum":["end_user"],"nullable":false},"name":{"type":"string","description":"User's display name","example":"Jane Doe","nullable":true},"email":{"type":"string","format":"email","description":"User's email address","example":"jane.doe@example.com","nullable":true},"photo_url":{"type":"string","format":"uri","description":"URL to user's avatar/profile picture (displayed in Fin Messenger)","example":"https://example.com/avatars/jane.jpg","nullable":true},"attributes":{"allOf":[{"$ref":"#/components/schemas/CustomAttributes"},{"nullable":true}]}}}},"components/schemas/Agent":{"id":"components/schemas/Agent","kind":"json-schema","title":"Agent","data":{"type":"object","description":"Agent having a conversation with an end-user.","required":["id","user_type","name","email"],"properties":{"id":{"type":"string","description":"Unique identifier for the user in your system","example":"agent_123456"},"user_type":{"type":"string","description":"Type of user","enum":["agent"]},"name":{"type":"string","description":"User's display name","example":"Jane Doe"},"email":{"type":"string","format":"email","description":"User's email address","example":"jane.doe@example.com"},"photo_url":{"type":"string","format":"uri","description":"URL to user's avatar/profile picture (displayed in Fin Messenger)","example":"https://example.com/avatars/jane.jpg","nullable":true},"alias_name":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Agent's display alias_name (shown to end-users instead of real name)"},"children":[]}]}]}],"example":"Support Jane","nullable":true}}}},"components/schemas/Conversation":{"id":"components/schemas/Conversation","kind":"json-schema","title":"Conversation","data":{"type":"object","required":["id","status","user","created_at","updated_at"],"properties":{"id":{"type":"string","description":"Unique identifier for the conversation in your system","example":"conv_456"},"status":{"$ref":"#/components/schemas/ConversationStatus"},"user":{"$ref":"#/components/schemas/EndUser"},"title":{"type":"string","description":"Conversation title or subject","example":"Question about pricing plans","nullable":true},"tags":{"type":"array","description":"List of tags associated with the conversation in your system. Can be used to power routing within the Fin workflow among other things.","items":{"type":"string"},"example":["pricing","sales"],"nullable":true},"attributes":{"$ref":"#/components/schemas/ConversationAttributes"},"assignee":{"allOf":[{"$ref":"#/components/schemas/Agent"},{"nullable":true,"description":"Currently assigned agent (null if unassigned) in your system. Fin typically does not attempt to handle conversations assigned to a human agent. If your system allows for multiple agents to be assigned to a conversation you may choose to return any one of these agents."}]},"created_at":{"type":"string","format":"date-time","description":"When the conversation was created (ISO 8601 UTC)","example":"2025-10-27T14:30:00.000Z"},"updated_at":{"type":"string","format":"date-time","description":"When the conversation was last updated (ISO 8601 UTC)","example":"2025-10-27T15:45:00.000Z"}}}},"components/schemas/Message":{"id":"components/schemas/Message","kind":"json-schema","title":"Message","data":{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A message in a conversation. Either "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"body"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" or "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"attachments"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (or both) must be provided."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A message cannot be empty - it must contain either text content or at least one attachment."},"children":[]}]}]}],"required":["id","conversation_id","message_type","author","visibility","created_at"],"properties":{"id":{"type":"string","description":"Unique identifier for the message in your system","example":"msg_001"},"conversation_id":{"type":"string","description":"ID of the parent conversation","example":"conv_456"},"message_type":{"$ref":"#/components/schemas/MessageType"},"body":{"allOf":[{"$ref":"#/components/schemas/HtmlMessageBody"},{"description":"Message content in HTML format. Can be null or empty if attachments are provided.","nullable":true}]},"author":{"oneOf":[{"$ref":"#/components/schemas/EndUser"},{"$ref":"#/components/schemas/Agent"}],"description":"The user who authored the message."},"visibility":{"$ref":"#/components/schemas/MessageVisibility"},"created_at":{"type":"string","format":"date-time","description":"When the message was created (ISO 8601 UTC)","example":"2025-10-27T14:35:00.000Z"},"attachments":{"type":"array","description":"Files attached to the message","items":{"$ref":"#/components/schemas/Attachment"}}}}},"components/schemas/Attachment":{"id":"components/schemas/Attachment","kind":"json-schema","title":"Attachment","data":{"type":"object","properties":{"url":{"type":"string","format":"uri","description":"URL where the attachment can be accessed.\nMust be HTTPS. Consider using signed URLs with expiration for sensitive files.\n","example":"https://example.com/files/pricing-guide.pdf"},"filetype":{"type":"string","description":"File type/extension.","example":"pdf"},"filename":{"type":"string","description":"Display name for the file","example":"Pricing Guide 2025"}}}},"components/schemas/ProblemDetails":{"id":"components/schemas/ProblemDetails","kind":"json-schema","title":"ProblemDetails","data":{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The error returned by the API. This is an RFC 7807 problem details object: "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://www.rfc-editor.org/rfc/rfc7807.html"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"https://www.rfc-editor.org/rfc/rfc7807.html"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"properties":{"type":{"type":"string","description":"A URI reference that identifies the problem type."},"title":{"type":"string","description":"A short, human-readable summary of the problem type."},"status":{"type":"integer","description":"The HTTP status code generated by the origin server for this occurrence of the problem."},"detail":{"type":"string","description":"A human-readable explanation specific to this occurrence of the problem."},"instance":{"type":"string","description":"A URI reference that identifies the specific occurrence of the problem."}}}},"components/schemas/CustomAttributes":{"id":"components/schemas/CustomAttributes","kind":"json-schema","title":"CustomAttributes","data":{"type":"object","description":"Attributes associated with the end-user","additionalProperties":{"anyOf":[{"type":"string"},{"type":"integer"},{"type":"number"},{"type":"boolean"},{"type":"string","format":"date-time","description":"ISO 8601 timestamp","example":"2025-10-27T14:30:00.000Z"}]},"example":{"plan_type":"enterprise","signup_date":"2024-01-15","is_premium":true}}},"components/schemas/ConversationAttributes":{"id":"components/schemas/ConversationAttributes","kind":"json-schema","title":"ConversationAttributes","data":{"type":"object","description":"Attributes associated with the conversation","additionalProperties":{"anyOf":[{"type":"string"},{"type":"integer"},{"type":"number"},{"type":"boolean"}]},"example":{"issue_type":"Billing","priority":"High"}}},"components/schemas/ConversationStatus":{"id":"components/schemas/ConversationStatus","kind":"json-schema","title":"ConversationStatus","data":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Current conversation status:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"open"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" - Conversation is actively ongoing with the end-user"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"resolved"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" - Conversation is resolved by Fin"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"closed"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" - Conversation is finished/archived"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"ended"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" - Conversation is ended by the end-user or agent"},"children":[]}]}]}]}],"enum":["open","resolved","closed","ended"],"example":"resolved"}},"components/schemas/MessageType":{"id":"components/schemas/MessageType","kind":"json-schema","title":"MessageType","data":{"type":"string","description":"Type of message","enum":["comment"],"example":"comment"}},"components/schemas/MessageVisibility":{"id":"components/schemas/MessageVisibility","kind":"json-schema","title":"MessageVisibility","data":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Who can see the message:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"public"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" - Visible to end-users (appears in Fin Messenger)"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"private"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" - Only visible to agents (internal notes)"},"children":[]}]}]}]}],"enum":["public","private"],"example":"public"}},"components/schemas/HtmlMessageBody":{"id":"components/schemas/HtmlMessageBody","kind":"json-schema","title":"HtmlMessageBody","data":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Message content in HTML format."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Supported HTML tags are:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Paragraphs "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<p>"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Heading 1, Heading 2 "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<h1>"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<h2>"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (note h3 to h6 appears as a h2)"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bold "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<b>"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Italic "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<i>"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Links "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<a>"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Images "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<img>"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (can be linked)"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Line breaks "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<br>"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Code blocks "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<code>"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Unordered lists "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<ul>"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Ordered lists "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<ol>"},"children":[]}]}]}]}],"example":"<p>Hi! I'd like to know more about your pricing plans.</p>"}},"components/schemas/UserBasic":{"id":"components/schemas/UserBasic","kind":"json-schema","title":"UserBasic","data":{"type":"object","description":"Basic user information for requests","properties":{"id":{"type":"string","description":"Unique identifier for the user in your system","example":"user_123456"},"name":{"type":"string","description":"User's display name","example":"Jane Doe"},"email":{"type":"string","format":"email","description":"User's email address","example":"jane.doe@example.com"},"photo_url":{"type":"string","format":"uri","description":"URL to user's avatar/profile picture (displayed in Fin Messenger)","example":"https://example.com/avatars/jane.jpg"},"user_type":{"type":"string","description":"Type of user","enum":["end_user"],"example":"end_user"},"attributes":{"allOf":[{"$ref":"#/components/schemas/CustomAttributes"},{"nullable":true}]}}}},"components/schemas/MessageInput":{"id":"components/schemas/MessageInput","kind":"json-schema","title":"MessageInput","data":{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Message input fields for creation. Either "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"body"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" or "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"attachments"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (or both) must be provided."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A message cannot be empty - it must contain either text content or at least one attachment."},"children":[]}]}]}],"properties":{"message_type":{"$ref":"#/components/schemas/MessageType"},"body":{"allOf":[{"$ref":"#/components/schemas/HtmlMessageBody"},{"description":"Message content in HTML format. Can be null or empty if attachments are provided.","nullable":true}]},"author":{"$ref":"#/components/schemas/MessageAuthor"},"visibility":{"$ref":"#/components/schemas/MessageVisibility"},"object_id":{"type":"string","description":"Unique identifier for the message in our system","example":"123456"},"attachments":{"type":"array","description":"Array of attachments (can be empty)","items":{"$ref":"#/components/schemas/Attachment"}}}}},"components/schemas/MessageAuthor":{"id":"components/schemas/MessageAuthor","kind":"json-schema","title":"MessageAuthor","data":{"type":"object","description":"The user who authored the message","properties":{"id":{"type":"string","description":"Unique identifier for the user in your system","example":"user_123456"},"user_type":{"type":"string","description":"Type of user","enum":["end_user","agent"]},"name":{"type":"string","description":"User's display name","example":"Jane Doe"},"email":{"type":"string","format":"email","description":"User's email address","example":"jane.doe@example.com"},"photo_url":{"type":"string","format":"uri","description":"URL to user's avatar/profile picture (displayed in Fin Messenger)","example":"https://example.com/avatars/jane.jpg"}}}},"schema_415":{"kind":"json-schema","data":{"type":"object"},"id":"schema_415"},"schema_416":{"kind":"json-schema","data":{"type":"string"},"id":"schema_416"}},"exampleStore":{"components/examples/UserFoundExample":{"id":"components/examples/UserFoundExample","value":{"data":{"id":"user_123","name":"John Doe","email":"john.doe@example.com","photo_url":"https://example.com/avatars/john.jpg","user_type":"end_user","attributes":{"plan_type":"enterprise","signup_date":"2024-01-15","is_premium":true}}},"summary":"User found"},"components/examples/UserNotFoundExample":{"id":"components/examples/UserNotFoundExample","value":{"data":{},"error":{"type":"https://example.com/probs/no-user-found","title":"No user found","status":404,"detail":"No user found with the given ID","instance":"https://example.com/errors/2025-01-18/550e8400-e29b-41d4-a716-446655440000"}},"summary":"User not found"},"components/examples/UserCreatedExample":{"id":"components/examples/UserCreatedExample","value":{"data":{"id":"user_123456","name":"Jane Doe","email":"jane.doe@example.com","photo_url":"https://example.com/avatars/jane.jpg","user_type":"end_user","attributes":{"plan_type":"enterprise","signup_date":"2024-01-15","is_premium":true}}},"summary":"End-user created successfully"},"components/examples/UserCreationBadRequestExample":{"id":"components/examples/UserCreationBadRequestExample","value":{"data":{},"error":{"type":"https://example.com/probs/bad-request","title":"Email is required","status":400,"detail":"Email is required to create a user","instance":"https://example.com/errors/2025-01-18/550e8400-e29b-41d4-a716-446655440000"}},"summary":"Bad Request"},"components/examples/AgentsFoundExample":{"id":"components/examples/AgentsFoundExample","value":{"data":[{"id":"agent_001","user_type":"agent","name":"Sarah Johnson","email":"sarah.johnson@company.com","alias_name":"Support Sarah","photo_url":"https://example.com/avatars/sarah.jpg"},{"id":"agent_fin","user_type":"agent","name":"Fin AI Assistant","email":"fin@company.com","alias_name":"Fin","photo_url":"https://example.com/avatars/fin.png"}]},"summary":"Multiple agents including Fin"},"components/examples/NoAgentsExample":{"id":"components/examples/NoAgentsExample","value":{"data":[]},"summary":"No agents found"},"components/examples/ConversationFoundExample":{"id":"components/examples/ConversationFoundExample","value":{"data":{"id":"conv_456","title":"Question about pricing","status":"ended","user":{"id":"user_123","name":"Jane Doe","email":"jane.doe@example.com","photo_url":"https://example.com/avatars/jane.jpg","user_type":"end_user","attributes":{"plan_type":"enterprise","signup_date":"2024-01-15","is_premium":true}},"tags":["pricing","sales"],"attributes":{"issue_type":"Billing","priority":"High"},"assignee":{"id":"agent_fin","name":"Fin AI Assistant","email":"fin@company.com","alias_name":"Fin","photo_url":"https://example.com/avatars/fin.png","user_type":"agent"},"created_at":"2025-10-27T14:30:00.000Z","updated_at":"2025-10-27T14:30:00.000Z"}},"summary":"Conversation found successfully"},"components/examples/ConversationNotFoundExample":{"id":"components/examples/ConversationNotFoundExample","value":{"data":{},"error":{"type":"https://example.com/probs/no-conversation-found","title":"No conversation found","status":404,"detail":"No conversation found with the given ID","instance":"https://example.com/errors/2025-01-18/550e8400-e29b-41d4-a716-446655440000"}},"summary":"Conversation not found"},"components/examples/ConversationUpdatedExample":{"id":"components/examples/ConversationUpdatedExample","value":{"data":{"id":"conv_456","title":"Pricing inquiry - resolved","status":"ended","user":{"id":"user_123","name":"Jane Doe","email":"jane.doe@example.com","photo_url":"https://example.com/avatars/jane.jpg","user_type":"end_user","attributes":{"plan_type":"enterprise","signup_date":"2024-01-15","is_premium":true}},"tags":["pricing","sales"],"assignee":{"id":"agent_fin","name":"Fin AI Assistant","email":"fin@company.com","alias_name":"Fin","photo_url":"https://example.com/avatars/fin.png","user_type":"agent"},"created_at":"2025-10-27T14:30:00.000Z","updated_at":"2025-10-27T14:30:00.000Z"}},"summary":"Conversation updated successfully"},"components/examples/ConversationCreatedExample":{"id":"components/examples/ConversationCreatedExample","value":{"data":{"conversation":{"id":"conv_456","status":"open","title":"Question about pricing","user":{"id":"user_123","name":"Jane Doe","email":"jane.doe@example.com","photo_url":"https://example.com/avatars/jane.jpg","user_type":"end_user","attributes":{"plan_type":"enterprise","signup_date":"2024-01-15","is_premium":true}},"tags":["pricing","sales"],"attributes":{"issue_type":"Billing","priority":"High"},"assignee":{"id":"agent_fin","name":"Fin AI Assistant","email":"fin@company.com","alias_name":"Fin","photo_url":"https://example.com/avatars/fin.png","user_type":"agent"},"created_at":"2025-10-27T14:30:00.000Z","updated_at":"2025-10-27T14:30:00.000Z"},"message":{"id":"msg_123","conversation_id":"conv_456","message_type":"comment","body":"<p>Hi! I'd like to know more about your pricing plans.</p>","author":{"id":"user_123456","user_type":"end_user","name":"Jane Doe","email":"jane.doe@example.com","photo_url":"https://example.com/avatars/jane.jpg","attributes":{"plan_type":"enterprise","signup_date":"2024-01-15","is_premium":true}},"visibility":"public","created_at":"2025-10-27T14:30:00.000Z","attachments":[{"url":"https://example.com/files/pricing-guide.pdf","filetype":"pdf","filename":"Pricing Guide 2025"}]}}},"summary":"Conversation created successfully"},"components/examples/ConversationCreationBadRequestExample":{"id":"components/examples/ConversationCreationBadRequestExample","value":{"data":{},"error":{"type":"https://example.com/probs/bad-request","title":"Initial message is required","status":400,"detail":"Initial message is required to create a conversation","instance":"https://example.com/errors/2025-01-18/550e8400-e29b-41d4-a716-446655440000"}},"summary":"Bad Request"},"components/examples/MessagesFoundExample":{"id":"components/examples/MessagesFoundExample","value":{"data":[{"id":"msg_101","conversation_id":"conv_456","message_type":"comment","body":"<p>Thank you for reaching out! I'd be happy to help.</p>","author":{"id":"agent_fin","user_type":"agent","name":"Fin AI Assistant","email":"fin@company.com","alias_name":"Fin","photo_url":"https://example.com/avatars/fin.png"},"visibility":"public","created_at":"2025-10-27T14:35:00.000Z","attachments":[]},{"id":"msg_102","conversation_id":"conv_456","message_type":"comment","body":"<p>Great! Can you tell me about the Enterprise plan?</p>","author":{"id":"user_123","user_type":"end_user","name":"Jane Doe","email":"jane@example.com","photo_url":"https://example.com/avatars/jane.jpg","attributes":{"attribute_1_name":"attribute_1_value","attribute_2_name":"attribute_2_value"}},"visibility":"public","created_at":"2025-10-27T14:37:00.000Z","attachments":[]}]},"summary":"Multiple messages"},"components/examples/NoMessagesExample":{"id":"components/examples/NoMessagesExample","value":{"data":[]},"summary":"No messages"},"components/examples/MessageWithOnlyAttachmentsExample":{"id":"components/examples/MessageWithOnlyAttachmentsExample","value":{"data":[{"id":"msg_103","conversation_id":"conv_456","message_type":"comment","body":null,"author":{"id":"user_123","user_type":"end_user","name":"Jane Doe","email":"jane@example.com","photo_url":"https://example.com/avatars/jane.jpg"},"visibility":"public","created_at":"2025-10-27T14:40:00.000Z","attachments":[{"url":"https://example.com/files/screenshot.png","filetype":"png","filename":"Error Screenshot"},{"url":"https://example.com/files/log-file.txt","filetype":"txt","filename":"Application Log"}]}]},"summary":"Message with only attachments (no text body)"},"components/examples/MessageCreatedExample":{"id":"components/examples/MessageCreatedExample","value":{"data":{"id":"msg_123","conversation_id":"conv_456","message_type":"comment","body":"<p>Hi! I'd like to know more about your pricing plans.</p>","author":{"id":"user_123456","user_type":"end_user","name":"Jane Doe","email":"jane.doe@example.com","photo_url":"https://example.com/avatars/jane.jpg","attributes":{"plan_type":"enterprise","signup_date":"2024-01-15","is_premium":true}},"visibility":"public","created_at":"2025-10-27T14:30:00.000Z","attachments":[{"url":"https://example.com/files/pricing-guide.pdf","filetype":"pdf","filename":"Pricing Guide 2025"}]}},"summary":"Message created successfully"},"components/examples/MessageCreationBadRequestExample":{"id":"components/examples/MessageCreationBadRequestExample","value":{"data":{},"error":{"type":"https://example.com/probs/bad-request","title":"Conversation ID is required","status":400,"detail":"Conversation ID is required to create a message","instance":"https://example.com/errors/2025-01-18/550e8400-e29b-41d4-a716-446655440000"}},"summary":"Bad Request"},"paths/~1get_user/post/responses/200/content/application~1json/examples/userFound":{"value":{"data":{"id":"user_123","name":"John Doe","email":"john.doe@example.com","photo_url":"https://example.com/avatars/john.jpg","user_type":"end_user","attributes":{"plan_type":"enterprise","signup_date":"2024-01-15","is_premium":true}}},"key":"userFound","summary":"User found","id":"paths/~1get_user/post/responses/200/content/application~1json/examples/userFound"},"paths/~1get_user/post/responses/200/content/application~1json/examples/userNotFound":{"value":{"data":{},"error":{"type":"https://example.com/probs/no-user-found","title":"No user found","status":404,"detail":"No user found with the given ID","instance":"https://example.com/errors/2025-01-18/550e8400-e29b-41d4-a716-446655440000"}},"key":"userNotFound","summary":"User not found","id":"paths/~1get_user/post/responses/200/content/application~1json/examples/userNotFound"},"paths/~1update_user/post/responses/200/content/application~1json/examples/userUpdated":{"value":{"data":{"id":"user_123","name":"John Doe","email":"john.doe@example.com","photo_url":"https://example.com/avatars/john.jpg","user_type":"end_user","attributes":{"plan_type":"enterprise","signup_date":"2024-01-15","is_premium":true}}},"key":"userUpdated","summary":"User found","id":"paths/~1update_user/post/responses/200/content/application~1json/examples/userUpdated"},"paths/~1update_user/post/responses/200/content/application~1json/examples/userNotFound":{"value":{"data":{},"error":{"type":"https://example.com/probs/no-user-found","title":"No user found","status":404,"detail":"No user found with the given ID","instance":"https://example.com/errors/2025-01-18/550e8400-e29b-41d4-a716-446655440000"}},"key":"userNotFound","summary":"User not found","id":"paths/~1update_user/post/responses/200/content/application~1json/examples/userNotFound"},"paths/~1create_user/post/responses/201/content/application~1json/examples/userCreated":{"value":{"data":{"id":"user_123456","name":"Jane Doe","email":"jane.doe@example.com","photo_url":"https://example.com/avatars/jane.jpg","user_type":"end_user","attributes":{"plan_type":"enterprise","signup_date":"2024-01-15","is_premium":true}}},"key":"userCreated","summary":"End-user created successfully","id":"paths/~1create_user/post/responses/201/content/application~1json/examples/userCreated"},"paths/~1create_user/post/responses/201/content/application~1json/examples/badRequest":{"value":{"data":{},"error":{"type":"https://example.com/probs/bad-request","title":"Email is required","status":400,"detail":"Email is required to create a user","instance":"https://example.com/errors/2025-01-18/550e8400-e29b-41d4-a716-446655440000"}},"key":"badRequest","summary":"Bad Request","id":"paths/~1create_user/post/responses/201/content/application~1json/examples/badRequest"},"paths/~1get_agents/post/responses/200/content/application~1json/examples/agentsFound":{"value":{"data":[{"id":"agent_001","user_type":"agent","name":"Sarah Johnson","email":"sarah.johnson@company.com","alias_name":"Support Sarah","photo_url":"https://example.com/avatars/sarah.jpg"},{"id":"agent_fin","user_type":"agent","name":"Fin AI Assistant","email":"fin@company.com","alias_name":"Fin","photo_url":"https://example.com/avatars/fin.png"}]},"key":"agentsFound","summary":"Multiple agents including Fin","id":"paths/~1get_agents/post/responses/200/content/application~1json/examples/agentsFound"},"paths/~1get_agents/post/responses/200/content/application~1json/examples/noAgents":{"value":{"data":[]},"key":"noAgents","summary":"No agents found","id":"paths/~1get_agents/post/responses/200/content/application~1json/examples/noAgents"},"paths/~1get_conversation/post/responses/200/content/application~1json/examples/conversationFound":{"value":{"data":{"id":"conv_456","title":"Question about pricing","status":"ended","user":{"id":"user_123","name":"Jane Doe","email":"jane.doe@example.com","photo_url":"https://example.com/avatars/jane.jpg","user_type":"end_user","attributes":{"plan_type":"enterprise","signup_date":"2024-01-15","is_premium":true}},"tags":["pricing","sales"],"attributes":{"issue_type":"Billing","priority":"High"},"assignee":{"id":"agent_fin","name":"Fin AI Assistant","email":"fin@company.com","alias_name":"Fin","photo_url":"https://example.com/avatars/fin.png","user_type":"agent"},"created_at":"2025-10-27T14:30:00.000Z","updated_at":"2025-10-27T14:30:00.000Z"}},"key":"conversationFound","summary":"Conversation found successfully","id":"paths/~1get_conversation/post/responses/200/content/application~1json/examples/conversationFound"},"paths/~1get_conversation/post/responses/200/content/application~1json/examples/conversationNotFound":{"value":{"data":{},"error":{"type":"https://example.com/probs/no-conversation-found","title":"No conversation found","status":404,"detail":"No conversation found with the given ID","instance":"https://example.com/errors/2025-01-18/550e8400-e29b-41d4-a716-446655440000"}},"key":"conversationNotFound","summary":"Conversation not found","id":"paths/~1get_conversation/post/responses/200/content/application~1json/examples/conversationNotFound"},"paths/~1update_conversation/post/responses/200/content/application~1json/examples/conversationUpdated":{"value":{"data":{"id":"conv_456","title":"Pricing inquiry - resolved","status":"ended","user":{"id":"user_123","name":"Jane Doe","email":"jane.doe@example.com","photo_url":"https://example.com/avatars/jane.jpg","user_type":"end_user","attributes":{"plan_type":"enterprise","signup_date":"2024-01-15","is_premium":true}},"tags":["pricing","sales"],"assignee":{"id":"agent_fin","name":"Fin AI Assistant","email":"fin@company.com","alias_name":"Fin","photo_url":"https://example.com/avatars/fin.png","user_type":"agent"},"created_at":"2025-10-27T14:30:00.000Z","updated_at":"2025-10-27T14:30:00.000Z"}},"key":"conversationUpdated","summary":"Conversation updated successfully","id":"paths/~1update_conversation/post/responses/200/content/application~1json/examples/conversationUpdated"},"paths/~1update_conversation/post/responses/200/content/application~1json/examples/conversationNotFound":{"value":{"data":{},"error":{"type":"https://example.com/probs/no-conversation-found","title":"No conversation found","status":404,"detail":"No conversation found with the given ID","instance":"https://example.com/errors/2025-01-18/550e8400-e29b-41d4-a716-446655440000"}},"key":"conversationNotFound","summary":"Conversation not found","id":"paths/~1update_conversation/post/responses/200/content/application~1json/examples/conversationNotFound"},"paths/~1create_conversation/post/responses/200/content/application~1json/examples/conversationCreated":{"value":{"data":{"conversation":{"id":"conv_456","status":"open","title":"Question about pricing","user":{"id":"user_123","name":"Jane Doe","email":"jane.doe@example.com","photo_url":"https://example.com/avatars/jane.jpg","user_type":"end_user","attributes":{"plan_type":"enterprise","signup_date":"2024-01-15","is_premium":true}},"tags":["pricing","sales"],"attributes":{"issue_type":"Billing","priority":"High"},"assignee":{"id":"agent_fin","name":"Fin AI Assistant","email":"fin@company.com","alias_name":"Fin","photo_url":"https://example.com/avatars/fin.png","user_type":"agent"},"created_at":"2025-10-27T14:30:00.000Z","updated_at":"2025-10-27T14:30:00.000Z"},"message":{"id":"msg_123","conversation_id":"conv_456","message_type":"comment","body":"<p>Hi! I'd like to know more about your pricing plans.</p>","author":{"id":"user_123456","user_type":"end_user","name":"Jane Doe","email":"jane.doe@example.com","photo_url":"https://example.com/avatars/jane.jpg","attributes":{"plan_type":"enterprise","signup_date":"2024-01-15","is_premium":true}},"visibility":"public","created_at":"2025-10-27T14:30:00.000Z","attachments":[{"url":"https://example.com/files/pricing-guide.pdf","filetype":"pdf","filename":"Pricing Guide 2025"}]}}},"key":"conversationCreated","summary":"Conversation created successfully","id":"paths/~1create_conversation/post/responses/200/content/application~1json/examples/conversationCreated"},"paths/~1create_conversation/post/responses/200/content/application~1json/examples/badRequest":{"value":{"data":{},"error":{"type":"https://example.com/probs/bad-request","title":"Initial message is required","status":400,"detail":"Initial message is required to create a conversation","instance":"https://example.com/errors/2025-01-18/550e8400-e29b-41d4-a716-446655440000"}},"key":"badRequest","summary":"Bad Request","id":"paths/~1create_conversation/post/responses/200/content/application~1json/examples/badRequest"},"paths/~1get_messages/post/responses/200/content/application~1json/examples/messagesFound":{"value":{"data":[{"id":"msg_101","conversation_id":"conv_456","message_type":"comment","body":"<p>Thank you for reaching out! I'd be happy to help.</p>","author":{"id":"agent_fin","user_type":"agent","name":"Fin AI Assistant","email":"fin@company.com","alias_name":"Fin","photo_url":"https://example.com/avatars/fin.png"},"visibility":"public","created_at":"2025-10-27T14:35:00.000Z","attachments":[]},{"id":"msg_102","conversation_id":"conv_456","message_type":"comment","body":"<p>Great! Can you tell me about the Enterprise plan?</p>","author":{"id":"user_123","user_type":"end_user","name":"Jane Doe","email":"jane@example.com","photo_url":"https://example.com/avatars/jane.jpg","attributes":{"attribute_1_name":"attribute_1_value","attribute_2_name":"attribute_2_value"}},"visibility":"public","created_at":"2025-10-27T14:37:00.000Z","attachments":[]}]},"key":"messagesFound","summary":"Multiple messages","id":"paths/~1get_messages/post/responses/200/content/application~1json/examples/messagesFound"},"paths/~1get_messages/post/responses/200/content/application~1json/examples/noMessages":{"value":{"data":[]},"key":"noMessages","summary":"No messages","id":"paths/~1get_messages/post/responses/200/content/application~1json/examples/noMessages"},"paths/~1create_message/post/responses/201/content/application~1json/examples/messageCreated":{"value":{"data":{"id":"msg_123","conversation_id":"conv_456","message_type":"comment","body":"<p>Hi! I'd like to know more about your pricing plans.</p>","author":{"id":"user_123456","user_type":"end_user","name":"Jane Doe","email":"jane.doe@example.com","photo_url":"https://example.com/avatars/jane.jpg","attributes":{"plan_type":"enterprise","signup_date":"2024-01-15","is_premium":true}},"visibility":"public","created_at":"2025-10-27T14:30:00.000Z","attachments":[{"url":"https://example.com/files/pricing-guide.pdf","filetype":"pdf","filename":"Pricing Guide 2025"}]}},"key":"messageCreated","summary":"Message created successfully","id":"paths/~1create_message/post/responses/201/content/application~1json/examples/messageCreated"},"paths/~1create_message/post/responses/201/content/application~1json/examples/badRequest":{"value":{"data":{},"error":{"type":"https://example.com/probs/bad-request","title":"Conversation ID is required","status":400,"detail":"Conversation ID is required to create a message","instance":"https://example.com/errors/2025-01-18/550e8400-e29b-41d4-a716-446655440000"}},"key":"badRequest","summary":"Bad Request","id":"paths/~1create_message/post/responses/201/content/application~1json/examples/badRequest"},"paths/~1custom_helpdesk_conversation_event~1{integration_id}/post/requestBody/content/application~1json/examples/conversation_sync":{"value":{"conversation_id":"conv_456"},"key":"conversation_sync","summary":"Conversation Synchronization","id":"paths/~1custom_helpdesk_conversation_event~1{integration_id}/post/requestBody/content/application~1json/examples/conversation_sync"},"paths/~1custom_helpdesk_conversation_event~1{integration_id}/post/requestBody/content/application~1json/examples/agent_typing":{"value":{"conversation_id":"conv_456","event_type":"agent_typing","data":{"agent":{"id":"agent_001","user_type":"agent","name":"Sarah Johnson","email":"sarah.johnson@company.com"}}},"key":"agent_typing","summary":"Agent Typing Indicator","id":"paths/~1custom_helpdesk_conversation_event~1{integration_id}/post/requestBody/content/application~1json/examples/agent_typing"}},"securitySchemeStore":{"BearerAuth":{"id":"BearerAuth","type":"oauth2","description":"OAuth2 access token configured in Fin Deployment UI","flows":{"clientCredentials":{"tokenUrl":"https://helpdesk.fin.com/api/auth/oauth/token","scopes":{"read":"Read access to the API (example)","write":"Write access to the API (example)"}}}},"WebhookSignature":{"id":"WebhookSignature","type":"apiKey","description":"Webhook key for the custom helpdesk integration. Obtained from Fin Deployment UI.","in":"header","paramName":"X-Webhook-Key"}},"servers":[{"url":"https://helpdesk.example.com/api/fin","description":"Your Custom Helpdesk API (replace with your actual domain)"}],"logo":{"imageUrl":"https://www.intercom.com/favicon.ico","href":"https://developers.intercom.com"}},"options":{"corsProxyUrl":"https://cors.redoc.ly/","hideInfoMetadata":true,"schemaDefinitionsTagName":"Models","codeSamples":{"languages":[{"lang":"curl"},{"lang":"Node.js"},{"lang":"Ruby"},{"lang":"PHP"},{"lang":"Python"},{"lang":"Java"},{"lang":"Go"},{"lang":"C#"},{"lang":"R"}]},"feedback":{"type":"rating","settings":{"label":"Was this page helpful?","submitText":"Thanks for your feedback","comment":{"label":"Tell us more"}}},"hideSidebar":true,"mockServer":{"position":"off","off":true},"disableRouter":true,"downloadUrls":[{"url":"/_bundle/docs/guides/fin-custom-helpdesk/api-posts-only.json?download"},{"url":"/_bundle/docs/guides/fin-custom-helpdesk/api-posts-only.yaml?download"}],"excludeFromSearch":false,"specType":"openapi","markdocOptions":{"tags":{},"nodes":{},"components":{}},"metadata":{"title":"Fin Custom Helpdesk API","description":"The Fin Custom Helpdesk API allows you to integrate your custom helpdesk with Fin through a standardized set of API endpoints and webhooks.\n\nNote that the names of the endpoints are set by the custom helpdesk's API. They do not need to conform to the names given in this API spec (e.g. `create_message`).\n\n## **FAQ**\n\n**Q: Can POST be used for all API requests instead of GET?**\n\n**A:** Yes. All endpoints now support POST requests.\n\n**Q: Must field names use snake_case or can camelCase be used?**\n\n**A:** snake_case is required. The format of the responses outlined in the documentation must be followed, including the snake_case key names. Intercom cannot support different naming conventions for different customers.\n\n---\n\n## **Message & Idempotency**\n\n**Q: Does create_message API provide a unique message ID for idempotency?**\n\n**A:** Yes. An `object_id` field is available on all `create` type requests: `create_message`, `create_conversation`, and `create_user`. This represents the ID of the object in the Intercom system.\n\n**Q: Do message APIs support attachments?**\n\n**A:** Yes, attachments are supported. The format of attachments is outlined in the Messages section of the API docs.\n\nMessages can contain:\n- Text body only (no attachments)\n- Attachments only (no text body - body can be null or empty string)\n- Both text body and attachments\n\nHowever, a message cannot be completely empty - it must have either a body or at least one attachment.\n\n**Q: What HTML is supported in message content?**\n\n**A:** The following HTML tags are supported in the Message object:\n\n- Paragraphs: `<p>`\n- Headings: `<h1>`, `<h2>` (note: h3-h6 appear as h2)\n- Text formatting: `<b>` (bold), `<i>` (italic)\n- Links: `<a>`\n- Images: `<img>` (can be linked)\n- Line breaks: `<br>`\n- Code blocks: `<code>`\n- Lists: `<ul>` (unordered), `<ol>` (ordered)\n\nExample HTML:\n\n```html\n<!-- Headings (h1–h6) -->\n<h1>Heading 1</h1>\n<h2>Heading 2</h2>\n<h3>Heading 3</h3>\n<h4>Heading 4</h4>\n<h5>Heading 5</h5>\n<h6>Heading 6</h6>\n\n<!-- Paragraphs with inline formatting and link -->\n<p>\n  Normal paragraph with <a href=\"https://example.com\">a link</a>, <b>bold</b>,\n  <i>italic</i>, and a line break<br />right here.\n</p>\n\n<!-- Image and linked image -->\n<img src=\"https://placehold.co/600x400/png\" alt=\"Example image\" />\n<a href=\"https://example.com\"\n  ><img src=\"https://placehold.co/200x120/png\" alt=\"Linked image\"\n/></a>\n\n<!-- Lists: unordered, ordered-->\n<ul>\n  <li>Unordered item 1</li>\n  <li>Unordered item 2</li>\n</ul>\n\n<ol>\n  <li>Ordered item 1</li>\n  <li>Ordered item 2</li>\n</ol>\n\n<!-- Code block -->\n<code> console.log('hello world!'); </code>\n```\n\n---\n\n## **Agent & Conversation Management**\n\n**Q: Does the get_agent API need conversation ID parameters?**\n\n**A:** No. `get_agent` is only used during initial Fin configuration to select which agent represents Fin in the external system. You can return a single hardcoded bot agent here.\n\n**Q: How will Intercom inform us that a human agent needs to join a conversation?**\n\n**A:** Intercom sends an `update_conversation` call with `assignee_id` set to null.\n\n---\n\n## **Attributes & Data Structure**\n\n**Q: Are conversation-level attributes separate from user attributes?**\n\n**A:** Yes. Structure is:\n\n```json\n{\n  \"conversation\": {\n    \"attributes\": {\n      // conversation-specific data like locale, topic, sentiment, order_id\n    },\n    \"user\": {\n      \"id\": \"...\",\n      \"type\": \"end-user\",\n      \"name\": \"...\",\n      \"attributes\": {\n        // user-specific custom attributes\n      }\n    }\n  }\n}\n```\n\n**Q: When EndUser attributes change, will update_conversation be called?**\n\n**A:** Yes. Conversation and user state is synchronized on each inbound/outbound event (new messages, user data updates via workflows, for example an Email Collector step, etc.).\n\n---\n\n## **Request Verification**\n\n**Q: How do I verify that incoming requests are genuine?**\n\n**A:** We provide two extra headers on our requests to your servers:\n- `X-Fin-Request-Timestamp` - This is the timestamp of the request (in seconds since epoch). You may use this to reject requests that are too old.\n- `X-Fin-Signature` - This is the SHA256 HMAC signature of `{timestamp}:{request_body}`. You may use this to verify the authenticity of the request from us.\n\nNote as there is no body for GET requests, we instead sign: `{timestamp}:{request_params_sorted_alphabetically}`.\n\nThe HMAC key used to validate the signature is found in your deployment settings.\n\n---\n\n## **Connecting Fin to your endpoints**\n\n**1** - Navigate to the Deploy > Fin Messenger section in your Fin Workspace.\n\n<a href=\"/static/images/standalone-chd-1.png\" target=\"_blank\"><img src=\"/static/images/standalone-chd-1.png\" alt=\"standalone-chd-1\" /></a>\n\n**2** - You can give your integration a name to identify it. We will support multiple different connections later (e.g. for multiple different sub-brands you may have)\n\nPlease note that \"Channel type\" is currently static with the value \"Fin messenger\". We will support other channel types at a later time.\n\nMake note of the *Identifier* value you are given here. This is the identifer you must use in your webhooks back to the Fin system.\n\n**3** - Configure your API endpoint URLs. What these endpoints are for and the request/response format is described in the rest of these docs.\n\n<a href=\"/static/images/standalone-chd-3.png\" target=\"_blank\"><img src=\"/static/images/standalone-chd-3.png\" alt=\"standalone-chd-3\" /></a>\n\n**4** - Set up authentication for your endpoints. By default we use OAuth for this. Choose the \"OAuth token settings\" option and configure the OAuth connection with your server.\n\nNote, you may allowlist Intercom's IP address ranges — see [Intercom IP addresses](/docs/build-an-integration/learn-more/ip-allowlisting/).\n\n<a href=\"/static/images/standalone-chd-4.png\" target=\"_blank\"><img src=\"/static/images/standalone-chd-4.png\" alt=\"standalone-chd-4\" /></a>\n\n<a href=\"/static/images/standalone-chd-5.png\" target=\"_blank\"><img src=\"/static/images/standalone-chd-5.png\" alt=\"standalone-chd-5\" /></a>\n\n**5** - Note the webhook secret generated for you. This must be provided in the X-Webhook-Key header in webhook requests to the Fin system.\n\n<a href=\"/static/images/standalone-chd-6.png\" target=\"_blank\"><img src=\"/static/images/standalone-chd-6.png\" alt=\"standalone-chd-6\" /></a>\n\n**6** - Choose a agent from your system to attribute Fin's replies to.\n\nWhen Fin generate a response for the customer, we will use the ID of the agent chosen here when creating messages in your system.\n\n<a href=\"/static/images/standalone-chd-7.png\" target=\"_blank\"><img src=\"/static/images/standalone-chd-7.png\" alt=\"standalone-chd-7\" /></a>\n\n**7** - Finally, when you've configured your workflow and installed the Fin Messenger you're ready to activate Fin.\n\n<a href=\"/static/images/standalone-chd-8.png\" target=\"_blank\"><img src=\"/static/images/standalone-chd-8.png\" alt=\"standalone-chd-8\" /></a>\n"}},"baseSlug":"/docs/guides/fin-custom-helpdesk/api-posts-only","routesMapping":{}}