---
title: "Update a Personal Payment Source."
method: PATCH
path: "/v2/payment/users/{userId}/payment-sources/{paymentSourceId}"
tags: ["Personal Payment Sources"]
---

# Update a Personal Payment Source.

`PATCH /v2/payment/users/{userId}/payment-sources/{paymentSourceId}`

## Request body

- UpdatePersonalPaymentSourceRequest — Request payload for updating an existing personal payment source.
  - `paymentSourceInfo` PaymentSourceUpdateDetails, required — This describes the details for a card payment source.
    - `paymentType` string, required
    - `card` CardUpdate, required — Card Details to be updated
      - `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
      - `label` string — Card Label
      - `ownershipLabel` 'CORPORATE' | 'PERSONAL' | 'CENTRAL' — Ownership label of the card whether it is personal, corporate or central.
  - `filter` union — Defines usage restrictions or filters for a payment source.
    - object — Defines filter specific to personal payment sources.
      - `type` string, required
      - `travelTypes` TravelType[], required — Applicable payment source travel types
      - `managedTravelerAccess` ManagedTravelerPaymentAccess — Settings for sharing this payment method with managed traveler profiles. Applicable for Arranger Roles.
        - `enabled` boolean, required — Indicates if this payment method can be used on the Traveler Profiles being managed by this User.
        - `visibility` object — Controls how this payment method is displayed on checkout for managed traveler profiles, applicable only if sharing is enabled.
          - `showToTravelers` boolean — If true, managed travelers can see this payment method when booking for themselves. If false, only the Travel Arranger can see it.
    - object — Defines filter specific to tmc payment sources.
      - `type` string, required

## Response `200`

OK

## Other responses

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

---

[API](https://skmtc.net/spotnana/apis/payments-api.md) · [All operations](https://skmtc.net/spotnana/apis/payments-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/spotnana/payments-api/versions/ae43d38771c7/schema)
