openapi: 3.1.0 info: title: Inboxapp API version: '2026-10-20' description: 'GENERATED FROM DOCUMENTATION by API Evangelist on 2026-10-20: 35 operation(s) read from 3 public documentation page(s) (each operation names its page in x-source). This is not the provider''s published contract; Inboxapp has published no machine-readable contract that the pipeline could find. Engine: local.' x-evidence-tiers: code-example: 4 documentation: 31 pages-with-code: 1 pages-read: 3 x-generated-from: documentation x-provenance: generated x-authored-by: API Evangelist x-generated: '2026-10-20' x-generator: generate-contract-from-docs.py x-engine: local x-sources: - https://docs.inboxapp.com/v2/concepts.md - https://docs.inboxapp.com/v2/platforms.md - https://docs.inboxapp.com/v2/migrating-from-v1.md servers: - url: https://inboxapp.com paths: /account-links: get: operationId: get_account_links tags: - Account Links summary: Account links list x-source: https://docs.inboxapp.com/v2/migrating-from-v1.md responses: '200': description: Success (status as documented) x-evidence: kind: documentation /account-links/{accountlinkid}: get: operationId: get_account_links_accountlinkid tags: - Account Links summary: New endpoint to retrieve a specific account link. x-source: https://docs.inboxapp.com/v2/migrating-from-v1.md parameters: - name: accountlinkid in: path required: true schema: type: string responses: '200': description: Success (status as documented) x-evidence: kind: documentation /api/v1/threads/messages: post: operationId: post_api_v1_threads_messages tags: - Api summary: POST /api/v1/threads/messages x-source: https://docs.inboxapp.com/v2/migrating-from-v1.md requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/PostApiV1ThreadsMessagesRequest' responses: '201': description: Success (shape read from the example response on the page) content: application/json: schema: $ref: '#/components/schemas/PostApiV1ThreadsMessagesResponse' x-evidence: kind: code-example language: curl snippet: "curl -X POST \"https://inboxapp.com/api/v1/threads/messages\" -H \"Authorization: Bearer $INBOXAPP_API_TOKEN\" -H \"Content-Type:\ \ application/json\" -d '{\n \"accountLinkId\": \"df6jbw4h36qm5d9iu2sgn7kx\",\n \"externalPlatformId\": \"1876543210987654321\"\ ,\n \"content\": \"Thanks for the follow, happy to answer any questions.\"\n }'\n```" /api/v2/contacts: get: operationId: get_api_v2_contacts tags: - Api summary: GET /api/v2/contacts x-source: https://docs.inboxapp.com/v2/migrating-from-v1.md parameters: - name: platform in: query required: false schema: type: string - name: username in: query required: false schema: type: string responses: '200': description: Success (status as documented) x-evidence: kind: code-example language: curl snippet: 'curl "https://inboxapp.com/api/v2/contacts?platform=twitter&username=acmecorp" -H "Authorization: Bearer $INBOXAPP_API_TOKEN"' /api/v2/messages: post: operationId: post_api_v2_messages tags: - Api summary: POST /api/v2/messages x-source: https://docs.inboxapp.com/v2/migrating-from-v1.md requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/PostApiV2MessagesRequest' responses: '201': description: Success (shape read from the example response on the page) content: application/json: schema: $ref: '#/components/schemas/PostApiV2MessagesResponse' x-evidence: kind: code-example language: curl snippet: "curl -X POST \"https://inboxapp.com/api/v2/messages\" -H \"Authorization: Bearer $INBOXAPP_API_TOKEN\" -H \"Content-Type:\ \ application/json\" -H \"Idempotency-Key: 7f3c1d52-9a41-4a6e-8a55-0c1d2f6b9e10\" -d '{\n \"target\": {\n \"type\": \"profile\"\ ,\n \"accountLinkId\": \"df6jbw4h36qm5d9iu2sgn7kx\",\n \"platform\": \"twitter\",\n \"platformId\": \"1876543210987654321\"\ \n },\n \"content\": \"Thanks for" /api/v2/threads: get: operationId: get_api_v2_threads tags: - Api summary: GET /api/v2/threads x-source: https://docs.inboxapp.com/v2/migrating-from-v1.md parameters: - name: contactId in: query required: false schema: type: string - name: expand in: query required: false schema: type: string - name: folder in: query required: false schema: type: string responses: '200': description: Success (status as documented) x-evidence: kind: code-example language: curl snippet: 'curl "https://inboxapp.com/api/v2/threads?contactId=nq2r8v5ycx1t7m4hj6kd3wzb&folder=all&expand=profile" -H "Authorization: Bearer $INBOXAPP_API_TOKEN" ```' /colors: get: operationId: get_colors tags: - Colors summary: List colors for tags and statuses. x-source: https://docs.inboxapp.com/v2/migrating-from-v1.md responses: '200': description: Success (status as documented) x-evidence: kind: documentation /contacts: get: operationId: get_contacts tags: - Contacts summary: GET /contacts returns a collection of contacts. x-source: https://docs.inboxapp.com/v2/concepts.md parameters: - name: platform in: query required: false schema: type: string description: Filter contacts by platform name. - name: platformId in: query required: false schema: type: string description: Filter contacts by the platform‑specific identifier. - name: cursor in: query required: false schema: type: string description: Pagination cursor returned from a previous request. - name: limit in: query required: false schema: type: string description: Maximum number of items to return (default 50, max 100). responses: '200': description: Success (status as documented) content: application/json: schema: $ref: '#/components/schemas/GetContactsResponse' x-evidence: kind: documentation /contacts/{contactid}: patch: operationId: patch_contacts_contactid tags: - Contacts summary: Update a contact's context (e.g., status). x-source: https://docs.inboxapp.com/v2/migrating-from-v1.md parameters: - name: contactid in: path required: true schema: type: string responses: '200': description: Success (status as documented) x-evidence: kind: documentation /contacts/{contactid}/tags/{tagref}: delete: operationId: delete_contacts_contactid_tags_tagref tags: - Contacts summary: Remove a tag from a contact. x-source: https://docs.inboxapp.com/v2/migrating-from-v1.md parameters: - name: contactid in: path required: true schema: type: string - name: tagref in: path required: true schema: type: string responses: '200': description: Success (status as documented) x-evidence: kind: documentation /events: get: operationId: get_events tags: - Events summary: Retrieve events (paginated). x-source: https://docs.inboxapp.com/v2/migrating-from-v1.md responses: '200': description: Success (status as documented) x-evidence: kind: documentation /members: get: operationId: get_members tags: - Members summary: Members list x-source: https://docs.inboxapp.com/v2/migrating-from-v1.md responses: '200': description: Success (status as documented) x-evidence: kind: documentation /members/{memberid}: get: operationId: get_members_memberid tags: - Members summary: Member detail x-source: https://docs.inboxapp.com/v2/migrating-from-v1.md parameters: - name: memberid in: path required: true schema: type: string responses: '200': description: Success (status as documented) x-evidence: kind: documentation /messages: post: operationId: post_messages tags: - Messages summary: POST /messages sends a new message in a thread. x-source: https://docs.inboxapp.com/v2/concepts.md parameters: - name: Idempotency-Key in: header required: false schema: type: string description: Optional key to make the request idempotent. responses: '201': description: Success (status as documented) content: application/json: schema: $ref: '#/components/schemas/PostMessagesResponse' x-evidence: kind: documentation /messages/{messageid}: delete: operationId: delete_messages_messageid tags: - Messages summary: Deletes a message; scope is required x-source: https://docs.inboxapp.com/v2/migrating-from-v1.md parameters: - name: messageid in: path required: true schema: type: string - name: scope in: query required: true schema: type: string description: Either "self" or "all" responses: '200': description: Success (status as documented) x-evidence: kind: documentation get: operationId: get_messages_messageid tags: - Messages summary: Retrieves a message x-source: https://docs.inboxapp.com/v2/migrating-from-v1.md parameters: - name: messageid in: path required: true schema: type: string responses: '200': description: Success (status as documented) x-evidence: kind: documentation patch: operationId: patch_messages_messageid tags: - Messages summary: Returns the message x-source: https://docs.inboxapp.com/v2/migrating-from-v1.md parameters: - name: messageid in: path required: true schema: type: string responses: '200': description: Success (status as documented) x-evidence: kind: documentation /messages/{messageid}/attachments/{index}: get: operationId: get_messages_messageid_attachments_index tags: - Messages summary: Returns a fresh URL for a media attachment x-source: https://docs.inboxapp.com/v2/migrating-from-v1.md parameters: - name: messageid in: path required: true schema: type: string - name: index in: path required: true schema: type: string responses: '200': description: Success (status as documented) x-evidence: kind: documentation /messages/{messageid}/history: get: operationId: get_messages_messageid_history tags: - Messages summary: Gets edit history of a message x-source: https://docs.inboxapp.com/v2/migrating-from-v1.md parameters: - name: messageid in: path required: true schema: type: string responses: '200': description: Success (status as documented) x-evidence: kind: documentation /messages/{messageid}/reactions: delete: operationId: delete_messages_messageid_reactions tags: - Messages summary: Reactions x-source: https://docs.inboxapp.com/v2/migrating-from-v1.md parameters: - name: messageid in: path required: true schema: type: string - name: emoji in: query required: true schema: type: string responses: '200': description: Success (status as documented) content: application/json: schema: $ref: '#/components/schemas/DeleteMessagesMessageidReactionsResponse' x-evidence: kind: documentation post: operationId: post_messages_messageid_reactions tags: - Messages summary: Reactions x-source: https://docs.inboxapp.com/v2/migrating-from-v1.md parameters: - name: messageid in: path required: true schema: type: string responses: '201': description: Success (status as documented) content: application/json: schema: $ref: '#/components/schemas/PostMessagesMessageidReactionsResponse' x-evidence: kind: documentation /platforms: get: operationId: get_platforms tags: - Platforms summary: GET /platforms lists the platforms available to your team, with their capabilities and limits. x-source: https://docs.inboxapp.com/v2/concepts.md parameters: - name: cursor in: query required: false schema: type: string description: Pagination cursor. - name: limit in: query required: false schema: type: string description: Maximum number of items to return. responses: '200': description: Success (status as documented) content: application/json: schema: $ref: '#/components/schemas/GetPlatformsResponse' x-evidence: kind: documentation /statuses: get: operationId: get_statuses tags: - Statuses summary: List statuses (paginated). x-source: https://docs.inboxapp.com/v2/migrating-from-v1.md responses: '200': description: Success (status as documented) x-evidence: kind: documentation /statuses/colors: get: operationId: get_statuses_colors tags: - Statuses summary: List status colors. x-source: https://docs.inboxapp.com/v2/migrating-from-v1.md responses: '200': description: Success (status as documented) x-evidence: kind: documentation /tags: get: operationId: get_tags tags: - Tags summary: List tags (paginated). x-source: https://docs.inboxapp.com/v2/migrating-from-v1.md responses: '200': description: Success (status as documented) x-evidence: kind: documentation /tags/colors: get: operationId: get_tags_colors tags: - Tags summary: List tag colors. x-source: https://docs.inboxapp.com/v2/migrating-from-v1.md responses: '200': description: Success (status as documented) x-evidence: kind: documentation /team: get: operationId: get_team tags: - Team summary: Team endpoint x-source: https://docs.inboxapp.com/v2/migrating-from-v1.md responses: '200': description: Success (status as documented) x-evidence: kind: documentation /threads: get: operationId: get_threads tags: - Threads summary: GET /threads returns a collection of threads. x-source: https://docs.inboxapp.com/v2/concepts.md parameters: - name: expand in: query required: false schema: type: string description: Embed related resources (e.g., contact, profile). Repeatable up to 4 times. - name: cursor in: query required: false schema: type: string description: Pagination cursor. - name: limit in: query required: false schema: type: string description: Maximum number of items to return. responses: '200': description: Success (status as documented) content: application/json: schema: $ref: '#/components/schemas/GetThreadsResponse' x-evidence: kind: documentation /threads/messages: post: operationId: post_threads_messages tags: - Threads summary: Quick send x-source: https://docs.inboxapp.com/v2/migrating-from-v1.md requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/PostThreadsMessagesRequest' responses: '201': description: Success (status as documented) content: application/json: schema: $ref: '#/components/schemas/PostThreadsMessagesResponse' x-evidence: kind: documentation /threads/{threadid}: delete: operationId: delete_threads_threadid tags: - Threads summary: Delete a thread; returns {scope}. x-source: https://docs.inboxapp.com/v2/migrating-from-v1.md parameters: - name: threadid in: path required: true schema: type: string responses: '200': description: Success (status as documented) x-evidence: kind: documentation get: operationId: get_threads_threadid tags: - Threads summary: Retrieve a specific thread. x-source: https://docs.inboxapp.com/v2/migrating-from-v1.md parameters: - name: threadid in: path required: true schema: type: string responses: '200': description: Success (status as documented) x-evidence: kind: documentation patch: operationId: patch_threads_threadid tags: - Threads summary: Update a thread (archived, unread, typingIndicators, assigneeId). x-source: https://docs.inboxapp.com/v2/migrating-from-v1.md parameters: - name: threadid in: path required: true schema: type: string responses: '200': description: Success (status as documented) x-evidence: kind: documentation /threads/{threadid}/messages: get: operationId: get_threads_threadid_messages tags: - Threads summary: List messages in a thread; returns {data, nextCursor}. x-source: https://docs.inboxapp.com/v2/migrating-from-v1.md parameters: - name: threadid in: path required: true schema: type: string responses: '200': description: Success (status as documented) x-evidence: kind: documentation /threads/{threadid}/settings: patch: operationId: patch_threads_threadid_settings tags: - Threads summary: Update thread settings; typingIndicatorsEnabled becomes typingIndicators. x-source: https://docs.inboxapp.com/v2/migrating-from-v1.md parameters: - name: threadid in: path required: true schema: type: string responses: '200': description: Success (status as documented) x-evidence: kind: documentation /threads/{threadid}/typing: post: operationId: post_threads_threadid_typing tags: - Threads summary: Send typing indicator; returns 202 with {status, reason}. x-source: https://docs.inboxapp.com/v2/migrating-from-v1.md parameters: - name: threadid in: path required: true schema: type: string responses: '201': description: Success (status as documented) x-evidence: kind: documentation components: schemas: PostApiV1ThreadsMessagesRequest: type: object properties: accountLinkId: type: string externalPlatformId: type: string content: type: string PostApiV1ThreadsMessagesResponse: type: object properties: type: type: string threadId: type: string PostApiV2MessagesRequest: type: object properties: target: type: object properties: type: type: string accountLinkId: type: string platform: type: string platformId: type: string content: type: string PostApiV2MessagesResponse: type: object properties: type: type: string threadId: type: string GetContactsResponse: type: object properties: data: type: array description: Array of contact objects. nextCursor: type: string description: Cursor for the next page, null when there are no more pages. PostMessagesResponse: type: object properties: id: type: string description: The ID of the created message. threadId: type: string description: The ID of the thread the message belongs to. content: type: string description: The message content. createdAt: type: string description: Timestamp when the message was created. DeleteMessagesMessageidReactionsResponse: type: object properties: reactions: type: array description: The message's reactions PostMessagesMessageidReactionsResponse: type: object properties: reactions: type: array description: The message's reactions GetPlatformsResponse: type: object properties: data: type: array description: Array of platform objects. nextCursor: type: string description: Cursor for the next page. GetThreadsResponse: type: object properties: data: type: array description: Array of thread objects. nextCursor: type: string description: Cursor for the next page. PostThreadsMessagesRequest: type: object properties: accountLinkId: type: string externalPlatformId: type: string content: type: string required: - accountLinkId - externalPlatformId - content PostThreadsMessagesResponse: type: object properties: message: type: object thread: type: object securitySchemes: bearer: type: http scheme: bearer security: - bearer: [] tags: - name: Account Links - name: Api - name: Colors - name: Contacts - name: Events - name: Members - name: Messages - name: Platforms - name: Statuses - name: Tags - name: Team - name: Threads