openapi: 3.2.0 info: title: Gr4vy Checkout Sessions API version: '1.0' description: 'Operations tagged Checkout Sessions across 2 of this provider''s published API definitions: gr4vy-docs-v1-openapi.json, gr4vy-openapi.json. Each path carries the servers of the definition it was published in.' servers: - url: https://api.sandbox.{id}.gr4vy.app x-speakeasy-server-id: sandbox variables: id: default: example description: The subdomain for your Gr4vy instance. - url: https://api.{id}.gr4vy.app x-speakeasy-server-id: production variables: id: default: example description: The subdomain for your Gr4vy instance. tags: - name: Checkout Sessions description: 'A Checkout Session represents the session of a user as they progress through an online checkout.' paths: /checkout/sessions: post: operationId: new-checkout-session summary: New checkout session description: Creates a new Checkout Session. tags: - Checkout Sessions requestBody: content: application/json: schema: $ref: '#/components/schemas/CheckoutSessionCreateRequest' responses: '201': description: Returns the new Checkout Session. content: application/json: schema: $ref: '#/components/schemas/CheckoutSession' '401': description: Returns an error if no valid authentication was provided. content: application/json: schema: $ref: '#/components/schemas/Error401Unauthorized' '409': description: Returns an error if duplicate resource has been found. content: application/json: schema: $ref: '#/components/schemas/Error409DuplicateRecord' security: - bearerAuth: [] servers: - url: https://api.sandbox.{id}.gr4vy.app x-speakeasy-server-id: sandbox variables: id: default: example description: The subdomain for your Gr4vy instance. - url: https://api.{id}.gr4vy.app x-speakeasy-server-id: production variables: id: default: example description: The subdomain for your Gr4vy instance. /checkout/sessions/{checkout_session_id}: parameters: - schema: type: string format: uuid example: 8724fd24-5489-4a5d-90fd-0604df7d3b83 name: checkout_session_id in: path required: true description: The unique ID for a Checkout Session. get: operationId: get-checkout-session summary: Get checkout session description: Gets details about a current Checkout Session. tags: - Checkout Sessions responses: '200': description: Returns details about a current Checkout Session. content: application/json: schema: $ref: '#/components/schemas/CheckoutSession' '401': description: Returns an error if no valid authentication was provided. content: application/json: schema: $ref: '#/components/schemas/Error401Unauthorized' '404': description: Returns an error if the Checkout Session can not be found or has expired. content: application/json: schema: $ref: '#/components/schemas/Error404NotFound' security: - bearerAuth: [] delete: operationId: delete-checkout-session summary: Delete checkout session description: Deletes a Checkout Session. tags: - Checkout Sessions responses: '204': description: Returns an empty response. '401': description: Returns an error if no valid authentication was provided. content: application/json: schema: $ref: '#/components/schemas/Error401Unauthorized' '404': description: Returns an error if the Checkout Session can not be found or has expired. content: application/json: schema: $ref: '#/components/schemas/Error404NotFound' security: - bearerAuth: [] put: operationId: update-checkout-session summary: Update checkout session description: Updates a Checkout Session. tags: - Checkout Sessions requestBody: content: application/json: schema: $ref: '#/components/schemas/CheckoutSessionUpdateRequest' responses: '200': description: Returns the updated Checkout Session. content: application/json: schema: $ref: '#/components/schemas/CheckoutSession' '400': description: Returns an error if the request was badly formatted or missing required fields. content: application/json: schema: $ref: '#/components/schemas/Error400BadRequest' '401': description: Returns an error if no valid authentication was provided. content: application/json: schema: $ref: '#/components/schemas/Error401Unauthorized' '404': description: Returns an error if the resource can not be found. content: application/json: schema: $ref: '#/components/schemas/Error404NotFound' '409': description: Returns an error if duplicate resource has been found. content: application/json: schema: $ref: '#/components/schemas/Error409DuplicateRecord' security: - bearerAuth: [] servers: - url: https://api.sandbox.{id}.gr4vy.app x-speakeasy-server-id: sandbox variables: id: default: example description: The subdomain for your Gr4vy instance. - url: https://api.{id}.gr4vy.app x-speakeasy-server-id: production variables: id: default: example description: The subdomain for your Gr4vy instance. /checkout/sessions/{checkout_session_id}/fields: parameters: - schema: type: string format: uuid example: 8724fd24-5489-4a5d-90fd-0604df7d3b83 name: checkout_session_id in: path required: true description: The unique ID for a Checkout Session. put: operationId: update-checkout-session-fields summary: Update fields for checkout session description: Updates the Secure Fields of the Checkout Session. tags: - Checkout Sessions security: [] x-internal: true requestBody: content: application/json: schema: $ref: '#/components/schemas/CheckoutSessionSecureFieldsUpdate' responses: '204': description: Returns when the Checkout Session was updated. '401': description: Returns an error if no valid authentication was provided. content: application/json: schema: $ref: '#/components/schemas/Error401Unauthorized' '404': description: Returns an error if the Checkout Session can not be found or has expired. content: application/json: schema: $ref: '#/components/schemas/Error404NotFound' '429': description: 'Returns an error if the same checkout session is update too often in a minute. The exact rate limit differs per instance.' content: application/json: schema: $ref: '#/components/schemas/Error429TooManyRequests' servers: - url: https://api.sandbox.{id}.gr4vy.app x-speakeasy-server-id: sandbox variables: id: default: example description: The subdomain for your Gr4vy instance. - url: https://api.{id}.gr4vy.app x-speakeasy-server-id: production variables: id: default: example description: The subdomain for your Gr4vy instance. /checkout/sessions/{session_id}: put: tags: - Checkout Sessions summary: Update checkout session description: Update the information stored on a checkout session. operationId: update_checkout_session security: - OAuth2PasswordBearer: - checkout-sessions.write parameters: - name: session_id in: path required: true schema: type: string format: uuid description: The ID of the checkout session. examples: - 4137b1cf-39ac-42a8-bad6-1c680d5dab6b title: Session Id description: The ID of the checkout session. - name: x-gr4vy-merchant-account-id in: header required: false schema: anyOf: - type: string - type: 'null' description: The ID of the merchant account to use for this request. examples: - default title: X-Gr4Vy-Merchant-Account-Id description: The ID of the merchant account to use for this request. requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CheckoutSessionUpdate' responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/CheckoutSession_2' '400': description: The request was invalid. content: application/json: schema: $ref: '#/components/schemas/Error400' '401': description: The request was unauthorized. content: application/json: schema: $ref: '#/components/schemas/Error401' '403': description: The credentials were invalid or the caller did not have permission to act on the resource. content: application/json: schema: $ref: '#/components/schemas/Error403' '404': description: The resource was not found. content: application/json: schema: $ref: '#/components/schemas/Error404' '405': description: The request method was not allowed. content: application/json: schema: $ref: '#/components/schemas/Error405' '409': description: A duplicate record was found. content: application/json: schema: $ref: '#/components/schemas/Error409' '425': description: The request was too early. content: application/json: schema: $ref: '#/components/schemas/Error425' '429': description: Too many requests were made. content: application/json: schema: $ref: '#/components/schemas/Error429' '500': description: The server encountered an error. content: application/json: schema: $ref: '#/components/schemas/Error500' '502': description: The server encountered an error. content: application/json: schema: $ref: '#/components/schemas/Error502' '504': description: The server encountered an error. content: application/json: schema: $ref: '#/components/schemas/Error504' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' x-speakeasy-name-override: update x-speakeasy-group: checkout-sessions get: tags: - Checkout Sessions summary: Get checkout session description: Retrieve the information stored on a checkout session. operationId: get_checkout_session security: - OAuth2PasswordBearer: - checkout-sessions.read parameters: - name: session_id in: path required: true schema: type: string format: uuid description: The ID of the checkout session. examples: - 4137b1cf-39ac-42a8-bad6-1c680d5dab6b title: Session Id description: The ID of the checkout session. - name: x-gr4vy-merchant-account-id in: header required: false schema: anyOf: - type: string - type: 'null' description: The ID of the merchant account to use for this request. examples: - default title: X-Gr4Vy-Merchant-Account-Id description: The ID of the merchant account to use for this request. responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/CheckoutSession_2' '422': description: Empty response when referenced payment method does not exist. '400': description: The request was invalid. content: application/json: schema: $ref: '#/components/schemas/Error400' '401': description: The request was unauthorized. content: application/json: schema: $ref: '#/components/schemas/Error401' '403': description: The credentials were invalid or the caller did not have permission to act on the resource. content: application/json: schema: $ref: '#/components/schemas/Error403' '404': description: The resource was not found. content: application/json: schema: $ref: '#/components/schemas/Error404' '405': description: The request method was not allowed. content: application/json: schema: $ref: '#/components/schemas/Error405' '409': description: A duplicate record was found. content: application/json: schema: $ref: '#/components/schemas/Error409' '425': description: The request was too early. content: application/json: schema: $ref: '#/components/schemas/Error425' '429': description: Too many requests were made. content: application/json: schema: $ref: '#/components/schemas/Error429' '500': description: The server encountered an error. content: application/json: schema: $ref: '#/components/schemas/Error500' '502': description: The server encountered an error. content: application/json: schema: $ref: '#/components/schemas/Error502' '504': description: The server encountered an error. content: application/json: schema: $ref: '#/components/schemas/Error504' x-speakeasy-name-override: get x-speakeasy-group: checkout-sessions delete: tags: - Checkout Sessions summary: Delete checkout session description: Delete a checkout session and all of its (PCI) data. operationId: delete_checkout_session security: - OAuth2PasswordBearer: - checkout-sessions.write parameters: - name: session_id in: path required: true schema: type: string format: uuid description: The ID of the checkout session. examples: - 4137b1cf-39ac-42a8-bad6-1c680d5dab6b title: Session Id description: The ID of the checkout session. - name: x-gr4vy-merchant-account-id in: header required: false schema: anyOf: - type: string - type: 'null' description: The ID of the merchant account to use for this request. examples: - default title: X-Gr4Vy-Merchant-Account-Id description: The ID of the merchant account to use for this request. responses: '204': description: Successful Response '400': description: The request was invalid. content: application/json: schema: $ref: '#/components/schemas/Error400' '401': description: The request was unauthorized. content: application/json: schema: $ref: '#/components/schemas/Error401' '403': description: The credentials were invalid or the caller did not have permission to act on the resource. content: application/json: schema: $ref: '#/components/schemas/Error403' '404': description: The resource was not found. content: application/json: schema: $ref: '#/components/schemas/Error404' '405': description: The request method was not allowed. content: application/json: schema: $ref: '#/components/schemas/Error405' '409': description: A duplicate record was found. content: application/json: schema: $ref: '#/components/schemas/Error409' '425': description: The request was too early. content: application/json: schema: $ref: '#/components/schemas/Error425' '429': description: Too many requests were made. content: application/json: schema: $ref: '#/components/schemas/Error429' '500': description: The server encountered an error. content: application/json: schema: $ref: '#/components/schemas/Error500' '502': description: The server encountered an error. content: application/json: schema: $ref: '#/components/schemas/Error502' '504': description: The server encountered an error. content: application/json: schema: $ref: '#/components/schemas/Error504' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' x-speakeasy-name-override: delete x-speakeasy-group: checkout-sessions /checkout/sessions/{session_id}/fields: put: tags: - Checkout Sessions summary: Update checkout session fields description: Update a checkout session with card data. operationId: update_checkout_session_fields parameters: - name: session_id in: path required: true schema: type: string format: uuid title: Session Id requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CheckoutSessionSecureFields' responses: '204': description: Successful Response '400': description: The request was invalid. content: application/json: schema: $ref: '#/components/schemas/Error400' '401': description: The request was unauthorized. content: application/json: schema: $ref: '#/components/schemas/Error401' '403': description: The credentials were invalid or the caller did not have permission to act on the resource. content: application/json: schema: $ref: '#/components/schemas/Error403' '404': description: The resource was not found. content: application/json: schema: $ref: '#/components/schemas/Error404' '405': description: The request method was not allowed. content: application/json: schema: $ref: '#/components/schemas/Error405' '409': description: A duplicate record was found. content: application/json: schema: $ref: '#/components/schemas/Error409' '425': description: The request was too early. content: application/json: schema: $ref: '#/components/schemas/Error425' '429': description: Too many requests were made. content: application/json: schema: $ref: '#/components/schemas/Error429' '500': description: The server encountered an error. content: application/json: schema: $ref: '#/components/schemas/Error500' '502': description: The server encountered an error. content: application/json: schema: $ref: '#/components/schemas/Error502' '504': description: The server encountered an error. content: application/json: schema: $ref: '#/components/schemas/Error504' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' x-speakeasy-ignore: true /checkout/sessions/{session_id}/card-details: post: tags: - Checkout Sessions summary: Get checkout session card details description: Get the card details for a given BIN. operationId: get_checkout_session_card_details parameters: - name: session_id in: path required: true schema: type: string format: uuid title: Session Id requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CheckoutSessionCardDetailsRequest' responses: '200': description: Card details response. content: application/json: schema: $ref: '#/components/schemas/CheckoutSessionCardDetails' '400': description: The request was invalid. content: application/json: schema: $ref: '#/components/schemas/Error400' '401': description: The request was unauthorized. content: application/json: schema: $ref: '#/components/schemas/Error401' '403': description: The credentials were invalid or the caller did not have permission to act on the resource. content: application/json: schema: $ref: '#/components/schemas/Error403' '404': description: The resource was not found. content: application/json: schema: $ref: '#/components/schemas/Error404' '405': description: The request method was not allowed. content: application/json: schema: $ref: '#/components/schemas/Error405' '409': description: A duplicate record was found. content: application/json: schema: $ref: '#/components/schemas/Error409' '425': description: The request was too early. content: application/json: schema: $ref: '#/components/schemas/Error425' '429': description: Too many requests were made. content: application/json: schema: $ref: '#/components/schemas/Error429' '500': description: The server encountered an error. content: application/json: schema: $ref: '#/components/schemas/Error500' '502': description: The server encountered an error. content: application/json: schema: $ref: '#/components/schemas/Error502' '504': description: The server encountered an error. content: application/json: schema: $ref: '#/components/schemas/Error504' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' x-speakeasy-ignore: true x-gr4vy-docs-ignore: true /checkout/sessions/{session_id}/acquirer: get: tags: - Checkout Sessions summary: Get checkout session acquirer data description: Get a checkout session acquirer data. operationId: get_checkout_session_acquirer parameters: - name: session_id in: path required: true schema: type: string format: uuid title: Session Id responses: '200': description: Successful Response content: application/json: schema: {} '400': description: The request was invalid. content: application/json: schema: $ref: '#/components/schemas/Error400' '401': description: The request was unauthorized. content: application/json: schema: $ref: '#/components/schemas/Error401' '403': description: The credentials were invalid or the caller did not have permission to act on the resource. content: application/json: schema: $ref: '#/components/schemas/Error403' '404': description: The resource was not found. content: application/json: schema: $ref: '#/components/schemas/Error404' '405': description: The request method was not allowed. content: application/json: schema: $ref: '#/components/schemas/Error405' '409': description: A duplicate record was found. content: application/json: schema: $ref: '#/components/schemas/Error409' '425': description: The request was too early. content: application/json: schema: $ref: '#/components/schemas/Error425' '429': description: Too many requests were made. content: application/json: schema: $ref: '#/components/schemas/Error429' '500': description: The server encountered an error. content: application/json: schema: $ref: '#/components/schemas/Error500' '502': description: The server encountered an error. content: application/json: schema: $ref: '#/components/schemas/Error502' '504': description: The server encountered an error. content: application/json: schema: $ref: '#/components/schemas/Error504' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' x-speakeasy-ignore: true x-gr4vy-docs-ignore: true components: schemas: TransactionBuyerRequest: title: Buyer type: object description: Guest buyer details. x-tags: - Request Bodies properties: external_identifier: type: - string - 'null' description: An external identifier that can be used to match the buyer against your own records. This value needs to be unique for all buyers. example: user-789123 minLength: 1 maxLength: 200 display_name: type: - string - 'null' description: A unique name for this buyer which is used in the Gr4vy admin panel to give a buyer a human readable name. example: John L. minLength: 1 maxLength: 200 billing_details: type: - object - 'null' description: The optional billing details for the a buyer. allOf: - $ref: '#/components/schemas/BillingDetailsRequest' shipping_details: type: - object - 'null' description: The optional shipping details for the buyer. allOf: - $ref: '#/components/schemas/ShippingDetail' account_number: type: - string - 'null' minLength: 1 maxLength: 255 example: '1234567' description: The source account number to perform an account funding transaction. CheckoutSessionFieldsCardPaymentMethod: title: Card Payment Method type: object description: Details to store a new card payment method. x-tags: - Request Bodies x-internal: true required: - method properties: method: type: string description: '`card`.' example: card enum: - card number: type: string minLength: 13 maxLength: 19 example: '4111111111111111' pattern: ^[0-9]{13,19}$ description: 'The 13-19 digit number for this card as it can be found on the front of the card.' expiration_date: type: string description: The expiration date of the card, formatted `MM/YY`. example: 11/25 pattern: ^\d{2}/\d{2}$ minLength: 5 maxLength: 5 security_code: type: - string - 'null' description: 'The 3 or 4 digit security code often found on the card. This often referred to as the CVV or CVD. The security code can only be set if the stored payment method represents a card.' pattern: ^\d{3,4}$ minLength: 3 maxLength: 4 example: '123' CheckoutSessionFieldsIdPaymentMethod: title: ID Payment Method type: object description: Details to use a stored card payment method. x-tags: - Request Bodies x-internal: true required: - method - id properties: method: type: string description: '`id`.' example: id enum: - id id: type: string description: The unique ID of the payment method. format: uuid example: 77a76f7e-d2de-4bbc-ada9-d6a0015e6bd5 security_code: type: - string - 'null' description: 'The 3 or 4 digit security code often found on the card. This often referred to as the CVV or CVD. The security code can only be set if the stored payment method represents a card.' pattern: ^\d{3,4}$ minLength: 3 maxLength: 4 example: '123' CheckoutSession: title: Checkout Session type: object description: A short-lived checkout session. x-tags: - Checkout properties: type: type: string description: '`checkout-session`.' example: checkout-session enum: - checkout-session id: type: string format: uuid description: The ID of the Checkout Session. example: 8d3fe99b-1422-42e6-bbb3-932d95ae5f79 expires_at: type: string format: date-time description: 'The date and time when the Checkout Session will expire. By default this will be set to 1 hour from the date of creation.' example: '2022-01-01T00:00:00+00:00' cart_items: type: - array - 'null' description: An array of cart items that represents the line items of a transaction. items: $ref: '#/components/schemas/CartItem' metadata: description: 'Any additional information about the transaction that you would like to store as key-value pairs. This data is passed to payment service providers that support it.' type: - object - 'null' maxProperties: 20 additionalProperties: type: string example: key: value airline: description: Contains information about an airline travel, if applicable. allOf: - $ref: '#/components/schemas/Airline' payment_method: description: Details about the payment method for card type only. type: - object - 'null' properties: type: type: string example: payment_method id: type: - string - 'null' description: Unique ID for the payment method. method: type: string example: card description: Payment method type. enum: - card scheme: description: The scheme/brand of the card. type: - string - 'null' example: visa enum: - accel - amex - bancontact - carte-bancaire - cirrus - culiance - dankort - diners-club - discover - eftpos-australia - elo - hipercard - jcb - maestro - mastercard - mir - nyce - other - pulse - rupay - star - uatp - unionpay - visa - null label: type: - string - 'null' example: '4242' description: Last four digits of PAN. details: type: - object - 'null' properties: bin: type: - string - 'null' example: '411111' description: First six digits of PAN. card_type: example: credit type: - string - 'null' enum: - credit - debit - prepaid card_country: type: - string - 'null' example: US description: ISO 3166 two letter country code. maxLength: 2 minLength: 2 card_issuer_name: type: - string - 'null' example: Bank description: The name of the card issuer. fingerprint: type: - string - 'null' description: The unique hash derived from the payment method identifier (e.g. card number). example: 20eb353620155d2b5fc864cc46a73ea77cb92c725238650839da1813fa987a17 Error400BadRequest: title: Bad Request type: object description: Bad Request (HTTP 400). x-tags: - Errors properties: type: type: string description: '`error`.' enum: - error example: error code: type: string description: A short code that describes the reason for the error. example: bad_request enum: - bad_request - incorrect_json - invalid_credentials status: type: integer description: '`400`.' example: 400 enum: - 400 message: type: string description: A human-readable reason for the error. example: Missing '****' field details: type: array description: A list of detail objects that further clarify the reason for the error. items: $ref: '#/components/schemas/ErrorDetail' Airline: title: Airline Addendum type: object description: Information about an airline travel. properties: passenger_name_record: type: - string - 'null' minLength: 1 maxLength: 50 description: The Passenger Name Record (PNR) in the airline reservation system. example: JOHN L booking_code: type: - string - 'null' minLength: 1 maxLength: 50 description: The unique identifier of the reservation in the global distribution system. example: X36Q9C ticket_number: type: - string - 'null' minLength: 1 maxLength: 50 description: The airline's unique ticket number. example: 123-1234-151555 ticket_delivery_method: type: - string - 'null' enum: - electronic - other default: electronic description: The delivery method of the ticket. example: other issued_at: type: - string - 'null' format: date-time description: 'The date that the ticket was last issued in the airline reservation system.' example: '2013-07-16T19:23:00.000+00:00' issued_address: type: - string - 'null' minLength: 1 maxLength: 255 description: The address of the place/agency that issued the ticket. example: 123 Broadway, New York travel_agency_code: type: - string - 'null' minLength: 1 maxLength: 50 description: The IATA travel agency code. example: '12345' travel_agency_name: type: - string - 'null' minLength: 1 maxLength: 200 description: The name of the travel agency. example: Agency name travel_agency_invoice_number: type: - string - 'null' minLength: 1 maxLength: 50 description: 'The reference number of the invoice that was issued by the travel agency.' example: EG15555155 travel_agency_plan_name: type: - string - 'null' minLength: 1 maxLength: 200 description: The name of the travel agency plan. example: B733 restricted_ticket: type: - boolean - 'null' description: Indicates whether the ticket is restricted (refundable). example: false issuing_carrier_code: type: - string - 'null' minLength: 2 maxLength: 3 description: 'For airline aggregators, two-character IATA code of the airline issuing the ticket.' example: A3 issuing_carrier_name: type: - string - 'null' minLength: 1 maxLength: 100 description: The name of the airline issuing the ticket. example: Aegean Airlines issuing_iata_designator: type: - string - 'null' minLength: 2 maxLength: 2 description: 2 character IATA code of the airline issuing the ticket. example: A3 issuing_icao_code: type: - string - 'null' minLength: 3 maxLength: 3 description: 3 character ICAO code of the airline issuing the ticket. example: AEE reservation_system: type: - string - 'null' minLength: 1 maxLength: 200 description: The name of the reservation system. example: Amadeus is_cardholder_traveling: type: - boolean - 'null' description: Indicates whether the cardholder is present in the flight. example: false passengers: description: An array of the travelling passengers. items: $ref: '#/components/schemas/AirlinePassenger' maxLength: 20 type: - array - 'null' legs: description: 'An array of separate trip segments. Each leg contains detailed itinerary information.' items: $ref: '#/components/schemas/AirlineLeg' maxLength: 20 type: - array - 'null' ShippingDetail: title: Shipping detail type: object description: Shipping detail for a buyer. x-tags: - Buyers properties: type: type: string description: The type of this resource. Is always `shipping-details`. example: shipping-details enum: - shipping-details id: type: string format: uuid description: The unique ID for a buyer's shipping detail. example: 8724fd24-5489-4a5d-90fd-0604df7d3b83 buyer_id: type: string format: uuid description: The unique ID for a buyer. example: 8724fd24-5489-4a5d-90fd-0604df7d3b83 first_name: type: - string - 'null' minLength: 1 maxLength: 255 description: The first name(s) or given name of the buyer. example: John last_name: type: - string - 'null' minLength: 1 maxLength: 255 example: Lunn description: The last name, or family name, of the buyer. email_address: type: - string - 'null' minLength: 1 maxLength: 320 description: The email address of the buyer. example: john@example.com phone_number: type: - string - 'null' pattern: ^\+[1-9]\d{1,14}$ minLength: 1 maxLength: 50 description: 'The phone number of the buyer. This number is formatted according to the [E164 number standard](https://www.twilio.com/docs/glossary/what-e164).' example: '+1234567890' address: type: - object - 'null' description: The physical shipping address associated to this buyer. allOf: - $ref: '#/components/schemas/Address' CheckoutSessionSecureFieldsUpdate: title: Checkout Session Secure Fields (Update) type: object description: A request to update the secure fields of a checkout session. x-tags: - Checkout Sessions x-internal: true properties: payment_method: oneOf: - $ref: '#/components/schemas/CheckoutSessionFieldsCardPaymentMethod' - $ref: '#/components/schemas/CheckoutSessionFieldsClickToPayPaymentMethod' - $ref: '#/components/schemas/CheckoutSessionFieldsIdPaymentMethod' ErrorDetail: title: Error details description: Additional detail about the part of a request body that caused an issue. type: object x-tags: - Errors properties: location: type: string example: body description: The location where the error caused an issue. enum: - query - body - path - header type: type: string example: value_error.missing description: A unique identifier for the type of error that occurred. pointer: type: string example: /payment_method/number description: 'The exact item for which the validation did not succeed. This is a JSON pointer for request bodies, while for query, path, and header parameters it is the name of the parameter.' message: type: string example: field required description: A human readable message for this error detail. CheckoutSessionUpdateRequest: title: Checkout Session (Update) type: object description: A request to update a checkout session. x-tags: - Checkout properties: cart_items: type: - array - 'null' description: An array of cart items that represents the line items of a transaction. items: $ref: '#/components/schemas/CartItem' metadata: description: 'Any additional information about the transaction that you would like to store as key-value pairs. This data is passed to payment service providers that support it.' type: - object - 'null' maxProperties: 20 additionalProperties: type: string example: key: value airline: type: - object - 'null' allOf: - $ref: '#/components/schemas/Airline' description: 'The airline addendum data which describes the airline booking associated with this transaction.' Error401Unauthorized: title: Unauthorized Error type: object description: Unauthorized Error (HTTP 401). x-tags: - Errors properties: type: type: string description: '`error`.' enum: - error example: error code: type: string description: '`unauthorized`.' example: unauthorized enum: - unauthorized status: type: integer description: '`401`.' example: 401 enum: - 401 message: type: string description: No valid API authentication found. example: No valid API authentication found enum: - No valid API authentication found details: type: array description: 'A list of detail objects that further clarify the reason for the error. Not every error supports more detail.' example: [] items: $ref: '#/components/schemas/ErrorDetail' BillingDetailsRequest: title: Billing details (Create) type: object description: Billing details to use associated to a buyer. x-tags: - Buyers properties: first_name: type: - string - 'null' minLength: 1 maxLength: 255 description: The first name(s) or given name for the buyer. example: John last_name: type: - string - 'null' minLength: 1 maxLength: 255 example: Lunn description: The last name, or family name, of the buyer. email_address: type: - string - 'null' minLength: 1 maxLength: 320 description: The email address for the buyer. example: john@example.com phone_number: type: - string - 'null' pattern: ^\+[1-9]\d{1,14}$ minLength: 1 maxLength: 50 description: 'The phone number for the buyer which should be formatted according to the [E164 number standard](https://www.twilio.com/docs/glossary/what-e164).' example: '+1234567890' address: type: - object - 'null' description: The billing address for the buyer. allOf: - $ref: '#/components/schemas/Address' - required: - line1 - city - state - postal_code - country tax_id: type: - object - 'null' description: The tax ID information associated with the billing details. allOf: - $ref: '#/components/schemas/TaxId' TaxId: title: Tax ID type: object description: The tax ID information associated to a buyer. x-tags: - Buyers required: - kind - value properties: value: type: string minLength: 1 maxLength: 50 description: The tax ID for the buyer. example: '12345678931' kind: type: string description: The kind of tax ID. example: gb.vat enum: - ae.trn - au.abn - ar.dni - ar.cuil - ar.cuit - br.cnpj - br.cpf - ca.bn - ca.gst_hst - ca.pst_bc - ca.pst_mb - ca.pst_sk - ca.qst - ch.vat - cl.tin - es.cif - eu.vat - gb.vat - hk.br - id.nik - id.npwp - in.gst - jp.cn - jp.rn - kr.brn - li.uid - mx.curp - my.frp - my.itn - my.nric - my.sst - no.vat - nz.gst - ph.tin - ru.inn - ru.kpp - sa.vat - sg.gst - sg.uen - th.id - th.vat - tw.vat - us.ein - za.vat CheckoutSessionFieldsClickToPayPaymentMethod: title: Click to Pay Payment Method type: object description: Details to store a new Click to Pay payment method. x-tags: - Request Bodies x-internal: true required: - method - merchant_transaction_id - src_correlation_id properties: method: type: string description: '`click_to_pay`.' example: click_to_pay enum: - click_to_pay merchant_transaction_id: type: string example: 1a3f0b9.3f334ba9.v094c1c526e0e39c10491a6a947249b5a9200ed6 description: 'Merchant checkout transaction identifier which is returned in the checkout response from Click to Pay JavaScript methods. ' src_correlation_id: type: string example: 34f4a24c.977cf2c2-3cv1-489e-b024-188a11a07491 description: Unique identifier generated by an SRC System. Error409DuplicateRecord: title: Duplicate Record Error type: object description: Duplicate Record Error (HTTP 409). x-tags: - Errors properties: type: type: string description: '`error`.' enum: - error example: error code: type: string description: '`duplicate_record`.' example: duplicate_record enum: - duplicate_record status: type: integer description: '`409`.' example: 409 enum: - 409 message: type: string description: Further details on the field that triggered the error. example: A duplicate record exists with this external_identifier value details: type: array description: 'A list of detail objects that further clarify the reason for the error. Not every error supports more detail.' example: [] items: $ref: '#/components/schemas/ErrorDetail' AirlinePassenger: title: Airline Addendum Passenger type: object description: Information of the travelling passenger. properties: title: type: - string - 'null' minLength: 1 maxLength: 50 description: Title of the passenger. example: Mr. first_name: type: - string - 'null' minLength: 1 maxLength: 255 description: The first name(s) or given name of the passenger. example: John last_name: type: - string - 'null' minLength: 1 maxLength: 255 description: The last name, or family name, of the passenger. example: Lunn email_address: type: - string - 'null' minLength: 1 maxLength: 320 description: The email address of the passenger. example: john@example.com phone_number: type: - string - 'null' pattern: ^\+[1-9]\d{1,14}$ minLength: 1 maxLength: 50 description: 'The phone number of the passenger. This number is formatted according to the [E164 number standard](https://www.twilio.com/docs/glossary/what-e164).' example: '+1234567890' passport_number: type: - string - 'null' minLength: 1 maxLength: 50 description: The passenger's unique passport number. example: '7700225' ticket_number: type: - string - 'null' minLength: 1 maxLength: 50 description: The ticket number for a flight. example: LH1236699999 frequent_flyer_number: type: - string - 'null' minLength: 5 maxLength: 50 description: The passenger's frequent flyer number. example: '15885566' date_of_birth: type: - string - 'null' description: The passenger's date of birth. format: date example: '2013-07-16' age_group: type: - string - 'null' enum: - adult - infant example: adult Address: title: Address type: object description: An address for the buyer. x-tags: - Buyers properties: city: type: - string - 'null' minLength: 1 maxLength: 100 description: The city for the address. example: London country: type: - string - 'null' minLength: 2 maxLength: 2 description: The country for the address in ISO 3166 format. example: GB postal_code: type: - string - 'null' minLength: 1 maxLength: 50 description: The postal code or zip code for the address. example: '789123' state: type: - string - 'null' minLength: 1 maxLength: 255 description: The state, county, or province for the address. example: Greater London state_code: type: - string - 'null' minLength: 4 maxLength: 6 description: 'The code of state, county, or province for the address in ISO 3166-2 format.' example: GB-LND house_number_or_name: type: - string - 'null' minLength: 1 maxLength: 255 description: 'The house number or name for the address. Not all payment services use this field but some do.' example: '10' line1: type: - string - 'null' minLength: 1 maxLength: 255 description: The first line of the address. example: 10 Oxford Street line2: type: - string - 'null' minLength: 1 maxLength: 255 description: The second line of the address. example: New Oxford Court organization: type: - string - 'null' minLength: 1 maxLength: 255 description: 'The optional name of the company or organisation to add to the address.' example: Gr4vy CartItem: title: Cart Item type: object description: 'A cart item that represents a single cart line item for a transaction. Note that some optional properties are required for certain payment service providers. If no value is set for these properties, we will use their default value. If the total due to be paid for the item is required by the payment service provider, generally referred to as the "total amount", the formula below will usually be used to calculate this amount: `(unit_amount * quantity) - discount_amount + tax_amount` It''s highly recommended that the total amount to pay for all items should match the transaction''s amount to reduce the risk of the transaction being declined by the payment service provider.' required: - name - quantity - unit_amount properties: name: type: string description: 'The name of the cart item. The value you set for this property may be truncated if the maximum length accepted by a payment service provider is less than 255 characters.' example: GoPro HERO9 Camcorder maxLength: 255 quantity: type: integer description: 'The quantity of this item in the cart. This value cannot be negative or zero.' example: 1 minimum: 1 maximum: 99999999 unit_amount: type: integer description: 'The amount for an individual item represented as a monetary amount in the smallest currency unit for the given currency, for example `1299` USD cents represents `$12.99`. The amount sent through to the payment processor as unitary amount will be calculated to include the discount and tax values sent as part of this cart item.' example: 37999 minimum: 0 maximum: 99999999 discount_amount: type: - integer - 'null' description: 'The amount discounted for this item represented as a monetary amount in the smallest currency unit for the given currency, for example `1299` USD cents represents `$12.99`. Please note that this amount is for the total of the cart item and not for an individual item. For example, if the quantity is 5, this value should be the total discount amount for 5 of the cart item. You might see unexpected failed transactions if the `discount_amount` can not be equally divided by the `quantity` value. This is due to the fact that some payment services require this amount to be specified per unit. In this situation we recommend splitting this item into separate items, each with their own specific discount.' example: 0 minimum: 0 maximum: 99999999 default: 0 tax_amount: type: - integer - 'null' description: 'The tax amount for this item represented as a monetary amount in the smallest currency unit for the given currency, for example `1299` USD cents represents `$12.99`. Please not that this amount is for the total of the cart item and not for an individual item. For example, if the quantity is 5, this value should be the total tax amount for 5 of the cart item. You might see unexpected failed transactions if the `tax_amount` can not be equally divided by the `quantity` value. This is due to the fact that some payment services require this amount to be specified per unit. In this situation we recommend splitting this item into separate items, each with their own specific tax amount.' example: 0 minimum: 0 maximum: 99999999 default: 0 external_identifier: type: - string - 'null' example: item-789123 description: An external identifier for the cart item. This can be set to any value and is not sent to the payment service. maxLength: 200 sku: type: - string - 'null' example: sku-789123 description: The SKU for the item. maxLength: 200 product_url: type: - string - 'null' format: url example: https://example.com/items/gopro description: The product URL for the item. maxLength: 2083 image_url: type: - string - 'null' format: url example: https://example.com/images/items/gopro.png description: The URL for the image of the item. maxLength: 2083 categories: type: - array - 'null' description: 'A list of strings containing product categories for the item. Max length per item: 50.' items: type: string maxLength: 50 maxItems: 100 product_type: type: - string - 'null' description: The product type of the cart item. example: physical enum: - physical - discount - shipping_fee - sales_tax - digital - gift_card - store_credit - surcharge - null seller_country: type: - string - 'null' description: 'The country code of the seller of the item. For some connectors, if this country code does not match the `country` then the transaction will be marked to Visa as a foreign seller transaction to meet Marketplace reporting requirements.' example: US pattern: ^[A-Z]{2}$ Error404NotFound: title: Not Found Error type: object description: Not Found Error (HTTP 404). x-tags: - Errors properties: type: type: string description: '`error`.' enum: - error example: error code: type: string description: The reason code for the error. example: not_found enum: - not_found - pending_creation status: type: integer description: '`404`.' example: 404 enum: - 404 message: type: string description: The human readable reason for the error. example: The resource could not be found details: type: array description: 'A list of detail objects that further clarify the reason for the error. Not every error supports more detail.' example: [] items: $ref: '#/components/schemas/ErrorDetail' AirlineLeg: title: Airline Addendum Leg type: object description: Each of the separate trip segment, contains detailed itinerary information. properties: carrier_code: type: - string - 'null' minLength: 2 maxLength: 2 description: 2 character airline code as set by IATA. example: LY carrier_name: type: - string - 'null' minLength: 1 maxLength: 100 description: The name of the airline. example: El Al Israel Airlines iata_designator: type: - string - 'null' minLength: 2 maxLength: 2 description: 2 character IATA code of the airline. example: LY icao_code: type: - string - 'null' minLength: 3 maxLength: 3 description: 3 character ICAO code of the airline. example: ELY flight_number: type: - string - 'null' minLength: 3 maxLength: 6 description: Unique identifier of the flight number. example: BA98 departure_at: type: - string - 'null' format: date-time description: The date and time of travel in local time at the departure airport. example: '2013-07-16T19:23:00.000+00:00' departure_country: type: - string - 'null' minLength: 2 maxLength: 2 description: Departure country code in ISO 3166 format. example: UK departure_city: type: - string - 'null' minLength: 1 maxLength: 100 description: Departure city name. example: London departure_airport: type: - string - 'null' minLength: 3 maxLength: 3 description: 'Departure airport code of leg. 3-letter ISO code according to IATA official directory.' example: LHR arrival_at: type: - string - 'null' format: date-time description: The date and time of travel in local time at the arrival airport. example: '2013-07-16T19:23:00.000+00:00' arrival_country: type: - string - 'null' minLength: 2 maxLength: 2 description: Arrival country code in ISO 3166 format. example: UK arrival_city: type: - string - 'null' minLength: 1 maxLength: 100 description: Arrival city name. example: London arrival_airport: type: - string - 'null' minLength: 3 maxLength: 3 description: 'Arrival airport code of leg. 3-letter ISO code according to IATA official directory.' example: LHR fare_basis_code: type: - string - 'null' minLength: 1 maxLength: 8 description: The alphanumeric code for the "booking class" of a ticket. example: WH7LNR flight_class: type: - string - 'null' minLength: 1 maxLength: 5 description: Indicates service class (first class, business class, etc.). example: E stop_over: type: - boolean - 'null' description: Indicates whether a stopover is allowed on this ticket. example: false route_type: type: string description: The route type of the flight. enum: - round_trip - one_way example: round_trip coupon_number: type: - string - 'null' minLength: 1 maxLength: 50 description: Coupon number associated with the leg. example: '15885566' fare_amount: type: - integer - 'null' description: Amount of the ticket, for current leg of the trip, excluding taxes and fees. minimum: 0 maximum: 99999999 example: 100 fee_amount: type: - integer - 'null' description: Fee amount for current leg of the trip. minimum: 0 maximum: 99999999 example: 100 tax_amount: type: - integer - 'null' description: Amount of the taxes for current leg of the trip. minimum: 0 maximum: 99999999 example: 100 departure_tax_amount: type: - integer - 'null' description: 'Departure tax amount charged by a country when a person is leaving the country.' minimum: 0 maximum: 99999999 example: 100 seat_class: type: - string - 'null' minLength: 1 maxLength: 5 description: Indicates seat class (first class, business class, etc.). example: F CheckoutSessionCreateRequest: title: Checkout Session (Create) type: object description: A request to create a checkout session. x-tags: - Checkout properties: expires_in: type: integer minimum: 3600 maximum: 86400 default: 3600 example: 7200 description: 'Defines when the checkout session will expire (in seconds). Defaults to an hour (3600 seconds).' cart_items: type: - array - 'null' description: An array of cart items that represents the line items of a transaction. items: $ref: '#/components/schemas/CartItem' metadata: description: 'Any additional information about the transaction that you would like to store as key-value pairs. This data is passed to payment service providers that support it.' type: - object - 'null' maxProperties: 20 additionalProperties: type: string example: key: value airline: type: - object - 'null' allOf: - $ref: '#/components/schemas/Airline' description: 'The airline addendum data which describes the airline booking associated with this transaction.' buyer: description: 'Provide buyer details for the transaction. No buyer resource will be created on Gr4vy when used.' oneOf: - $ref: '#/components/schemas/TransactionBuyerRequest' type: - object - 'null' x-model-name: TransactionBuyerRequest Error429TooManyRequests: title: Too Many Requests Error type: object description: Too Many Requests Error (HTTP 429). x-tags: - Errors properties: type: type: string description: '`error`.' enum: - error example: error code: type: string description: '`too_many_requests`.' example: too_many_requests enum: - too_many_requests status: type: integer description: '`429`.' example: 429 enum: - 429 message: type: string description: Further details on the field that triggered the error. example: Too many requests details: type: array description: 'A list of detail objects that further clarify the reason for the error. Not every error supports more detail.' example: [] items: $ref: '#/components/schemas/ErrorDetail' CheckoutSessionCardDetailsRequest: properties: bin: type: string maxLength: 8 minLength: 6 pattern: ^\d+$ title: Bin description: The first 6 to 8 digits of a card number. examples: - '41111111' additionalProperties: false type: object required: - bin title: CheckoutSessionCardDetailsRequest CheckoutSessionIdPaymentMethod: properties: method: type: string const: id title: Method description: Always `id`. default: id examples: - id id: type: string format: uuid title: Id description: The ID of the payment method to associate to the session. examples: - ef9496d8-53a5-4aad-8ca2-00eb68334389 security_code: anyOf: - type: string maxLength: 4 minLength: 3 pattern: ^\d+$ - type: 'null' title: Security Code description: The 3 or 4 digit security code often found on the card. This often referred to as the CVV or CVD. examples: - '123' additionalProperties: false type: object required: - id title: CheckoutSessionIdPaymentMethod Error401: properties: type: type: string const: error title: Type description: Always `error`. default: error examples: - error code: type: string title: Code description: Always `unauthorized` default: unauthorized examples: - unauthorized status: type: integer title: Status description: Always `401`. default: 401 examples: - 401 message: type: string title: Message description: A human readable message that provides more context to the error. default: No valid API authentication found examples: - No valid API authentication found details: items: $ref: '#/components/schemas/ErrorDetail_2' type: array title: Details description: A list of details that further ellaborate on the error. default: [] additionalProperties: false type: object title: Error401 CheckoutSession_2: properties: cart_items: anyOf: - items: $ref: '#/components/schemas/CartItem_2' type: array - type: 'null' title: Cart Items description: An array of cart items that represents the line items of a transaction. metadata: anyOf: - additionalProperties: type: string type: object - type: 'null' title: Metadata description: Any additional information about the transaction that you would like to store as key-value pairs. This data is passed to payment service providers that support it. examples: - cohort: cohort-a order_id: order-12345 buyer: anyOf: - $ref: '#/components/schemas/GuestBuyer' - type: 'null' description: Provide buyer details for the transaction. No buyer resource will be created on Gr4vy when used. airline: anyOf: - $ref: '#/components/schemas/Airline_2' - type: 'null' description: The airline addendum data which describes the airline booking associated with this transaction. amount: anyOf: - type: integer maximum: 99999999.0 minimum: 0.0 - type: 'null' title: Amount description: The total amount for this transaction. x-gr4vy-docs-ignore: true currency: anyOf: - type: string pattern: ^[A-Z]{3}$ examples: - EUR - GBP - USD - type: 'null' title: Currency description: The currency code for this transaction. x-gr4vy-docs-ignore: true payment_service_id: anyOf: - type: string format: uuid - type: 'null' title: Payment Service Id description: The unique identifier of an existing payment service. When provided, the created transaction will be processed by the given payment service and any routing rules will be skipped. x-gr4vy-docs-ignore: true type: type: string const: checkout-session title: Type description: Always `checkout-session` default: checkout-session examples: - checkout-session id: type: string format: uuid title: Id description: The ID for the checkout session. examples: - 4137b1cf-39ac-42a8-bad6-1c680d5dab6b expires_at: type: string format: date-time title: Expires At description: The date and time when this checkout session expires. examples: - '2013-07-16T19:23:00.000+00:00' payment_method: anyOf: - $ref: '#/components/schemas/CheckoutSessionPaymentMethod' - type: 'null' description: Information about the payment method stored on the checkout session. additionalProperties: false type: object required: - id - expires_at title: CheckoutSession Error404: properties: type: type: string const: error title: Type description: Always `error`. default: error examples: - error code: type: string title: Code description: Always `not_found` default: not_found examples: - not_found status: type: integer title: Status description: Always `404`. default: 404 examples: - 404 message: type: string title: Message description: A human readable message that provides more context to the error. default: The resource could not be found examples: - The resource could not be found details: items: $ref: '#/components/schemas/ErrorDetail_2' type: array title: Details description: A list of details that further ellaborate on the error. default: [] additionalProperties: false type: object title: Error404 ErrorLocation: type: string enum: - query - body - path - header - unknown title: ErrorLocation CheckoutSessionSecureFields: properties: payment_method: oneOf: - $ref: '#/components/schemas/CheckoutSessionCardPaymentMethod' - $ref: '#/components/schemas/CheckoutSessionClickToPayPaymentMethod' - $ref: '#/components/schemas/CheckoutSessionIdPaymentMethod' title: Payment Method description: The details of the payment method to update. discriminator: propertyName: method mapping: card: '#/components/schemas/CheckoutSessionCardPaymentMethod' click-to-pay: '#/components/schemas/CheckoutSessionClickToPayPaymentMethod' id: '#/components/schemas/CheckoutSessionIdPaymentMethod' postal_code: anyOf: - type: string maxLength: 50 minLength: 1 - type: 'null' title: Postal Code description: The postal code of the buyer. examples: - '12345' additionalProperties: false type: object required: - payment_method title: CheckoutSessionSecureFields Error425: properties: type: type: string const: error title: Type description: Always `error`. default: error examples: - error code: type: string title: Code description: Always `too_early` default: too_early examples: - too_early status: type: integer title: Status description: Always `425`. default: 425 examples: - 425 message: type: string title: Message description: A human readable message that provides more context to the error. default: Generic error examples: - Request failed validation details: items: $ref: '#/components/schemas/ErrorDetail_2' type: array title: Details description: A list of details that further ellaborate on the error. default: [] additionalProperties: false type: object title: Error425 Airline_2: properties: booking_code: anyOf: - type: string maxLength: 50 minLength: 1 - type: 'null' title: Booking Code description: The unique identifier of the reservation in the global distribution system. examples: - X36Q9C is_cardholder_traveling: anyOf: - type: boolean - type: 'null' title: Is Cardholder Traveling description: Indicates whether the cardholder is traveling. examples: - true issued_address: anyOf: - type: string maxLength: 255 minLength: 1 - type: 'null' title: Issued Address description: The address of the place/agency that issued the ticket. examples: - 123 Broadway, New York issued_at: anyOf: - type: string format: date-time - type: 'null' title: Issued At description: The date that the ticket was last issued in the airline reservation system. examples: - '2013-07-16T19:23:00.000+00:00' issuing_carrier_code: anyOf: - type: string maxLength: 3 minLength: 2 - type: 'null' title: Issuing Carrier Code description: For airline aggregators, three-character IATA code of the airline issuing the ticket. examples: - '649' issuing_carrier_name: anyOf: - type: string minLength: 1 - type: 'null' title: Issuing Carrier Name description: For airline aggregators, name of the airline issuing the ticket. examples: - Air Transat A.T. Inc issuing_iata_designator: anyOf: - type: string maxLength: 2 minLength: 2 - type: 'null' title: Issuing Iata Designator description: For airline aggregators, two-character IATA code of the airline issuing the ticket. examples: - TS issuing_icao_code: anyOf: - type: string maxLength: 3 minLength: 3 - type: 'null' title: Issuing Icao Code description: For airline aggregators, three-character ICAO code of the airline issuing the ticket. examples: - TSC legs: anyOf: - items: $ref: '#/components/schemas/AirlineLeg_2' type: array maxItems: 20 - type: 'null' title: Legs description: An array of separate trip segments. Each leg contains detailed itinerary information. passenger_name_record: anyOf: - type: string maxLength: 50 minLength: 1 - type: 'null' title: Passenger Name Record description: The Passenger Name Record (PNR) in the airline reservation system. examples: - JOHN L passengers: anyOf: - items: $ref: '#/components/schemas/AirlinePassenger_2' type: array maxItems: 20 - type: 'null' title: Passengers description: An array of the travelling passengers. reservation_system: anyOf: - type: string maxLength: 200 minLength: 1 - type: 'null' title: Reservation System description: The name of the reservation system. examples: - Amadeus restricted_ticket: anyOf: - type: boolean - type: 'null' title: Restricted Ticket description: Indicates whether the ticket is restricted (refundable). examples: - false ticket_delivery_method: anyOf: - type: string enum: - electronic - other - type: 'null' title: Ticket Delivery Method description: The delivery method of the ticket. default: electronic examples: - electronic ticket_number: anyOf: - type: string maxLength: 50 minLength: 1 - type: 'null' title: Ticket Number description: The airline's unique ticket number. examples: - 123-1234-151555 travel_agency_code: anyOf: - type: string maxLength: 50 minLength: 1 - type: 'null' title: Travel Agency Code description: The IATA travel agency code. examples: - '12345' travel_agency_invoice_number: anyOf: - type: string maxLength: 50 minLength: 1 - type: 'null' title: Travel Agency Invoice Number description: The reference number of the invoice that was issued by the travel agency. examples: - EG15555155 travel_agency_name: anyOf: - type: string maxLength: 200 minLength: 1 - type: 'null' title: Travel Agency Name description: The name of the travel agency. examples: - ACME Agency travel_agency_plan_name: anyOf: - type: string maxLength: 200 minLength: 1 - type: 'null' title: Travel Agency Plan Name description: The name of the travel agency plan. examples: - B733 additionalProperties: false type: object title: Airline description: Information about an airline travel. HTTPValidationError: properties: detail: items: $ref: '#/components/schemas/ValidationError' type: array title: Detail type: object title: HTTPValidationError ErrorDetail_2: properties: location: $ref: '#/components/schemas/ErrorLocation' description: The part of the request where the property can be found that caused the error. examples: - body pointer: anyOf: - type: string format: json-pointer - type: string title: Pointer description: A JSON pointer for the particular property that caused the error. examples: - /currency message: type: string title: Message description: A human-readdable explanation of the error. examples: - 'Unknown ISO 4217 currency code: USX' type: type: string title: Type description: The type of error that was raised for this property. examples: - value_error additionalProperties: false type: object required: - location - pointer - message - type title: ErrorDetail CheckoutSessionPaymentMethodDetails: properties: bin: anyOf: - type: string - type: 'null' title: Bin description: The first 6 digit of the card. examples: - '411111' card_country: anyOf: - type: string pattern: ^[A-Z]{2}$ examples: - DE - GB - US - type: 'null' title: Card Country description: The country of the card issuer. examples: - US card_type: anyOf: - $ref: '#/components/schemas/CardType' - type: 'null' description: The payment scheme of the card. examples: - credit card_issuer_name: anyOf: - type: string - type: 'null' title: Card Issuer Name description: The card issuer. examples: - Bank of America NA additionalProperties: false type: object title: CheckoutSessionPaymentMethodDetails Error405: properties: type: type: string const: error title: Type description: Always `error`. default: error examples: - error code: type: string title: Code description: Always `method_not_allowed` default: method_not_allowed examples: - method_not_allowed status: type: integer title: Status description: Always `405`. default: 405 examples: - 405 message: type: string title: Message description: A human readable message that provides more context to the error. default: Method Not Allowed examples: - Method Not Allowed details: items: $ref: '#/components/schemas/ErrorDetail_2' type: array title: Details description: A list of details that further ellaborate on the error. default: [] additionalProperties: false type: object title: Error405 BillingDetails: properties: first_name: anyOf: - type: string maxLength: 255 minLength: 1 - type: 'null' title: First Name description: The first name(s) or given name for the buyer. examples: - John last_name: anyOf: - type: string maxLength: 255 minLength: 1 - type: 'null' title: Last Name description: The last name, or family name, of the buyer. examples: - Doe email_address: anyOf: - type: string maxLength: 320 minLength: 1 - type: 'null' title: Email Address description: The email address for the buyer. examples: - john@example.com phone_number: anyOf: - type: string pattern: ^\+[1-9]\d{1,14}$ examples: - '+14155552671' - '+442071838750' - type: 'null' title: Phone Number description: The phone number for the buyer which should be formatted according to the E164 number standard. examples: - '+1234567890' address: anyOf: - $ref: '#/components/schemas/Address_2' - type: 'null' description: The billing address for the buyer. tax_id: anyOf: - $ref: '#/components/schemas/TaxId_2' - type: 'null' description: The tax ID information associated with the billing details. additionalProperties: false type: object title: BillingDetails Error429: properties: type: type: string const: error title: Type description: Always `error`. default: error examples: - error code: type: string title: Code description: Always `too_many_requests` default: too_many_requests examples: - too_many_requests status: type: integer title: Status description: Always `429`. default: 429 examples: - 429 message: type: string title: Message description: A human readable message that provides more context to the error. default: Generic error examples: - Request failed validation details: items: $ref: '#/components/schemas/ErrorDetail_2' type: array title: Details description: A list of details that further ellaborate on the error. default: [] additionalProperties: false type: object title: Error429 TaxIdKind: type: string enum: - ae.trn - au.abn - ar.dni - ar.cuil - ar.cuit - br.cnpj - br.cpf - ca.bn - ca.gst_hst - ca.pst_bc - ca.pst_mb - ca.pst_sk - ca.qst - ch.vat - cl.tin - co.itin - co.nit - co.cc - co.ce - co.de - co.rc - co.ti - co.passport - es.cif - eu.vat - gb.vat - hk.br - id.nik - id.npwp - in.gst - in.pan - jp.cn - jp.rn - kr.brn - li.uid - mx.curp - mx.rfc - my.frp - my.itn - my.nric - my.sst - no.vat - nz.gst - pe.ruc - ph.tin - ru.inn - ru.kpp - sa.vat - sg.gst - sg.uen - th.id - th.vat - tw.vat - us.ein - za.vat - bo.ci - uy.rut - uy.ci title: TaxIdKind TaxId_2: properties: value: type: string maxLength: 50 minLength: 1 title: Value description: The tax ID for the buyer. examples: - '12345678931' kind: $ref: '#/components/schemas/TaxIdKind' description: The kind of tax ID examples: - us.ein additionalProperties: false type: object required: - value - kind title: TaxId Error500: properties: type: type: string const: error title: Type description: Always `error`. default: error examples: - error code: type: string title: Code description: Always `server_error` default: server_error examples: - server_error status: type: integer title: Status description: Always `500`. default: 500 examples: - 500 message: type: string title: Message description: A human readable message that provides more context to the error. default: Request could not be processed examples: - Request could not be processed details: items: $ref: '#/components/schemas/ErrorDetail_2' type: array title: Details description: A list of details that further ellaborate on the error. default: [] additionalProperties: false type: object title: Error500 CardType: type: string enum: - credit - debit - prepaid title: CardType CheckoutSessionCardPaymentMethod: properties: method: type: string const: card title: Method description: Always `card`. default: card examples: - card number: type: string maxLength: 19 minLength: 13 pattern: ^\d+$ title: Number description: The 13-19 digit number for this card. examples: - '4111111111111111' expiration_date: type: string maxLength: 5 minLength: 5 pattern: ^\d{2}/\d{2}$ title: Expiration Date description: The expiration date of the card, formatted `MM/YY`. examples: - 12/30 security_code: anyOf: - type: string maxLength: 4 minLength: 3 pattern: ^\d+$ - type: 'null' title: Security Code description: The 3 or 4 digit security code often found on the card. This often referred to as the CVV or CVD. examples: - '123' additionalProperties: false type: object required: - number - expiration_date title: CheckoutSessionCardPaymentMethod Error504: properties: type: type: string const: error title: Type description: Always `error`. default: error examples: - error code: type: string title: Code description: Always `gateway_timeout` default: gateway_timeout examples: - gateway_timeout status: type: integer title: Status default: 504 message: type: string title: Message description: A human readable message that provides more context to the error. default: Request could not be processed examples: - Request could not be processed details: items: $ref: '#/components/schemas/ErrorDetail_2' type: array title: Details description: A list of details that further ellaborate on the error. default: [] additionalProperties: false type: object title: Error504 Error400: properties: type: type: string const: error title: Type description: Always `error`. default: error examples: - error code: type: string title: Code description: Always `bad_request` default: bad_request examples: - bad_request status: type: integer title: Status description: Always `400`. default: 400 examples: - 400 message: type: string title: Message description: A human readable message that provides more context to the error. default: Generic error examples: - Request failed validation details: items: $ref: '#/components/schemas/ErrorDetail_2' type: array title: Details description: A list of details that further ellaborate on the error. default: [] additionalProperties: false type: object title: Error400 AirlinePassenger_2: properties: age_group: anyOf: - type: string enum: - adult - infant - type: 'null' title: Age Group description: The age group for the passenger. examples: - adult date_of_birth: anyOf: - type: string format: date - type: 'null' title: Date Of Birth description: The passenger's date of birth in YYYY-MM-YY format. examples: - '2013-07-16' email_address: anyOf: - type: string maxLength: 320 minLength: 1 - type: 'null' title: Email Address description: The email address of the passenger. examples: - john@example.com first_name: anyOf: - type: string maxLength: 255 minLength: 1 - type: 'null' title: First Name description: The first name(s) or given name of the passenger. examples: - John frequent_flyer_number: anyOf: - type: string maxLength: 50 minLength: 5 - type: 'null' title: Frequent Flyer Number description: The passenger's frequent flyer number. examples: - '15885566' last_name: anyOf: - type: string maxLength: 255 minLength: 1 - type: 'null' title: Last Name description: The last name, or family name, of the passenger. examples: - Luhn passport_number: anyOf: - type: string maxLength: 50 minLength: 1 - type: 'null' title: Passport Number description: The passenger's unique passport number. examples: - '11117700225' phone_number: anyOf: - type: string pattern: ^\+[1-9]\d{1,14}$ examples: - '+14155552671' - '+442071838750' - type: 'null' title: Phone Number description: The phone number of the passenger. This number is formatted according to the E164 number standard. examples: - '+1234567890' ticket_number: anyOf: - type: string maxLength: 50 minLength: 1 - type: 'null' title: Ticket Number description: The ticket number for a flight. examples: - BA1236699999 title: anyOf: - type: string maxLength: 50 minLength: 1 - type: 'null' title: Title description: Title of the passenger. examples: - Mr. country_code: anyOf: - type: string pattern: ^[A-Z]{2}$ examples: - DE - GB - US - type: 'null' title: Country Code description: The country of residence of the passenger examples: - US additionalProperties: false type: object title: AirlinePassenger Address_2: properties: city: anyOf: - type: string maxLength: 100 minLength: 1 - type: 'null' title: City description: The city for the address. examples: - San Jose country: anyOf: - type: string pattern: ^[A-Z]{2}$ examples: - DE - GB - US - type: 'null' title: Country description: The country for the address in ISO 3166 format. examples: - US postal_code: anyOf: - type: string maxLength: 50 minLength: 1 - type: 'null' title: Postal Code description: The postal code or zip code for the address. examples: - '94560' state: anyOf: - type: string maxLength: 255 minLength: 1 - type: 'null' title: State description: The state, county, or province for the address. examples: - California state_code: anyOf: - type: string pattern: ^[A-Z]{2}-[A-Z0-9]{1,3}$ examples: - GB-LND - US-CA - type: 'null' title: State Code description: The code of state, county, or province for the address in ISO 3166-2 format. examples: - US-CA house_number_or_name: anyOf: - type: string maxLength: 255 minLength: 1 - type: 'null' title: House Number Or Name description: The house number or name for the address. Not all payment services use this field but some do. examples: - '10' line1: anyOf: - type: string maxLength: 255 minLength: 1 - type: 'null' title: Line1 description: The first line of the address. examples: - Stafford Appartments line2: anyOf: - type: string maxLength: 255 minLength: 1 - type: 'null' title: Line2 description: The second line of the address. examples: - 29th Street organization: anyOf: - type: string maxLength: 255 minLength: 1 - type: 'null' title: Organization description: The optional name of the company or organisation to add to the address. examples: - Gr4vy additionalProperties: false type: object title: Address CheckoutSessionPaymentMethod: properties: type: type: string const: payment-method title: Type description: Always `payment-method` default: payment-method examples: - payment-method id: anyOf: - type: string format: uuid - type: 'null' title: Id description: The ID of the payment method. examples: - ef9496d8-53a5-4aad-8ca2-00eb68334389 details: anyOf: - $ref: '#/components/schemas/CheckoutSessionPaymentMethodDetails' - type: 'null' description: Details for credit or debit card payment method. label: anyOf: - type: string - type: 'null' title: Label description: The last 4 digits of the the card. examples: - '1234' method: type: string const: card title: Method description: Always `card` default: card examples: - card scheme: anyOf: - $ref: '#/components/schemas/CardScheme' - type: 'null' description: The scheme of the card. examples: - visa fingerprint: anyOf: - type: string - type: 'null' title: Fingerprint description: The unique hash derived from the card number. examples: - a50b85c200ee0795d6fd33a5c66f37a4564f554355c5b46a756aac485dd168a4 additionalProperties: false type: object title: CheckoutSessionPaymentMethod GuestBuyer: properties: display_name: anyOf: - type: string maxLength: 200 minLength: 1 - type: 'null' title: Display Name description: The display name for the buyer. examples: - John Doe external_identifier: anyOf: - type: string maxLength: 200 minLength: 1 - type: 'null' title: External Identifier description: The merchant identifier for this buyer. examples: - buyer-12345 billing_details: anyOf: - $ref: '#/components/schemas/BillingDetails' - type: 'null' description: The billing name, address, email, and other fields for this buyer. account_number: anyOf: - type: string maxLength: 200 minLength: 1 - type: 'null' title: Account Number description: The buyer account number shipping_details: anyOf: - $ref: '#/components/schemas/ShippingDetailsCreate' - type: 'null' description: The optional shipping details for this buyer. additionalProperties: false type: object title: GuestBuyer Error502: properties: type: type: string const: error title: Type description: Always `error`. default: error examples: - error code: type: string title: Code description: Always `bad_gateway` default: bad_gateway examples: - bad_gateway status: type: integer title: Status description: Always `502`. default: 502 examples: - 502 message: type: string title: Message description: A human readable message that provides more context to the error. default: Request could not be processed examples: - Request could not be processed details: items: $ref: '#/components/schemas/ErrorDetail_2' type: array title: Details description: A list of details that further ellaborate on the error. default: [] additionalProperties: false type: object title: Error502 ProductType: type: string enum: - physical - discount - shipping_fee - sales_tax - digital - gift_card - store_credit - surcharge title: ProductType ValidationError: properties: loc: items: anyOf: - type: string - type: integer type: array title: Location msg: type: string title: Message type: type: string title: Error Type input: title: Input ctx: type: object title: Context type: object required: - loc - msg - type title: ValidationError CheckoutSessionCardDetails: properties: bin: type: string title: Bin description: The card BIN provided in the request. examples: - '41111111' card_type: anyOf: - $ref: '#/components/schemas/CardType' - type: 'null' description: The type of the card. examples: - debit scheme: anyOf: - $ref: '#/components/schemas/CardScheme' - type: 'null' description: The scheme of the card. examples: - visa scheme_icon_url: anyOf: - type: string - type: 'null' title: Scheme Icon Url description: URL to the card scheme's icon. examples: - https://cdn.example.gr4vy.app/assets/icons/card-schemes/mastercard.svg additional_schemes: items: $ref: '#/components/schemas/CardScheme' type: array title: Additional Schemes description: Additional card schemes associated with the BIN. examples: - - visa-debit - electron country: anyOf: - type: string pattern: ^[A-Z]{2}$ examples: - DE - GB - US - type: 'null' title: Country description: The country the card was issued in. examples: - US additionalProperties: false type: object required: - bin title: CheckoutSessionCardDetails CheckoutSessionUpdate: properties: cart_items: anyOf: - items: $ref: '#/components/schemas/CartItem_2' type: array - type: 'null' title: Cart Items description: An array of cart items that represents the line items of a transaction. metadata: anyOf: - additionalProperties: type: string type: object - type: 'null' title: Metadata description: Any additional information about the transaction that you would like to store as key-value pairs. This data is passed to payment service providers that support it. examples: - cohort: cohort-a order_id: order-12345 buyer: anyOf: - $ref: '#/components/schemas/GuestBuyer' - type: 'null' description: Provide buyer details for the transaction. No buyer resource will be created on Gr4vy when used. airline: anyOf: - $ref: '#/components/schemas/Airline_2' - type: 'null' description: The airline addendum data which describes the airline booking associated with this transaction. amount: anyOf: - type: integer maximum: 99999999.0 minimum: 0.0 - type: 'null' title: Amount description: The total amount for this transaction. x-gr4vy-docs-ignore: true currency: anyOf: - type: string pattern: ^[A-Z]{3}$ examples: - EUR - GBP - USD - type: 'null' title: Currency description: The currency code for this transaction. x-gr4vy-docs-ignore: true payment_service_id: anyOf: - type: string format: uuid - type: 'null' title: Payment Service Id description: The unique identifier of an existing payment service. When provided, the created transaction will be processed by the given payment service and any routing rules will be skipped. x-gr4vy-docs-ignore: true expires_in: type: number maximum: 86400.0 minimum: 3600.0 title: Expires In description: The time in seconds when this checkout session expires. default: 3600 country: anyOf: - type: string pattern: ^[A-Z]{2}$ examples: - DE - GB - US - type: 'null' title: Country description: The 2-letter ISO 3166-1 alpha-2 country code for the transaction. Used to filter payment services for processing. examples: - US x-gr4vy-docs-ignore: true x-speakeasy-ignore: true is_subsequent_payment: anyOf: - type: boolean - type: 'null' title: Is Subsequent Payment description: 'Indicates whether the transaction represents a subsequent payment coming from a setup recurring payment. Please note there are some restrictions on how this flag may be used. The flag can only be `false` (or not set) when the transaction meets one of the following criteria: * It is not `merchant_initiated`. * `payment_source` is set to `card_on_file`. The flag can only be set to `true` when the transaction meets one of the following criteria: * It is not `merchant_initiated`. * `payment_source` is set to `recurring` or `installment` and `merchant_initiated` is set to `true`. * `payment_source` is set to `card_on_file`.' x-gr4vy-docs-ignore: true x-speakeasy-ignore: true merchant_initiated: anyOf: - type: boolean - type: 'null' title: Merchant Initiated description: Indicates whether the transaction was initiated by the merchant (true) or customer (false). x-gr4vy-docs-ignore: true x-speakeasy-ignore: true payment_source: anyOf: - $ref: '#/components/schemas/TransactionPaymentSource' - type: 'null' description: The use-case for the the transaction. x-gr4vy-docs-ignore: true x-speakeasy-ignore: true intent: anyOf: - $ref: '#/components/schemas/TransactionIntent' - type: 'null' description: Defines the intent to apply to transactions created via this checkout session. This determines the desired initial state of the transaction. x-gr4vy-docs-ignore: true x-speakeasy-ignore: true additionalProperties: false type: object title: CheckoutSessionUpdate Error409: properties: type: type: string const: error title: Type description: Always `error`. default: error examples: - error code: type: string title: Code description: Always `duplicate_record` default: duplicate_record examples: - duplicate_record status: type: integer title: Status description: Always `409`. default: 409 examples: - 409 message: type: string title: Message description: A human readable message that provides more context to the error. default: Generic error examples: - Request failed validation details: items: $ref: '#/components/schemas/ErrorDetail_2' type: array title: Details description: A list of details that further ellaborate on the error. default: [] resource_id: anyOf: - type: string - type: 'null' title: Resource Id description: The ID of the conflicting resource. examples: - cdc70639-cb9c-4222-a73f-b8ce39f7821b additionalProperties: false type: object title: Error409 Error403: properties: type: type: string const: error title: Type description: Always `error`. default: error examples: - error code: type: string title: Code description: Always `forbidden` default: forbidden examples: - forbidden status: type: integer title: Status description: Always `403`. default: 403 examples: - 403 message: type: string title: Message description: A human readable message that provides more context to the error. default: Generic error examples: - Request failed validation details: items: $ref: '#/components/schemas/ErrorDetail_2' type: array title: Details description: A list of details that further ellaborate on the error. default: [] additionalProperties: false type: object title: Error403 CardScheme: type: string enum: - accel - amex - bancontact - carte-bancaire - cirrus - culiance - dankort - diners-club - discover - eftpos-australia - elo - hipercard - jcb - maestro - mastercard - mir - nyce - other - pulse - qcard - rupay - star - uatp - unionpay - visa title: CardScheme BaseModel: properties: {} additionalProperties: false type: object title: BaseModel CartItem_2: properties: name: type: string maxLength: 255 minLength: 1 title: Name description: The name of the cart item. The value you set for this property may be truncated if the maximum length accepted by a payment service provider is less than 255 characters. examples: - GoPro HD quantity: type: integer maximum: 99999999.0 exclusiveMinimum: 0.0 title: Quantity description: The quantity of this item in the cart. This value cannot be negative or zero. examples: - 2 unit_amount: type: integer maximum: 99999999.0 minimum: 0.0 title: Unit Amount description: The amount for an individual item represented as a monetary amount in the smallest currency unit for the given currency, for example `1299` USD cents represents `$12.99`. The amount sent through to the payment processor as unitary amount will be calculated to include the discount and tax values sent as part of this cart item. examples: - 1299 discount_amount: anyOf: - type: integer maximum: 99999999.0 minimum: 0.0 - type: 'null' title: Discount Amount description: The amount discounted for this item represented as a monetary amount in the smallest currency unit for the given currency, for example `1299` USD cents represents `$12.99`. default: 0 examples: - 0 tax_amount: anyOf: - type: integer maximum: 99999999.0 minimum: 0.0 - type: 'null' title: Tax Amount description: The tax amount for this item represented as a monetary amount in the smallest currency unit for the given currency, for example `1299` USD cents represents `$12.99`. default: 0 examples: - 0 external_identifier: anyOf: - type: string maxLength: 200 minLength: 1 - type: 'null' title: External Identifier description: An external identifier for the cart item. This can be set to any value and is not sent to the payment service. examples: - goprohd sku: anyOf: - type: string maxLength: 200 minLength: 1 - type: 'null' title: Sku description: The SKU or product code for the item. examples: - GPHD1078 upc: anyOf: - type: string maxLength: 50 minLength: 1 - type: 'null' title: Upc description: The UPC for the item. examples: - 012345678905 product_url: anyOf: - type: string - type: 'null' title: Product Url description: The product URL for the item. examples: - https://example.com/catalog/go-pro-hd image_url: anyOf: - type: string - type: 'null' title: Image Url description: The URL for the image of the item. examples: - https://example.com/images/go-pro-hd.jpg categories: anyOf: - items: type: string maxLength: 50 minLength: 1 type: array - type: 'null' title: Categories description: A list of strings containing product categories for the item. examples: - - camera - travel - gear subcategories: anyOf: - items: type: string maxLength: 50 minLength: 1 type: array - type: 'null' title: Subcategories description: A list of strings containing product subcategories for the item. examples: - - action-cameras brand: anyOf: - type: string maxLength: 255 minLength: 1 - type: 'null' title: Brand description: The brand of the item. examples: - GoPro product_type: anyOf: - $ref: '#/components/schemas/ProductType' - type: 'null' description: The product type of the cart item. examples: - physical seller_country: anyOf: - type: string pattern: ^[A-Z]{2}$ examples: - DE - GB - US - type: 'null' title: Seller Country description: The seller country of the cart item. examples: - US - GB tax_exempt: anyOf: - type: boolean - type: 'null' title: Tax Exempt description: Whether the item is exempt of tax. examples: - false unit_of_measure: anyOf: - type: string maxLength: 50 minLength: 1 - type: 'null' title: Unit Of Measure description: The unit of measure or the unit of measure code. examples: - feet - kg commodity_code: anyOf: - type: string maxLength: 50 minLength: 1 - type: 'null' title: Commodity Code description: Item commodity code. Generally a UNSPSC code. examples: - '43211503' - '84111502' description: anyOf: - type: string maxLength: 255 minLength: 1 - type: 'null' title: Description description: Brief item description. examples: - A brief description of an interesting item. duty_amount: anyOf: - type: integer maximum: 99999999.0 minimum: 0.0 - type: 'null' title: Duty Amount description: Item import or export duties represented as a monetary amount in the smallest currency unit for the given currency, for example `1299` cents to create an authorization for `$12.99` examples: - 1299 shipping_amount: anyOf: - type: integer maximum: 99999999.0 minimum: 0.0 - type: 'null' title: Shipping Amount description: Freight/shipping amount represented as a monetary amount in the smallest currency unit for the given currency, for example `1299` cents to create an authorization for `$12.99` examples: - 1299 additionalProperties: false type: object required: - name - quantity - unit_amount title: CartItem CheckoutSessionClickToPayPaymentMethod: properties: method: type: string const: click-to-pay title: Method description: Always `click-to-pay`. default: click-to-pay examples: - click-to-pay merchant_transaction_id: type: string title: Merchant Transaction Id description: The merchant transaction ID as provided by the C2P SDK. examples: - 1a1e7b31-c13a-4d31-a4dd-2198aa42ce65 src_correlation_id: type: string title: Src Correlation Id description: The SRC correlation ID as provided by the C2P SDK. examples: - c878b3f1-0582-428b-8a3d-9033fc9e0048 src_dpa_id: type: string title: Src Dpa Id description: The DPA ID as provided by the C2P SDK. examples: - d2fc460b-1182-4cdc-ad47-c38baa9ad73c src_cx_flow_id: anyOf: - type: string - type: 'null' title: Src Cx Flow Id description: The CX Flow ID as provided by the C2P SDK examples: - 4241871b-c4f7-43e7-a943-6a87f1b2feae additionalProperties: false type: object required: - merchant_transaction_id - src_correlation_id - src_dpa_id title: CheckoutSessionClickToPayPaymentMethod AirlineLeg_2: properties: arrival_airport: anyOf: - type: string maxLength: 3 minLength: 3 - type: 'null' title: Arrival Airport description: Arrival airport code of leg. 3-letter ISO code according to IATA official directory. examples: - LAX arrival_at: anyOf: - type: string format: date-time - type: 'null' title: Arrival At description: The date and time of travel in local time at the arrival airport. examples: - '2013-07-16T19:23:00.000+00:00' arrival_city: anyOf: - type: string maxLength: 100 minLength: 1 - type: 'null' title: Arrival City description: Arrival city name. examples: - Los Angeles arrival_country: anyOf: - type: string pattern: ^[A-Z]{2}$ examples: - DE - GB - US - type: 'null' title: Arrival Country description: Arrival country code in ISO 3166 format. examples: - US carrier_code: anyOf: - type: string maxLength: 3 minLength: 2 - type: 'null' title: Carrier Code description: 3 character airline code as set by IATA. examples: - '649' carrier_name: anyOf: - type: string minLength: 1 - type: 'null' title: Carrier Name description: Name of the airline. examples: - Air Transat A.T. Inc iata_designator: anyOf: - type: string maxLength: 2 minLength: 2 - type: 'null' title: Iata Designator description: Two-character IATA code of the airline. examples: - TS icao_code: anyOf: - type: string maxLength: 3 minLength: 3 - type: 'null' title: Icao Code description: Three-character ICAO code of the airline. examples: - TSC coupon_number: anyOf: - type: string maxLength: 50 minLength: 1 - type: 'null' title: Coupon Number description: Coupon number associated with the leg. examples: - '15885566' departure_airport: anyOf: - type: string maxLength: 3 minLength: 3 - type: 'null' title: Departure Airport description: Departure airport code of leg. 3-letter ISO code according to IATA official directory. examples: - LHR departure_at: anyOf: - type: string format: date-time - type: 'null' title: Departure At description: The date and time of travel in local time at the departure airport. examples: - '2013-07-16T19:23:00.000+00:00' departure_city: anyOf: - type: string maxLength: 100 minLength: 1 - type: 'null' title: Departure City description: Departure city name. examples: - London departure_country: anyOf: - type: string pattern: ^[A-Z]{2}$ examples: - DE - GB - US - type: 'null' title: Departure Country description: Departure airport code of leg. 3-letter ISO code according to IATA official directory. examples: - GB departure_tax_amount: anyOf: - type: integer maximum: 99999999.0 minimum: 0.0 - type: 'null' title: Departure Tax Amount description: Departure tax amount charged by a country when a person is leaving the country. examples: - 1200 fare_amount: anyOf: - type: integer maximum: 99999999.0 minimum: 0.0 - type: 'null' title: Fare Amount description: Amount of the ticket, for current leg of the trip, excluding taxes and fees. examples: - 129900 fare_basis_code: anyOf: - type: string maxLength: 8 minLength: 1 - type: 'null' title: Fare Basis Code description: The alphanumeric code for the booking class of a ticket. examples: - FY fee_amount: anyOf: - type: integer maximum: 99999999.0 minimum: 0.0 - type: 'null' title: Fee Amount description: Fee amount for current leg of the trip. examples: - 1200 flight_class: anyOf: - type: string maxLength: 5 minLength: 1 - type: 'null' title: Flight Class description: Indicates service class (first class, business class, etc.). examples: - E flight_number: anyOf: - type: string maxLength: 6 minLength: 3 - type: 'null' title: Flight Number description: Unique identifier of the flight number. examples: - '101' route_type: anyOf: - type: string enum: - round_trip - one_way - type: 'null' title: Route Type description: The route type of the flight. examples: - round_trip seat_class: anyOf: - type: string maxLength: 5 minLength: 1 - type: 'null' title: Seat Class description: Indicates seat class (first class, business class, etc.). examples: - F stop_over: anyOf: - type: boolean - type: 'null' title: Stop Over description: Indicates whether a stopover is allowed on this ticket. examples: - false tax_amount: anyOf: - type: integer maximum: 99999999.0 minimum: 0.0 - type: 'null' title: Tax Amount description: Amount of the taxes for current leg of the trip. examples: - 1200 additionalProperties: false type: object title: AirlineLeg TransactionPaymentSource: type: string enum: - ecommerce - moto - recurring - installment - card_on_file title: TransactionPaymentSource description: The way payment method information made it to this transaction. ShippingDetailsCreate: properties: first_name: anyOf: - type: string maxLength: 255 minLength: 1 - type: 'null' title: First Name description: The first name(s) or given name for the buyer. examples: - John last_name: anyOf: - type: string maxLength: 255 minLength: 1 - type: 'null' title: Last Name description: The last name, or family name, of the buyer. examples: - Doe email_address: anyOf: - type: string maxLength: 320 minLength: 1 - type: 'null' title: Email Address description: The email address for the buyer. examples: - john@example.com phone_number: anyOf: - type: string pattern: ^\+[1-9]\d{1,14}$ examples: - '+14155552671' - '+442071838750' - type: 'null' title: Phone Number description: The phone number for the buyer which should be formatted according to the E164 number standard. examples: - '+1234567890' address: anyOf: - $ref: '#/components/schemas/Address_2' - type: 'null' description: The billing address for the buyer. additionalProperties: false type: object title: ShippingDetailsCreate TransactionIntent: type: string enum: - authorize - capture title: TransactionIntent securitySchemes: bearerAuth: type: http scheme: bearer bearerFormat: JWT OAuth2PasswordBearer: type: oauth2 flows: password: scopes: embed: Shorthand for all gr4vy embed related scopes sessions.refresh: Refresh access-token anti-fraud-service-definitions.read: Read Anti Fraud Service Definitions anti-fraud-services.read: Read Anti Fraud Services api-key-pairs.read: Read API Key Pairs api-logs.read: Read API Logs apple-pay-certificates.read: Read Apple Pay Certificates audit-logs.read: Read Audit Logs bin-checker.read: Read BIN Checker buyers.read: Read Buyers buyers.billing-details.read: Read Billing Details card-scheme-definitions.read: Read Card Scheme Definitions checkout-sessions.read: Read Checkout Sessions connections.read: Read Connections digital-wallets.read: Read Digital Wallets flows.read: Read Flows gift-card-service-definitions.read: Read Gift Card Service Definitions gift-card-services.read: Read Gift Card Services gift-cards.read: Read Gift Cards merchant-accounts.read: Read Merchant Accounts payment-links.read: Read Payment Links payment-method-definitions.read: Read Payment Method Definitions payment-methods.read: Read Payment Methods payment-options.read: Read Payment Options payment-service-definitions.read: Read Payment Service Definitions payment-services.read: Read Payment Service payouts.read: Read Payouts reports.read: Read Reports roles.read: Read Roles three-ds-scenarios.read: Read 3DS Scenarios transactions.read: Read Transactions users.me.read: Read User Profile vault-forward.read: Read Vault Forward vault-forward-authentications.read: Read Vault Forward Authentications vault-forward-configs.read: Read Vault Forward Configurations vault-forward-definitions.read: Read Vault Forward Definitions webhook-subscriptions.read: Read Webhook Subscriptions business-contexts.read: Read Business Contexts health-dashboard.read: Read Health Dashboard metrics-explorer.read: Read Metrics Explorer monitoring.read: Read Monitoring reset.read: Read Reset sessions.read: Read Sessions users.read: Read Users anti-fraud-service-definitions.write: Write Anti Fraud Service Definitions anti-fraud-services.write: Write Anti Fraud Services api-key-pairs.write: Write API Key Pairs api-logs.write: Write API Logs apple-pay-certificates.write: Write Apple Pay Certificates audit-logs.write: Write Audit Logs bin-checker.write: Write BIN Checker buyers.write: Write Buyers buyers.billing-details.write: Write Billing Details card-scheme-definitions.write: Write Card Scheme Definitions checkout-sessions.write: Write Checkout Sessions connections.write: Write Connections digital-wallets.write: Write Digital Wallets flows.write: Write Flows gift-card-service-definitions.write: Write Gift Card Service Definitions gift-card-services.write: Write Gift Card Services gift-cards.write: Write Gift Cards merchant-accounts.write: Write Merchant Accounts payment-links.write: Write Payment Links payment-method-definitions.write: Write Payment Method Definitions payment-methods.write: Write Payment Methods payment-options.write: Write Payment Options payment-service-definitions.write: Write Payment Service Definitions payment-services.write: Write Payment Service payouts.write: Write Payouts reports.write: Write Reports roles.write: Write Roles three-ds-scenarios.write: Write 3DS Scenarios transactions.write: Write Transactions users.me.write: Write User Profile vault-forward.write: Write Vault Forward vault-forward-authentications.write: Write Vault Forward Authentications vault-forward-configs.write: Write Vault Forward Configurations vault-forward-definitions.write: Write Vault Forward Definitions webhook-subscriptions.write: Write Webhook Subscriptions business-contexts.write: Write Business Contexts health-dashboard.write: Write Health Dashboard metrics-explorer.write: Write Metrics Explorer monitoring.write: Write Monitoring reset.write: Write Reset sessions.write: Write Sessions users.write: Write Users tokenUrl: auth/token x-refined-from: - gr4vy-docs-v1-openapi.json - gr4vy-openapi.json