AegeanBot Inbox API

The Inbox API from AegeanBot — 22 operation(s) for inbox.

Operations 23

GET /inbox/escalations Inbox Escalations #
GET /inbox Inbox #
GET /inbox/{thread_id} Inbox Thread #
POST /inbox/{thread_id}/channex-sync Inbox Channex Sync #
POST /inbox/{thread_id}/whatsapp-sync Inbox Whatsapp Sync #
POST /inbox/{thread_id}/attachments Inbox Attachment Upload #
POST /inbox/{thread_id}/reply Inbox Reply #
POST /inbox/{thread_id}/schedule Inbox Schedule Reply #
GET /inbox/{thread_id}/scheduled Inbox Scheduled Replies #
DELETE /inbox/scheduled/{sid} Inbox Cancel Scheduled #
POST /inbox/{thread_id}/whatsapp-template Inbox Whatsapp Template #
GET /inbox/{thread_id}/suggestions Thread Suggestions #
POST /inbox/suggestions/{sid}/send Send Suggestion #
POST /inbox/suggestions/{sid}/dismiss Dismiss Suggestion #
GET /inbox/ai/settings Get Ai Settings #
POST /inbox/ai/settings Set Ai Settings #
GET /inbox/templates/list List Reply Templates #
POST /inbox/templates Save Reply Template #
DELETE /inbox/templates/{template_id} Delete Reply Template #
POST /inbox/bot-sync Inbox Bot Sync #
POST /inbox/escalate Inbox Escalate #
POST /inbox/lead-notify Inbox Lead Notify #
POST /inbox/email-sync Inbox Email Sync #

Specifications

Schemas & Data

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/aegeanbot-com:aegeanbot-com-inbox-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

aegeanbot-com-inbox-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Whitelabel PMS Inbox API
  version: 0.1.0
tags:
- name: Inbox
paths:
  /inbox/escalations:
    get:
      summary: Inbox Escalations
      description: Questions the bot couldn't answer — replying teaches the bot (knowledge).
      operationId: inbox_escalations_inbox_escalations_get
      parameters:
      - name: authorization
        in: header
        required: false
        schema:
          type: string
          default: ''
          title: Authorization
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      tags:
      - Inbox
  /inbox:
    get:
      summary: Inbox
      description: All OTA, direct-email/chat, SMS and WhatsApp threads, newest first.
      operationId: inbox_inbox_get
      parameters:
      - name: authorization
        in: header
        required: false
        schema:
          type: string
          default: ''
          title: Authorization
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      tags:
      - Inbox
  /inbox/{thread_id}:
    get:
      summary: Inbox Thread
      operationId: inbox_thread_inbox__thread_id__get
      parameters:
      - name: thread_id
        in: path
        required: true
        schema:
          type: string
          title: Thread Id
      - name: authorization
        in: header
        required: false
        schema:
          type: string
          default: ''
          title: Authorization
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      tags:
      - Inbox
  /inbox/{thread_id}/channex-sync:
    post:
      summary: Inbox Channex Sync
      description: 'Refresh one authorised OTA conversation, including old attachments.


        Historical message counts are often unchanged, so the account-wide delta

        poll cannot know which stored messages once contained media. Opening a

        thread re-reads only that thread; no outbound guest message is sent.'
      operationId: inbox_channex_sync_inbox__thread_id__channex_sync_post
      parameters:
      - name: thread_id
        in: path
        required: true
        schema:
          type: string
          title: Thread Id
      - name: authorization
        in: header
        required: false
        schema:
          type: string
          default: ''
          title: Authorization
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      tags:
      - Inbox
  /inbox/{thread_id}/whatsapp-sync:
    post:
      summary: Inbox Whatsapp Sync
      description: Backfill the latest WATI history for an existing authorised thread.
      operationId: inbox_whatsapp_sync_inbox__thread_id__whatsapp_sync_post
      parameters:
      - name: thread_id
        in: path
        required: true
        schema:
          type: string
          title: Thread Id
      - name: authorization
        in: header
        required: false
        schema:
          type: string
          default: ''
          title: Authorization
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      tags:
      - Inbox
  /inbox/{thread_id}/attachments:
    post:
      summary: Inbox Attachment Upload
      description: A photo for the next reply (already resized in the browser).
      operationId: inbox_attachment_upload_inbox__thread_id__attachments_post
      parameters:
      - name: thread_id
        in: path
        required: true
        schema:
          type: string
          title: Thread Id
      - name: authorization
        in: header
        required: false
        schema:
          type: string
          default: ''
          title: Authorization
      requestBody:
        required: true
        content:
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/Body_inbox_attachment_upload_inbox__thread_id__attachments_post'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      tags:
      - Inbox
  /inbox/{thread_id}/reply:
    post:
      summary: Inbox Reply
      operationId: inbox_reply_inbox__thread_id__reply_post
      parameters:
      - name: thread_id
        in: path
        required: true
        schema:
          type: string
          title: Thread Id
      - name: authorization
        in: header
        required: false
        schema:
          type: string
          default: ''
          title: Authorization
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              additionalProperties: true
              title: Body
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      tags:
      - Inbox
  /inbox/{thread_id}/schedule:
    post:
      summary: Inbox Schedule Reply
      operationId: inbox_schedule_reply_inbox__thread_id__schedule_post
      parameters:
      - name: thread_id
        in: path
        required: true
        schema:
          type: string
          title: Thread Id
      - name: authorization
        in: header
        required: false
        schema:
          type: string
          default: ''
          title: Authorization
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              additionalProperties: true
              title: Body
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      tags:
      - Inbox
  /inbox/{thread_id}/scheduled:
    get:
      summary: Inbox Scheduled Replies
      operationId: inbox_scheduled_replies_inbox__thread_id__scheduled_get
      parameters:
      - name: thread_id
        in: path
        required: true
        schema:
          type: string
          title: Thread Id
      - name: authorization
        in: header
        required: false
        schema:
          type: string
          default: ''
          title: Authorization
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      tags:
      - Inbox
  /inbox/scheduled/{sid}:
    delete:
      summary: Inbox Cancel Scheduled
      operationId: inbox_cancel_scheduled_inbox_scheduled__sid__delete
      parameters:
      - name: sid
        in: path
        required: true
        schema:
          type: string
          title: Sid
      - name: authorization
        in: header
        required: false
        schema:
          type: string
          default: ''
          title: Authorization
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      tags:
      - Inbox
  /inbox/{thread_id}/whatsapp-template:
    post:
      summary: Inbox Whatsapp Template
      description: Start/reopen WhatsApp using an approved WATI template.
      operationId: inbox_whatsapp_template_inbox__thread_id__whatsapp_template_post
      parameters:
      - name: thread_id
        in: path
        required: true
        schema:
          type: string
          title: Thread Id
      - name: authorization
        in: header
        required: false
        schema:
          type: string
          default: ''
          title: Authorization
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              additionalProperties: true
              title: Body
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      tags:
      - Inbox
  /inbox/{thread_id}/suggestions:
    get:
      summary: Thread Suggestions
      operationId: thread_suggestions_inbox__thread_id__suggestions_get
      parameters:
      - name: thread_id
        in: path
        required: true
        schema:
          type: string
          title: Thread Id
      - name: all
        in: query
        required: false
        schema:
          type: integer
          default: 0
          title: All
      - name: authorization
        in: header
        required: false
        schema:
          type: string
          default: ''
          title: Authorization
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      tags:
      - Inbox
  /inbox/suggestions/{sid}/send:
    post:
      summary: Send Suggestion
      description: 'Approve-send: same delivery path as /inbox/{thread_id}/reply. Edited

        text is recorded as sent_edited. Amendment actions execute through the

        deterministic engine first; the send is blocked rather than shipping a

        dead or unvalidated payment placeholder.'
      operationId: send_suggestion_inbox_suggestions__sid__send_post
      parameters:
      - name: sid
        in: path
        required: true
        schema:
          type: string
          title: Sid
      - name: authorization
        in: header
        required: false
        schema:
          type: string
          default: ''
          title: Authorization
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              additionalProperties: true
              title: Body
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      tags:
      - Inbox
  /inbox/suggestions/{sid}/dismiss:
    post:
      summary: Dismiss Suggestion
      operationId: dismiss_suggestion_inbox_suggestions__sid__dismiss_post
      parameters:
      - name: sid
        in: path
        required: true
        schema:
          type: string
          title: Sid
      - name: authorization
        in: header
        required: false
        schema:
          type: string
          default: ''
          title: Authorization
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      tags:
      - Inbox
  /inbox/ai/settings:
    get:
      summary: Get Ai Settings
      operationId: get_ai_settings_inbox_ai_settings_get
      parameters:
      - name: authorization
        in: header
        required: false
        schema:
          type: string
          default: ''
          title: Authorization
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      tags:
      - Inbox
    post:
      summary: Set Ai Settings
      operationId: set_ai_settings_inbox_ai_settings_post
      parameters:
      - name: authorization
        in: header
        required: false
        schema:
          type: string
          default: ''
          title: Authorization
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              additionalProperties: true
              title: Body
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      tags:
      - Inbox
  /inbox/templates/list:
    get:
      summary: List Reply Templates
      description: 'Saved replies for the inbox. Path has a static suffix so it can never

        shadow GET /inbox/{thread_id}.'
      operationId: list_reply_templates_inbox_templates_list_get
      parameters:
      - name: authorization
        in: header
        required: false
        schema:
          type: string
          default: ''
          title: Authorization
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      tags:
      - Inbox
  /inbox/templates:
    post:
      summary: Save Reply Template
      operationId: save_reply_template_inbox_templates_post
      parameters:
      - name: authorization
        in: header
        required: false
        schema:
          type: string
          default: ''
          title: Authorization
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              additionalProperties: true
              title: Body
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      tags:
      - Inbox
  /inbox/templates/{template_id}:
    delete:
      summary: Delete Reply Template
      operationId: delete_reply_template_inbox_templates__template_id__delete
      parameters:
      - name: template_id
        in: path
        required: true
        schema:
          type: string
          title: Template Id
      - name: authorization
        in: header
        required: false
        schema:
          type: string
          default: ''
          title: Authorization
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      tags:
      - Inbox
  /inbox/bot-sync:
    post:
      summary: Inbox Bot Sync
      description: 'Bot → PMS transcript sync (INBOX_BOT_THREADS scope rule: ONLY sessions tied

        to a reservation). Idempotent message ids bot::; re-syncs are no-ops.

        A sync arriving AFTER an owner reply means the guest reopened the chat -> flip

        that reply''s in-chat state to ''seen''.'
      operationId: inbox_bot_sync_inbox_bot_sync_post
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
      tags:
      - Inbox
  /inbox/escalate:
    post:
      summary: Inbox Escalate
      description: 'Chat ''talk to a human'' → esc: inbox thread + operator notification.

        No reservation required — guest identity lives on the thread (migration 035);

        bot_uid keeps the ORIGINAL tenant for session write-backs (''aegean'' sessions

        get an ops-owned thread but the widget session stays under uid=''aegean'').'
      operationId: inbox_escalate_inbox_escalate_post
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
      tags:
      - Inbox
  /inbox/lead-notify:
    post:
      summary: Inbox Lead Notify
      description: 'Escalation fallback: the guest left contact details → the bot saved the

        lead row itself; this notifies the responsible team.'
      operationId: inbox_lead_notify_inbox_lead_notify_post
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
      tags:
      - Inbox
  /inbox/email-sync:
    post:
      summary: Inbox Email Sync
      description: 'n8n → PMS: mirror one leg of a direct reservation''s Gmail exchange into

        its bot: thread (EMAIL-INBOX spec Phase 1). Storage only; idempotent on the

        Gmail message id. Outbound comms-center sends report here after the Gmail

        node; inbound guest emails arrive via brains.route_inbound instead.'
      operationId: inbox_email_sync_inbox_email_sync_post
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
      tags:
      - Inbox
components:
  schemas:
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
            - type: string
            - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
        input:
          title: Input
        ctx:
          type: object
          title: Context
      type: object
      required:
      - loc
      - msg
      - type
      title: ValidationError
    Body_inbox_attachment_upload_inbox__thread_id__attachments_post:
      properties:
        file:
          type: string
          contentMediaType: application/octet-stream
          title: File
      type: object
      required:
      - file
      title: Body_inbox_attachment_upload_inbox__thread_id__attachments_post