TUI Group Users API

The users API from TUI Group — 42 operation(s) for users.

Operations 105

POST /api/nsk/v1/users Creates a new user and person (used by agents to create other users). #
GET /api/nsk/v2/users Search user records. #
POST /api/nsk/v2/users Creates a new user for a person (used by agents to create other users). #
GET /api/nsk/v1/users/{userKey} Retrieves the a specific user. #
PUT /api/nsk/v1/users/{userKey} Updates the specific user. #
PATCH /api/nsk/v1/users/{userKey} Patches the current logged in user. #
DELETE /api/nsk/v1/users/{userKey} Delete the user. #
GET /api/nsk/v1/users/{userKey}/bookings Searches the specific user for upcoming and past bookings. #
GET /api/nsk/v1/users/{userKey}/bookingsByPassenger Searches the specific user upcoming and past bookings by passenger. #
POST /api/nsk/v1/users/{userKey}/password/change Changes a specifics user's password. #
POST /api/nsk/v1/users/{userKey}/password/reset Invokes the forgot password reset for a specific user. #
GET /api/nsk/v1/users/{userKey}/person Retrieves the specific user's person. #
PUT /api/nsk/v1/users/{userKey}/person Updates the specific user's person record basic information. #
PATCH /api/nsk/v1/users/{userKey}/person Patches the specific user's person records basic information. #
GET /api/nsk/v1/users/{userKey}/person/addresses Gets all addresses from the specific user's person. #
POST /api/nsk/v1/users/{userKey}/person/addresses Creates a new address on the specific user's person. #
GET /api/nsk/v1/users/{userKey}/person/addresses/{personAddressKey} Gets a specific address from the specific user's person. #
PUT /api/nsk/v1/users/{userKey}/person/addresses/{personAddressKey} Updates a specific address on the specific user's person. #
PATCH /api/nsk/v1/users/{userKey}/person/addresses/{personAddressKey} Patches a specific address on the specific user's person. #
DELETE /api/nsk/v1/users/{userKey}/person/addresses/{personAddressKey} Deletes a specific address on the specific user's person. #
GET /api/nsk/v1/users/{userKey}/person/affiliations Gets all affiliations from the specific user's person. #
POST /api/nsk/v1/users/{userKey}/person/affiliations Creates a new affiliation for the specific user's person. #
GET /api/nsk/v1/users/{userKey}/person/affiliations/{personAffiliationKey} Gets a specific affiliation from the specific user's person. #
PUT /api/nsk/v1/users/{userKey}/person/affiliations/{personAffiliationKey} Updates a specific affiliation for the specific user's person. #
DELETE /api/nsk/v1/users/{userKey}/person/affiliations/{personAffiliationKey} Deletes a specific affiliation for the specific user's person. #
GET /api/nsk/v1/users/{userKey}/person/aliases Gets all aliases from the specific user's person. #
POST /api/nsk/v1/users/{userKey}/person/aliases Creates a new alias on the specific user's person. #
GET /api/nsk/v1/users/{userKey}/person/aliases/{personAliasKey} Gets a specific alias from the specific user's person. #
PUT /api/nsk/v1/users/{userKey}/person/aliases/{personAliasKey} Updates a specific alias on the specific user's person. #
PATCH /api/nsk/v1/users/{userKey}/person/aliases/{personAliasKey} Patches a specific alias on the specific user's person. #
DELETE /api/nsk/v1/users/{userKey}/person/aliases/{personAliasKey} Deletes a specific alias on the specific user's person. #
GET /api/nsk/v1/users/{userKey}/person/comments Gets all comments from the specific user's person. #
POST /api/nsk/v1/users/{userKey}/person/comments Creates a new comment on the specific user's person. #
GET /api/nsk/v1/users/{userKey}/person/comments/{personCommentKey} Gets a specific comment from the specific user's person. #
PUT /api/nsk/v1/users/{userKey}/person/comments/{personCommentKey} Updates a specific comment on the specific user's person. #
PATCH /api/nsk/v1/users/{userKey}/person/comments/{personCommentKey} Patches a specific comment on the specific user's person. #
DELETE /api/nsk/v1/users/{userKey}/person/comments/{personCommentKey} Deletes a specific comment on the specific user's person. #
GET /api/nsk/v1/users/{userKey}/person/emails Gets all email addresses from the specific user's person. #
POST /api/nsk/v1/users/{userKey}/person/emails Creates a new email address on the specific user's person. #
GET /api/nsk/v1/users/{userKey}/person/emails/{personEmailAddressKey} Gets a specific email address from the specific user's person. #
PUT /api/nsk/v1/users/{userKey}/person/emails/{personEmailAddressKey} Updates a specific email address on the specific user's person. #
PATCH /api/nsk/v1/users/{userKey}/person/emails/{personEmailAddressKey} Patches a specific email address on the specific user's person. #
DELETE /api/nsk/v1/users/{userKey}/person/emails/{personEmailAddressKey} Deletes a specific email address on the specific user's person. #
GET /api/nsk/v1/users/{userKey}/person/information Gets all information for a specific user's person. #
POST /api/nsk/v1/users/{userKey}/person/information Creates new information for a specific user's person. #
GET /api/nsk/v1/users/{userKey}/person/information/{personInformationKey} Gets specific information for a specific user's person. #
PUT /api/nsk/v1/users/{userKey}/person/information/{personInformationKey} Updates specific information for a specific user's person. #
PATCH /api/nsk/v1/users/{userKey}/person/information/{personInformationKey} Patches specific information for a specific user's person. #
DELETE /api/nsk/v1/users/{userKey}/person/information/{personInformationKey} Deletes specific information for a specific user's person. #
GET /api/nsk/v1/users/{userKey}/person/phoneNumbers Gets all phone numbers from the specific user's person. #
POST /api/nsk/v1/users/{userKey}/person/phoneNumbers Creates a new phone number on the specific user's person. #
GET /api/nsk/v1/users/{userKey}/person/phoneNumbers/{personPhoneNumberKey} Gets a specific phone number from the specific user's person. #
PUT /api/nsk/v1/users/{userKey}/person/phoneNumbers/{personPhoneNumberKey} Updates a specific phone number on the specific user's person. #
PATCH /api/nsk/v1/users/{userKey}/person/phoneNumbers/{personPhoneNumberKey} Patches a specific phone number on the specific user's person. #
DELETE /api/nsk/v1/users/{userKey}/person/phoneNumbers/{personPhoneNumberKey} Deletes a specific phone number on the specific user's person. #
GET /api/nsk/v1/users/{userKey}/person/preferences Gets all preferences for a specific user's person. #
POST /api/nsk/v1/users/{userKey}/person/preferences Creates a new preference for a specific user's person. #
GET /api/nsk/v1/users/{userKey}/person/preferences/{personPreferenceKey} Gets a specific preference for a specific user's person. #
PUT /api/nsk/v1/users/{userKey}/person/preferences/{personPreferenceKey} Updates a specific preference for a specific user's person. #
PATCH /api/nsk/v1/users/{userKey}/person/preferences/{personPreferenceKey} Patches a specific preference for a specific user's person. #
DELETE /api/nsk/v1/users/{userKey}/person/preferences/{personPreferenceKey} Deletes a specific preference for a specific user's person. #
GET /api/nsk/v1/users/{userKey}/person/programs Gets all programs from the specific user's person. #
POST /api/nsk/v1/users/{userKey}/person/programs Creates a new program on the specific user's person. #
GET /api/nsk/v1/users/{userKey}/person/programs/{personProgramKey} Gets a specific program from the specific user's person. #
PUT /api/nsk/v1/users/{userKey}/person/programs/{personProgramKey} Updates a specific program on the specific user's person. #
PATCH /api/nsk/v1/users/{userKey}/person/programs/{personProgramKey} Patches a specific program on the specific user's person. #
DELETE /api/nsk/v1/users/{userKey}/person/programs/{personProgramKey} Deletes a specific program on the specific user's person. #
GET /api/nsk/v1/users/{userKey}/person/storedPayments Gets all stored payments from the specific user's person. #
POST /api/nsk/v1/users/{userKey}/person/storedPayments Creates a new stored payment on the specific user's person. #
GET /api/nsk/v1/users/{userKey}/person/storedPayments/{personStoredPaymentKey} Gets a specific stored payment from the specific user's person. #
PUT /api/nsk/v1/users/{userKey}/person/storedPayments/{personStoredPaymentKey} Updates a specific stored payment on the specific user's person. #
PATCH /api/nsk/v1/users/{userKey}/person/storedPayments/{personStoredPaymentKey} Patches a specific stored payment on the specific user's person. #
DELETE /api/nsk/v1/users/{userKey}/person/storedPayments/{personStoredPaymentKey} Deletes a specific stored payment on the specific user's person. #
GET /api/nsk/v1/users/{userKey}/person/travelDocuments Gets all travel documents from the specific user's person. #
POST /api/nsk/v1/users/{userKey}/person/travelDocuments Creates a new travel document on the specific user's person. Note: Gender and Date of Birth on the Travel Document will overwrite the values on the related person object. This is b #
GET /api/nsk/v1/users/{userKey}/person/travelDocuments/{personTravelDocumentKey} Gets a specific travel document from the specific user's person. #
DELETE /api/nsk/v1/users/{userKey}/person/travelDocuments/{personTravelDocumentKey} Deletes a specific travel document on the specific user's person. #
PUT /api/nsk/v2/users/{userKey}/person/travelDocuments/{personTravelDocumentKey} Updates a specific travel document on the specific user's person. Note: Gender and Date of Birth on the Travel Document will overwrite the values on the related person object. This #
PATCH /api/nsk/v2/users/{userKey}/person/travelDocuments/{personTravelDocumentKey} Patches a specific travel document on the specific user's person. Note: Gender and Date of Birth on the Travel Document will overwrite the values on the related person object. This #
GET /api/nsk/v1/users/{userKey}/person/travelNotifications Gets person travel notifications for a user's person. #
POST /api/nsk/v1/users/{userKey}/person/travelNotifications Creates a person travel notification for a user's person. #
GET /api/nsk/v1/users/{userKey}/person/travelNotifications/{travelNotificationKey} Gets a person travel notification for a user's person. #
PUT /api/nsk/v1/users/{userKey}/person/travelNotifications/{travelNotificationKey} Updates a person travel notification for a user's person. #
PATCH /api/nsk/v1/users/{userKey}/person/travelNotifications/{travelNotificationKey} Patches a person travel notification for a user's person. #
DELETE /api/nsk/v1/users/{userKey}/person/travelNotifications/{travelNotificationKey} Deletes a person travel notification for a user's person. #
GET /api/nsk/v1/users/{userKey}/person/travelNotifications/{travelNotificationKey}/events Gets notification events for a person travel notification for a user's person. #
POST /api/nsk/v1/users/{userKey}/person/travelNotifications/{travelNotificationKey}/events Creates a notification event for a person travel notification for a user's person. #
GET /api/nsk/v1/users/{userKey}/person/travelNotifications/{travelNotificationKey}/events/{eventType} Gets a notification event for a person travel notification for a user's person. #
DELETE /api/nsk/v1/users/{userKey}/person/travelNotifications/{travelNotificationKey}/events/{eventType} Deletes a notification event from a person travel notification for a user's person. #
GET /api/nsk/v1/users/{userKey}/person/travelNotifications/{travelNotificationKey}/timedEvents Gets notification timed events for a person travel notification for a user's person. #
POST /api/nsk/v1/users/{userKey}/person/travelNotifications/{travelNotificationKey}/timedEvents Creates a notification timed event for a person travel notification for a user's person. #
GET /api/nsk/v1/users/{userKey}/person/travelNotifications/{travelNotificationKey}/timedEvents/{timedEventType} Gets a notification timed event for a person travel notification for a user's person. #
PUT /api/nsk/v1/users/{userKey}/person/travelNotifications/{travelNotificationKey}/timedEvents/{timedEventType} Updates a notification timed event for a person travel notification for a user's person. #
DELETE /api/nsk/v1/users/{userKey}/person/travelNotifications/{travelNotificationKey}/timedEvents/{timedEventType} Deletes a notification timed event from a person travel notification for a user's person. #
GET /api/nsk/v1/users/{userKey}/preferences/skySpeedSettings Retrieves the default SkySpeed settings user preferences of the specified user. #
PUT /api/nsk/v1/users/{userKey}/preferences/skySpeedSettings Updates the default SkySpeed settings user preferences of the specified user. #
GET /api/nsk/v2/users/{userKey}/preferences/skySpeedSettings Retrieves the default SkySpeed settings user preferences of the specified user. #
PUT /api/nsk/v2/users/{userKey}/preferences/skySpeedSettings Updates the default SkySpeed settings user preferences of the specified user. #
GET /api/nsk/v1/users/{userKey}/roles Gets all roles for a specific user. #
POST /api/nsk/v1/users/{userKey}/roles Creates a new role for a specific user. #
GET /api/nsk/v1/users/{userKey}/roles/{userRoleKey} Gets a specific role for a specific user. #
PUT /api/nsk/v1/users/{userKey}/roles/{userRoleKey} Updates a specific role for a specific user. #
PATCH /api/nsk/v1/users/{userKey}/roles/{userRoleKey} Patches a specific role for a specific user. #
DELETE /api/nsk/v1/users/{userKey}/roles/{userRoleKey} Deletes a specific role for a specific user. #
GET /api/nsk/v1/users/byPerson/{personKey} Retrieves the a specific user by the person key. #

Documentation

📖
Documentation
https://developer.tui/api-catalog/newskies-digital-api/api-description
📖
Documentation
https://developer.tui/api-catalog/newskies-digital-api/get-started
📖
Documentation
https://developer.tui/api-catalog/newskies-digital-api/simple-workflow
📖
Documentation
https://developer.tui/api-catalog/newskies-digital-api/advanced-workflow
📖
Documentation
https://developer.tui/api-catalog/newskies-digital-api/creditcard-payments
📖
Documentation
https://developer.tui/api-catalog/newskies-digital-api/backwards-compatibility
📖
Documentation
https://developer.tui/api-catalog/newskies-gonow-api/api-description
📖
Documentation
https://developer.tui/api-catalog/newskies-gonow-api/get-started
📖
Documentation
https://developer.tui/api-catalog/newskies-gonow-api/check-workflow
📖
Documentation
https://developer.tui/api-catalog/newskies-gonow-api/backwards-compatibility
📖
Documentation
https://developer.tui/api-catalog/newskies-payment-api/api-description
📖
Documentation
https://developer.tui/api-catalog/newskies-payment-api/booking-flow
📖
Documentation
https://developer.tui/api-catalog/nskcc-availability-search-api/description
📖
Documentation
https://developer.tui/api-catalog/nskcc-availability-search-api/api-details
📖
Documentation
https://developer.tui/api-catalog/nskcc-availability-search-api/technical-integration
📖
Documentation
https://developer.tui/api-catalog/nskcc-availability-search-api/code-examples
📖
Documentation
https://developer.tui/api-catalog/nskcc-availability-search-api/api-onepager
📖
Documentation
https://developer.tui/api-catalog/tui-newskies-pricefile-api/description
📖
Documentation
https://developer.tui/api-catalog/tui-newskies-pricefile-api/technical-integration
📖
Documentation
https://developer.tui/api-catalog/tui-newskies-pricefile-api/data-format
📖
Documentation
https://developer.tui/api-catalog/checkinhandler-service-api/api-description
📖
Documentation
https://developer.tui/api-catalog/checkinhandler-service-api/api-details
📖
Documentation
https://developer.tui/api-catalog/checkinhandler-service-api/technical-integration
📖
Documentation
https://developer.tui/api-catalog/tui-flight-ota-api/api-description
📖
Documentation
https://developer.tui/api-catalog/ota-content-api/api-description
📖
Documentation
https://developer.tui/api-catalog/ota-content-api/technical-details
📖
Documentation
https://developer.tui/api-catalog/ota-content-api/release-notes
📖
Documentation
https://developer.tui/api-catalog/walldy-api/api-description
📖
Documentation
https://developer.tui/api-catalog/walldy-api/api-details
📖
Documentation
https://developer.tui/api-catalog/walldy-api/technical-integration
📖
Documentation
https://developer.tui/api-catalog/walldy-api/api-onepager
📖
Documentation
https://developer.tui/api-catalog/walldy-api/release-notes
📖
Documentation
https://developer.tui/api-catalog/holidayofferscontroller-api/api-description
📖
Documentation
https://developer.tui/api-catalog/holidayofferscontroller-api/technical-integration
📖
Documentation
https://developer.tui/api-catalog/holidayofferscontroller-api/release-notes
📖
Documentation
https://developer.tui/api-catalog/meta-search-generic-api/api-description
📖
Documentation
https://developer.tui/api-catalog/partner-content-api/api-description
📖
Documentation
https://developer.tui/api-catalog/ship-content-api/api-description

Specifications

Other Resources

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/tui-group-users-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

tui-group-users-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: NewSkies-Digital-Api Users 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: users
paths:
  /api/nsk/v1/users:
    post:
      tags:
      - users
      summary: Creates a new user and person (used by agents to create other users).
      description: 'This method is used by agents to create other users (either agents or customers).

        Use this method when you want to create both a user and a person at the same time.


        GraphQL endpoint: usersAdd'
      operationId: nsk_v1_users_post
      requestBody:
        x-name: request
        description: The new user request.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UserCreateRequest'
        required: true
        x-position: 1
      responses:
        '201':
          description: The item was created successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IJsonResponse'
        '400':
          description: There was a problem with the request and it could not be completed.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IJsonResponse'
              examples:
                With Duplicate Agent Name:
                  description: The agent name already exists.
                  value:
                    errors:
                    - id: 5d7a5d1c-d481-9723-260d-59f53b861112
                      code: nsk:User:UserNameAlreadyExists
                      message: Agent name 'firstAgent' already exists.
                      type: Information
                      details: null
                      rawMessage: Agent name 'firstAgent' already exists.
                      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.
                With Non-Existent Organization:
                  description: The organization is not found on the server.
                  value:
                    errors:
                    - id: 17df744c-6115-9771-9151-5e9faa488e44
                      code: nsk-server:OrganizationNotFound
                      message: The requested organization was not found. Organization ID = '0999'
                      type: Information
                      details: null
                      rawMessage: The requested organization was not found. Organization ID = '0999'
                      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.
  /api/nsk/v2/users:
    get:
      tags:
      - users
      summary: Search user records.
      description: 'GraphQL endpoint: usersv2'
      operationId: nsk_v2_users_get
      parameters:
      - name: OrganizationCode
        in: query
        description: "The organization code to search by.\n            "
        schema:
          type:
          - string
          - 'null'
        x-position: 1
      - name: LocationGroupCode
        in: query
        description: "The location group code to search by.\n            "
        schema:
          type:
          - string
          - 'null'
        x-position: 2
      - name: DomainCode
        in: query
        description: "The domain code to search in.\n            "
        schema:
          type:
          - string
          - 'null'
        x-position: 3
      - name: Username
        in: query
        description: "The unique username to search by.\n            "
        schema:
          type:
          - string
          - 'null'
        x-position: 4
      - name: UsernameMatching
        in: query
        description: "The matching criteria for the username.\n             \nEnumeration values: 0 = StartsWith, 1 = EndsWith, 2 = Contains, 3 = ExactMatch"
        schema:
          $ref: '#/components/schemas/MatchCriteria'
        x-position: 5
      - name: FirstName
        in: query
        description: "The agent's first name to search by.\n            "
        schema:
          type:
          - string
          - 'null'
        x-position: 6
      - name: FirstNameMatching
        in: query
        description: "The matching criteria for the agent's first name.\n             \nEnumeration values: 0 = StartsWith, 1 = EndsWith, 2 = Contains, 3 = ExactMatch"
        schema:
          $ref: '#/components/schemas/MatchCriteria'
        x-position: 7
      - name: LastName
        in: query
        description: "The agent's last name to search by.\n            "
        schema:
          type:
          - string
          - 'null'
        x-position: 8
      - name: RoleCode
        in: query
        description: "The role code to search with.\n            "
        schema:
          type:
          - string
          - 'null'
        x-position: 9
      - name: Status
        in: query
        description: "The agent status to search by.\n             \nEnumeration values: 0 = Default, 1 = Active, 2 = Pending, 3 = Suspended, 4 = Terminated"
        schema:
          $ref: '#/components/schemas/UserStatus'
        x-position: 10
      - name: ReturnCount
        in: query
        description: "The number of results to return.\n            "
        schema:
          type:
          - integer
          - 'null'
        x-position: 11
      - name: LastIndex
        in: query
        description: "The last user index (used for paging).\n            "
        schema:
          type:
          - integer
          - 'null'
          format: int64
          maximum: 9.223372036854776e+18
          minimum: 0.0
        x-position: 12
      responses:
        '404':
          description: The item was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IJsonResponse'
        '200':
          description: OK. Request completed successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IJsonResponseOfIListOfUserRecord'
    post:
      tags:
      - users
      summary: Creates a new user for a person (used by agents to create other users).
      description: 'This method is used by agents to create other users (either agents or customers) and connect them with an existing

        person.

        Use this method when a person already exists and you want to create a user for them.


        GraphQL endpoint: usersAddV2'
      operationId: nsk_v2_users_post
      requestBody:
        x-name: request
        description: The request for the user to be created.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UserCreateRequestv2'
        required: true
        x-position: 1
      responses:
        '201':
          description: The item was created successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IJsonResponse'
        '400':
          description: There was a problem with the request and it could not be completed.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IJsonResponse'
              examples:
                With Duplicate Agent Name:
                  description: The agent name already exists.
                  value:
                    errors:
                    - id: 5d7a5d1c-d481-9723-260d-59f53b861112
                      code: nsk:User:UserNameAlreadyExists
                      message: Agent name 'firstAgent' already exists.
                      type: Information
                      details: null
                      rawMessage: Agent name 'firstAgent' already exists.
                      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.
                With Non-Existent Organization:
                  description: The organization is not found on the server.
                  value:
                    errors:
                    - id: 17df744c-6115-9771-9151-5e9faa488e44
                      code: nsk-server:OrganizationNotFound
                      message: The requested organization was not found. Organization ID = '0999'
                      type: Information
                      details: null
                      rawMessage: The requested organization was not found. Organization ID = '0999'
                      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.
  /api/nsk/v1/users/{userKey}:
    get:
      tags:
      - users
      summary: Retrieves the a specific user.
      description: 'GraphQL endpoint: users'
      operationId: nsk_v1_users_userKey_get
      parameters:
      - name: userKey
        in: path
        required: true
        description: The user key of the user to retrieve.
        schema:
          type: string
        x-position: 1
      responses:
        '404':
          description: The item was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IJsonResponse'
        '200':
          description: OK. Request completed successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IJsonResponseOfUser'
    put:
      tags:
      - users
      summary: Updates the specific user.
      description: 'GraphQL endpoint: usersSet'
      operationId: nsk_v1_users_userKey_put
      parameters:
      - name: userKey
        in: path
        required: true
        description: The unique user key.
        schema:
          type: string
        x-position: 1
      requestBody:
        x-name: request
        description: The user edit request.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UserRequest'
        required: true
        x-position: 2
      responses:
        '200':
          description: OK. Request completed successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IJsonResponse'
        '400':
          description: There was a problem with the request and it could not be completed.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IJsonResponse'
              examples:
                With Duplicate Agent Name:
                  description: The agent name already exists.
                  value:
                    errors:
                    - id: 5d7a5d1c-d481-9723-260d-59f53b861112
                      code: nsk:User:UserNameAlreadyExists
                      message: Agent name 'firstAgent' already exists.
                      type: Information
                      details: null
                      rawMessage: Agent name 'firstAgent' already exists.
                      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.
                With Non-Existent Organization:
                  description: The organization is not found on the server.
                  value:
                    errors:
                    - id: 17df744c-6115-9771-9151-5e9faa488e44
                      code: nsk-server:OrganizationNotFound
                      message: The requested organization was not found. Organization ID = '0999'
                      type: Information
                      details: null
                      rawMessage: The requested organization was not found. Organization ID = '0999'
                      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.
        '500':
          description: A server error occurred.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IJsonResponse'
    patch:
      tags:
      - users
      summary: Patches the current logged in user.
      description: 'GraphQL endpoint: usersModifyv2'
      operationId: nsk_v1_users_userKey_patch
      parameters:
      - name: userKey
        in: path
        required: true
        description: The unique user key.
        schema:
          type: string
        x-position: 1
      requestBody:
        x-name: request
        description: The user patch request.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DeltaMapperOfUserRequest'
        required: true
        x-position: 2
      responses:
        '200':
          description: OK. Request completed successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IJsonResponse'
        '400':
          description: There was a problem with the request and it could not be completed.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IJsonResponse'
              examples:
                With Duplicate Agent Name:
                  description: The agent name already exists.
                  value:
                    errors:
                    - id: 5d7a5d1c-d481-9723-260d-59f53b861112
                      code: nsk:User:UserNameAlreadyExists
                      message: Agent name 'firstAgent' already exists.
                      type: Information
                      details: null
                      rawMessage: Agent name 'firstAgent' already exists.
                      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.
                With Non-Existent Organization:
                  description: The organization is not found on the server.
                  value:
                    errors:
                    - id: 17df744c-6115-9771-9151-5e9faa488e44
                      code: nsk-server:OrganizationNotFound
                      message: The requested organization was not found. Organization ID = '0999'
                      type: Information
                      details: null
                      rawMessage: The requested organization was not found. Organization ID = '0999'
                      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.
        '500':
          description: A server error occurred.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IJsonResponse'
    delete:
      tags:
      - users
      summary: Delete the user.
      description: 'This is a soft delete by setting the user record status to terminated.


        GraphQL endpoint: usersDelete'
      operationId: nsk_v1_users_userKey_delete
      parameters:
      - name: userKey
        in: path
        required: true
        description: User key.
        schema:
          type: string
        x-position: 1
      responses:
        '200':
          description: OK. Request completed successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IJsonResponse'
  /api/nsk/v1/users/{userKey}/bookings:
    get:
      tags:
      - users
      summary: Searches the specific user for upcoming and past bookings.
      description: 'GraphQL endpoint: usersBookingsv2'
      operationId: nsk_v1_users_userKey_bookings_get
      parameters:
      - name: userKey
        in: path
        required: true
        description: The unique user key.
        schema:
          type: string
        x-position: 1
      - name: AssociatedFirstName
        in: query
        description: "An associated passenger/contact first name.\n            "
        schema:
          type:
          - string
          - 'null'
        x-position: 2
      - name: AssociatedLastName
        in: query
        description: "An associated passenger/contact last name.\n            "
        schema:
          type:
          - string
          - 'null'
        x-position: 3
      - name: PhoneticSearch
        in: query
        description: "Flag indicating to search using the phonetic option.\n            "
        schema:
          type:
          - boolean
          - 'null'
        x-position: 4
      - name: TripIdentifier
        in: query
        description: "Filter by trip identifier.\n            "
        schema:
          type:
          - string
          - 'null'
        x-position: 5
      - name: Origin
        in: query
        description: "Filter by origin station code.\n            "
        schema:
          type:
          - string
          - 'null'
          maxLength: 3
          minLength: 0
        x-position: 6
      - name: Destination
        in: query
        description: "Filter by destination station code.\n            "
        schema:
          type:
          - string
          - 'null'
          maxLength: 3
          minLength: 0
        x-position: 7
      - name: SearchArchive
        in: query
        description: "Flag indicating to search archived bookings.\n            "
        schema:
          type:
          - boolean
          - 'null'
        x-position: 8
      - name: TripDate
        in: query
        description: "Filter by trip date.\n            "
        schema:
          type:
          - string
          - 'null'
          format: date-time
        x-position: 9
      - name: StartDate
        in: query
        description: "Filter by starting search date.\n            "
        schema:
          type:
          - string
          - 'null'
          format: date-time
        x-position: 10
      - name: EndDate
        in: query
        description: "Filter by ending search date.\n            "
        schema:
          type:
          - string
          - 'null'
          format: date-time
        x-position: 11
      - name: SearchByCustomerNumber
        in: query
        description: "Flag indicating to search by the users customer number instead of user identifier.\n            "
        schema:
          type:
          - boolean
          - 'null'
        x-position: 12
      - name: ReturnCount
        in: query
        description: "The number of results to be returned.\n            "
        schema:
          type: integer
          maximum: 5000.0
          minimum: 10.0
        x-position: 13
      - name: LastBookingKey
        in: query
        description: "The last booking key.\n            "
        schema:
          type:
          - string
          - 'null'
        x-position: 14
      - name: StartingIndex
        in: query
        description: "The starting index of the next set of bookings (used for paging).\n            "
        schema:
          type:
          - integer
          - 'null'
          format: int64
        x-position: 15
      responses:
        '404':
          description: The item was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IJsonResponse'
        '200':
          description: OK. Request completed successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IJsonResponseOfIListOfBookingSearchResult'
  /api/nsk/v1/users/{userKey}/bookingsByPassenger:
    get:
      tags:
      - users
      summary: Searches the specific user upcoming and past bookings by passenger.
      description: 'This is similar to the user booking endpoint but returns more focused trip information.

        This endpoint will only return data where a bookings passenger customer number matches the current logged in user.

        Bookings made by the user but where the passenger customer are not assigned are ignored.

        The BeginDate will default to today, and the EndDate defaults to one month from today unless a value is provided.


        GraphQL endpoint: usersBookingsByPassenger'
      operationId: nsk_v1_users_userKey_bookingsByPassenger_get
      parameters:
      - name: userKey
        in: path
        required: true
        description: The user key.
        schema:
          type: string
        x-position: 1
      - name: StartDate
        in: query
        description: "Booking start search date.\n            "
        schema:
          type:
          - string
          - 'null'
          format: date-time
        x-position: 2
      - name: EndDate
        in: query
        description: "Booking end search date.\n            "
        schema:
          type:
          - string
          - 'null'
          format: date-time
        x-position: 3
      responses:
        '200':
          description: OK. Request completed successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IJsonResponseOfIListOfBookingTripResult'
  /api/nsk/v1/users/{userKey}/password/change:
    post:
      tags:
      - users
      summary: Changes a specifics user's password.
      description: 'Requires agent permissions.


        GraphQL endpoint: usersChangePassword'
      operationId: nsk_v1_users_userKey_password_change_post
      parameters:
      - name: userKey
        in: path
        required: true
        description: The unique user key.
        schema:
          type: string
        x-position: 1
      requestBody:
        x-name: request
        description: The change password request.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UserChangePasswordRequestBase'
        required: true
        x-position: 2
      responses:
        '201':
          description: The item was created successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IJsonResponse'
  /api/nsk/v1/users/{userKey}/password/reset:
    post:
      tags:
      - users
      summary: Invokes the forgot password reset for a specific user.
      description: 'Requires agent permissions.


        GraphQL endpoint: usersForgotPassword'
      operationId: nsk_v1_users_userKey_password_reset_post
      parameters:
      - name: userKey
        in: path
        required: true
        description: The unique user key.
        schema:
          type: string
        x-position: 1
      responses:
        '202':
          description: The request was accepted successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IJsonResponse'
  /api/nsk/v1/users/{userKey}/person:
    get:
      tags:
      - users
      summary: Retrieves the specific user's person.
      description: 'GraphQL endpoint: usersPerson'
      operationId: nsk_v1_users_userKey_person_get
      parameters:
      - name: userKey
        in: path
        required: true
        description: The user key of the person record to retrieve.
        schema:
          type: string
        x-position: 1
      responses:
        '404':
          description: The item was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IJsonResponse'
        '200':
          description: OK. Request completed successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IJsonResponseOfPerson'
    put:
      tags:
      - users
      summary: Updates the specific user's person record basic information.
      description: 'GraphQL endpoint: usersPersonSet'
      operationId: nsk_v1_users_userKey_person_put
      parameters:
      - name: userKey
        in: path
        required: true
        description: The unique user key.
        schema:
          type: string
        x-position: 1
      requestBody:
        x-name: request
        description: The person edit request.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PersonEditRequest'
            examples:
              Person Edit Request:
                description: Example request for updating person's basic information.
                value:
                  name:
                    first: John
                    middle: Cee
                    last: Doe
                    title: Mr.
                    suffix: null
                  type: 1
                  status: 0
                  details:
                    gender: 1
                    dateOfBirth: '2006-07-09T05:55:15.829325+00:00'
                    nationality: US
                    residentCountry: US
                    passengerType: ADT
                    preferredCultureCode: en-US
                    preferredCurrencyCode: USD
                    nationalIdNumber: null
                    declaredGender: null
                  notificationPreference: 0
        required: true
        x-position: 2
      responses:
        '200':
          description: OK. Request completed successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IJsonResponse'
        '400':
          description: There was a problem with the request and it could not be completed.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IJsonResponse'
              examples:
                With Invalid User Key:
                  description: The user key is not valid or does not exist.
                  value:
                    errors:
                    - id: null
                      code: nsk:Exceptions:InvalidKey
                      message: The identifier 'userKey' with value 'MTW' is invalid.
                      type: Validation
                      details:
                        userKey: MTW
                      rawMessage: The identifier 'userKey' with value 'MTW' 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.
                With Invalid Preferred Culture Code:
                  description: The provided culture code in the request is an invalid culture identifier.
                  value:
                    errors:
                    - id: null
                      code: nsk:Person:InvalidPreferredCulture
                      message: nsk:Person:InvalidPreferredCulture
                      type: Validation
                      details: null
                      rawMessage: The preferred culture code 'ZZZ' 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.
                With Invalid Preferred Currency Code:
                  description: The provided currency code in the request is not valid or does not exist.
                  value:
                    errors:
                    - id: null
                      code: nsk:Person:InvalidPreferredCurrency
                      message: nsk:Person:InvalidPreferredCurrency
                      type: Validation
                      details: null
                      rawMessage: The preferred currency code 'ZZZ' 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.
                With Invalid First Name:
                  description: The provided first name in the request starts with a numerical or special character.
                  value:
                    errors:
                    - id: null
                      code: nsk:Validation:InvalidFirstNameCharacters
                      message: 'A first name may not begin with any of these characters: :@#$%&_+*-=~^`“"''‘,.:;!?|/\(){}[]<>0123456789.'
                      type: Validation
                      details: null
                      rawMessage: 'A first name may not begin with any of these characters: :@#$%&_+*-=~^`“"''‘,.:;!?|/\(){}[]<>0123456789.'
                      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.
                With Invalid Middle Name:
                  description: The provided middle name in the request starts with a special character.
                  value:
                    errors:
                    - id: null
                      code: nsk:Validation:InvalidMiddleNameCharacters
                      message: 'A middle name may not begin with any of these characters: :@#$%&_+*-=~^`“"''‘,.:;!?|/\(){}[]<>.'
                      type: Validation
                      details: null
                      rawMessage: 'A middle name may not begin with any of these characters: :@#$%&_+*-=~^`“"''‘,.:;!?|/\(){}[]<>.'
                      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.
                With Invalid Last Name:
                  description: The provided last name in the request starts with a numerical or special character.
                  value:
                    errors:
                    - id: null
                      code: nsk:Validation:InvalidLastNameCharacters
                      message: 'A last name may not begin with any of these characters: :@#$%&_+*-=~^`“"''‘,.:;!?|/\(){}[]<>0123456789.'
                      type: Validation
                      details: null
                      rawMessage: 'A last name may not begin with any of these characters: :@#$%&_+*-=~^`“"''‘,.:;!?|/\(){}[]<>0123456789.'
                      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.
                Update Status Not Allowed:
                  description: The logged-in user is not allowed to update the person's status.
                  value:
                    errors:
                    - id: null
                      code: nsk:Person:StatusUpdateNotAllowed
                      message: nsk:Person:StatusUpdateNotAllowed
                      type: Validation
                      details: null
                      rawMessage: The logged-in user is not allowed to update their status.
                      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.
                Update Type Not Allowed:
                  description: The logged-in user is not allowed to update the person's type.
                  value:
                    errors:
         

# --- truncated at 32 KB (352 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/tui-group/refs/heads/main/openapi/tui-group-users-api-openapi.yml