Open Connectivity for Tours, Activities, and Attractions OCTO API Specification
OCTO (Open Connectivity for Tours, Activities, and Attractions) is an open standard API specification for the in-destination experiences sector of the travel industry. The standard defines agreed-upon schemas, endpoints, and capabilities commonly needed when connecting platforms, resellers, OTAs, and other technologies in tours, activities, and attractions. OCTO is open source. Available to anyone who wants to use it. You do not need to be a member to use this specification in your business.
naftiko: 1.0.0-alpha2
info:
label: Open Connectivity for Tours, Activities, and Attractions OCTO API Specification
description: OCTO (Open Connectivity for Tours, Activities, and Attractions) is an open standard API specification for the
in-destination experiences sector of the travel industry. The standard defines agreed-upon schemas, endpoints, and capabilities
commonly needed when connecting platforms, resellers, OTAs, and other technologies in tours, activities, and attractions.
OCTO is open source. Available to anyone who wants to use it. You do not need to be a member to use this specification
in your business.
tags:
- Octo
- API
created: '2026-05-06'
modified: '2026-05-06'
capability:
consumes:
- type: http
namespace: octo
baseUri: https://api.example.com/octo
description: Open Connectivity for Tours, Activities, and Attractions OCTO API Specification HTTP API.
authentication:
type: bearer
token: '{{OCTO_TOKEN}}'
resources:
- name: supplier
path: /supplier
operations:
- name: get-supplier
method: GET
description: Open Connectivity for Tours, Activities, and Attractions Get Supplier
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: products
path: /products
operations:
- name: get-products
method: GET
description: Open Connectivity for Tours, Activities, and Attractions Get Products
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: products-id
path: /products/{id}
operations:
- name: get-products-id
method: GET
description: Open Connectivity for Tours, Activities, and Attractions Get Product
inputParameters:
- name: id
in: path
type: string
required: true
description: The product id
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: availability-calendar
path: /availability/calendar
operations:
- name: post-availability-calendar
method: POST
description: Open Connectivity for Tours, Activities, and Attractions Availability Calendar
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: availability
path: /availability
operations:
- name: post-availability
method: POST
description: Open Connectivity for Tours, Activities, and Attractions Availability Check
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: bookings
path: /bookings
operations:
- name: post-bookings
method: POST
description: Open Connectivity for Tours, Activities, and Attractions Booking Reservation
inputParameters:
- name: Content-Type
in: header
type: string
description: Required field on all POST requests
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: get-bookings
method: GET
description: Open Connectivity for Tours, Activities, and Attractions Get Bookings
inputParameters:
- name: resellerReference
in: query
type: string
description: The reseller reference on the booking
- name: supplierReference
in: query
type: string
description: The reference provided by the supplier
- name: localDate
in: query
type: string
description: All bookings made for a specific date
- name: localDateStart
in: query
type: string
description: First date of a date range search
- name: localDateEnd
in: query
type: string
description: Last date of a date range search
- name: productId
in: query
type: string
description: The product id to filter by
- name: optionId
in: query
type: string
description: The option id to filter by
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: bookings-uuid-confirm
path: /bookings/{uuid}/confirm
operations:
- name: post-bookings-uuid-confirm
method: POST
description: Open Connectivity for Tours, Activities, and Attractions Booking Confirmation
inputParameters:
- name: Content-Type
in: header
type: string
description: Required field on all POST requests
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: bookings-uuid-cancel
path: /bookings/{uuid}/cancel
operations:
- name: delete-bookings-uuid
method: POST
description: Open Connectivity for Tours, Activities, and Attractions Booking Cancellation
inputParameters:
- name: Content-Type
in: header
type: string
description: Required field on all DELETE requests
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: bookings-uuid
path: /bookings/{uuid}
operations:
- name: get-bookings-uuid
method: GET
description: Open Connectivity for Tours, Activities, and Attractions Get Booking
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: patch-bookings-uuid
method: PATCH
description: Open Connectivity for Tours, Activities, and Attractions Booking Update
inputParameters:
- name: Content-Type
in: header
type: string
description: Required field on all PATCH requests
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: bookings-uuid-extend
path: /bookings/{uuid}/extend
operations:
- name: post-bookings-uuid-extend
method: POST
description: Open Connectivity for Tours, Activities, and Attractions Extend Reservation
inputParameters:
- name: Content-Type
in: header
type: string
description: Required field on all POST requests
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
exposes:
- type: rest
port: 8080
namespace: octo-rest
description: REST adapter for Open Connectivity for Tours, Activities, and Attractions OCTO API Specification.
resources:
- path: /supplier
name: get-supplier
operations:
- method: GET
name: get-supplier
description: Open Connectivity for Tours, Activities, and Attractions Get Supplier
call: octo.get-supplier
outputParameters:
- type: object
mapping: $.
- path: /products
name: get-products
operations:
- method: GET
name: get-products
description: Open Connectivity for Tours, Activities, and Attractions Get Products
call: octo.get-products
outputParameters:
- type: object
mapping: $.
- path: /products/{id}
name: get-products-id
operations:
- method: GET
name: get-products-id
description: Open Connectivity for Tours, Activities, and Attractions Get Product
call: octo.get-products-id
with:
id: rest.id
outputParameters:
- type: object
mapping: $.
- path: /availability/calendar
name: post-availability-calendar
operations:
- method: POST
name: post-availability-calendar
description: Open Connectivity for Tours, Activities, and Attractions Availability Calendar
call: octo.post-availability-calendar
outputParameters:
- type: object
mapping: $.
- path: /availability
name: post-availability
operations:
- method: POST
name: post-availability
description: Open Connectivity for Tours, Activities, and Attractions Availability Check
call: octo.post-availability
outputParameters:
- type: object
mapping: $.
- path: /bookings
name: post-bookings
operations:
- method: POST
name: post-bookings
description: Open Connectivity for Tours, Activities, and Attractions Booking Reservation
call: octo.post-bookings
outputParameters:
- type: object
mapping: $.
- path: /bookings
name: get-bookings
operations:
- method: GET
name: get-bookings
description: Open Connectivity for Tours, Activities, and Attractions Get Bookings
call: octo.get-bookings
outputParameters:
- type: object
mapping: $.
- path: /bookings/{uuid}/confirm
name: post-bookings-uuid-confirm
operations:
- method: POST
name: post-bookings-uuid-confirm
description: Open Connectivity for Tours, Activities, and Attractions Booking Confirmation
call: octo.post-bookings-uuid-confirm
outputParameters:
- type: object
mapping: $.
- path: /bookings/{uuid}/cancel
name: delete-bookings-uuid
operations:
- method: POST
name: delete-bookings-uuid
description: Open Connectivity for Tours, Activities, and Attractions Booking Cancellation
call: octo.delete-bookings-uuid
outputParameters:
- type: object
mapping: $.
- path: /bookings/{uuid}
name: get-bookings-uuid
operations:
- method: GET
name: get-bookings-uuid
description: Open Connectivity for Tours, Activities, and Attractions Get Booking
call: octo.get-bookings-uuid
outputParameters:
- type: object
mapping: $.
- path: /bookings/{uuid}
name: patch-bookings-uuid
operations:
- method: PATCH
name: patch-bookings-uuid
description: Open Connectivity for Tours, Activities, and Attractions Booking Update
call: octo.patch-bookings-uuid
outputParameters:
- type: object
mapping: $.
- path: /bookings/{uuid}/extend
name: post-bookings-uuid-extend
operations:
- method: POST
name: post-bookings-uuid-extend
description: Open Connectivity for Tours, Activities, and Attractions Extend Reservation
call: octo.post-bookings-uuid-extend
outputParameters:
- type: object
mapping: $.
- type: mcp
port: 9090
namespace: octo-mcp
transport: http
description: MCP adapter for Open Connectivity for Tours, Activities, and Attractions OCTO API Specification for AI agent
use.
tools:
- name: get-supplier
description: Open Connectivity for Tours, Activities, and Attractions Get Supplier
hints:
readOnly: true
destructive: false
idempotent: true
call: octo.get-supplier
outputParameters:
- type: object
mapping: $.
- name: get-products
description: Open Connectivity for Tours, Activities, and Attractions Get Products
hints:
readOnly: true
destructive: false
idempotent: true
call: octo.get-products
outputParameters:
- type: object
mapping: $.
- name: get-products-id
description: Open Connectivity for Tours, Activities, and Attractions Get Product
hints:
readOnly: true
destructive: false
idempotent: true
call: octo.get-products-id
with:
id: tools.id
inputParameters:
- name: id
type: string
description: The product id
required: true
outputParameters:
- type: object
mapping: $.
- name: post-availability-calendar
description: Open Connectivity for Tours, Activities, and Attractions Availability Calendar
hints:
readOnly: false
destructive: false
idempotent: false
call: octo.post-availability-calendar
outputParameters:
- type: object
mapping: $.
- name: post-availability
description: Open Connectivity for Tours, Activities, and Attractions Availability Check
hints:
readOnly: false
destructive: false
idempotent: false
call: octo.post-availability
outputParameters:
- type: object
mapping: $.
- name: post-bookings
description: Open Connectivity for Tours, Activities, and Attractions Booking Reservation
hints:
readOnly: false
destructive: false
idempotent: false
call: octo.post-bookings
outputParameters:
- type: object
mapping: $.
- name: get-bookings
description: Open Connectivity for Tours, Activities, and Attractions Get Bookings
hints:
readOnly: true
destructive: false
idempotent: true
call: octo.get-bookings
with:
resellerReference: tools.resellerReference
supplierReference: tools.supplierReference
localDate: tools.localDate
localDateStart: tools.localDateStart
localDateEnd: tools.localDateEnd
productId: tools.productId
optionId: tools.optionId
inputParameters:
- name: resellerReference
type: string
description: The reseller reference on the booking
- name: supplierReference
type: string
description: The reference provided by the supplier
- name: localDate
type: string
description: All bookings made for a specific date
- name: localDateStart
type: string
description: First date of a date range search
- name: localDateEnd
type: string
description: Last date of a date range search
- name: productId
type: string
description: The product id to filter by
- name: optionId
type: string
description: The option id to filter by
outputParameters:
- type: object
mapping: $.
- name: post-bookings-uuid-confirm
description: Open Connectivity for Tours, Activities, and Attractions Booking Confirmation
hints:
readOnly: false
destructive: false
idempotent: false
call: octo.post-bookings-uuid-confirm
outputParameters:
- type: object
mapping: $.
- name: delete-bookings-uuid
description: Open Connectivity for Tours, Activities, and Attractions Booking Cancellation
hints:
readOnly: false
destructive: false
idempotent: false
call: octo.delete-bookings-uuid
outputParameters:
- type: object
mapping: $.
- name: get-bookings-uuid
description: Open Connectivity for Tours, Activities, and Attractions Get Booking
hints:
readOnly: true
destructive: false
idempotent: true
call: octo.get-bookings-uuid
outputParameters:
- type: object
mapping: $.
- name: patch-bookings-uuid
description: Open Connectivity for Tours, Activities, and Attractions Booking Update
hints:
readOnly: false
destructive: false
idempotent: false
call: octo.patch-bookings-uuid
outputParameters:
- type: object
mapping: $.
- name: post-bookings-uuid-extend
description: Open Connectivity for Tours, Activities, and Attractions Extend Reservation
hints:
readOnly: false
destructive: false
idempotent: false
call: octo.post-bookings-uuid-extend
outputParameters:
- type: object
mapping: $.
binds:
- namespace: env
keys:
OCTO_TOKEN: OCTO_TOKEN