# Update a merchant

Updates an existing merchant. Currently supports attaching a `passport`
object for individual merchants and a `registration_date` for business
merchants; more fields may be supported in future.
The applicable field is determined by the merchant's entity type, set at
onboarding, rather than by the request body: send `passport` for an
individual merchant and `registration_date` for a business merchant. A field
that does not apply to the merchant's entity type is ignored.

Endpoint: PATCH /platform/merchants/{merchant_id}
Version: 1.0.0
Security: JWT

## Path parameters:

  - `merchant_id` (string, required)
    Unique identifier of the merchant

## Request fields (application/json):

  - `passport` (object, required)
    Passport identification (individual merchants)

  - `passport.number` (string, required)
    Passport number
    Example: P1234567

  - `passport.expiry_date` (string, required)
    Passport expiry date. Must be a future date. Format YYYY-MM-DD
    Example: 2030-06-01

  - `passport.country_of_issuance` (string, required)
    Country that issued the passport (ISO 3166-1 alpha-3)
    Example: IND

  - `registration_date` (string, required)
    Business registration/incorporation date. Must be a past date. Format YYYY-MM-DD
    Example: 2020-06-01

## Response 200 fields (application/json):

  - `owner_merchant_id` (string, required)
    The ID of the platform/owner merchant
    Example: merch_68511919RVuf6

  - `merchant_id` (string, required)
    Unique identifier for the merchant
    Example: merch_68c777fcOOMpl

  - `status` (string, required)
    Current merchant status
    Enum: "success", "action_required", "pending", "failed", "offboarded"

  - `name` (string, required)
    Name of the merchant
    Example: John Doe

  - `category` (string)
    Business category
    Example: Agricultural Services

  - `entity_type` (string)
    Type of merchant entity
    Enum: "individual", "business"

  - `sub_category` (string)
    Business sub-category (must be paired with correct category)
    Example: Veterinary Services

  - `gender` (string)
    Gender (only required for individual entity_type)
    Enum: "male", "female", "undefined"

  - `date_of_birth` (string)
    Date of birth (only required for individual entity_type)
    Example: 2001-08-04

  - `registration_number` (string, required)
    Business registration number or individual ID
    Example: REG123456

  - `registration_country` (string, required)
    Country where the merchant is registered (ISO 3166-1 alpha-3)
    Example: IND

  - `address` (object, required)
    Merchant address

  - `address.address_line1` (string, required)
    Primary address line
    Example: 123 Main St

  - `address.address_line2` (string)
    Secondary address line (optional)

  - `address.city` (string, required)
    City name
    Example: Bangalore

  - `address.state` (string, required)
    State or province
    Example: Karnataka

  - `address.pincode` (string, required)
    Postal/ZIP code
    Example: 560060

  - `address.country` (string, required)
    Country code (ISO 3166-1 alpha-3)
    Example: IND

  - `operation_countries` (array, required)
    List of countries where the merchant operates
    Example: ["IND"]

  - `created_at` (string, required)
    Timestamp when the merchant was created
    Example: 2025-10-07T06:11:47Z

  - `updated_at` (string, required)
    Timestamp when the merchant was last updated
    Example: 2025-10-07T06:11:47Z

  - `jwt_token` (string, required)
    JWT token for the merchant
    Example: child_merchant_JWT

  - `public_key` (string)
    public key for the merchant
    Example: live_6889e287VfqrPVPg

## Response 400 fields (application/json):

  - `error` (string)
    Example: Bad Request

  - `message` (string)
    Example: Passport is required for individual entity type

## Response 401 fields (application/json):

  - `error` (string)
    Example: unauthorized

  - `message` (string)
    Example: Invalid or missing authentication token

## Response 404 fields (application/json):

  - `error` (string)
    Example: Merchant not found

  - `message` (string)
    Example: Merchant not found for id: merch_68c777fcOOMpl

