openapi: 3.2.0 info: title: Tui Group Token API version: '1.0' description: 'Operations tagged token across 2 of this provider''s published API definitions: tui-group-tui-newskies-digital-api-openapi.yml, tui-group-tui-newskies-gonow-api-openapi.yml. Each path carries the servers of the definition it was published in.' servers: - url: https://prod.api.tui/flight/newskies/rest description: TUI Prod - url: https://playground.api.tui/flight/newskies/rest description: TUI Playground - url: https://prod.api.tui/flight/newskies/gonow description: TUI Prod - url: https://playground.api.tui/flight/newskies/gonow description: TUI Playground security: - JWT: [] tags: - name: token paths: /api/v1/token: post: tags: - token summary: Creates the general access token that will grant access to the API. operationId: v1_token_post requestBody: x-name: request description: The token request. content: application/json: schema: $ref: '#/components/schemas/TokenRequest' examples: Default: description: A request is optional. With no request you will get back the default anonymous token. value: {} Application Specific: description: When supplying an application name you will get the default anonymous token configured for that application (if available). value: applicationName: WebApp x-position: 1 responses: '201': description: The item was created successfully. content: application/json: schema: $ref: '#/components/schemas/IJsonResponseOfTokenResponse' examples: Created: description: A successful token with the idle time out in minutes. value: data: token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJVbmtub3duIiwianRpIjoiZjZmNmQwMTAtOTM4OC0zM2Q1LTEwOGItYTk0NDNmMzcxMDc4IiwiaXNzIjoiZG90UkVaIEFQSSJ9.43Wh_19jHPHzEIPNxTUWaJQtTPHSkB_WmEPL-xxxxxx idleTimeoutInMinutes: 15 deprecated: true put: tags: - token summary: Keeps the active token alive. description: 'GraphQL endpoint: tokenKeepAlive' operationId: v1_token_put responses: '440': description: '' content: application/json: schema: $ref: '#/components/schemas/IJsonResponse' examples: Timed out: description: The token timed out, please get a new token. value: errors: - id: null code: core:Token:Timeout message: null type: Error details: null rawMessage: The provided token has timed out. 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 '200': description: OK. Request completed successfully. content: application/json: schema: $ref: '#/components/schemas/IJsonResponse' examples: Ok: description: No content returned. value: data: null deprecated: true delete: tags: - token summary: Abandons the active token. description: 'GraphQL endpoint: tokenDelete' operationId: v1_token_delete responses: '440': description: '' content: application/json: schema: $ref: '#/components/schemas/IJsonResponse' examples: Timed out: description: The token timed out, please get a new token. value: errors: - id: null code: core:Token:Timeout message: null type: Error details: null rawMessage: The provided token has timed out. 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 '200': description: OK. Request completed successfully. content: application/json: schema: $ref: '#/components/schemas/IJsonResponse' examples: Ok: description: No content returned. value: data: null deprecated: true servers: - url: https://prod.api.tui/flight/newskies/rest description: TUI Prod - url: https://playground.api.tui/flight/newskies/rest description: TUI Playground /api/auth/v1/token: get: tags: - token summary: Get the information about the short-lived JWT. description: 'With custom application names (system type in NewSkies), because of the nature of the underlying system type, the `NskServer.SystemName` will always show as `UserDefined`. To see the custom name, see the `ServerContext.ApplicationName`. GraphQL endpoint: jwtToken' operationId: auth_v1_token_get responses: '200': description: OK. Request completed successfully. content: application/json: schema: $ref: '#/components/schemas/IJsonResponseOfJwtDetailsResponse' put: tags: - token summary: Updates the short-lived JWT. description: Updates the short-lived JWT. operationId: auth_v1_token_put requestBody: x-name: request description: The refresh request. content: application/json: schema: $ref: '#/components/schemas/JwtRefreshRequest' x-position: 1 responses: '201': description: The item was created successfully. content: application/json: schema: $ref: '#/components/schemas/IJsonResponseOfJwtResponse' examples: JWT token creation successful: description: Successful token creation with valid user credentials. value: data: token: '**JWT Token**' cultureCode: en-US currencyCode: USD roleCode: AIR2 locationCode: HDQ domainCode: DEF organizationCode: '88888888' expires: '2026-07-09T06:10:14.6420287+00:00' userKey: NDEwMjQ- personKey: NzE3MzI- '400': description: There was a problem with the request and it could not be completed. content: application/json: schema: $ref: '#/components/schemas/IJsonResponseOfString' examples: Agent not found: description: For security unless in debug mode for testing servers the same error will be returned for multiple credential scenarios. value: errors: - id: null code: nsk-server:Credentials:Failed message: nsk-server:Credentials:Failed type: Error details: null rawMessage: No agent found for requested agent name DEF/authAppMFAUse. 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 password: description: For security unless in debug mode for testing servers the same error will be returned for multiple credential scenarios. value: errors: - id: null code: nsk-server:Credentials:Failed message: nsk-server:Credentials:Failed type: Error details: null rawMessage: The agent (DEF/authAppMFAUser) failed authentication. 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 culture code: description: The provided culture code in the request is an invalid culture identifier. value: errors: - id: null code: nsk:CultureCode:InvalidCultureCode message: The culture code `asdf` is invalid. type: Validation details: null rawMessage: The culture code `asdf` is invalid. 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. - id: null code: nsk:Exceptions:OutOfRange message: 'The value ''asdf'' is out of range for ''CultureCodeValidator.Culture Code''.\nExpected values: (en-US,de-DE,en-AU,en-CA,en-IE,es-ES,es-MX,eu-ES,fr-FR,hi-IN,id-ID,ja-JP,ko-KR,th-TH,zh-CN)' 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 Culture code not configured: description: The provided culture code in the request is not configured in the resources. For valid culture codes, see GET /api/nsk/v1/resources/cultures value: errors: - id: null code: nsk:Exceptions:OutOfRange message: 'The value ''asdf'' is out of range for ''CultureCodeValidator.Culture Code''.\nExpected values: (en-US,de-DE,en-AU,en-CA,en-IE,es-ES,es-MX,eu-ES,fr-FR,hi-IN,id-ID,ja-JP,ko-KR,th-TH,zh-CN)' 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 '401': description: Authentication is required for this request. content: application/json: schema: $ref: '#/components/schemas/IJsonResponseOfJwtResponse' servers: - url: https://prod.api.tui/flight/newskies/rest description: TUI Prod - url: https://playground.api.tui/flight/newskies/rest description: TUI Playground /api/nsk/v1/token: get: tags: - token summary: Get the information about the current token. description: '- With custom application names (system type in NewSkies), because of the nature of the underlying system type, the `NskServer.SystemName` will always show as `UserDefined`. To see the custom name, see the `ServerContext.ApplicationName`. - The values `IsVirtual` and `HasBookingInState` no longer apply if the NSK JWT token is being used. GraphQL endpoint: token' operationId: nsk_v1_token_get responses: '200': description: OK. Request completed successfully. content: application/json: schema: $ref: '#/components/schemas/IJsonResponseOfNskSessionContext' deprecated: true delete: tags: - token summary: Abandons the active token. operationId: nsk_v1_token_delete responses: '200': description: OK. Request completed successfully. content: application/json: schema: $ref: '#/components/schemas/IJsonResponse' deprecated: true servers: - url: https://prod.api.tui/flight/newskies/rest description: TUI Prod - url: https://playground.api.tui/flight/newskies/rest description: TUI Playground /api/nsk/v2/token: post: tags: - token summary: Creates the general access token that will grant access to the API. description: 'Security Note: This endpoint has the ability to log in as any role assigned to a user or that is allowed through impersonation settings. A user may still log into a role that is not assigned to them if the impersonation settings allow it.' operationId: nsk_v2_token_post requestBody: x-name: request description: The nsk token request. content: application/json: schema: $ref: '#/components/schemas/NskTokenRequestv2' x-position: 1 responses: '201': description: The item was created successfully. content: application/json: schema: $ref: '#/components/schemas/IJsonResponseOfMultiFactorTokenResponse' '202': description: Accepted, continue multi-factor authentication. content: application/json: schema: $ref: '#/components/schemas/IJsonResponseOfMultiFactorTokenResponse' examples: MFA registration required.: description: This role requires multi-factor authentication. This user has not yet choose the preferred type of MFA and registered with it. See POST /token/multifactor value: messages: - code: nsk-server:MFA:RegistrationRequired type: Information value: Multi-factor registration is required. status: 0 details: null data: multiFactorRequired: challengeId: null requiresRegistration: true requiresChallengeCode: false types: - 2 - 1 - 0 token: null idleTimeoutInMinutes: 0 MFA challenge required.: description: This role requires multi-factor authentication. This user has already registered but needs to use their chosen registration method for the 2nd factor authentication. value: messages: - code: nsk-server:MFA:ChallengeCodeRequired type: Information value: Multi-factor authentication required. Please check your second factor method and enter the challenge code. status: 0 details: null data: multiFactorRequired: challengeId: 01234567890123456789 requiresRegistration: false requiresChallengeCode: true types: - 0 token: null idleTimeoutInMinutes: 0 '400': description: There was a problem with the request and it could not be completed. content: application/json: schema: $ref: '#/components/schemas/IJsonResponseOfString' examples: MFA registration required.: description: This role requires multi-factor authentication. This user has not yet choose the preferred type of MFA and registered with it. See POST /token/multifactor value: errors: - id: null code: nsk-server:MFA-RegistrationRequired message: Multi-factor registration is required. 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 MFA challenge required.: description: This role requires multi-factor authentication. This user has already registered but needs to use their chosen registration method for the 2nd factor authentication. The types returned represent the available types and not necessarily which type your 2FA was sent to. value: errors: - id: null code: nsk-server:MFA-ChallengeCodeRequired message: Multi-factor authentication required. Please check your second factor method and enter the challenge code. 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 deprecated: true put: tags: - token summary: 'Given a non-null request, upgrades the current session''s logged in user. Otherwise, keeps the active token alive.' description: 'Security Note: This endpoint has the ability to log in as any role assigned to a user or that is allowed through impersonation settings. A user may still log into a role that is not assigned to them if the impersonation settings allow it. GraphQL endpoint: tokenUpgradev2' operationId: nsk_v2_token_put requestBody: x-name: request content: application/json: schema: $ref: '#/components/schemas/CredentialsBase' x-position: 1 responses: '200': description: OK. Request completed successfully. content: application/json: schema: $ref: '#/components/schemas/IJsonResponse' '201': description: The item was created successfully. content: application/json: schema: $ref: '#/components/schemas/IJsonResponse' deprecated: true servers: - url: https://prod.api.tui/flight/newskies/rest description: TUI Prod - url: https://playground.api.tui/flight/newskies/rest description: TUI Playground /api/auth/v1/token/anonymous: post: tags: - token summary: Create a short-lived anonymous JWT. description: 'Tokens have a set expiration time. Client applications should call the put endpoint to get a new token before this expiration time.' operationId: auth_v1_token_anonymous_post requestBody: x-name: request description: Get token request. content: application/json: schema: $ref: '#/components/schemas/JwtRefreshRequest' examples: Anonymous JWT Token Request: description: Example request for creating an anonymous JWT token. value: applicationName: Digital API cultureCode: en-US newSession: true Empty Request: description: An empty anonymous JWT token request. value: applicationName: null cultureCode: null newSession: false x-position: 1 responses: '201': description: The item was created successfully. content: application/json: schema: $ref: '#/components/schemas/IJsonResponseOfJwtResponse' examples: JWT token creation successful: description: Successful token creation with valid anonymous credentials. value: data: token: '**JWT Token**' cultureCode: en-US currencyCode: USD roleCode: TAW3 locationCode: WWW domainCode: WW2 organizationCode: '88888888' expires: '2026-07-09T06:10:14.6132458+00:00' userKey: NDEwMjQ- personKey: NzE3MzI- '400': description: There was a problem with the request and it could not be completed. content: application/json: schema: $ref: '#/components/schemas/IJsonResponseOfString' examples: Agent not found: description: For security unless in debug mode for testing servers the same error will be returned for multiple credential scenarios. value: errors: - id: null code: nsk-server:Credentials:Failed message: nsk-server:Credentials:Failed type: Error details: null rawMessage: No agent found for requested agent name DEF/authAppMFAUse. 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 password: description: For security unless in debug mode for testing servers the same error will be returned for multiple credential scenarios. value: errors: - id: null code: nsk-server:Credentials:Failed message: nsk-server:Credentials:Failed type: Error details: null rawMessage: The agent (DEF/authAppMFAUser) failed authentication. 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 culture code: description: The provided culture code in the request is an invalid culture identifier. value: errors: - id: null code: nsk:CultureCode:InvalidCultureCode message: The culture code `asdf` is invalid. type: Validation details: null rawMessage: The culture code `asdf` is invalid. 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. - id: null code: nsk:Exceptions:OutOfRange message: 'The value ''asdf'' is out of range for ''CultureCodeValidator.Culture Code''.\nExpected values: (en-US,de-DE,en-AU,en-CA,en-IE,es-ES,es-MX,eu-ES,fr-FR,hi-IN,id-ID,ja-JP,ko-KR,th-TH,zh-CN)' 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 Culture code not configured: description: The provided culture code in the request is not configured in the resources. For valid culture codes, see GET /api/nsk/v1/resources/cultures value: errors: - id: null code: nsk:Exceptions:OutOfRange message: 'The value ''asdf'' is out of range for ''CultureCodeValidator.Culture Code''.\nExpected values: (en-US,de-DE,en-AU,en-CA,en-IE,es-ES,es-MX,eu-ES,fr-FR,hi-IN,id-ID,ja-JP,ko-KR,th-TH,zh-CN)' 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 servers: - url: https://prod.api.tui/flight/newskies/rest description: TUI Prod - url: https://playground.api.tui/flight/newskies/rest description: TUI Playground /api/nsk/v1/token/culture: post: tags: - token summary: Sets the culture code for the lifetime of the token. description: 'Note there is middleware that looks for "Culture" on every request in the headers or query string parameters. These can be used if you want to set the culture for a single request only. GraphQL endpoint: tokenCultureSet' operationId: nsk_v1_token_culture_post parameters: - name: defaultCultureCode in: query description: The culture code to use as the default for the life of this token. schema: type: - string - 'null' x-position: 1 responses: '200': description: OK. Request completed successfully. content: application/json: schema: $ref: '#/components/schemas/IJsonResponse' deprecated: true servers: - url: https://prod.api.tui/flight/newskies/rest description: TUI Prod - url: https://playground.api.tui/flight/newskies/rest description: TUI Playground /api/auth/v1/token/multifactor: post: tags: - token summary: Register multi-factor authentication options. description: 'Allows first time users to select their multifactor authentication method and will send a challenge code to that method.' operationId: auth_v1_token_multifactor_post requestBody: x-name: request description: The multi-factor registration request content: application/json: schema: $ref: '#/components/schemas/MultiFactorRegisterRequest' examples: Register Email: description: Initial request to register an email. value: credentials: domain: DEF username: agent123 password: '*******' registration: email: getChallengeCode@mfa.com type: 0 Verify: description: Second request to verify the challenge code with a challenge id. value: credentials: domain: DEF username: agent123 password: '*******' verify: challengeCode: '012345' challengeId: 01234567890123456789 Register SMS: description: Initial request to register an phone number. value: credentials: domain: DEF username: agent123 password: '*******' registration: phone: 123-123-1234 type: 1 Register TOTP: description: Initial request to register an authenticator app. value: credentials: domain: DEF username: agent123 password: '*******' registration: type: 2 required: true x-position: 1 responses: '201': description: The item was created successfully. content: application/json: schema: $ref: '#/components/schemas/IJsonResponseOfMultiFactorRegisterResponse' examples: Verified Example: description: MFA registrations has been verified. This will only need to be done once and the user can now proceed to POST /token/user to restart the authentication process. value: data: qrCodeUrl: null challengeId: null '202': description: Waiting on additional data. content: application/json: schema: $ref: '#/components/schemas/IJsonResponseOfMultiFactorRegisterResponse' examples: TOTP Example: description: This value can be used in websites or by devs using sites such as https://jaredwinick.github.io/base64-image-viewer/ and would be scanned by an authenticator app to provide the challenge code. Next please call this same endpoint to verify the MFA registration. value: data: qrCodeUrl: data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAeoAAAHqAQAAAADjFjCXAAADHElEQVR42u2dW47bMAxFiXoBXpK27iV5AQY0jsyXkkE/Sg3QoscfRjLx+TEuSF2S0kivXIeAg4ODg4ODg4P/Tbjotd2f9uv53PsZt+1+dL+fa6c92gb+S0oX+P+Jq+qGhkJcQ3/t1F9vbW7dlLj1RKA68IrqXjGsDdVZ1LuvS24Rvm7Pc9fziGoS1YEvU90rmqm4Rq4doc9vqA7852LdI7grp1T/iurAf2Zd91Kd/k1SwGNdB75QdeFh2/n7Gx4WfJHq4noS6RGxzi3Ft4UX3jx4Idbtl7kJK5WY4DzNiqRHiHXgi1Q3hLR3tRRuaR/9jcrJuzp58+A1D6sGdajOiiaRYaNoEpYC1YHX3IQXQ9yvapod2dS6ZONvsepDdeAVN+Gxrr3bh6Gwy3sTkn9FdeAlDxvOQaskGtckGwmtJndiHfgC1anCNi8Va/c1yica8KJyh+rAyx72s936fntUNyBUB77Ew+bGgzVjtWkRHtZqKFSJwRdl2Nzun0La5DCiaYHqwIuqs7yqpToLeI+5PcSdawxDoTrwBR5Wy3KpD3uZ6vyrKhHVga9Y180GNc3X9SkINs+/qA58Raz7GC05dW499u2kLgXrOvD6us4bD7KlCc6pLbGlHgaqAy9nWN+ek6fqXj+32JlocjQlojrwaoY16c2xztLsN19RHXhVdWEQRD9Z+U7kY6MObgJ8iYe1PWIW5kTSRp1m4yY2c8csMfiidZ2VSnLjPy3z9IcthUNUB17zsHNbbBqos/l2l97Oug58SawTV9Pl6zorEHupzvplVE7AV6jOuq+mv9wRy7HO139kWPC66vp0sIlMFeFD8hkBOTHz5sGrGVYk+YU8jOKbEseVjhjjzYP/uZuY9/5PW2G1XxaTJqzrwBefc5I7/aeelZiNrO/lQXXgVdW11POaZtmj8X/4aLFWjlEdeFF1KbjFCXXXNH3X3eayCxt8reraXDRuKeGq4OhNgC8/q3PeN+GH7cT2MOp14IvXdTHLno6/TjsohF3Y4OvP6oy5zWOfqiQ97eWhDwteVx3/IAYcHBwcHBwc/F/HvwBzCfzfcRsB9wAAAABJRU5ErkJggg== challengeId: 01234567890123456789 Email or SMS Example: description: An email will be sent that provides a challenge code. Next please call this same endpoint to verify the MFA registration. If registration is not verified then it will timeout after 10 minutes and will be required again in future authentication calls. value: data: qrCodeUrl: null challengeId: 01234567890123456789 '400': description: There was a problem with the request and it could not be completed. content: application/json: schema: $ref: '#/components/schemas/IJsonResponseOfString' examples: Already registered.: description: This can occur when already registered or waiting for the registration challenge code. Please try again later. value: errors: - id: null code: nsk-server:MFA:Registered message: Already registered or waiting for the registration challenge code. To restart the registration process try again after the configured amount of time. type: Error 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 '500': description: A server error occurred. content: application/json: schema: $ref: '#/components/schemas/IJsonResponseOfString' examples: MFA service down.: description: Internal server problem with authentication. Please try again later. value: errors: - id: null code: nsk-server:Credentials:Issue message: nsk-server:Credentials:Issue type: Error details: null rawMessage: 'Error calling IMFAService.authenticateAdmin: MFA service unavaliable.' 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 servers: - url: https://prod.api.tui/flight/newskies/rest description: TUI Prod - url: https://playground.api.tui/flight/newskies/rest description: TUI Playground /api/auth/v1/token/role: put: tags: - token summary: Updates the short-lived JWT with new role permissions. description: Updates the short-lived JWT with new role permissions. operationId: auth_v1_token_role_put requestBody: x-name: request description: The update request. content: application/json: schema: $ref: '#/components/schemas/JwtImpersonateRequest' required: true x-position: 1 responses: '201': description: The item was created successfully. content: application/json: schema: $ref: '#/components/schemas/IJsonResponseOfJwtResponse' examples: JWT token creation successful: description: Successful token creation with valid user credentials. value: data: token: '**JWT Token**' cultureCode: en-US currencyCode: USD roleCode: AIR2 locationCode: HDQ domainCode: DEF organizationCode: '88888888' expires: '2026-07-09T06:10:14.6436805+00:00' userKey: NDEwMjQ- personKey: NzE3MzI- '400': description: There was a problem with the request and it could not be completed. content: application/json: schema: $ref: '#/components/schemas/IJsonResponseOfString' examples: Agent not found: description: For security unless in debug mode for testing servers the same error will be returned for multiple credential scenarios. value: errors: - id: null code: nsk-server:Credentials:Failed message: nsk-server:Credentials:Failed type: Error details: null rawMessage: No agent found for requested agent name DEF/authAppMFAUse. 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 password: description: For security unless in debug mode for testing servers the same error will be returned for multiple credential scenarios. value: errors: - id: null code: nsk-server:Credentials:Failed message: nsk-server:Credentials:Failed type: Error details: null rawMessage: The agent (DEF/authAppMFAUser) failed authentication. 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 culture code: description: The provided culture code in the request is an invalid culture identifier. value: errors: - id: null code: nsk:CultureCode:InvalidCultureCode message: The culture code `asdf` is invalid. type: Validation details: null rawMessage: The culture code `asdf` is invalid. 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. - id: null code: nsk:Exceptions:OutOfRange message: 'The value ''asdf'' is out of range for ''CultureCodeValidator.Culture Code''.\nExpected values: (en-US,de-DE,en-AU,en-CA,en-IE,es-ES,es-MX,eu-ES,fr-FR,hi-IN,id-ID,ja-JP,ko-KR,th-TH,zh-CN)' 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 Culture code not configured: description: The provided culture code in the request is not configured in the resources. For valid culture codes, see GET /api/nsk/v1/resources/cultures value: errors: - id: null code: nsk:Exceptions:OutOfRange message: 'The value ''asdf'' is out of range for ''CultureCodeValidator.Culture Code''.\nExpected values: (en-US,de-DE,en-AU,en-CA,en-IE,es-ES,es-MX,eu-ES,fr-FR,hi-IN,id-ID,ja-JP,ko-KR,th-TH,zh-CN)' 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 '401': description: Authentication is required for this request. content: application/json: schema: $ref: '#/components/schemas/IJsonResponseOfJwtResponse' servers: - url: https://prod.api.tui/flight/newskies/rest description: TUI Prod - url: https://playground.api.tui/flight/newskies/rest description: TUI Playground /api/nsk/v1/token/serverTransfer: post: tags: - token summary: Transfers the server context from NewSkies and returns a new token. description: 'This endpoint returns a new token. The new token must be applied in the authorization header to access the transferred server context. GraphQL endpoint: serverTransferAdd' operationId: nsk_v1_token_serverTransfer_post requestBody: x-name: request description: The server transfer request. content: application/json: schema: $ref: '#/components/schemas/ServerTransferRequest' required: true x-position: 1 responses: '201': description: The item was created successfully. content: application/json: schema: $ref: '#/components/schemas/IJsonResponseOfTokenResponse' deprecated: true servers: - url: https://prod.api.tui/flight/newskies/rest description: TUI Prod - url: https://playground.api.tui/flight/newskies/rest description: TUI Playground /api/nsk/v1/token/singleSignOn: post: tags: - token summary: Creates the general access token that will grant access to the API. description: 'In order to use single sign on, a single sign on token must first be associated with a user. Refer to the "user/singleSignOnToken" endpoints. GraphQL endpoint: singleSignOn' operationId: nsk_v1_token_singleSignOn_post requestBody: x-name: credentials description: The single sign on credentials. content: application/json: schema: $ref: '#/components/schemas/SingleSignOnCredentials' x-position: 1 responses: '201': description: The item was created successfully. content: application/json: schema: $ref: '#/components/schemas/IJsonResponseOfTokenResponse' put: tags: - token summary: 'Given a non-null request, upgrades the current session''s logged-in user. Otherwise, keeps the active token alive.' description: 'In order to use single sign on, a single sign on token must first be associated with a user. Refer to the "user/singleSignOnToken" endpoints. GraphQL endpoint: singleSignOnUpgrade' operationId: nsk_v1_token_singleSignOn_put requestBody: x-name: credentials description: The single sign on credentials. content: application/json: schema: $ref: '#/components/schemas/SingleSignOnCredentials' x-position: 1 responses: '200': description: OK. Request completed successfully. content: application/json: schema: $ref: '#/components/schemas/IJsonResponse' '201': description: The item was created successfully. content: application/json: schema: $ref: '#/components/schemas/IJsonResponse' servers: - url: https://prod.api.tui/flight/newskies/rest description: TUI Prod - url: https://playground.api.tui/flight/newskies/rest description: TUI Playground /api/auth/v1/token/user: post: tags: - token summary: Creates a short-lived JWT specific to a user. description: 'Tokens have a set expiration time. Client applications should call the put endpoint to get a new token before this expiration time.' operationId: auth_v1_token_user_post requestBody: x-name: request description: The nsk token request. content: application/json: schema: $ref: '#/components/schemas/JwtRequest' examples: Standard JWT Token Request: description: Example request for creating a JWT token. value: credentials: username: agent123 alternateIdentifier: null password: '*******' domain: DEF location: null loginRole: null applicationName: Digital API cultureCode: en-US multiFactor: null Multifactor Request: description: Example request after receiving multifactor challenge code. value: credentials: username: agent123 alternateIdentifier: null password: '*******' domain: DEF location: null loginRole: null applicationName: Digital API cultureCode: en-US multiFactor: challengeCode: '123456' challengeId: 01234567890123456789 requestIdentityToken: false x-position: 1 responses: '201': description: The item was created successfully. content: application/json: schema: $ref: '#/components/schemas/IJsonResponseOfMultiFactorJwtResponse' examples: JWT token creation successful: description: Successful token creation with valid user credentials. value: data: multiFactorRequired: null token: '**JWT Token**' cultureCode: en-US currencyCode: USD roleCode: AIR2 locationCode: HDQ domainCode: DEF organizationCode: '88888888' expires: '2026-07-09T06:10:14.6238751+00:00' userKey: NDEwMjQ- personKey: NzE3MzI- Multifactor JWT token creation successful: description: Successful token creation with valid user credentials for multifactor authentication. value: data: multiFactorRequired: challengeId: 01234567890123456789 requiresRegistration: false requiresChallengeCode: true types: - 0 token: '**JWT Token**' cultureCode: en-US currencyCode: USD roleCode: AIR2 locationCode: HDQ domainCode: DEF organizationCode: '88888888' expires: '2026-07-09T06:10:14.6244198+00:00' userKey: NDEwMjQ- personKey: NzE3MzI- '202': description: Waiting on additional data. content: application/json: schema: $ref: '#/components/schemas/IJsonResponseOfMultiFactorJwtResponse' examples: MFA registration required.: description: This role requires multi-factor authentication. This user has not yet chosen the preferred type of MFA and registered with it. See POST /token/multifactor value: messages: - code: nsk-server:MFA-RegistrationRequired type: Information value: Multi-factor registration is required. status: 0 details: null data: multiFactorRequired: challengeId: null requiresRegistration: true requiresChallengeCode: false types: - 2 - 1 - 0 token: null cultureCode: null currencyCode: null roleCode: null locationCode: null domainCode: null organizationCode: null expires: null userKey: null personKey: null MFA challenge required.: description: This role requires multi-factor authentication. This user has already registered but needs to use their chosen registration method for the 2nd factor authentication. value: messages: - code: nsk-server:MFA-ChallengeCodeRequired type: Information value: Multi-factor authentication required. Please check your second factor method and enter the challenge code. status: 0 details: null data: multiFactorRequired: challengeId: 01234567890123456789 requiresRegistration: false requiresChallengeCode: true types: - 0 token: null cultureCode: null currencyCode: null roleCode: null locationCode: null domainCode: null organizationCode: null expires: null userKey: null personKey: null '400': description: There was a problem with the request and it could not be completed. content: application/json: schema: $ref: '#/components/schemas/IJsonResponseOfString' examples: Challenge code failed: description: For security, unless in debug mode for testing servers, the same error will be returned for multiple credential scenarios. value: errors: - id: null code: nsk-server:Credentials:Failed message: nsk-server:Credentials:Failed type: Error details: null rawMessage: Challenge code failed validation for user DEF/authAppMFAUser. 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 Agent not found: description: For security, unless in debug mode for testing servers, the same error will be returned for multiple credential scenarios. value: errors: - id: null code: nsk-server:Credentials:Failed message: nsk-server:Credentials:Failed type: Error details: null rawMessage: No agent found for requested agent name DEF/authAppMFAUse. 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 password: description: For security, unless in debug mode for testing servers, the same error will be returned for multiple credential scenarios. value: errors: - id: null code: nsk-server:Credentials:Failed message: nsk-server:Credentials:Failed type: Error details: null rawMessage: The agent (DEF/authAppMFAUser) failed authentication. 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 culture code: description: The provided culture code in the request is an invalid culture identifier. value: errors: - id: null code: nsk:CultureCode:InvalidCultureCode message: The culture code `asdf` is invalid. type: Validation details: null rawMessage: The culture code `asdf` is invalid. 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. - id: null code: nsk:Exceptions:OutOfRange message: 'The value ''asdf'' is out of range for ''CultureCodeValidator.Culture Code''.\nExpected values: (en-US,de-DE,en-AU,en-CA,en-IE,es-ES,es-MX,eu-ES,fr-FR,hi-IN,id-ID,ja-JP,ko-KR,th-TH,zh-CN)' 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 Culture code not configured: description: The provided culture code in the request is not configured in the resources. For valid culture codes, see GET /api/nsk/v1/resources/cultures value: errors: - id: null code: nsk:Exceptions:OutOfRange message: 'The value ''asdf'' is out of range for ''CultureCodeValidator.Culture Code''.\nExpected values: (en-US,de-DE,en-AU,en-CA,en-IE,es-ES,es-MX,eu-ES,fr-FR,hi-IN,id-ID,ja-JP,ko-KR,th-TH,zh-CN)' 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 '500': description: A server error occurred. content: application/json: schema: $ref: '#/components/schemas/IJsonResponseOfString' examples: MFA service down.: description: Internal server problem with authentication. Please try again later. value: errors: - id: null code: nsk-server:Credentials:Issue message: nsk-server:Credentials:Issue type: Error details: null rawMessage: 'Error calling IMFAService.authenticateAdmin: MFA service unavaliable.' 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 put: tags: - token summary: Updates an anonymous short-lived JWT to login as a user. description: Updates an anonymous short-lived JWT to login as a user. operationId: auth_v1_token_user_put requestBody: x-name: request description: The nsk token request. content: application/json: schema: $ref: '#/components/schemas/JwtRequest' required: true x-position: 1 responses: '201': description: The item was created successfully. content: application/json: schema: $ref: '#/components/schemas/IJsonResponseOfJwtResponse' examples: JWT token creation successful: description: Successful token creation with valid user credentials. value: data: token: '**JWT Token**' cultureCode: en-US currencyCode: USD roleCode: AIR2 locationCode: HDQ domainCode: DEF organizationCode: '88888888' expires: '2026-07-09T06:10:14.6410372+00:00' userKey: NDEwMjQ- personKey: NzE3MzI- '202': description: Waiting on additional data. content: application/json: schema: $ref: '#/components/schemas/IJsonResponseOfJwtResponse' examples: TOTP Example: description: This value can be used in websites or by devs using sites such as https://jaredwinick.github.io/base64-image-viewer/ and would be scanned by an authenticator app to provide the challenge code. Next please call this same endpoint to verify the MFA registration. value: data: qrCodeUrl: data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAeoAAAHqAQAAAADjFjCXAAADHElEQVR42u2dW47bMAxFiXoBXpK27iV5AQY0jsyXkkE/Sg3QoscfRjLx+TEuSF2S0kivXIeAg4ODg4ODg4P/Tbjotd2f9uv53PsZt+1+dL+fa6c92gb+S0oX+P+Jq+qGhkJcQ3/t1F9vbW7dlLj1RKA68IrqXjGsDdVZ1LuvS24Rvm7Pc9fziGoS1YEvU90rmqm4Rq4doc9vqA7852LdI7grp1T/iurAf2Zd91Kd/k1SwGNdB75QdeFh2/n7Gx4WfJHq4noS6RGxzi3Ft4UX3jx4Idbtl7kJK5WY4DzNiqRHiHXgi1Q3hLR3tRRuaR/9jcrJuzp58+A1D6sGdajOiiaRYaNoEpYC1YHX3IQXQ9yvapod2dS6ZONvsepDdeAVN+Gxrr3bh6Gwy3sTkn9FdeAlDxvOQaskGtckGwmtJndiHfgC1anCNi8Va/c1yica8KJyh+rAyx72s936fntUNyBUB77Ew+bGgzVjtWkRHtZqKFSJwRdl2Nzun0La5DCiaYHqwIuqs7yqpToLeI+5PcSdawxDoTrwBR5Wy3KpD3uZ6vyrKhHVga9Y180GNc3X9SkINs+/qA58Raz7GC05dW499u2kLgXrOvD6us4bD7KlCc6pLbGlHgaqAy9nWN+ek6fqXj+32JlocjQlojrwaoY16c2xztLsN19RHXhVdWEQRD9Z+U7kY6MObgJ8iYe1PWIW5kTSRp1m4yY2c8csMfiidZ2VSnLjPy3z9IcthUNUB17zsHNbbBqos/l2l97Oug58SawTV9Pl6zorEHupzvplVE7AV6jOuq+mv9wRy7HO139kWPC66vp0sIlMFeFD8hkBOTHz5sGrGVYk+YU8jOKbEseVjhjjzYP/uZuY9/5PW2G1XxaTJqzrwBefc5I7/aeelZiNrO/lQXXgVdW11POaZtmj8X/4aLFWjlEdeFF1KbjFCXXXNH3X3eayCxt8reraXDRuKeGq4OhNgC8/q3PeN+GH7cT2MOp14IvXdTHLno6/TjsohF3Y4OvP6oy5zWOfqiQ97eWhDwteVx3/IAYcHBwcHBwc/F/HvwBzCfzfcRsB9wAAAABJRU5ErkJggg== challengeId: 01234567890123456789 Email or SMS Example: description: An email will be sent that provides a challenge code. Next please call this same endpoint to verify the MFA registration. If registration is not verified then it will timeout after 10 minutes and will be required again in future authentication calls. value: data: qrCodeUrl: null challengeId: 01234567890123456789 '400': description: There was a problem with the request and it could not be completed. content: application/json: schema: $ref: '#/components/schemas/IJsonResponseOfString' examples: Agent not found: description: For security unless in debug mode for testing servers the same error will be returned for multiple credential scenarios. value: errors: - id: null code: nsk-server:Credentials:Failed message: nsk-server:Credentials:Failed type: Error details: null rawMessage: No agent found for requested agent name DEF/authAppMFAUse. 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 password: description: For security unless in debug mode for testing servers the same error will be returned for multiple credential scenarios. value: errors: - id: null code: nsk-server:Credentials:Failed message: nsk-server:Credentials:Failed type: Error details: null rawMessage: The agent (DEF/authAppMFAUser) failed authentication. 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 culture code: description: The provided culture code in the request is an invalid culture identifier. value: errors: - id: null code: nsk:CultureCode:InvalidCultureCode message: The culture code `asdf` is invalid. type: Validation details: null rawMessage: The culture code `asdf` is invalid. 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. - id: null code: nsk:Exceptions:OutOfRange message: 'The value ''asdf'' is out of range for ''CultureCodeValidator.Culture Code''.\nExpected values: (en-US,de-DE,en-AU,en-CA,en-IE,es-ES,es-MX,eu-ES,fr-FR,hi-IN,id-ID,ja-JP,ko-KR,th-TH,zh-CN)' 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 Culture code not configured: description: The provided culture code in the request is not configured in the resources. For valid culture codes, see GET /api/nsk/v1/resources/cultures value: errors: - id: null code: nsk:Exceptions:OutOfRange message: 'The value ''asdf'' is out of range for ''CultureCodeValidator.Culture Code''.\nExpected values: (en-US,de-DE,en-AU,en-CA,en-IE,es-ES,es-MX,eu-ES,fr-FR,hi-IN,id-ID,ja-JP,ko-KR,th-TH,zh-CN)' 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 servers: - url: https://prod.api.tui/flight/newskies/rest description: TUI Prod - url: https://playground.api.tui/flight/newskies/rest description: TUI Playground /api/nsk/v1/token/user/person/singleSignOn: post: tags: - token summary: Creates a new user, links it with a provider, then logs in as the new user. description: 'Warning: This endpoint currently only works with Facebook. If this endpoint fails it could be because an SSO token is already linked to a user or the SSO token is invalid. GraphQL endpoint: singleSignOnUserAdd' operationId: nsk_v1_token_user_person_singleSignOn_post requestBody: x-name: request description: The request for the user to be created. content: application/json: schema: $ref: '#/components/schemas/SingleSignOnCreateRequest' required: true x-position: 1 responses: '201': description: The item was created successfully. content: application/json: schema: $ref: '#/components/schemas/IJsonResponseOfTokenResponse' servers: - url: https://prod.api.tui/flight/newskies/rest description: TUI Prod - url: https://playground.api.tui/flight/newskies/rest description: TUI Playground /api/dcs/v1/token: get: tags: - token summary: 'Gets token-based information about the current user that is commonly used by DCS applications.' description: 'Before calling this endpoint, you first need to login using the PUT or POST endpoint at /api/nsk/v2/token. GraphQL endpoint: dcsToken' operationId: dcs_v1_token_get responses: '200': description: Information about the current user. content: application/json: schema: $ref: '#/components/schemas/IJsonResponseOfDcsToken' '401': description: '' content: application/json: schema: $ref: '#/components/schemas/IJsonResponse_2' servers: - url: https://prod.api.tui/flight/newskies/gonow description: TUI Prod - url: https://playground.api.tui/flight/newskies/gonow description: TUI Playground components: schemas: PersonPhoneNumberRequest: type: object description: "Defines the the person phone number.\n " additionalProperties: false required: - type - number properties: type: description: "The phone number type.\n " $ref: '#/components/schemas/PhoneNumberType' number: type: string description: "The phone number without any formatting characters.\n " maxLength: 20 minLength: 0 default: type: boolean description: "Flag indicating if this phone number is the default.\n " MultiFactorType: type: integer description: "The Multi-Factor Authentication types allowed to authenticate with.\n \n\n0 = Email\n1 = ShortMessageService\n2 = TimeBasedOneTimePassword" x-enumNames: - Email - ShortMessageService - TimeBasedOneTimePassword enum: - 0 - 1 - 2 ServerTransferRequest: type: object description: "Represents a server transfer request.\n " additionalProperties: false required: - serverContextToken properties: serverContextToken: type: string description: "The NewSkies server context token to transfer.\n " minLength: 1 applicationName: type: - string - 'null' description: "The optional application name.\n " channel: description: "The transferred server's channel type.\n " $ref: '#/components/schemas/ChannelType' newSession: type: boolean description: "Create a new session and keep the old one alive.\n " IJsonResponseOfString: type: object description: "Defines the JSON response contract.\n " additionalProperties: false properties: data: type: - string - 'null' description: "The payload data.\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' JwtRequest: type: object description: "Defines the nsk token request to gain access to the API.\n " additionalProperties: false required: - credentials properties: applicationName: type: - string - 'null' description: "The optional name of the calling application.\n " credentials: description: "The nsk user login credentials.\n " $ref: '#/components/schemas/JwtCredentials' cultureCode: type: - string - 'null' description: "The optional culture code.\n " multiFactor: description: "The multifactor authentication request data.\n " $ref: '#/components/schemas/MultiFactorRequest' PersonPreferenceCreateRequest: type: object description: "Defines a person preference create request.\n " additionalProperties: false properties: value: type: - string - 'null' description: "The value of the preference.\n " code: type: - string - 'null' description: "The preference code.\n " SingleSignOnCredentials: type: object description: "Defines the single sign on credentials.\n " additionalProperties: false required: - singleSignOn - providerKey properties: singleSignOn: type: string description: "The single sign on token.\n " minLength: 1 providerKey: type: string description: "The unique single sign on provider key.\n " minLength: 1 providerName: type: - string - 'null' description: "The single sign on provider name.\n " applicationName: type: - string - 'null' description: "The optional name of the calling application\n " channelType: description: "The optional channel type invoking the communication with the server.\n " $ref: '#/components/schemas/ChannelType' domain: type: - string - 'null' description: "The domain code of the calling application\n " JwtResponse: type: object description: "Represents the JWT response model.\n " additionalProperties: false properties: token: type: - string - 'null' description: "The JWT.\n " cultureCode: type: - string - 'null' description: "The culture code set for this token.\n " currencyCode: type: - string - 'null' description: "The currency code set for this token.\n " roleCode: type: - string - 'null' description: "The role code set for this token.\n " locationCode: type: - string - 'null' description: "The location code.\n " domainCode: type: - string - 'null' description: "The domain code.\n " organizationCode: type: - string - 'null' description: "The organization code.\n " expires: type: - string - 'null' description: "The absolute expiration time.\n " format: date-time userKey: type: - string - 'null' description: "The user key, if not anonymous.\n " personKey: type: - string - 'null' description: "The person key, if not anonymous.\n " TokenResponse: type: object description: "Defines the token response.\n " additionalProperties: false properties: token: type: - string - 'null' description: "The generated token.\n " idleTimeoutInMinutes: type: integer description: "The number of minutes the token can be idle before it times out.\n " format: int32 PersonStatus: type: integer description: "The status of the person.\n \n\n0 = Active\n1 = Terminated\n2 = Suspended" x-enumNames: - Active - Terminated - Suspended enum: - 0 - 1 - 2 PersonCustomerProgramCreateRequest: type: object description: "Defines a person's customer program create request.\n " additionalProperties: false required: - programNumber - programCode properties: programNumber: type: string description: "The unique program number for the person.\n " maxLength: 32 minLength: 0 effectiveDate: type: - string - 'null' description: "The effective date.\n " format: date-time expirationDate: type: - string - 'null' description: "The expiration date.\n " format: date-time default: type: boolean description: "True if this is set as the default program.\n " programLevelCode: type: - string - 'null' description: "The program level.\n " maxLength: 3 minLength: 0 programCode: type: string description: "The program code.\n " maxLength: 3 minLength: 0 IJsonResponseOfJwtDetailsResponse: type: object description: "Defines the JSON response contract.\n " additionalProperties: false properties: data: description: "The payload data.\n " $ref: '#/components/schemas/JwtDetailsResponse' 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' PersonCommentRequest: type: object description: "Defines a person comment request.\n " additionalProperties: false properties: text: type: - string - 'null' description: "The comments text.\n " type: description: "The comment type.\n " $ref: '#/components/schemas/PersonCommentType' Exception: type: object additionalProperties: false properties: Message: type: string InnerException: $ref: '#/components/schemas/Exception' Source: type: - string - 'null' StackTrace: type: - string - 'null' PersonAliasRequest: type: object description: "Defines the person alias request.\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 type: description: "The type of alias.\n " $ref: '#/components/schemas/PersonAliasType' NskRoles: type: object description: "Defines the NSK role.\n " additionalProperties: false properties: inBaseRole: type: boolean description: "Flag indicating if in the base role.\n " acting: description: "The acting role.\n " $ref: '#/components/schemas/RoleBase' base: description: "The base/original role.\n " $ref: '#/components/schemas/RoleBase' JwtDetailsResponse: type: object description: "Represents the JWT details response model.\n " additionalProperties: false properties: token: type: - string - 'null' description: "The JWT.\n " cultureCode: type: - string - 'null' description: "The culture code set for this token.\n " currencyCode: type: - string - 'null' description: "The currency code set for this token.\n " roleCode: type: - string - 'null' description: "The role code set for this token.\n " locationCode: type: - string - 'null' description: "The location code.\n " domainCode: type: - string - 'null' description: "The domain code.\n " organizationCode: type: - string - 'null' description: "The organization code.\n " expires: type: - string - 'null' description: "The absolute expiration time.\n " format: date-time userKey: type: - string - 'null' description: "The user key, if not anonymous.\n " personKey: type: - string - 'null' description: "The person key, if not anonymous.\n " applicationName: type: - string - 'null' description: "The logged-in application name.\n " username: type: - string - 'null' description: "The logged-in username.\n " channel: description: "The logged-in channel.\n " $ref: '#/components/schemas/ChannelType' systemName: description: "The logged-in system name.\n " $ref: '#/components/schemas/SystemName' type: description: "The logged-in user's session permission type.\n " $ref: '#/components/schemas/SessionPermissionType' JwtCredentials: type: object description: "Represents the base credential model.\n " additionalProperties: false required: - password - domain properties: username: type: - string - 'null' description: "The unique username.\n " alternateIdentifier: type: - string - 'null' description: "Alternate identifier that can be used in place of the username.\n " password: type: string description: "The unique password.\n " minLength: 1 domain: type: string description: "The domain the user exists in.\n " minLength: 1 location: type: - string - 'null' description: "The location the user exists in.\n " loginRole: type: - string - 'null' description: "The role to log in as.\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 SingleSignOnCreateRequest: type: object description: "Defines the single sign on create request.\n " additionalProperties: false required: - singleSignOnCredentials - person properties: codes: description: "The identifying agent codes.\n " $ref: '#/components/schemas/UserCodes' singleSignOnCredentials: description: "The single sign on credentials.\n " $ref: '#/components/schemas/SingleSignOnCredentials' person: description: "The person information to be used.\n " $ref: '#/components/schemas/PersonCreateRequest' PersonCommentType: type: integer description: "Defines the different types of person comments.\n \n\n0 = Default\n1 = Itinerary\n2 = Manifest\n3 = Alert\n4 = Archive\n5 = Voucher" x-enumNames: - Default - Itinerary - Manifest - Alert - Archive - Voucher enum: - 0 - 1 - 2 - 3 - 4 - 5 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 JwtRefreshRequest: type: object description: "Defines the nsk token request to gain access to the API.\n " additionalProperties: false properties: applicationName: type: - string - 'null' description: "The application name if should change from the original token.\n " cultureCode: type: - string - 'null' description: "The optional culture code.\n " newSession: type: boolean description: "Create a new session and keep the old one alive.\n " NskTokenRequestv2: type: object description: "Defines the nsk token request to gain access to the API.\n " additionalProperties: false properties: applicationName: type: - string - 'null' description: "The optional name of the calling application.\n " credentials: description: "The nsk user login credentials.\n " $ref: '#/components/schemas/CredentialsBase' multiFactor: description: "The multifactor authentication request data.\n " $ref: '#/components/schemas/MultiFactorRequest' MultiFactorRegisterResponse: type: object description: "Represents the register response model.\n " additionalProperties: false properties: qrCodeUrl: type: - string - 'null' description: "Qr code embedded png url if the request was set for TOTP registration.\n " challengeId: type: - string - 'null' description: "The identifier for this MFA request.\n " UserIdentity: type: object description: "Defines the logged in users identity.\n " additionalProperties: false properties: userKey: type: - string - 'null' description: "The unique user key.\n " personKey: type: - string - 'null' description: "The unique person key.\n " domain: type: - string - 'null' description: "The domain code the user exists in.\n " organization: type: - string - 'null' description: "The organization code the user is apart of.\n " IJsonResponseOfMultiFactorTokenResponse: type: object description: "Defines the JSON response contract.\n " additionalProperties: false properties: data: description: "The payload data.\n " $ref: '#/components/schemas/MultiFactorTokenResponse' 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' MultiFactorTokenResponse: type: object description: "Represents the JWT response model.\n " additionalProperties: false properties: token: type: - string - 'null' description: "The generated token.\n " idleTimeoutInMinutes: type: integer description: "The number of minutes the token can be idle before it times out.\n " format: int32 multiFactorRequired: description: "Multi-Factor Authentication details if enabled for the user.\n " $ref: '#/components/schemas/MultiFactorResponse' MultiFactorRegistration: type: object description: "Represents the MFA registration model.\n " additionalProperties: false properties: type: description: "The method to be used for multifactor authentication\n " $ref: '#/components/schemas/MultiFactorType' phone: type: - string - 'null' description: "Required for SMS type MFA.\n " format: phone email: type: - string - 'null' description: "Required for email type MFA.\n " format: email IJsonResponseOfMultiFactorRegisterResponse: type: object description: "Defines the JSON response contract.\n " additionalProperties: false properties: data: description: "The payload data.\n " $ref: '#/components/schemas/MultiFactorRegisterResponse' 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' PersonTravelDocumentRequest: type: object description: "Defines the person travel document.\n " additionalProperties: false required: - documentTypeCode properties: documentTypeCode: type: string description: "The unique travel document type code.\n " maxLength: 4 minLength: 0 issuedByCode: type: - string - 'null' description: "The issuer code for the travel document (country code).\n " maxLength: 3 minLength: 0 birthCountry: type: - string - 'null' description: "The BirthCountry property.\n " name: description: "The Name property.\n " $ref: '#/components/schemas/Name' nationality: type: - string - 'null' description: "The Nationality property.\n " maxLength: 2 minLength: 0 expirationDate: type: - string - 'null' description: "The date when this travel document expires.\n " format: date-time number: type: - string - 'null' description: "The travel document number.\n " maxLength: 35 minLength: 0 issuedDate: type: - string - 'null' description: "The date this travel document was issued.\n " format: date-time gender: description: "The travel document holder's gender.\n " $ref: '#/components/schemas/Gender' dateOfBirth: type: - string - 'null' description: "The person's date of birth.\n " format: date-time declaredGender: type: - string - 'null' description: "The travel document holder's declared gender.\nThis will override the gender field on passenger or person POST, PUT, and PATCH requests.\nNote: Any value other than \"F\" will cause gender to be updated to Male by default to support compatibility with\nother systems.\nAdditionally you cannot change the declared gender and gender fields at the same time as declared gender\nwill override any gender field value regardless of the value passed in.\n " maxLength: 2 minLength: 0 placeOfBirth: type: - string - 'null' description: "Represents the place of birth. Only used on the following document type groups: TravelVisa (9), RedressNumber (20),\nand KnownTravelerId (21).\nOnly allows alpha characters, please do not use spaces, numbers, or special characters.\nNote: If unsure which travel document types fall into these groups please use `/api/nsk/v1/resources/DocumentTypes`\nor `/api/nsk/v1/resources/DocumentTypes/{documentTypeCode}`\n " maxLength: 35 minLength: 0 pattern: ^[A-Za-z\s]*$ placeOfIssue: type: - string - 'null' description: "Represents the place of issue. Only used on the following document type groups: TravelVisa (9), RedressNumber (20),\nand KnownTravelerId (21).\nOnly allows alpha characters, please do not use spaces, hyphens, or special characters.\nNote: If unsure which travel document types fall into these groups please use `/api/nsk/v1/resources/DocumentTypes`\nor `/api/nsk/v1/resources/DocumentTypes/{documentTypeCode}`\n " maxLength: 35 minLength: 0 pattern: ^[A-Za-z\s]*$ default: type: boolean description: "Flag indicating if the travel document is the default.\n " JwtImpersonateRequest: type: object description: "Defines the nsk token request to gain access to the API.\n " additionalProperties: false properties: applicationName: type: - string - 'null' description: "The application name if should change from the original token.\n " cultureCode: type: - string - 'null' description: "The optional culture code.\n " newSession: type: boolean description: "Create a new session and keep the old one alive.\n " roleCode: type: - string - 'null' description: "The alternate role code for impersonation scenarios.\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 PersonType: type: integer description: "Defines the type of person.\n \n\n0 = None\n1 = Customer\n2 = Agent" x-enumNames: - None - Customer - Agent enum: - 0 - 1 - 2 NskServerContext: type: object description: "Defines the NSK server context.\n " additionalProperties: false properties: id: type: integer description: "The servers session ID.\n " format: int64 token: type: - string - 'null' description: "The servers secure token.\n " systemName: description: "The acting system name.\n " $ref: '#/components/schemas/SystemName' channel: description: "The acting channel type.\n " $ref: '#/components/schemas/ChannelType' applicationName: type: - string - 'null' description: "The acting application name.\n " locationCode: type: - string - 'null' description: "The acting location code.\n " MultiFactorRegisterRequest: type: object description: "Represents the MFA response model.\n " additionalProperties: false required: - credentials properties: credentials: description: "The nsk user login credentials.\n " $ref: '#/components/schemas/RegisterCredentials' registration: description: "Data needed to register a source and to later verify.\n " $ref: '#/components/schemas/MultiFactorRegistration' verify: description: "Additional data needed for the second step to verify registration.\n " $ref: '#/components/schemas/MultiFactorRequest' RoleBase: type: object description: "Defines the base role.\n " additionalProperties: false properties: roleCode: type: - string - 'null' description: "The unique role code.\n " name: type: - string - 'null' description: "The role's name.\n " IJsonResponseOfMultiFactorJwtResponse: type: object description: "Defines the JSON response contract.\n " additionalProperties: false properties: data: description: "The payload data.\n " $ref: '#/components/schemas/MultiFactorJwtResponse' 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' SessionPermissionType: type: integer description: "Defines the sessions permission type.\n \n\n0 = Unknown\n1 = Customer\n2 = Anonymous\n3 = Agent" x-enumNames: - Unknown - Customer - Anonymous - Agent enum: - 0 - 1 - 2 - 3 NskSessionContext: type: object description: "Defines the nsk current session context.\n " additionalProperties: false properties: defaultCultureCode: type: - string - 'null' description: "The users default culture code.\n " defaultCurrencyCode: type: - string - 'null' description: "The users default currency code.\n " type: description: "The type of session permissions based on the logged-in user.\n " $ref: '#/components/schemas/SessionPermissionType' hasBookingInState: type: boolean description: "True if the booking exists in NewSkies for the session.\n " isPendingLogin: type: boolean description: "Flag indicating if the session is pending login.\n " isVirtual: type: boolean description: "Flag indicating if the session is a virtual user. This check is specific for a virtual, anonymous user only.\nTo check if the session (non-anonymous user) is virtual, retrieve the token details and look at the server context\nID--if it is less than zero, the session is virtual.\n " identity: description: "The logged in users identity.\n " $ref: '#/components/schemas/UserIdentity' serverContext: description: "The server's session context.\n " $ref: '#/components/schemas/NskServerContext' roles: description: "The roles applied to the current session.\n " $ref: '#/components/schemas/NskRoles' IJsonResponseOfTokenResponse: type: object description: "Defines the JSON response contract.\n " additionalProperties: false properties: data: description: "The payload data.\n " $ref: '#/components/schemas/TokenResponse' 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' 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 PersonAffiliation: type: object description: "Defines the person affiliation.\n " additionalProperties: false required: - name properties: name: type: string description: "The name of the affiliated person.\n " minLength: 1 personAffiliationKey: type: - string - 'null' description: "The unique person affiliation key.\n " RegisterCredentials: type: object description: "Represents the base credential model for registering.\n " additionalProperties: false required: - password - domain properties: username: type: - string - 'null' description: "The unique username.\n " alternateIdentifier: type: - string - 'null' description: "Alternate identifier that can be used in place of the username.\n " password: type: string description: "The unique password.\n " minLength: 1 domain: type: string description: "The domain the user exists in.\n " minLength: 1 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 PaymentMethodType: type: integer description: "Defines the payment method types.\n \n\n0 = ExternalAccount\n1 = PrePaid\n2 = AgencyAccount\n3 = CustomerAccount\n4 = Voucher\n5 = Loyalty" x-enumNames: - ExternalAccount - PrePaid - AgencyAccount - CustomerAccount - Voucher - Loyalty enum: - 0 - 1 - 2 - 3 - 4 - 5 PersonStoredPaymentRequest: type: object description: "Defines the person's stored payment create request.\n " additionalProperties: false required: - paymentMethodType - paymentMethodCode - accountNumber properties: paymentMethodType: description: "The type of payment being added.\n " $ref: '#/components/schemas/PaymentMethodType' accountName: type: - string - 'null' description: "The name of the account.\n " maxLength: 64 minLength: 0 expiration: type: - string - 'null' description: "The expiration.\n " format: date-time paymentMethodCode: type: string description: "The payment method code.\n " maxLength: 2 minLength: 1 default: type: boolean description: "Indicates if the stored payment is the default.\n " accountNumber: type: string description: "The account number.\n " maxLength: 34 minLength: 0 PersonBasicInformation: type: object description: "Defines the person's basic information.\n " additionalProperties: false properties: gender: description: "The person's gender.\n " $ref: '#/components/schemas/Gender' dateOfBirth: type: - string - 'null' description: "The person's date of birth.\n " format: date-time nationality: type: - string - 'null' description: "The person's nationality.\n " residentCountry: type: - string - 'null' description: "The person's resident country.\n " passengerType: type: - string - 'null' description: "The type of passenger the person is.\n " preferredCultureCode: type: - string - 'null' description: "The person's preferred culture code.\n " preferredCurrencyCode: type: - string - 'null' description: "The person's preferred currency code.\n " nationalIdNumber: type: - string - 'null' description: "The person's national ID number.\n " declaredGender: type: - string - 'null' description: "The person's declared gender. A value of \"F\" is mapped to a female binary gender. All other values will be\nmapped to a male binary gender.\n " maxLength: 2 minLength: 0 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 " MultiFactorResponse: type: object description: "Represents the MFA response model.\n " additionalProperties: false properties: challengeId: type: - string - 'null' description: "The identifier for this MFA request.\n " requiresRegistration: type: boolean description: "Requires registration for Multi-Factor Authentication. See POST /token/multifactor\n " requiresChallengeCode: type: boolean description: "Requires challenge code for Multi-Factor Authentication. Check your authentication method and resend the request\nwith the challenge code.\n " types: type: - array - 'null' description: "The Multi-Factor Authentication types allowed to authenticate with.\n " items: $ref: '#/components/schemas/MultiFactorType' MultiFactorJwtResponse: type: object description: "Represents the MFA response model.\n " additionalProperties: false properties: token: type: - string - 'null' description: "The JWT.\n " cultureCode: type: - string - 'null' description: "The culture code set for this token.\n " currencyCode: type: - string - 'null' description: "The currency code set for this token.\n " roleCode: type: - string - 'null' description: "The role code set for this token.\n " locationCode: type: - string - 'null' description: "The location code.\n " domainCode: type: - string - 'null' description: "The domain code.\n " organizationCode: type: - string - 'null' description: "The organization code.\n " expires: type: - string - 'null' description: "The absolute expiration time.\n " format: date-time userKey: type: - string - 'null' description: "The user key, if not anonymous.\n " personKey: type: - string - 'null' description: "The person key, if not anonymous.\n " multiFactorRequired: description: "The data returned if a multifactor authentication is needed.\n " $ref: '#/components/schemas/MultiFactorResponse' IJsonResponseOfJwtResponse: type: object description: "Defines the JSON response contract.\n " additionalProperties: false properties: data: description: "The payload data.\n " $ref: '#/components/schemas/JwtResponse' 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' 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 NotificationPreference: type: integer description: "Describes types of notifications the user would prefer.\n \n\n0 = None\n1 = Promotional" x-enumNames: - None - Promotional enum: - 0 - 1 IJsonResponseOfNskSessionContext: type: object description: "Defines the JSON response contract.\n " additionalProperties: false properties: data: description: "The payload data.\n " $ref: '#/components/schemas/NskSessionContext' 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' PersonCreateRequest: type: object description: "Defines the person create request.\n " additionalProperties: false required: - name properties: customerNumber: type: - string - 'null' description: "The unique person customer number.\n " maxLength: 20 minLength: 0 type: description: "The type of person.\n " $ref: '#/components/schemas/PersonType' status: description: "The status of the person.\n " $ref: '#/components/schemas/PersonStatus' details: description: "The person's basic information.\n " $ref: '#/components/schemas/PersonBasicInformation' notificationPreference: description: "The person's notification preference.\n " $ref: '#/components/schemas/NotificationPreference' name: description: "The persons true name.\n " $ref: '#/components/schemas/Name' emailAddresses: type: - array - 'null' description: "The collection of registered email address.\n " items: $ref: '#/components/schemas/EmailCreateRequest' phoneNumbers: type: - array - 'null' description: "The collection of registered phone numbers.\n " items: $ref: '#/components/schemas/PersonPhoneNumberRequest' addresses: type: - array - 'null' description: "The collection of known addresses.\n " items: $ref: '#/components/schemas/PersonAddressCreateRequest' storedPayments: type: - array - 'null' description: "The collection of registered stored payments.\n " items: $ref: '#/components/schemas/PersonStoredPaymentRequest' travelDocuments: type: - array - 'null' description: "The collection of registered travel documents.\n " items: $ref: '#/components/schemas/PersonTravelDocumentRequest' programs: type: - array - 'null' description: "The collection of enrolled customer programs.\n " items: $ref: '#/components/schemas/PersonCustomerProgramCreateRequest' comments: type: - array - 'null' description: "The collection of comments.\n " items: $ref: '#/components/schemas/PersonCommentRequest' preferences: type: - array - 'null' description: "The collection of preferences.\n " items: $ref: '#/components/schemas/PersonPreferenceCreateRequest' aliases: type: - array - 'null' description: "The collection of alternate names for the person.\n " items: $ref: '#/components/schemas/PersonAliasRequest' affiliates: type: - array - 'null' description: "The collection of affiliates for the person.\n " items: $ref: '#/components/schemas/PersonAffiliation' UserCodes: type: object description: "Defines all the different user codes.\n " additionalProperties: false required: - departmentCode - locationCode - organizationCode - domainCode properties: departmentCode: type: string description: "The user's department code.\n " maxLength: 4 minLength: 1 locationCode: type: string description: "The user's location code.\n " maxLength: 5 minLength: 1 locationGroupCode: type: - string - 'null' description: "The user's location group code.\n " organizationCode: type: string description: "The user's organization code.\n " maxLength: 10 minLength: 0 organizationGroupCode: type: - string - 'null' description: "The user's organization group code.\n " domainCode: type: string description: "The user's domain code.\n " maxLength: 3 minLength: 0 ChannelType: type: integer description: "Defines the available channel types doing invoking the communication with the server.\n \n\n0 = Default\n1 = Direct\n2 = Web\n3 = Gds\n4 = Api\n5 = DigitalApi\n6 = DigitalWeb\n7 = Ndc" x-enumNames: - Default - Direct - Web - Gds - Api - DigitalApi - DigitalWeb - Ndc enum: - 0 - 1 - 2 - 3 - 4 - 5 - 6 - 7 SystemName: type: integer description: "Defines the system names.\n \n\n0 = Default\n1 = WinRez\n2 = FareManager\n3 = ScheduleManager\n4 = WinManager\n5 = ConsoleRez\n6 = WebRez\n7 = WebServicesApi\n8 = WebServicesEsc\n9 = InternalService\n10 = WebReporting\n11 = TaxAndFeeManager\n12 = Dcs\n13 = DcsKiosk\n14 = FareManagerPlus\n15 = DotRez\n16 = Loyalty\n17 = Ndc\n18 = Unknown\n19 = CallCenter\n20 = Ibe\n21 = Mobile\n22 = Ivr\n23 = ChatBot\n24 = Kiosk\n25 = AgencyIbe\n26 = SkyLedger\n27 = SkyPrice\n28 = TcDotRez\n29 = TcInternalService\n30 = TcManagementApp\n31 = TcStorefront\n32 = TcSupplierPortal\n33 = GssManagementConsole\n34 = NdcInterline\n35 = DataIntegration\n36 = DataIntegrationApi\n100 = UserDefined" x-enumNames: - Default - WinRez - FareManager - ScheduleManager - WinManager - ConsoleRez - WebRez - WebServicesApi - WebServicesEsc - InternalService - WebReporting - TaxAndFeeManager - Dcs - DcsKiosk - FareManagerPlus - DotRez - Loyalty - Ndc - Unknown - CallCenter - Ibe - Mobile - Ivr - ChatBot - Kiosk - AgencyIbe - SkyLedger - SkyPrice - TcDotRez - TcInternalService - TcManagementApp - TcStorefront - TcSupplierPortal - GssManagementConsole - NdcInterline - DataIntegration - DataIntegrationApi - UserDefined enum: - 0 - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 - 15 - 16 - 17 - 18 - 19 - 20 - 21 - 22 - 23 - 24 - 25 - 26 - 27 - 28 - 29 - 30 - 31 - 32 - 33 - 34 - 35 - 36 - 100 CredentialsBase: type: object description: "Represents the base credential model.\n " additionalProperties: false properties: username: type: - string - 'null' description: "The unique username.\n " alternateIdentifier: type: - string - 'null' description: "Alternate identifier that can be used in place of the username.\n " password: type: - string - 'null' description: "The unique password.\n " domain: type: - string - 'null' description: "The domain the user exists in.\n " location: type: - string - 'null' description: "The location the user exists in.\n " loginRole: type: - string - 'null' description: "The role to log in as.\n " MultiFactorRequest: type: object description: "Multifactor Request\n " additionalProperties: false properties: challengeCode: type: - string - 'null' description: "The challenge code if multifactor authentication is required.\n " maxLength: 20 minLength: 0 challengeId: type: - string - 'null' description: "The identifier for a multifactor request.\n " maxLength: 20 minLength: 0 requestIdentityToken: type: boolean description: "Set to true to request an Identity token. This token type is exclusively to skip MFA after logging in with MFA\ninitially. In order to make other API calls, this token must be passed in and upgraded to a normal \"short-lived\"\ntoken. If RequestIdentityToken is set to false, a normal \"short-lived\" token will be returned.\n " 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' TokenRequest: type: object description: "Defines the request to gain access to the API.\n " additionalProperties: false properties: applicationName: type: - string - 'null' description: "The optional name of the calling application.\n " PersonAddressCreateRequest: type: object description: "Defines a person address request.\n " additionalProperties: false required: - addressTypeCode properties: default: type: boolean description: "Flag indicating if the address is the persons default.\n " 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 addressTypeCode: type: string description: "The type of address.\nPlease note that this should be a char and not a string.\n " maxLength: 1 minLength: 1 PersonAliasType: type: integer description: "Defines the type of alternate name.\n \n\n0 = Alias\n1 = Variant" x-enumNames: - Alias - Variant enum: - 0 - 1 IJsonResponseOfDcsToken: type: object additionalProperties: false properties: data: $ref: '#/components/schemas/DcsToken' errors: type: - array - 'null' items: $ref: '#/components/schemas/ErrorResponse_2' messages: type: - array - 'null' items: $ref: '#/components/schemas/Message_2' SessionPermissionType_2: type: integer description: 'Defines the sessions permission type. 0 = Unknown 1 = Customer 2 = Anonymous 3 = Agent' x-enumNames: - Unknown - Customer - Anonymous - Agent enum: - 0 - 1 - 2 - 3 MessageStatus_2: type: integer description: '0 = General 1 = Warning 2 = Critical' x-enumNames: - General - Warning - Critical enum: - 0 - 1 - 2 IJsonResponse_2: type: object additionalProperties: false properties: data: {} errors: type: - array - 'null' items: $ref: '#/components/schemas/ErrorResponse_2' messages: type: - array - 'null' items: $ref: '#/components/schemas/Message_2' DcsToken: type: object additionalProperties: false properties: userName: type: - string - 'null' domain: type: - string - 'null' clientCode: type: - string - 'null' locationCode: type: - string - 'null' description: 'The location code used as a default for location-specific settings and behaviors when no location code is specified in an API request.' agentId: type: - string - 'null' defaultCultureCode: type: - string - 'null' defaultCurrencyCode: type: - string - 'null' type: $ref: '#/components/schemas/SessionPermissionType_2' roleCode: type: - string - 'null' authenticationSystemType: type: - string - 'null' ErrorResponse_2: type: object additionalProperties: false properties: exception: $ref: '#/components/schemas/Exception' rawMessage: type: - string - 'null' code: type: - string - 'null' message: type: - string - 'null' type: type: - string - 'null' number: type: - integer - 'null' format: int32 maximum: 99999.0 minimum: 0.0 details: type: - object - 'null' additionalProperties: type: string ActivityId: type: - string - 'null' Message_2: type: object additionalProperties: false properties: code: type: - string - 'null' type: type: - string - 'null' value: type: - string - 'null' status: $ref: '#/components/schemas/MessageStatus_2' details: type: - object - 'null' additionalProperties: type: string securitySchemes: JWT: type: http description: Paste your JWT token from the token endpoint. scheme: bearer bearerFormat: jwt x-refined-from: - tui-group-tui-newskies-digital-api-openapi.yml - tui-group-tui-newskies-gonow-api-openapi.yml x-header: 'This API returns the price and availability for TUI''s packages specifically for OTA''s according to the G7 standard. ' x-summary: "This API returns the price and availability for TUI's packages specifically for OTA's according to the G7 standard.\nThe Travelmessage API returns information on all the available tui.nl packages, along with other relevant details such as price, extras, etc. for this specified package. \nThis API also allows to start a bookingdialogue for these packages.\n"