AegeanBot Listings API

The Listings API from AegeanBot — 9 operation(s) for listings.

Operations 13

GET /api/listings My Listings #
GET /api/listings/{listing_id}/calendar Listing Calendar #
GET /api/listings/{listing_id}/pricing Get Pricing #
PUT /api/listings/{listing_id}/pricing Set Pricing #
GET /api/listings/{listing_id}/deposit Get Deposit Settings #
PUT /api/listings/{listing_id}/deposit Set Deposit Settings #
PUT /api/listings/{listing_id}/upsell-override Put Upsell Override #
GET /api/listings/{listing_id}/upsells Get Upsells #
PUT /api/listings/{listing_id}/upsells Set Upsells #
DELETE /api/listings/{listing_id} Remove Listing #
PUT /api/listings/{listing_id} Update Listing #
PUT /api/listings/{listing_id}/booking-url Set Booking Url #
PUT /api/listings/{listing_id}/channel-urls Set Channel Urls #

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-listings-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-listings-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: AegeanBot Listings API
  description: Guest concierge service · MCP docs at /mcp/docs
  version: 0.1.0
tags:
- name: Listings
paths:
  /api/listings:
    get:
      summary: My Listings
      operationId: my_listings_api_listings_get
      parameters:
      - name: authorization
        in: header
        required: false
        schema:
          type: string
          default: ''
          title: Authorization
      - name: X-As-Owner
        in: header
        required: false
        schema:
          type: string
          default: ''
          title: X-As-Owner
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      tags:
      - Listings
  /api/listings/{listing_id}/calendar:
    get:
      summary: Listing Calendar
      description: 'Exactly what the bot knows about this listing from the PG backend:

        availability (calendar blocks / live PMS reservations) + price per day

        (PMS rates table when available, flat nightly rate otherwise).'
      operationId: listing_calendar_api_listings__listing_id__calendar_get
      parameters:
      - name: listing_id
        in: path
        required: true
        schema:
          type: string
          title: Listing Id
      - name: days
        in: query
        required: false
        schema:
          type: integer
          default: 92
          title: Days
      - name: authorization
        in: header
        required: false
        schema:
          type: string
          default: ''
          title: Authorization
      - name: X-As-Owner
        in: header
        required: false
        schema:
          type: string
          default: ''
          title: X-As-Owner
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      tags:
      - Listings
  /api/listings/{listing_id}/pricing:
    get:
      summary: Get Pricing
      description: 'The host''s monthly fallback pricing table — all 12 months, defaults

        where nothing is saved yet.'
      operationId: get_pricing_api_listings__listing_id__pricing_get
      parameters:
      - name: listing_id
        in: path
        required: true
        schema:
          type: string
          title: Listing Id
      - name: authorization
        in: header
        required: false
        schema:
          type: string
          default: ''
          title: Authorization
      - name: X-As-Owner
        in: header
        required: false
        schema:
          type: string
          default: ''
          title: X-As-Owner
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      tags:
      - Listings
    put:
      summary: Set Pricing
      operationId: set_pricing_api_listings__listing_id__pricing_put
      parameters:
      - name: listing_id
        in: path
        required: true
        schema:
          type: string
          title: Listing Id
      - name: authorization
        in: header
        required: false
        schema:
          type: string
          default: ''
          title: Authorization
      - name: X-As-Owner
        in: header
        required: false
        schema:
          type: string
          default: ''
          title: X-As-Owner
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PricingIn'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      tags:
      - Listings
  /api/listings/{listing_id}/deposit:
    get:
      summary: Get Deposit Settings
      operationId: get_deposit_settings_api_listings__listing_id__deposit_get
      parameters:
      - name: listing_id
        in: path
        required: true
        schema:
          type: string
          title: Listing Id
      - name: authorization
        in: header
        required: false
        schema:
          type: string
          default: ''
          title: Authorization
      - name: X-As-Owner
        in: header
        required: false
        schema:
          type: string
          default: ''
          title: X-As-Owner
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      tags:
      - Listings
    put:
      summary: Set Deposit Settings
      operationId: set_deposit_settings_api_listings__listing_id__deposit_put
      parameters:
      - name: listing_id
        in: path
        required: true
        schema:
          type: string
          title: Listing Id
      - name: authorization
        in: header
        required: false
        schema:
          type: string
          default: ''
          title: Authorization
      - name: X-As-Owner
        in: header
        required: false
        schema:
          type: string
          default: ''
          title: X-As-Owner
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DepositIn'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      tags:
      - Listings
  /api/listings/{listing_id}/upsell-override:
    put:
      summary: Put Upsell Override
      description: 'Per-listing customization of a GLOBAL extra: {upsell_id, active?, price?,

        reset?} — NULL=inherit; reset restores full inheritance.'
      operationId: put_upsell_override_api_listings__listing_id__upsell_override_put
      parameters:
      - name: listing_id
        in: path
        required: true
        schema:
          type: string
          title: Listing Id
      - name: authorization
        in: header
        required: false
        schema:
          type: string
          default: ''
          title: Authorization
      - name: X-As-Owner
        in: header
        required: false
        schema:
          type: string
          default: ''
          title: X-As-Owner
      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:
      - Listings
  /api/listings/{listing_id}/upsells:
    get:
      summary: Get Upsells
      operationId: get_upsells_api_listings__listing_id__upsells_get
      parameters:
      - name: listing_id
        in: path
        required: true
        schema:
          type: string
          title: Listing Id
      - name: authorization
        in: header
        required: false
        schema:
          type: string
          default: ''
          title: Authorization
      - name: X-As-Owner
        in: header
        required: false
        schema:
          type: string
          default: ''
          title: X-As-Owner
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      tags:
      - Listings
    put:
      summary: Set Upsells
      description: 'Save the listing''s add-ons and keep their reusable Stripe payment links

        in step (mint on create/change, deactivate on removal/disable).'
      operationId: set_upsells_api_listings__listing_id__upsells_put
      parameters:
      - name: listing_id
        in: path
        required: true
        schema:
          type: string
          title: Listing Id
      - name: authorization
        in: header
        required: false
        schema:
          type: string
          default: ''
          title: Authorization
      - name: X-As-Owner
        in: header
        required: false
        schema:
          type: string
          default: ''
          title: X-As-Owner
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpsellsIn'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      tags:
      - Listings
  /api/listings/{listing_id}:
    delete:
      summary: Remove Listing
      operationId: remove_listing_api_listings__listing_id__delete
      parameters:
      - name: listing_id
        in: path
        required: true
        schema:
          type: string
          title: Listing Id
      - name: authorization
        in: header
        required: false
        schema:
          type: string
          default: ''
          title: Authorization
      - name: X-As-Owner
        in: header
        required: false
        schema:
          type: string
          default: ''
          title: X-As-Owner
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      tags:
      - Listings
    put:
      summary: Update Listing
      description: 'Host edits listing content (description, amenities, location, photos,

        rental details). PMS-owned (pg:) listings are edited in their PMS.'
      operationId: update_listing_api_listings__listing_id__put
      parameters:
      - name: listing_id
        in: path
        required: true
        schema:
          type: string
          title: Listing Id
      - name: authorization
        in: header
        required: false
        schema:
          type: string
          default: ''
          title: Authorization
      - name: X-As-Owner
        in: header
        required: false
        schema:
          type: string
          default: ''
          title: X-As-Owner
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              additionalProperties: true
              title: Data
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      tags:
      - Listings
  /api/listings/{listing_id}/booking-url:
    put:
      summary: Set Booking Url
      operationId: set_booking_url_api_listings__listing_id__booking_url_put
      parameters:
      - name: listing_id
        in: path
        required: true
        schema:
          type: string
          title: Listing Id
      - name: authorization
        in: header
        required: false
        schema:
          type: string
          default: ''
          title: Authorization
      - name: X-As-Owner
        in: header
        required: false
        schema:
          type: string
          default: ''
          title: X-As-Owner
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BookingUrlIn'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      tags:
      - Listings
  /api/listings/{listing_id}/channel-urls:
    put:
      summary: Set Channel Urls
      description: OTA links the bot offers alongside book-direct (3 booking options).
      operationId: set_channel_urls_api_listings__listing_id__channel_urls_put
      parameters:
      - name: listing_id
        in: path
        required: true
        schema:
          type: string
          title: Listing Id
      - name: authorization
        in: header
        required: false
        schema:
          type: string
          default: ''
          title: Authorization
      - name: X-As-Owner
        in: header
        required: false
        schema:
          type: string
          default: ''
          title: X-As-Owner
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ChannelUrlsIn'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      tags:
      - Listings
components:
  schemas:
    PricingRuleIn:
      properties:
        month:
          type: integer
          title: Month
        is_open:
          type: boolean
          title: Is Open
          default: true
        min_stay:
          anyOf:
          - type: integer
          - type: 'null'
          title: Min Stay
        advance_notice_days:
          anyOf:
          - type: integer
          - type: 'null'
          title: Advance Notice Days
        base_price:
          anyOf:
          - type: number
          - type: 'null'
          title: Base Price
        min_price:
          anyOf:
          - type: number
          - type: 'null'
          title: Min Price
        max_price:
          anyOf:
          - type: number
          - type: 'null'
          title: Max Price
        ai_pricing:
          type: boolean
          title: Ai Pricing
          default: false
        bot_discount_pct:
          anyOf:
          - type: number
          - type: 'null'
          title: Bot Discount Pct
      type: object
      required:
      - month
      title: PricingRuleIn
    DepositIn:
      properties:
        take_deposit:
          type: boolean
          title: Take Deposit
      type: object
      required:
      - take_deposit
      title: DepositIn
    ChannelUrlsIn:
      properties:
        airbnb_url:
          type: string
          title: Airbnb Url
          default: ''
        booking_com_url:
          type: string
          title: Booking Com Url
          default: ''
      type: object
      title: ChannelUrlsIn
    PricingIn:
      properties:
        months:
          items:
            $ref: '#/components/schemas/PricingRuleIn'
          type: array
          title: Months
        cancellation_policy:
          anyOf:
          - type: string
          - type: 'null'
          title: Cancellation Policy
        always_use_fallback:
          anyOf:
          - type: boolean
          - type: 'null'
          title: Always Use Fallback
      type: object
      required:
      - months
      title: PricingIn
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    UpsellIn:
      properties:
        id:
          anyOf:
          - type: string
          - type: 'null'
          title: Id
        title:
          type: string
          title: Title
        description:
          type: string
          title: Description
          default: ''
        price:
          type: number
          title: Price
        unit:
          type: string
          title: Unit
          default: per_stay
        active:
          type: boolean
          title: Active
          default: true
      type: object
      required:
      - title
      - price
      title: UpsellIn
    UpsellsIn:
      properties:
        items:
          items:
            $ref: '#/components/schemas/UpsellIn'
          type: array
          title: Items
      type: object
      required:
      - items
      title: UpsellsIn
    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
    BookingUrlIn:
      properties:
        booking_url:
          type: string
          title: Booking Url
          default: ''
      type: object
      title: BookingUrlIn