apaleo Authorization API

The Authorization API from apaleo — 6 operation(s) for authorization.

Operations 6

POST /booking/v0-nsfw/authorizations/by-link Creates a link to a payment form that allows guests to complete the… #
POST /booking/v0-nsfw/authorizations/by-terminal Creates the authorization by using the terminal #
POST /booking/v0-nsfw/authorizations/by-payment-account Creates authorization by using a previously created payment account #
POST /booking/v0-nsfw/authorizations/by-authorization Creates the authorization based on an existing pre-authorization created prior… #
GET /booking/v0-nsfw/authorizations/{id} Returns a single authorization by ID #
GET /booking/v0-nsfw/authorizations Returns a list of authorizations based on the query parameters #

Specifications

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/apaleo:apaleo-authorization-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

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

apaleo-authorization-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: apaleo Booking API - not safe for work Authorization API
  description: Continuously evolving version - use at your own risk! Resources and methods to manage guest journeys.
  version: v0-nsfw
tags:
- name: Authorization
paths:
  /booking/v0-nsfw/authorizations/by-link:
    post:
      tags:
      - Authorization
      summary: Creates a link to a payment form that allows guests to complete the…
      description: 'You must have this scope: ''authorizations.manage''.

        For fine-grained clients, you must have this permission: ''core.authorizations.create''.'
      operationId: BookingAuthorizationsBy-linkPost
      parameters:
      - in: header
        name: Idempotency-Key
        description: "Unique key for safely retrying requests without accidentally performing the same operation twice. \nWe'll always send back the same response for requests made with the same key, \nand keys can't be reused with different request parameters. Keys expire after 24 hours."
        schema:
          type: string
      responses:
        '201':
          description: Authorization was created and will be processed
          headers:
            Location:
              description: The location of the created resource.
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuthorizationCreatedModel'
        '404':
          description: The Request-URI could not be found.
        '415':
          description: Unsupported media type.
        '400':
          description: Bad request.
        '401':
          description: You are unauthorized.
        '403':
          description: Forbidden.
        '499':
          description: Client closed request.
        '500':
          description: An unexpected error occurred.
        '503':
          description: The server is currently unavailable. Please try later.
        '422':
          description: Validation errors in the request body or query params.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MessageItemCollection'
      security:
      - oauth2:
        - authorizations.manage
        - admin
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreatePaymentLinkAuthorizationRequest'
        description: The definition of the authorization to be created
        required: true
  /booking/v0-nsfw/authorizations/by-terminal:
    post:
      tags:
      - Authorization
      summary: Creates the authorization by using the terminal
      description: 'You must have this scope: ''authorizations.manage''.

        For fine-grained clients, you must have this permission: ''core.authorizations.create''.'
      operationId: BookingAuthorizationsBy-terminalPost
      parameters:
      - in: header
        name: Idempotency-Key
        description: "Unique key for safely retrying requests without accidentally performing the same operation twice. \nWe'll always send back the same response for requests made with the same key, \nand keys can't be reused with different request parameters. Keys expire after 24 hours."
        schema:
          type: string
      responses:
        '201':
          description: Authorization was created and will be processed
          headers:
            Location:
              description: The location of the created resource.
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuthorizationCreatedModel'
        '404':
          description: The Request-URI could not be found.
        '415':
          description: Unsupported media type.
        '400':
          description: Bad request.
        '401':
          description: You are unauthorized.
        '403':
          description: Forbidden.
        '499':
          description: Client closed request.
        '500':
          description: An unexpected error occurred.
        '503':
          description: The server is currently unavailable. Please try later.
        '422':
          description: Validation errors in the request body or query params.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MessageItemCollection'
      security:
      - oauth2:
        - authorizations.manage
        - admin
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateTerminalAuthorizationRequest'
        description: The definition of the authorization to be created
        required: true
  /booking/v0-nsfw/authorizations/by-payment-account:
    post:
      tags:
      - Authorization
      summary: Creates authorization by using a previously created payment account
      description: 'You must have this scope: ''authorizations.manage''.

        For fine-grained clients, you must have this permission: ''core.authorizations.create''.'
      operationId: BookingAuthorizationsBy-payment-accountPost
      parameters:
      - in: header
        name: Idempotency-Key
        description: "Unique key for safely retrying requests without accidentally performing the same operation twice. \nWe'll always send back the same response for requests made with the same key, \nand keys can't be reused with different request parameters. Keys expire after 24 hours."
        schema:
          type: string
      responses:
        '201':
          description: Authorization was created and will be processed
          headers:
            Location:
              description: The location of the created resource.
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuthorizationCreatedModel'
        '404':
          description: The Request-URI could not be found.
        '415':
          description: Unsupported media type.
        '400':
          description: Bad request.
        '401':
          description: You are unauthorized.
        '403':
          description: Forbidden.
        '499':
          description: Client closed request.
        '500':
          description: An unexpected error occurred.
        '503':
          description: The server is currently unavailable. Please try later.
        '422':
          description: Validation errors in the request body or query params.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MessageItemCollection'
      security:
      - oauth2:
        - authorizations.manage
        - admin
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreatePaymentAccountAuthorizationRequest'
        description: The definition of the authorization to be created
        required: true
  /booking/v0-nsfw/authorizations/by-authorization:
    post:
      tags:
      - Authorization
      summary: Creates the authorization based on an existing pre-authorization created prior…
      description: 'Creates the authorization based on an existing pre-authorization created prior directly with the payment service provider. For the pre-authorization, please ensure to set the respective metadata

        in the original authorization request. The flow type has to be set to BlockNHold. For more information, please refer to the documentation of how to do an authorization hold for future charges.

        You must have this scope: ''authorizations.manage''.

        For fine-grained clients, you must have this permission: ''core.authorizations.create''.'
      operationId: BookingAuthorizationsBy-authorizationPost
      parameters:
      - in: header
        name: Idempotency-Key
        description: "Unique key for safely retrying requests without accidentally performing the same operation twice. \nWe'll always send back the same response for requests made with the same key, \nand keys can't be reused with different request parameters. Keys expire after 24 hours."
        schema:
          type: string
      responses:
        '201':
          description: Authorization was created and will be processed
          headers:
            Location:
              description: The location of the created resource.
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuthorizationCreatedModel'
        '404':
          description: The Request-URI could not be found.
        '415':
          description: Unsupported media type.
        '400':
          description: Bad request.
        '401':
          description: You are unauthorized.
        '403':
          description: Forbidden.
        '499':
          description: Client closed request.
        '500':
          description: An unexpected error occurred.
        '503':
          description: The server is currently unavailable. Please try later.
        '422':
          description: Validation errors in the request body or query params.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MessageItemCollection'
      security:
      - oauth2:
        - authorizations.manage
        - admin
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateAuthorizationRequest'
        description: The definition of the authorization to be created
        required: true
  /booking/v0-nsfw/authorizations/{id}:
    get:
      tags:
      - Authorization
      summary: Returns a single authorization by ID
      description: 'You must have at least one of these scopes: ''authorizations.read, authorizations.manage''.

        For fine-grained clients, you must have this permission: ''core.authorizations.read''.'
      operationId: BookingAuthorizationsByIdGet
      parameters:
      - in: path
        name: id
        description: The identifier of the authorization
        required: true
        schema:
          type: string
      - in: query
        name: expand
        description: 'List of all embedded resources that should be expanded in the response. Possible values are: actions. All other values will be silently ignored.'
        schema:
          type: array
          items:
            type: string
            enum:
            - actions
      responses:
        '200':
          description: Successfully returned authorization
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuthorizationModel'
        '404':
          description: The Request-URI could not be found.
        '400':
          description: Bad request.
        '401':
          description: You are unauthorized.
        '403':
          description: Forbidden.
        '499':
          description: Client closed request.
        '500':
          description: An unexpected error occurred.
        '503':
          description: The server is currently unavailable. Please try later.
        '422':
          description: Validation errors in the request body or query params.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MessageItemCollection'
      security:
      - oauth2:
        - authorizations.read
        - authorizations.manage
        - admin
  /booking/v0-nsfw/authorizations:
    get:
      tags:
      - Authorization
      summary: Returns a list of authorizations based on the query parameters
      description: 'You must have at least one of these scopes: ''authorizations.read, authorizations.manage''.

        For fine-grained clients, you must have this permission: ''core.authorizations.read''.'
      operationId: BookingAuthorizationsGet
      parameters:
      - in: query
        name: propertyIds
        description: Filter result by requested properties
        schema:
          type: array
          items:
            type: string
      - in: query
        name: bookingIds
        description: 'Filter result by requested booking ids. Returns authorizations that are related to the specified booking or booking reservations.

          Use in combination with the Apaleo.Api.Modules.Booking.Models.Authorization.AuthorizationListRequest.TargetTypes to get authorizations related only to bookings or to reservations.'
        schema:
          type: array
          items:
            type: string
      - in: query
        name: reservationIds
        description: Filter result by requested reservation ids
        schema:
          type: array
          items:
            type: string
      - in: query
        name: status
        description: Filter result by authorization status
        schema:
          type: array
          items:
            type: string
            enum:
            - Pending
            - Success
            - Failure
            - Canceled
            - Expired
            - RefreshPending
      - in: query
        name: targetTypes
        description: Filter by target types
        schema:
          type: array
          items:
            type: string
            enum:
            - Booking
            - Reservation
      - in: query
        name: dateField
        description: 'Filter result by date and time attributes of authorization. Use in combination with the Apaleo.Api.Modules.Booking.Models.Authorization.AuthorizationListRequest.From and Apaleo.Api.Modules.Booking.Models.Authorization.AuthorizationListRequest.To attributes.

          All filters will check if the date specified by the filter type is between Apaleo.Api.Modules.Booking.Models.Authorization.AuthorizationListRequest.From (included) and Apaleo.Api.Modules.Booking.Models.Authorization.AuthorizationListRequest.To (excluded).'
        schema:
          type: string
          enum:
          - Creation
          - Modification
          - Expiration
      - in: query
        name: from
        description: The start of the time interval. When filtering by Apaleo.Api.Modules.Booking.Models.Authorization.AuthorizationListRequest.DateField, at least one of Apaleo.Api.Modules.Booking.Models.Authorization.AuthorizationListRequest.From and Apaleo.Api.Modules.Booking.Models.Authorization.AuthorizationListRequest.To has to be specified<br />A date and time (without fractional second part) in UTC or with UTC offset as defined in <a href="https://en.wikipedia.org/wiki/ISO_8601">ISO8601:2004</a>
        schema:
          type: string
          format: date-time
      - in: query
        name: to
        description: The end of the time interval, must be larger than Apaleo.Api.Modules.Booking.Models.Authorization.AuthorizationListRequest.From. When filtering by Apaleo.Api.Modules.Booking.Models.Authorization.AuthorizationListRequest.DateField, at least one of Apaleo.Api.Modules.Booking.Models.Authorization.AuthorizationListRequest.From and Apaleo.Api.Modules.Booking.Models.Authorization.AuthorizationListRequest.To has to be specified<br />A date and time (without fractional second part) in UTC or with UTC offset as defined in <a href="https://en.wikipedia.org/wiki/ISO_8601">ISO8601:2004</a>
        schema:
          type: string
          format: date-time
      - in: query
        name: pageNumber
        description: 'Page number to retrieve. Default: 1. If the page has no items, the API returns 204 No Content.'
        schema:
          type: integer
          default: 1
      - in: query
        name: pageSize
        description: 'Items per page. Default: 500. Maximum: 500.'
        schema:
          type: integer
          default: 500
      - in: query
        name: sort
        description: 'List of all fields that can be used to sort the results. Possible values are: created:asc, created:desc, updated:asc, updated:desc, expiresat:asc, expiresat:desc. All other values will be silently ignored.'
        style: form
        explode: true
        schema:
          type: array
          items:
            type: string
            enum:
            - created:asc
            - created:desc
            - updated:asc
            - updated:desc
            - expiresat:asc
            - expiresat:desc
      - in: query
        name: expand
        description: 'List of all embedded resources that should be expanded in the response. Possible values are: actions, remainingBalance. All other values will be silently ignored.'
        schema:
          type: array
          items:
            type: string
            enum:
            - actions
            - remainingBalance
      responses:
        '200':
          description: Successfully returned authorization list
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuthorizationListModel'
        '204':
          description: No authorizations found.
        '404':
          description: The Request-URI could not be found.
        '400':
          description: Bad request.
        '401':
          description: You are unauthorized.
        '403':
          description: Forbidden.
        '499':
          description: Client closed request.
        '500':
          description: An unexpected error occurred.
        '503':
          description: The server is currently unavailable. Please try later.
        '422':
          description: Validation errors in the request body or query params.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MessageItemCollection'
      security:
      - oauth2:
        - authorizations.read
        - authorizations.manage
        - admin
components:
  schemas:
    AuthorizationListModel:
      type: object
      required:
      - authorizations
      - count
      properties:
        authorizations:
          type: array
          description: List of authorizations
          items:
            $ref: '#/components/schemas/AuthorizationModel'
        count:
          type: integer
          description: Total count of items
          format: int64
      additionalProperties: false
      example:
        authorizations:
        - id: IUSENHBB
          target:
            type: Booking
            id: KYKXKLWL
            propertyId: MUC
          created: '2026-10-19T20:18:14.8082855Z'
          updated: '2026-10-19T20:18:14.8082859Z'
          externalReference:
            paymentTransactionId: VT6G6BFUR6XE5MHZARAX2ODK7Y
          amount:
            amount: 150.0
            currency: EUR
          remainingBalance:
            amount: 100.0
            currency: EUR
          status: Success
          payerInteraction: PaymentAccount
          expiresAt: '2026-11-18T20:18:14.8082862Z'
          actions:
          - action: Cancel
            isAllowed: false
            reasons:
            - code: OnlySuccessfulAuthorizationCanBeCanceled
              message: Only a successful authorization can be canceled.
          - action: Refresh
            isAllowed: true
          - action: ExpirePaymentLink
            isAllowed: false
            reasons:
            - code: OnlyPendingPaymentLinkAuthorizationCanBeExpired
              message: Only pending payment link authorization can be expired.
        count: 1
    AuthorizationModel:
      type: object
      required:
      - amount
      - created
      - id
      - payerInteraction
      - status
      - target
      - updated
      properties:
        id:
          type: string
          description: Authorization id
        target:
          $ref: '#/components/schemas/AuthorizationTargetModel'
        created:
          type: string
          description: Date of creation<br />A date and time (without fractional second part) in UTC or with UTC offset as defined in <a href="https://en.wikipedia.org/wiki/ISO_8601">ISO8601:2004</a>
          format: date-time
        updated:
          type: string
          description: Date of last modification<br />A date and time (without fractional second part) in UTC or with UTC offset as defined in <a href="https://en.wikipedia.org/wiki/ISO_8601">ISO8601:2004</a>
          format: date-time
        externalReference:
          $ref: '#/components/schemas/ExternalAuthorizationReferenceModel'
        amount:
          $ref: '#/components/schemas/MonetaryValueModel'
        remainingBalance:
          $ref: '#/components/schemas/MonetaryValueModel'
        status:
          type: string
          description: Status of the authorization
          enum:
          - Pending
          - Success
          - Failure
          - Canceled
          - Expired
          - RefreshPending
        failureReason:
          type:
          - string
          - 'null'
          description: Human-readable failure reason
        payerInteraction:
          type: string
          description: Payer interaction of the authorization
          enum:
          - Terminal
          - PaymentAccount
          - Authorization
          - PaymentLink
        expiresAt:
          type:
          - string
          - 'null'
          description: The date and time the authorization expires<br />A date and time (without fractional second part) in UTC or with UTC offset as defined in <a href="https://en.wikipedia.org/wiki/ISO_8601">ISO8601:2004</a>
          format: date-time
        paymentLinkUrl:
          type:
          - string
          - 'null'
          description: The URL to the payment link when authorization is created by payment link
        actions:
          type:
          - array
          - 'null'
          description: The list of actions for authorization
          items:
            $ref: '#/components/schemas/ActionModel_AuthorizationAction_NotAllowedAuthorizationActionReason'
      additionalProperties: false
      example:
        id: IUSENHBB
        target:
          type: Booking
          id: KYKXKLWL
          propertyId: MUC
        created: '2026-10-19T20:18:14.8006454Z'
        updated: '2026-10-19T20:18:14.8006473Z'
        externalReference:
          paymentTransactionId: VT6G6BFUR6XE5MHZARAX2ODK7Y
        amount:
          amount: 150.0
          currency: EUR
        remainingBalance:
          amount: 100.0
          currency: EUR
        status: Success
        payerInteraction: PaymentAccount
        expiresAt: '2026-11-18T20:18:14.8006478Z'
        actions:
        - action: Cancel
          isAllowed: false
          reasons:
          - code: OnlySuccessfulAuthorizationCanBeCanceled
            message: Only a successful authorization can be canceled.
        - action: Refresh
          isAllowed: true
        - action: ExpirePaymentLink
          isAllowed: false
          reasons:
          - code: OnlyPendingPaymentLinkAuthorizationCanBeExpired
            message: Only pending payment link authorization can be expired.
    AuthorizationCreatedModel:
      type: object
      required:
      - id
      properties:
        id:
          type: string
          description: Created authorization id
      additionalProperties: false
      example:
        id: HDQFGFOS
    ExternalAuthorizationReferenceModel:
      type: object
      required:
      - paymentTransactionId
      properties:
        paymentTransactionId:
          type: string
          description: Identifies the payment authorization in the Payment Transaction API
          minLength: 1
      additionalProperties: false
    CreateTerminalAuthorizationRequest:
      type: object
      required:
      - amount
      - target
      - terminalId
      properties:
        target:
          $ref: '#/components/schemas/AuthorizationTargetModel'
        amount:
          $ref: '#/components/schemas/MonetaryValueModel'
        terminalId:
          type: string
          description: Terminal to be used for the authorization
          minLength: 1
      additionalProperties: false
      example:
        target:
          type: Booking
          id: KYKXKLWL
          propertyId: MUC
        amount:
          amount: 150.0
          currency: EUR
        terminalId: V400m-324689704
    AuthorizationTargetModel:
      type: object
      required:
      - id
      - propertyId
      - type
      properties:
        type:
          type: string
          description: Authorization target type
          enum:
          - Booking
          - Reservation
        id:
          type: string
          description: Booking or reservation id
        propertyId:
          type: string
          description: The id of the property the authorization is to be created for. When target is Reservation, the property must be the same the reservation.
      additionalProperties: false
    CreatePaymentLinkAuthorizationRequest:
      type: object
      required:
      - amount
      - countryCode
      - expiresAt
      - target
      properties:
        target:
          $ref: '#/components/schemas/AuthorizationTargetModel'
        expiresAt:
          type: string
          description: The date that the link expires<br />A date and time (without fractional second part) in UTC or with UTC offset as defined in <a href="https://en.wikipedia.org/wiki/ISO_8601">ISO8601:2004</a>
          format: date-time
        countryCode:
          type: string
          description: The payer's country code
        description:
          type:
          - string
          - 'null'
          description: Authorization description. It will be shown on the payment form of the link
          maxLength: 280
        payerEmail:
          type:
          - string
          - 'null'
          description: 'The email address of the payer or cardholder. It can be used to verify the identity of the payer and

            allow to catch a fraudulent usage of the payment account if the email address does not match the one

            on file at the bank'
        returnUrl:
          type:
          - string
          - 'null'
          description: Website URL used for redirection after payment is completed using the payment link.
          maxLength: 8000
          pattern: ^https?:\/\/[^\s/$.?#].[^\s]*$
        amount:
          $ref: '#/components/schemas/MonetaryValueModel'
      additionalProperties: false
      example:
        target:
          type: Booking
          id: KYKXKLWL
          propertyId: MUC
        expiresAt: '2026-10-21T20:18:14.7807931Z'
        countryCode: DE
        description: Consumption authorization for the reservation
        payerEmail: 0chai@hemenal5.space
        returnUrl: https://example.com/return
        amount:
          amount: 150.0
          currency: EUR
    CreatePaymentAccountAuthorizationRequest:
      type: object
      required:
      - amount
      - target
      properties:
        target:
          $ref: '#/components/schemas/AuthorizationTargetModel'
        amount:
          $ref: '#/components/schemas/MonetaryValueModel'
        accountOwner:
          type: string
          description: 'Account owner of the payment account, default is `Guest`.

            Will be ignored if PaymentAccountId is provided. - <b>DEPRECATED: AccountOwner is deprecated, use PaymentAccountId instead. This field will be removed on May 15, 2026. From this date onwards, PaymentAccountId will be a required parameter.</b>'
          enum:
          - Guest
          - Booker
        paymentAccountId:
          type:
          - string
          - 'null'
          description: 'Optional payment account id.

            If passed, it is verified that the provided payment account is available for the target.

            From Feb 15, 2026 onwards, PaymentAccountId will be a required parameter.'
      additionalProperties: false
      example:
        target:
          type: Booking
          id: KYKXKLWL
          propertyId: MUC
        amount:
          amount: 150.0
          currency: EUR
        accountOwner: Guest
        paymentAccountId: UBMFXUFH
    MonetaryValueModel:
      type: object
      required:
      - amount
      - currency
      properties:
        amount:
          type: number
          format: double
        currency:
          type: string
      additionalProperties: false
    MessageItemCollection:
      type: object
      properties:
        messages:
          type:
          - array
          - 'null'
          items:
            type: string
          readOnly: true
      additionalProperties: false
    CreateAuthorizationRequest:
      type: object
      required:
      - amount
      - target
      - transactionReference
      properties:
        target:
          $ref: '#/components/schemas/AuthorizationTargetModel'
        amount:
          $ref: '#/components/schemas/MonetaryValueModel'
        transactionReference:
          type: string
          description: Reference to the original authorization transaction
          minLength: 1
      additionalProperties: false
      example:
        target:
          type: Booking
          id: KYKXKLWL
          propertyId: MUC
        amount:
          amount: 150.0
          currency: EUR
        transactionReference: K9DTTJQD4HNG5S82
    ActionModel_AuthorizationAction_NotAllowedAuthorizationActionReason:
      type: object
      required:
      - action
      - isAllowed
      properties:
        action:
          type: string
          enum:
          - Cancel
          - Refresh
          - ExpirePaymentLink
        isAllowed:
          type: boolean
        reasons:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/ActionReasonModel_NotAllowedAuthorizationActionReason'
      additionalProperties: false
    ActionReasonModel_NotAllowedAuthorizationActionReason:
      type: object
      required:
      - code
      - message
      properties:
        code:
          type: string
          enum:
          - OnlySuccessfulAuthorizationCanBeCanceled
          - OnlySuccessfulAuthorizationCanBeRefreshed
          - NonActiveAuthorizationCanNotBeRefreshed
          - OnlyPendingPaymentLinkAuthorizationCanBeExpired
        message:
          type: string
          minLength: 1
      additionalProperties: false
  securitySchemes:
    oauth2:
      type: oauth2
      flows:
        implicit:
          scopes:
            admin: Full access
            reservations.import: Import reservations
          authorizationUrl: https://identity.apaleo.com/connect/authorize