Marriott International · Capability

Marriott Developer API

The Marriott Developer API provides programmatic access to Marriott International's hotel and property systems. The API enables integration with Marriott's Central Reservation System for property search, availability lookup, and booking management across Marriott's portfolio of hotel brands worldwide.

Run with Naftiko MarriottInternationalAPI

What You Can Do

GET
Searchproperties — Search properties
/properties
GET
Getproperty — Get property details
/properties/{propertyId}
GET
Checkavailability — Check room availability
/availability
POST
Createreservation — Create a reservation
/reservations
GET
Getreservation — Get reservation details
/reservations/{confirmationNumber}

MCP Tools

searchproperties

Search properties

read-only idempotent
getproperty

Get property details

read-only idempotent
checkavailability

Check room availability

read-only idempotent
createreservation

Create a reservation

getreservation

Get reservation details

read-only idempotent

Capability Spec

marriott-international-capability.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Marriott Developer API
  description: The Marriott Developer API provides programmatic access to Marriott International's hotel and property systems.
    The API enables integration with Marriott's Central Reservation System for property search, availability lookup, and booking
    management across Marriott's portfolio of hotel brands worldwide.
  tags:
  - Marriott
  - International
  - API
  created: '2026-05-06'
  modified: '2026-05-06'
capability:
  consumes:
  - type: http
    namespace: marriott-international
    baseUri: https://devportalprod.marriott.com
    description: Marriott Developer API HTTP API.
    authentication:
      type: bearer
      token: '{{MARRIOTT_INTERNATIONAL_TOKEN}}'
    resources:
    - name: properties
      path: /properties
      operations:
      - name: searchproperties
        method: GET
        description: Search properties
        inputParameters:
        - name: location
          in: query
          type: string
          description: City or geographic location to search.
        - name: brand
          in: query
          type: string
          description: Filter by Marriott brand code.
        - name: radius
          in: query
          type: number
          description: Search radius in miles.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: properties-propertyid
      path: /properties/{propertyId}
      operations:
      - name: getproperty
        method: GET
        description: Get property details
        inputParameters:
        - name: propertyId
          in: path
          type: string
          required: true
          description: The unique property identifier.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: availability
      path: /availability
      operations:
      - name: checkavailability
        method: GET
        description: Check room availability
        inputParameters:
        - name: propertyId
          in: query
          type: string
          required: true
          description: The unique property identifier.
        - name: checkIn
          in: query
          type: string
          required: true
          description: Check-in date.
        - name: checkOut
          in: query
          type: string
          required: true
          description: Check-out date.
        - name: guests
          in: query
          type: integer
          description: Number of guests.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: reservations
      path: /reservations
      operations:
      - name: createreservation
        method: POST
        description: Create a reservation
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: reservations-confirmationnumber
      path: /reservations/{confirmationNumber}
      operations:
      - name: getreservation
        method: GET
        description: Get reservation details
        inputParameters:
        - name: confirmationNumber
          in: path
          type: string
          required: true
          description: The reservation confirmation number.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
  exposes:
  - type: rest
    port: 8080
    namespace: marriott-international-rest
    description: REST adapter for Marriott Developer API.
    resources:
    - path: /properties
      name: searchproperties
      operations:
      - method: GET
        name: searchproperties
        description: Search properties
        call: marriott-international.searchproperties
        outputParameters:
        - type: object
          mapping: $.
    - path: /properties/{propertyId}
      name: getproperty
      operations:
      - method: GET
        name: getproperty
        description: Get property details
        call: marriott-international.getproperty
        with:
          propertyId: rest.propertyId
        outputParameters:
        - type: object
          mapping: $.
    - path: /availability
      name: checkavailability
      operations:
      - method: GET
        name: checkavailability
        description: Check room availability
        call: marriott-international.checkavailability
        outputParameters:
        - type: object
          mapping: $.
    - path: /reservations
      name: createreservation
      operations:
      - method: POST
        name: createreservation
        description: Create a reservation
        call: marriott-international.createreservation
        outputParameters:
        - type: object
          mapping: $.
    - path: /reservations/{confirmationNumber}
      name: getreservation
      operations:
      - method: GET
        name: getreservation
        description: Get reservation details
        call: marriott-international.getreservation
        with:
          confirmationNumber: rest.confirmationNumber
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    port: 9090
    namespace: marriott-international-mcp
    transport: http
    description: MCP adapter for Marriott Developer API for AI agent use.
    tools:
    - name: searchproperties
      description: Search properties
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: marriott-international.searchproperties
      with:
        location: tools.location
        brand: tools.brand
        radius: tools.radius
      inputParameters:
      - name: location
        type: string
        description: City or geographic location to search.
      - name: brand
        type: string
        description: Filter by Marriott brand code.
      - name: radius
        type: number
        description: Search radius in miles.
      outputParameters:
      - type: object
        mapping: $.
    - name: getproperty
      description: Get property details
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: marriott-international.getproperty
      with:
        propertyId: tools.propertyId
      inputParameters:
      - name: propertyId
        type: string
        description: The unique property identifier.
        required: true
      outputParameters:
      - type: object
        mapping: $.
    - name: checkavailability
      description: Check room availability
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: marriott-international.checkavailability
      with:
        propertyId: tools.propertyId
        checkIn: tools.checkIn
        checkOut: tools.checkOut
        guests: tools.guests
      inputParameters:
      - name: propertyId
        type: string
        description: The unique property identifier.
        required: true
      - name: checkIn
        type: string
        description: Check-in date.
        required: true
      - name: checkOut
        type: string
        description: Check-out date.
        required: true
      - name: guests
        type: integer
        description: Number of guests.
      outputParameters:
      - type: object
        mapping: $.
    - name: createreservation
      description: Create a reservation
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: marriott-international.createreservation
      outputParameters:
      - type: object
        mapping: $.
    - name: getreservation
      description: Get reservation details
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: marriott-international.getreservation
      with:
        confirmationNumber: tools.confirmationNumber
      inputParameters:
      - name: confirmationNumber
        type: string
        description: The reservation confirmation number.
        required: true
      outputParameters:
      - type: object
        mapping: $.
binds:
- namespace: env
  keys:
    MARRIOTT_INTERNATIONAL_TOKEN: MARRIOTT_INTERNATIONAL_TOKEN