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