---
title: "Update user personal info"
method: PUT
path: "/v2/users/{userId}/personal-info"
tags: ["Users"]
---

# Update user personal info

`PUT /v2/users/{userId}/personal-info`

This endpoint updates user personal info by user ID.

## Request body

- UserPersonalInfo — User details.
  - `addresses` PostalAddress[]
    - `addressLines` string[], required — Address lines
    - `administrativeArea` string — Code of administrative area. For example: DL for Delhi, India. Highest administrative subdivision which is used for postal addresses of a country or region. For example, this can be a state, a province, an oblast, or a prefecture. Specifically, for Spain this is the province and not the autonomous community (e.g. "Barcelona" and not "Catalonia"). Many countries don't use an administrative area in postal addresses. E.g. in Switzerland this should be left unpopulated.
    - `administrativeAreaName` string — Name of administrative area. This is full name corresponding to administrativeArea. Like Delhi for DL area code. For some places, code and name maybe same as well like Tokyo.
    - `description` string — Address description
    - `isDefault` boolean — Whether this address is default address in case multiple addresses are specified.
    - `languageCode` string — BCP-47 language code of the contents of this address (if known). This is often the UI language of the input form or is expected to match one of the languages used in the address' country/region, or their transliterated equivalents. This can affect formatting in certain countries, but is not critical to the correctness of the data and will never affect any validation or other non-formatting related operations. Examples: "zh-Hant", "ja", "ja-Latn", "en".
    - `locality` string — Generally refers to the city/town portion of the address.
    - `locationCode` string — IATA 3-letter location code. See https://www.iata.org/en/services/codes.
    - `organization` string — The name of the organization at the address.
    - `postalCode` string — Postal code of the address. This is a required field when setting for a user/legal entity/company etc.
    - `continentCode` string — 2 letter continent code of the continent this address falls in.
    - `recipients` string[] — The recipient at the address.
    - `regionCode` string, required — Region code of the country/region of the address.
    - `regionName` string — Region name of the country/region of the address.
    - `revision` integer
    - `sortingCode` string — Additional, country-specific, sorting code. This is not used in most regions. Where it is used, the value is either a string like "CEDEX", optionally followed by a number (e.g. "CEDEX 7"), or just a number alone, representing the "sector code" (Jamaica), "delivery area indicator" (Malawi) or "post office indicator" (e.g. Côte d'Ivoire).
    - `sublocality` string — Sublocality of the address. This can be neighborhoods, boroughs, districts.
    - `timezone` string — Time zone of the address.
    - `coordinates` Latlng — Latitude and Longitude for a Location
      - `latitude` number, double, required — Latitude of the Location
      - `longitude` number, double, required — Longitude of the Location
  - `dob` DateModel — Date in ISO 8601 standard.
    - `iso8601` string, required
  - `email` string, email
  - `emergencyContactInfo` EmergencyContactInfo — Emergency contact information.
    - `address` PostalAddress — Postal Address Details
      - `addressLines` string[], required — Address lines
      - `administrativeArea` string — Code of administrative area. For example: DL for Delhi, India. Highest administrative subdivision which is used for postal addresses of a country or region. For example, this can be a state, a province, an oblast, or a prefecture. Specifically, for Spain this is the province and not the autonomous community (e.g. "Barcelona" and not "Catalonia"). Many countries don't use an administrative area in postal addresses. E.g. in Switzerland this should be left unpopulated.
      - `administrativeAreaName` string — Name of administrative area. This is full name corresponding to administrativeArea. Like Delhi for DL area code. For some places, code and name maybe same as well like Tokyo.
      - `description` string — Address description
      - `isDefault` boolean — Whether this address is default address in case multiple addresses are specified.
      - `languageCode` string — BCP-47 language code of the contents of this address (if known). This is often the UI language of the input form or is expected to match one of the languages used in the address' country/region, or their transliterated equivalents. This can affect formatting in certain countries, but is not critical to the correctness of the data and will never affect any validation or other non-formatting related operations. Examples: "zh-Hant", "ja", "ja-Latn", "en".
      - `locality` string — Generally refers to the city/town portion of the address.
      - `locationCode` string — IATA 3-letter location code. See https://www.iata.org/en/services/codes.
      - `organization` string — The name of the organization at the address.
      - `postalCode` string — Postal code of the address. This is a required field when setting for a user/legal entity/company etc.
      - `continentCode` string — 2 letter continent code of the continent this address falls in.
      - `recipients` string[] — The recipient at the address.
      - `regionCode` string, required — Region code of the country/region of the address.
      - `regionName` string — Region name of the country/region of the address.
      - `revision` integer
      - `sortingCode` string — Additional, country-specific, sorting code. This is not used in most regions. Where it is used, the value is either a string like "CEDEX", optionally followed by a number (e.g. "CEDEX 7"), or just a number alone, representing the "sector code" (Jamaica), "delivery area indicator" (Malawi) or "post office indicator" (e.g. Côte d'Ivoire).
      - `sublocality` string — Sublocality of the address. This can be neighborhoods, boroughs, districts.
      - `timezone` string — Time zone of the address.
      - `coordinates` Latlng — Latitude and Longitude for a Location
        - `latitude` number, double, required — Latitude of the Location
        - `longitude` number, double, required — Longitude of the Location
    - `designation` string
    - `email` string, email, required
    - `name` Name — Full name containing first, middle, last (family) names, and suffix.
      - `family1` string, required — Last (family) name.
      - `family2` string
      - `given` string, required — First (given) name.
      - `middle` string — Middle name.
      - `suffix` 'NAME_SUFFIX_UNKNOWN' | 'SR' | 'JR' | 'MD' | 'PHD' | 'II' | 'III' | 'IV' | 'DO' | 'ATTY' | 'V' | 'VI' | 'ESQ' | 'DC' | 'DDS' | 'VM' | 'JD' | 'SECOND' | 'THIRD' — Suffix for name
      - `preferred` string — Informal preferred name added by traveler. This is not used on any PNR or tickets
    - `phoneNumber` PhoneNumber — Properly formatted phone number.
      - `countryCode` integer — two digit country code
      - `countryCodeSource` 'UNSPECIFIED' | 'FROM_NUMBER_WITH_PLUS_SIGN' | 'FROM_NUMBER_WITH_IDD' | 'FROM_NUMBER_WITHOUT_PLUS_SIGN' | 'FROM_DEFAULT_COUNTRY'
      - `extension` string — phone number extension
      - `isoCountryCode` string — ISO alpha-2 code
      - `italianLeadingZero` boolean
      - `nationalNumber` integer
      - `numberOfLeadingZeros` integer
      - `preferredDomesticCarrierCode` string
      - `rawInput` string
      - `type` 'UNKNOWN_TYPE' | 'MOBILE' | 'LANDLINE'
    - `userOrgId` UserOrgId — User and user's organization information.
      - `organizationAgencyId` OrganizationAgencyId — Agency id for the organization.
        - `id` string, required
      - `organizationId` OrganizationId, required — Organization id for traveler.
        - `id` string, required
      - `userId` UserId, required — User identifier
        - `id` string, uuid, required
      - `tmcInfo` TmcInfo — TMC config information.
        - `id` CompanyId, required — Company ID
          - `id` string, uuid, required
        - `primaryServiceProviderTmc` PrimaryServiceProviderTmc, required — Primary service provider TMC info
          - `tmcId` CompanyId, required — Company ID
            - `id` string, uuid, required
        - `secondaryServiceProviderTmcs` SecondaryServiceProviderTmc[] — Secondary service provider TMCs for the TMC.
          - `tmcId` CompanyId, required — Company ID
            - `id` string, uuid, required
          - `supplier` 'SABRE' | 'AMADEUS' | 'TRAVEL_FUSION' | 'FARELOGIX_NDC' | 'ATPCO_NDC' | 'TRAINLINE' | 'AVIA' | 'QBR' | 'BCD' | 'QANTAS_HOTELS' | 'SOUTHWEST' | 'EXPEDIA' | 'HOTEL_HUB' | 'NDC' | 'MARRIOTT' | 'CLEARTRIP' | 'KYTE' | 'GROUNDSPAN' | 'SABRE_NDC' | 'BOOKING_COM' | 'CARTRAWLER' | 'PREMIER_INN' | 'TRAVELODGE' | 'ENTERPRISE' | 'HYATT' | 'NATIONAL' | 'ALAMO' | 'HERTZ' | 'DOLLAR' | 'THRIFTY' | 'FIREFLY' | 'EUROSTAR' | 'AVIS' | 'BUDGET', required — Supplier type like Sabre, TravelFusion etc.
          - `travelType` 'AIR' | 'HOTEL' | 'CAR' | 'RAIL' | 'LIMO' | 'MISC' | 'ALL', required — Travel Type
        - `partnerTmcId` CompanyId — Company ID
          - `id` string, uuid, required
      - `tmcBasicInfo` TmcBasicInfo — TMC related basic information.
        - `contractingTmc` CompanyRef, required — Basic information about a company.
          - `id` CompanyId, required — Company ID
            - `id` string, uuid, required
          - `name` string
          - `logo` Image — An image with meta data. Either the `data` or `url` property must be supplied to load the image.
            - `data` string, byte
            - `dimensions` Dimensions — Image dimensions ie width and height.
              - …
            - `url` string
        - `bookingTmc` CompanyRef, required — Basic information about a company.
          - `id` CompanyId, required — Company ID
            - `id` string, uuid, required
          - `name` string
          - `logo` Image — An image with meta data. Either the `data` or `url` property must be supplied to load the image.
            - `data` string, byte
            - `dimensions` Dimensions — Image dimensions ie width and height.
              - …
            - `url` string
  - `gender` 'MALE' | 'FEMALE' | 'UNSPECIFIED' | 'UNDISCLOSED' | 'GENDER_REDACTED'
  - `identityDocs` IdentityDocument[] — List of user identity documents.
    - union — Identity document details. Currently supported documents are passport, immigration document, known traveler number, redress number and national document.
      - object
        - `passport` Passport — Passport details.
          - `docId` string, required
          - `expiryDate` DateModel, required — Date in ISO 8601 standard.
            - `iso8601` string, required
          - `issueCountry` string, required
          - `issuedDate` DateModel — Date in ISO 8601 standard.
            - `iso8601` string, required
          - `nationalityCountry` string, required
          - `type` 'UNKNOWN' | 'REGULAR'
      - object
        - `immigrationDoc` ImmigrationDocument — Immigration document details.
          - `authorizedStayDuration` Duration — Represents a duration of time with specific units of time.
            - `iso8601` string — Durations define the amount of intervening time in a time interval and are represented by the format P[n]Y[n]M[n]DT[n]H[n]M[n]S. The [n] is replaced by the value for each of the date and time elements that follow the [n]. Leading zeros are not required. The capital letters P, Y, M, W, D, T, H, M, and S are designators for each of the date and time elements and are not replaced. P is the duration designator (for period) placed at the start of the duration representation. Y is the year designator. M is the month designator. W is the week designator. D is the day designator. T is the time designator. H is the hour designator. M is the minute designator. S is the second designator and can include decimal digits with arbitrary precision.
          - `docId` string, required — The ID of the immigration document.
          - `expiryDate` DateModel, required — Date in ISO 8601 standard.
            - `iso8601` string, required
          - `issueCountry` string, required — The country that issued the immigration document.
          - `issuedDate` DateModel — Date in ISO 8601 standard.
            - `iso8601` string, required
          - `nationalityCountry` string
          - `reentryRequirementDuration` Duration — Represents a duration of time with specific units of time.
            - `iso8601` string — Durations define the amount of intervening time in a time interval and are represented by the format P[n]Y[n]M[n]DT[n]H[n]M[n]S. The [n] is replaced by the value for each of the date and time elements that follow the [n]. Leading zeros are not required. The capital letters P, Y, M, W, D, T, H, M, and S are designators for each of the date and time elements and are not replaced. P is the duration designator (for period) placed at the start of the duration representation. Y is the year designator. M is the month designator. W is the week designator. D is the day designator. T is the time designator. H is the hour designator. M is the minute designator. S is the second designator and can include decimal digits with arbitrary precision.
          - `type` 'UNKNOWN' | 'VISA'
      - object
        - `redress` RedressNumber — Redress details
          - `number` string, required
          - `issueCountry` string, required
      - object
        - `ktn` KnownTravelerNumber — Information about the Known Traveler Number (KTN).
          - `number` string, required
          - `issueCountry` string, required
      - object
        - `nationalDoc` NationalDoc — National Document Id details.
          - `docId` string, required — Unique id identifying the national document.
          - `issueCountry` string, required — IS0 2 letter country code of the country issuing this id.
          - `issuedDate` DateModel — Date in ISO 8601 standard.
            - `iso8601` string, required
          - `expiryDate` DateModel — Date in ISO 8601 standard.
            - `iso8601` string, required
          - `type` 'DNI' | 'NIE'
  - `name` Name — Full name containing first, middle, last (family) names, and suffix.
    - `family1` string, required — Last (family) name.
    - `family2` string
    - `given` string, required — First (given) name.
    - `middle` string — Middle name.
    - `suffix` 'NAME_SUFFIX_UNKNOWN' | 'SR' | 'JR' | 'MD' | 'PHD' | 'II' | 'III' | 'IV' | 'DO' | 'ATTY' | 'V' | 'VI' | 'ESQ' | 'DC' | 'DDS' | 'VM' | 'JD' | 'SECOND' | 'THIRD' — Suffix for name
    - `preferred` string — Informal preferred name added by traveler. This is not used on any PNR or tickets
  - `phoneNumbers` PhoneNumber[]
    - `countryCode` integer — two digit country code
    - `countryCodeSource` 'UNSPECIFIED' | 'FROM_NUMBER_WITH_PLUS_SIGN' | 'FROM_NUMBER_WITH_IDD' | 'FROM_NUMBER_WITHOUT_PLUS_SIGN' | 'FROM_DEFAULT_COUNTRY'
    - `extension` string — phone number extension
    - `isoCountryCode` string — ISO alpha-2 code
    - `italianLeadingZero` boolean
    - `nationalNumber` integer
    - `numberOfLeadingZeros` integer
    - `preferredDomesticCarrierCode` string
    - `rawInput` string
    - `type` 'UNKNOWN_TYPE' | 'MOBILE' | 'LANDLINE'
  - `profilePicture` Image — An image with meta data. Either the `data` or `url` property must be supplied to load the image.
    - `data` string, byte
    - `dimensions` Dimensions — Image dimensions ie width and height.
      - `height` integer
      - `width` integer
    - `url` string
  - `nationality` string — Nationality of user
  - `title` 'TITLE_UNKNOWN' | 'MR' | 'MS' | 'MRS' | 'MX' | 'MASTER' | 'MISS' | 'DR' | 'PROFESSOR' | 'CAPTAIN' | 'REVEREND' | 'HONOURABLE' | 'SIR' | 'LADY' | 'AMBASSADOR' | 'LORD' | 'BRIGADIER' | 'SENATOR' | 'DAME' | 'JUSTICE' | 'UK' | 'TITLE_REDACTED'
  - `preferredLanguage` string — Language preferred by user.
  - `preferredPronoun` 'SHE_HER_HERS' | 'HE_HIM_HIS' | 'THEY_THEM_THEIRS'
  - `travelerName` Name — Full name containing first, middle, last (family) names, and suffix.
    - `family1` string, required — Last (family) name.
    - `family2` string
    - `given` string, required — First (given) name.
    - `middle` string — Middle name.
    - `suffix` 'NAME_SUFFIX_UNKNOWN' | 'SR' | 'JR' | 'MD' | 'PHD' | 'II' | 'III' | 'IV' | 'DO' | 'ATTY' | 'V' | 'VI' | 'ESQ' | 'DC' | 'DDS' | 'VM' | 'JD' | 'SECOND' | 'THIRD' — Suffix for name
    - `preferred` string — Informal preferred name added by traveler. This is not used on any PNR or tickets
  - `emergencyContact` EmergencyContact — Emergency contact information.
    - `name` string, required — Full name of contact.
    - `email` string, email — Email address of contact.
    - `designation` string — Job title of contact.
    - `relation` 'RELATION_UNKNOWN' | 'SPOUSE' | 'PARENT' | 'SIBLING' | 'CHILD' | 'FRIEND' | 'RELATIVE' | 'COLLEAGUE' | 'OTHER' — Relation of contact to user.
    - `phoneNumbers` PhoneNumber[], required — Phone numbers of contact.
      - `countryCode` integer — two digit country code
      - `countryCodeSource` 'UNSPECIFIED' | 'FROM_NUMBER_WITH_PLUS_SIGN' | 'FROM_NUMBER_WITH_IDD' | 'FROM_NUMBER_WITHOUT_PLUS_SIGN' | 'FROM_DEFAULT_COUNTRY'
      - `extension` string — phone number extension
      - `isoCountryCode` string — ISO alpha-2 code
      - `italianLeadingZero` boolean
      - `nationalNumber` integer
      - `numberOfLeadingZeros` integer
      - `preferredDomesticCarrierCode` string
      - `rawInput` string
      - `type` 'UNKNOWN_TYPE' | 'MOBILE' | 'LANDLINE'
    - `preferredLanguage` string — Language preferred by user.

## Response `200`

OK

## Other responses

- `401` — Unauthorized
- `403` — Forbidden
- `404` — The specified resource was not found.

---

[API](https://skmtc.net/spotnana/apis/user-management-api.md) · [All operations](https://skmtc.net/spotnana/apis/user-management-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/spotnana/user-management-api/revisions/72a5366b0bb3/schema)
