openapi: 3.2.0 info: title: NewSkies-Digital-Api Watch List 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: watchList paths: /api/nsk/v1/watchList/{watchListKey}/persons: get: tags: - watchList summary: Searches for a collection of watch list persons. description: 'GraphQL endpoint: personsWatchList' operationId: nsk_v1_watchList_watchListKey_persons_get parameters: - name: watchListKey in: path required: true description: The watch list key. schema: type: string x-position: 1 - name: ReferenceNumber in: query description: "The watch list reference number.\n " schema: type: - string - 'null' x-position: 2 responses: '200': description: OK. Request completed successfully. content: application/json: schema: $ref: '#/components/schemas/IJsonResponseOfIListOfWatchListPerson' '404': description: The item was not found. content: application/json: schema: $ref: '#/components/schemas/IJsonResponse' deprecated: true /api/nsk/v2/watchList/{watchListKey}/persons: get: tags: - watchList summary: Searches for a collection of watch list persons based on a specific watch list key. description: 'The watch list key is required for this endpoint and will be validated. If it is an invalid watch list key, the API will return a BadRequest. The results returned will be for all persons belonging to the watch list key. This endpoint also supports paging. Please refer to documentation of watch list functionality in Management Console for further guidance and more information. GraphQL endpoint: personsWatchListv2' operationId: nsk_v2_watchList_watchListKey_persons_get parameters: - name: watchListKey in: path required: true description: The watch list key. schema: type: string x-position: 1 - name: ReferenceNumber in: query description: "The watch list reference number.\n " schema: type: - string - 'null' x-position: 2 - name: LastPageKey in: query description: "The key of the last booking history item returned.\n " schema: type: - string - 'null' x-position: 3 - name: PageSize in: query description: "The page size for the response.\n " schema: type: - integer - 'null' maximum: 5000.0 minimum: 10.0 x-position: 4 responses: '200': description: OK. The request completed successfully. content: application/json: schema: $ref: '#/components/schemas/IJsonResponseOfPagedWatchListPersonResponse' examples: Watch list person by key: description: Successful retrieval of persons associated with a watch list by key value: data: persons: - watchListPersonKey: MTAwODYhMTk2 names: - name: first: Digital middle: null last: API title: null suffix: null nameType: 0 dateOfBirth: null addresses: null phoneNumbers: null emails: null payments: null travelDocuments: null information: null comments: null dateOfBirth: '2006-07-09T05:55:14.2019926Z' gender: 1 birthCountry: US nationality: null watchListKey: null declaredGender: null lastPageKey: MTAwMA-- '404': description: Resource not found. content: application/json: schema: $ref: '#/components/schemas/IJsonResponse' examples: None persons data found: description: Example error when there are no persons records associated with the watch list. value: data: 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 watch list key: description: Example error where the watch list key is invalid. value: errors: - id: null code: nsk:Exceptions:InvalidKey message: The identifier 'WatchListKey' with value 'asdf' is invalid. type: Validation details: null rawMessage: null exception: null debugMode: The API is currently running in debug mode. In production the 'rawMessage' and 'exception' nodes will not be returned. These are for troubleshooting development issues only. data: null Invalid last page key: description: Example error where the page key is invalid. value: errors: - id: null code: nsk:Exceptions:InvalidKey message: The identifier 'LastPageKey' with value 'P6OfQe11bMStBjI' is invalid. type: Validation details: null rawMessage: null exception: null debugMode: The API is currently running in debug mode. In production the 'rawMessage' and 'exception' nodes will not be returned. These are for troubleshooting development issues only. data: null Invalid page size: description: Example error where the page size is invalid. value: errors: - id: null code: PagedWatchListPersonRequest.PageSize:RangeAttribute message: The field PagedWatchListPersonRequest must be between 10 and 5000. type: Validation details: validation: RangeAttribute model: PagedWatchListPersonRequest member: PageSize rawMessage: null exception: null debugMode: The API is currently running in debug mode. In production the 'rawMessage' and 'exception' nodes will not be returned. These are for troubleshooting development issues only. data: null /api/nsk/v1/watchList/persons: get: tags: - watchList summary: Searches for a collection of all watch list persons. description: 'This endpoint is designed to return all person watch list results. The response is organized into a dictionary of watch list key to persons result list, per watch list. It should be noted that, since this endpoint supports paging, results from one watch list may span more than one page. So the end user should watch the paged results to make sure they collect all results from one particular watch list. The returned page key is for all results returned, so should be used as is to get the next set of watch list person results, which will then be organized into individual watch list results. Please refer to documentation of watch list functionality in Management Console for further guidance and more information. GraphQL endpoint: personsWatchListAll' operationId: nsk_v1_watchList_persons_get parameters: - name: ReferenceNumber in: query description: "The watch list reference number.\n " schema: type: - string - 'null' x-position: 1 - name: LastPageKey in: query description: "The key of the last booking history item returned.\n " schema: type: - string - 'null' x-position: 2 - name: PageSize in: query description: "The page size for the response.\n " schema: type: - integer - 'null' maximum: 5000.0 minimum: 10.0 x-position: 3 responses: '200': description: OK. The request completed successfully. content: application/json: schema: $ref: '#/components/schemas/IJsonResponseOfAllPagedWatchListPersonResponse' examples: Watch list person by key: description: Successful retrieval of persons associated with a watch list by key value: data: persons: nw--: - watchListPersonKey: NyExMjE- names: - name: first: Digital middle: null last: API title: null suffix: null nameType: 0 dateOfBirth: null addresses: null phoneNumbers: null emails: null payments: null travelDocuments: null information: null comments: null dateOfBirth: '2006-07-09T05:55:14.1023586Z' gender: 1 birthCountry: US nationality: null watchListKey: Nw-- declaredGender: null mjM-: - watchListPersonKey: MjMhMTg1 names: - name: first: George middle: null last: Washington title: null suffix: null nameType: 0 dateOfBirth: null addresses: null phoneNumbers: null emails: null payments: null travelDocuments: null information: null comments: null dateOfBirth: '1976-07-09T05:55:14.1024316Z' gender: 1 birthCountry: US nationality: null watchListKey: MjM- declaredGender: null - watchListPersonKey: MjMhMTIw names: - name: first: Abraham middle: null last: Lincoln title: null suffix: null nameType: 0 dateOfBirth: null addresses: null phoneNumbers: null emails: null payments: null travelDocuments: null information: null comments: null dateOfBirth: '1982-07-09T05:55:14.1024321Z' gender: 1 birthCountry: US nationality: null watchListKey: MjM- declaredGender: null lastPageKey: MTAwMA-- '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 last page key: description: Example error where the page key is invalid. value: errors: - id: null code: nsk:Exceptions:InvalidKey message: The identifier 'LastPageKey' with value 'P6OfQe11bMStBjI' is invalid. type: Validation details: null rawMessage: null exception: null debugMode: The API is currently running in debug mode. In production the 'rawMessage' and 'exception' nodes will not be returned. These are for troubleshooting development issues only. data: null Invalid watch list person key: description: Example error where the watch list person key is invalid. value: errors: - id: null code: nsk:Exceptions:InvalidKey message: The identifier 'watchListPersonKey' with value 'XgRR97E4' is invalid. type: Validation details: null rawMessage: null exception: null debugMode: The API is currently running in debug mode. In production the 'rawMessage' and 'exception' nodes will not be returned. These are for troubleshooting development issues only. data: null Invalid page size: description: Example error where the page size is invalid. value: errors: - id: null code: PagedWatchListPersonRequest.PageSize:RangeAttribute message: The field PagedWatchListPersonRequest must be between 10 and 5000. type: Validation details: validation: RangeAttribute model: PagedWatchListPersonRequest member: PageSize rawMessage: null exception: null debugMode: The API is currently running in debug mode. In production the 'rawMessage' and 'exception' nodes will not be returned. These are for troubleshooting development issues only. data: null '404': description: Resource not found. content: application/json: schema: $ref: '#/components/schemas/IJsonResponse' examples: None persons data found: description: Example error when there are no persons records associated with the watch list. value: data: null /api/nsk/v1/watchList/persons/{watchListPersonKey}: get: tags: - watchList summary: Gets a specific watch list person by key. description: 'GraphQL endpoint: personWatchList' operationId: nsk_v1_watchList_persons_watchListPersonKey_get parameters: - name: watchListPersonKey in: path required: true description: The watch list person key. schema: type: string x-position: 1 responses: '200': description: OK. Request completed successfully. content: application/json: schema: $ref: '#/components/schemas/IJsonResponseOfWatchListPerson' '404': description: The item was not found. content: application/json: schema: $ref: '#/components/schemas/IJsonResponse' components: schemas: WatchListPersonTravelDocument: type: object description: "The watch list person travel document.\n " additionalProperties: false properties: name: description: "The watch list person name.\n " $ref: '#/components/schemas/Name' number: type: - string - 'null' description: "The watch list person travel document number.\n " documentTypeCode: type: - string - 'null' description: "The watch list person travel document type code.\n " NameType: type: integer description: "Specifies the name type to define the true name for a person or an alias.\n \n\n0 = True\n1 = Alias\n2 = Variant" x-enumNames: - 'True' - Alias - Variant enum: - 0 - 1 - 2 IJsonResponseOfAllPagedWatchListPersonResponse: type: object description: "Defines the JSON response contract.\n " additionalProperties: false properties: data: description: "The payload data.\n " $ref: '#/components/schemas/AllPagedWatchListPersonResponse' 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' IJsonResponseOfIListOfWatchListPerson: type: object description: "Defines the JSON response contract.\n " additionalProperties: false properties: data: type: - array - 'null' description: "The payload data.\n " items: $ref: '#/components/schemas/WatchListPerson' 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' Exception: type: object additionalProperties: false properties: Message: type: string InnerException: $ref: '#/components/schemas/Exception' Source: type: - string - 'null' StackTrace: type: - string - 'null' WatchListPerson: type: object description: "The watch list person.\n " additionalProperties: false properties: watchListPersonKey: type: - string - 'null' description: "The watch list person key.\n " names: type: - array - 'null' description: "The watch list person name list.\n " items: $ref: '#/components/schemas/WatchListPersonName' addresses: type: - array - 'null' description: "The watch list person address list.\n " items: $ref: '#/components/schemas/Address' phoneNumbers: type: - array - 'null' description: "The watch list person phone list.\n " items: $ref: '#/components/schemas/PhoneNumber' emails: type: - array - 'null' description: "The watch list person email list.\n " items: $ref: '#/components/schemas/EmailCreateRequest' payments: type: - array - 'null' description: "The watch list person payment list.\n " items: $ref: '#/components/schemas/WatchListPersonPayment' travelDocuments: type: - array - 'null' description: "The watch list person travel document list.\n " items: $ref: '#/components/schemas/WatchListPersonTravelDocument' information: type: - array - 'null' description: "The watch list person information list.\n " items: type: string comments: type: - array - 'null' description: "The watch list person comment list.\n " items: type: string dateOfBirth: type: - string - 'null' description: "The passenger's date of birth.\n " format: date-time gender: description: "Person gender.\n " $ref: '#/components/schemas/Gender' birthCountry: type: - string - 'null' description: "The person's birth country.\n " nationality: type: - string - 'null' description: "The person nationality.\n " watchListKey: type: - string - 'null' description: "The key of the watch list the person is on.\n " declaredGender: type: - string - 'null' description: "The watchlist person's declared gender. A value of \"F\" is mapped to a female binary gender. All other values will\nbe mapped to a male binary gender.\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 Gender: type: integer description: "Defines the different binary gender types.\n \n\n0 = XX\n1 = Male\n2 = Female" x-enumNames: - XX - Male - Female enum: - 0 - 1 - 2 PhoneNumber: type: object description: "Defines a common phone number.\n " additionalProperties: false required: - number - type properties: number: type: string description: "The phone number without any formatting characters.\n " maxLength: 20 minLength: 0 type: description: "The phone number type.\n " $ref: '#/components/schemas/PhoneNumberType' AllPagedWatchListPersonResponse: type: object description: "The watch list person.\n " additionalProperties: false properties: persons: type: - object - 'null' description: "The watch list response mapped by watch list key to a list of person results.\n " additionalProperties: type: array items: $ref: '#/components/schemas/WatchListPerson' lastPageKey: type: - string - 'null' description: "The last page key. Will be null if it is the last page.\n " PagedWatchListPersonResponse: type: object description: "The watch list person.\n " additionalProperties: false properties: persons: type: - array - 'null' description: "The watch list person name list.\n " items: $ref: '#/components/schemas/WatchListPerson' lastPageKey: type: - string - 'null' description: "The last page key. Will be null if it is the last page.\n " 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 EmailCreateRequest: type: object description: "Defines the person email create address.\n " additionalProperties: false required: - email - type properties: email: type: string description: "The email address value.\n " maxLength: 266 minLength: 0 default: type: boolean description: "Flag indicating if the email is the default.\n " type: type: string description: "The type code of the email address.\nPlease note that this should be a char and not a string.\n " maxLength: 1 minLength: 1 Address: type: object description: "Defines a common address.\n " additionalProperties: false properties: lineOne: type: - string - 'null' description: "The address line one.\n " maxLength: 128 minLength: 0 lineTwo: type: - string - 'null' description: "The address line two.\n " maxLength: 128 minLength: 0 lineThree: type: - string - 'null' description: "The address line 3.\n " maxLength: 128 minLength: 0 countryCode: type: - string - 'null' description: "The country code.\n " maxLength: 2 minLength: 0 provinceState: type: - string - 'null' description: "The province state.\n " maxLength: 3 minLength: 0 city: type: - string - 'null' description: "The city.\n " maxLength: 32 minLength: 0 postalCode: type: - string - 'null' description: "The postal code.\n " maxLength: 10 minLength: 0 PhoneNumberType: type: integer description: "Defines the types of phone numbers. Note: New Skies does not support Mobile for booking contacts.\n \n\n0 = Other\n1 = Home\n2 = Work\n3 = Mobile\n4 = Fax" x-enumNames: - Other - Home - Work - Mobile - Fax enum: - 0 - 1 - 2 - 3 - 4 WatchListPersonName: type: object description: "The watch list person name.\n " additionalProperties: false properties: name: description: "The watch list person name.\n " $ref: '#/components/schemas/Name' nameType: description: "The watch list person name type.\n " $ref: '#/components/schemas/NameType' dateOfBirth: type: - string - 'null' description: "The watch list person date of birth.\n " format: date-time 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 IJsonResponseOfPagedWatchListPersonResponse: type: object description: "Defines the JSON response contract.\n " additionalProperties: false properties: data: description: "The payload data.\n " $ref: '#/components/schemas/PagedWatchListPersonResponse' 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' 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' WatchListPersonPayment: type: object description: "The watch list person form of payment.\n " additionalProperties: false properties: accountNumber: type: - string - 'null' description: "The watch list person payment account number.\n " paymentMethodCode: type: - string - 'null' description: "The watch list person payment method code.\n " IJsonResponseOfWatchListPerson: type: object description: "Defines the JSON response contract.\n " additionalProperties: false properties: data: description: "The payload data.\n " $ref: '#/components/schemas/WatchListPerson' 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' 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))