openapi: 3.2.0 info: title: NewSkies-Digital-Api Payments API version: 4.8.6.23 description: Navitaire Digital Api servers: - url: https://prod.api.tui/flight/newskies/rest description: TUI Prod - url: https://playground.api.tui/flight/newskies/rest description: TUI Playground security: - JWT: [] tags: - name: payments paths: /api/nsk/v1/payments: get: tags: - payments summary: Gets the payment data based on the specified bank identification number and date range. description: 'GraphQL endpoint: paymentsSearchByBin' operationId: nsk_v1_payments_get parameters: - name: BankIdentificationNumber in: query description: "The bank identification number to search for. This is the first 6 digits of the card number.\n " schema: type: - integer - 'null' format: int32 maximum: 999999.0 minimum: 100000.0 x-position: 1 - name: StartDate in: query description: "The start date to search for. This refers to the date the payment was made.\n " schema: type: - string - 'null' format: date-time x-position: 2 - name: EndDate in: query description: "The end date.\n " schema: type: - string - 'null' format: date-time x-position: 3 - name: PageSize in: query description: "The number of payment records per request.\n " schema: type: - integer - 'null' maximum: 5000.0 minimum: 10.0 x-position: 4 - name: LastPageKey in: query description: "The key for the last payment record returned from paged response.\n " schema: type: - string - 'null' x-position: 5 responses: '200': description: OK. Request completed successfully. content: application/json: schema: $ref: '#/components/schemas/IJsonResponseOfPagedFindPaymentsByBinResponse' examples: With matching payment data from card payments: description: Example response for successful retrieval of card payment data by BIN. value: data: lastPageKey: OA-- totalCount: 10 paymentRecords: mjc2NDIzIVlEVEQ3RQ--: - accountNumber: XXXXXXXXXXXX1111 paymentDate: '2026-07-09T05:55:13.3927326Z' passengerName: first: Jane middle: null last: Doe title: null suffix: null departureDate: '2026-07-09T05:55:13.3927626+00:00' status: 3 recordLocator: XYZ456 origin: SLC destination: BOS - accountNumber: XXXXXXXXXXXX1111 paymentDate: '2026-07-09T05:55:13.3928148Z' passengerName: first: Jane middle: null last: Doe title: null suffix: null departureDate: '2026-07-10T05:55:13.392815+00:00' status: 3 recordLocator: XYZ456 origin: BOS destination: SLC mjc2NDY1IVRFRTlURQ--: - accountNumber: XXXXXXXXXXXX1111 paymentDate: '2026-07-09T05:55:13.3928266Z' passengerName: first: John middle: null last: Doe title: null suffix: null departureDate: '2026-07-09T05:55:13.3928268+00:00' status: 4 recordLocator: ABC123 origin: SLC destination: BOS - accountNumber: XXXXXXXXXXXX1111 paymentDate: '2026-07-09T06:05:13.392827Z' passengerName: first: John middle: null last: Doe title: null suffix: null departureDate: '2026-07-09T05:55:13.3928274+00:00' status: 3 recordLocator: ABC123 origin: SLC destination: BOS No matching payment data: description: Example response when no payment data matches the query. value: data: lastPageKey: MTA- totalCount: 0 paymentRecords: null '400': description: There was a problem with the request and it could not be completed. content: application/json: schema: $ref: '#/components/schemas/IJsonResponse' examples: Invalid BIN value: description: Example error if the BIN value is not specified or invalid value: errors: - code: FindPaymentsByBinRequest.BankIdentificationNumber:RequiredAttribute message: The FindPaymentsByBinRequest field is required. type: Validation number: null details: member: BankIdentificationNumber model: FindPaymentsByBinRequest validation: RangeAttribute Out of range BIN value: description: Example error if the BIN value is out of range. value: errors: - code: FindPaymentsByBinRequest.BankIdentificationNumber:RangeAttribute message: The field FindPaymentsByBinRequest must be between 100000 and 999999. type: Validation number: null details: member: BankIdentificationNumber model: FindPaymentsByBinRequest validation: RangeAttribute Start date not specified: description: Example error if the start date is not specified. value: errors: - code: nsk:Validation:StartDateRequired message: The start date is required for the request. type: Validation number: null details: member: StartDate model: FindPaymentsByBinRequest validation: RequiredAttribute End date before start date: description: Example error if the end date is before the start date. value: errors: - code: nsk:Validation:EndDateBeforeBeginDate message: The requested end date of 1/1/2024 occurs before the requested begin date of 1/30/2024. type: Validation number: null details: null Agent not allowed: description: Example error if the agent is not authorized to search payments by bank identification number. value: errors: - code: nsk:Payment:SearchPaymentsByBinNotAllowed message: Searching payment records by BIN is not allowed based on the current user's permissions. type: Validation number: null details: null Do Not Persist External Payment Details Enabled: description: Example error if The Do not Persist External Payment Details premium feature is enabled. value: errors: - code: nsk:SystemSettings:DoNotPersistExternalPaymentDetailsEnabled message: The Do not Persist External Payment Details premium feature is enabled. type: Validation number: null details: null components: schemas: Exception: type: object additionalProperties: false properties: Message: type: string InnerException: $ref: '#/components/schemas/Exception' Source: type: - string - 'null' StackTrace: type: - string - 'null' FindBinRangePaymentData: type: object description: "The find payments by bank identification number (BIN) payment data.\n " additionalProperties: false properties: accountNumber: type: - string - 'null' description: "The account number.\n " paymentDate: type: string description: "The date when the payment was made.\n " format: date-time passengerName: description: "The name of the passenger in the booking.\n " $ref: '#/components/schemas/Name' departureDate: type: string description: "The departure date and time of the flight in the booking.\n " format: date-time status: description: "The payment status.\n " $ref: '#/components/schemas/BookingPaymentStatus' recordLocator: type: - string - 'null' description: "The record locator to which the payment belongs.\n " origin: type: - string - 'null' description: "The departure station of flight in the booking.\n " destination: type: - string - 'null' description: "The arrival station of the flight in the booking.\n " MessageStatus: type: integer description: "Defines the message status.\n \n\n0 = General\n1 = Warning\n2 = Critical" x-enumNames: - General - Warning - Critical enum: - 0 - 1 - 2 PagedFindPaymentsByBinResponse: type: object description: "The paged find payments by bank identification number (BIN) response.\n " additionalProperties: false properties: lastPageKey: type: - string - 'null' description: "The key for the last payment record returned from paged response.\n " totalCount: type: integer description: "The total number of payment records that satisfies the query.\n " format: int32 paymentRecords: type: - object - 'null' description: "The payment records that matches the query.\n " additionalProperties: type: array items: $ref: '#/components/schemas/FindBinRangePaymentData' IJsonResponse: type: object description: "Defines the JSON response contract for a not content type response.\n " additionalProperties: false properties: data: description: "The payload data, this will always be null for errors responses and no content responses.\n " errors: type: - array - 'null' description: "The collection of errors being thrown.\n " items: $ref: '#/components/schemas/ErrorResponse' messages: type: - array - 'null' description: "The collection of informational messages.\n " items: $ref: '#/components/schemas/Message' BookingPaymentStatus: type: integer description: "Determines if the booking has been paid for or not.\n \n\n0 = New\n1 = Received\n2 = Pending\n3 = Approved\n4 = Declined\n5 = Unknown\n6 = PendingCustomerAction" x-enumNames: - New - Received - Pending - Approved - Declined - Unknown - PendingCustomerAction enum: - 0 - 1 - 2 - 3 - 4 - 5 - 6 IJsonResponseOfPagedFindPaymentsByBinResponse: type: object description: "Defines the JSON response contract.\n " additionalProperties: false properties: data: description: "The payload data.\n " $ref: '#/components/schemas/PagedFindPaymentsByBinResponse' errors: type: - array - 'null' description: "The collection of errors being thrown.\n " items: $ref: '#/components/schemas/ErrorResponse' messages: type: - array - 'null' description: "The collection of informational messages.\n " items: $ref: '#/components/schemas/Message' ErrorResponse: type: object description: "Defines a unique error response.\n " additionalProperties: false properties: exception: description: "The original exception that was thrown and all the exception details.\n " $ref: '#/components/schemas/Exception' rawMessage: type: - string - 'null' description: "The original raw message set (non-localized).\n " code: type: - string - 'null' description: "The unique error code. The primary value used to match against a unique message localized for the end user in the\nchosen language.\n " message: type: - string - 'null' description: "The error message. Deprecated: Please use the Code instead.\n " type: type: - string - 'null' description: "The error type showing severity. Values: Critical, Error, Validation, Information.\n " number: type: - integer - 'null' description: "A unique identifier in numeric form. This is required for Splunk logging. If none is provided a number will be\ngenerated based on code and type.\n " format: int32 maximum: 99999.0 minimum: 0.0 details: type: - object - 'null' description: "Dynamic detailed information about the error.\n " additionalProperties: type: string ActivityId: type: - string - 'null' description: "The activity ID unique to the request. Useful for debugging purposes to uniquely look up what happened for this\nspecific request.\n " Message: type: object description: "Defines a unique informational message.\n " additionalProperties: false properties: code: type: - string - 'null' description: "The unique message code.\n " type: type: - string - 'null' description: "The message type.\n " value: type: - string - 'null' description: "The message's value.\n " status: description: "The message's status.\n " $ref: '#/components/schemas/MessageStatus' details: type: - object - 'null' description: "Dynamic detailed information about the message.\n " additionalProperties: type: string Name: type: object description: "Defines a common name.\n " additionalProperties: false properties: first: type: - string - 'null' description: "The given first name.\n " maxLength: 32 minLength: 0 middle: type: - string - 'null' description: "The given middle name.\n " maxLength: 32 minLength: 0 last: type: - string - 'null' description: "The given last name.\n " maxLength: 32 minLength: 0 title: type: - string - 'null' description: "The title.\n " maxLength: 6 minLength: 0 suffix: type: - string - 'null' description: "The suffix.\n " maxLength: 6 minLength: 0 securitySchemes: JWT: type: http description: Paste your JWT token from the token endpoint. scheme: bearer bearerFormat: jwt x-generator: NSwag v14.6.3.0 (NJsonSchema v11.5.2.0 (Newtonsoft.Json v13.0.0.0))