openapi: 3.0.0

info:
  title: Partner Api
  description: This GetYourGuide Partner API provides access to GetYourGuide’s marketplace for tours and activities. It has a RESTful interface and uses the JSON media format. Access is secured via SSL and an API access token. Further documentation can be found in the public GitHub repository linked below. Do not forget to also check out the GitHub wiki for some more extensive guides.
  version: 1.0.0
  contact:
    name: Partner Tech
    url: https://partner.getyourguide.com/
  license:
    name: Apache License, Version 2.0
    url: https://github.com/getyourguide/partner-api-spec/blob/main/LICENSE

externalDocs:
  description: Further Documentation, additional resources and best practices
  url: https://github.com/getyourguide/partner-api-spec

servers:
  - url: https://api.getyourguide.com
    description: Production
  - url: https://api.gygtest.net
    description: Testing

components:
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: X-ACCESS-TOKEN

security:
  - ApiKeyAuth: []

paths:
  # Configuration
  /configuration/{version}:
    $ref: "./paths/configuration.yaml#/paths/~1configuration~1{version}"
  /{version}/configuration/payment:
    $ref: "./paths/configuration.yaml#/paths/~1{version}~1configuration~1payment"
  # Bookings
  /{version}/bookings:
    $ref: "./paths/bookings.yaml#/paths/~1{version}~1bookings"
  /{version}/bookings/{booking_hash}:
    $ref: "./paths/bookings.yaml#/paths/~1{version}~1bookings~1{booking_hash}"
  # Carts
  /{version}/carts:
    $ref: "./paths/carts.yaml#/paths/~1{version}~1carts"
  /{version}/carts/{shopping_cart_hash}:
    $ref: "./paths/carts.yaml#/paths/~1{version}~1carts~1{shopping_cart_hash}"
  # Categories
  /{version}/categories:
    $ref: "./paths/categories.yaml#/paths/~1{version}~1categories"
  /{version}/categories/{category_id}:
    $ref: "./paths/categories.yaml#/paths/~1{version}~1categories~1{category_id}"
  # Options
  /{version}/options/{option_id}:
    $ref: "./paths/options.yaml#/paths/~1{version}~1options~1{option_id}"
  # Reviews
  /{version}/reviews/tour/{tour_id}:
    $ref: "./paths/reviews.yaml#/paths/~1{version}~1reviews~1tour~1{tour_id}"
  # Suppliers
  /{version}/suppliers/{supplier_id}:
    $ref: "./paths/suppliers.yaml#/paths/~1{version}~1suppliers~1{supplier_id}"
  # Tours
  /{version}/tours:
    $ref: "./paths/tours.yaml#/paths/~1{version}~1tours"
  /{version}/tours/{tour_id}:
    $ref: "./paths/tours.yaml#/paths/~1{version}~1tours~1{tour_id}"
  /{version}/tours/{tour_id}/availability:
    $ref: "./paths/tours.yaml#/paths/~1{version}~1tours~1{tour_id}~1availability"
  /{version}/tours/{tour_id}/options:
    $ref: "./paths/tours.yaml#/paths/~1{version}~1tours~1{tour_id}~1options"
  /{version}/tours/{tour_id}/price-breakdown:
    $ref: "./paths/tours.yaml#/paths/~1{version}~1tours~1{tour_id}~1price-breakdown"
