> ## Documentation Index
> Fetch the complete documentation index at: https://docs.blips.network/llms.txt
> Use this file to discover all available pages before exploring further.

# Update customer

> Update mutable customer-record fields for your authenticated platform. External-account changes stay on `/customers/external-accounts` and PPV/payment-address issuance stays on `/customers/{customerId}/payment-address`.



## OpenAPI

````yaml /openapi/blips-public-reference.yaml patch /customers/{customerId}
openapi: 3.1.0
info:
  title: BLIPS Public Reference API
  version: '2026-04-08'
  description: >-
    Public OpenAPI 3.1 subset for the first BLIPS Mintlify API Reference and
    Playground release. This document is bound to the confirmed Public Test
    Backend at https://public-test.blips.network, includes only the approved
    first-release public endpoints, uses only internal `$ref` values, and
    excludes callback-only webhook documentation and operator-only surfaces.
servers:
  - url: https://public-test.blips.network
    description: >-
      Confirmed Public Test Backend ingress target for public BLIPS API
      Reference, Playground, and internet-testable Try It flows.
security:
  - BasicAuth: []
tags:
  - name: Platform Setup
    description: >-
      Bootstrap and platform configuration surfaces for establishing the public
      BLIPS integration context.
  - name: Sandbox API
    description: >-
      Sandbox-only externally displayed helper surfaces. These routes either
      adjust quote inputs or create incoming-payment review cases, but they
      always feed the existing quote or transaction families and never become
      second outward API families.
  - name: Tokens
    description: >-
      Platform-scoped API credential create, list, detail, and revoke
      operations.
  - name: Customers
    description: >-
      Customer onboarding, profile lifecycle, and PPV payment-address issuance
      surfaces.
  - name: Accounts
    description: >-
      Customer-bound internal-account and external-account surfaces kept in the
      first-layer public contract.
  - name: Same-Currency Transfers
    description: >-
      Same-currency receiver lookup plus incoming and outgoing transfer
      primitives.
  - name: Cross-Currency Transfers
    description: >-
      PPV-first receiver lookup, quote creation/readback, and quote execution
      for cross-currency flows.
  - name: Transactions
    description: Transaction readback plus bounded incoming-review decision operations.
  - name: Webhooks
    description: >-
      Webhook connectivity verification surface for the public BLIPS
      integration.
paths:
  /customers/{customerId}:
    patch:
      tags:
        - Customers
      summary: Update customer
      description: >-
        Update mutable customer-record fields for your authenticated platform.
        External-account changes stay on `/customers/external-accounts` and
        PPV/payment-address issuance stays on
        `/customers/{customerId}/payment-address`.
      operationId: patchCustomer
      parameters:
        - $ref: '#/components/parameters/CustomerId'
      requestBody:
        required: true
        description: >-
          Send at least one valid mutable customer-record field in the PATCH
          body. PATCH updates the customer record itself and does not require
          resending the full customer payload.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CustomerPatchMvpRequest'
            examples:
              individualCustomer:
                summary: Individual customer
                value:
                  fullName: Patricia Rivera
                  birthDate: '1992-05-06'
                  nationality: PH
                  address:
                    line1: 200 Updated Street
                    line2: Suite 5
                    city: Quezon City
                    state: NCR
                    postalCode: '1100'
                    country: PH
                  kycStatus: APPROVED
              businessCustomer:
                summary: Business customer
                value:
                  fullName: Rivera Trading LLC
                  address:
                    line1: 88 Finance Avenue
                    city: Makati
                    state: NCR
                    postalCode: '1227'
                    country: PH
                  kycStatus: APPROVED
      responses:
        '200':
          description: Customer updated.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomerPatchMvpResponse'
              examples:
                updated:
                  value:
                    id: 00000000-0000-4000-8000-000000000001
                    platformId: plat_demo_001
                    platformCustomerId: partner_cust_9f8b2c7d
                    customerType: INDIVIDUAL
                    fullName: Patricia Rivera
                    birthDate: '1992-05-06'
                    nationality: PH
                    address:
                      line1: 200 Updated Street
                      line2: Suite 5
                      city: Quezon City
                      state: NCR
                      postalCode: '1100'
                      country: PH
                    kycStatus: APPROVED
                    createdAt: '2026-04-05T12:00:00Z'
                    updatedAt: '2026-04-05T12:15:00Z'
        '400':
          description: Invalid customerId path value or invalid patch body.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomerPatchMvpErrorResponse'
              examples:
                invalidPatch:
                  value:
                    status: 400
                    code: INVALID_REQUEST
                    message: Invalid customer patch request.
                    details:
                      request: At least one public patch field required
        '401':
          description: Invalid or missing API credentials.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomerPatchMvpErrorResponse'
              examples:
                unauthorized:
                  value:
                    status: 401
                    code: UNAUTHORIZED
                    message: Unauthorized
                    details: null
        '404':
          description: Customer not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomerPatchMvpErrorResponse'
              examples:
                notFound:
                  value:
                    status: 404
                    code: NOT_FOUND
                    message: Customer not found
                    details: null
        '410':
          description: Customer already deleted.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomerPatchMvpErrorResponse'
              examples:
                gone:
                  value:
                    status: 410
                    code: GONE
                    message: Customer already deleted
                    details: null
        '500':
          description: Internal service error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomerPatchMvpErrorResponse'
              examples:
                internalError:
                  value:
                    status: 500
                    code: INTERNAL_ERROR
                    message: Internal service error.
                    details: null
components:
  parameters:
    CustomerId:
      name: customerId
      in: path
      required: true
      description: >-
        System-generated customer UUID for the customer record addressed by this
        endpoint.
      schema:
        type: string
  schemas:
    CustomerPatchMvpRequest:
      type: object
      description: >-
        At least one valid mutable customer-record field is required. PATCH
        updates the customer record itself rather than replacing it.
      properties:
        fullName:
          type: string
          description: Updated customer full name for the record.
        kycStatus:
          type: string
          enum:
            - PENDING
            - APPROVED
            - REJECTED
          description: >-
            Updated KYC status for the customer record when that field should
            change.
        birthDate:
          type: string
          format: date
          description: Updated birth date in YYYY-MM-DD format.
        nationality:
          type: string
          description: Updated nationality or citizenship value for the customer record.
        address:
          $ref: '#/components/schemas/CustomerPatchMvpAddressPatch'
          description: Updated address fields for the customer record.
      minProperties: 1
      additionalProperties: false
    CustomerPatchMvpResponse:
      type: object
      description: Bounded public customer-record patch response.
      additionalProperties: false
      required:
        - id
        - platformId
        - platformCustomerId
        - customerType
        - fullName
        - kycStatus
        - createdAt
        - updatedAt
      properties:
        id:
          type: string
          description: BLIPS customer ID.
        platformId:
          type: string
          description: Platform owner ID for the customer record.
        platformCustomerId:
          type: string
          description: Platform-side customer identifier for this record.
        customerType:
          type: string
          enum:
            - INDIVIDUAL
            - ENTITY
          description: Customer type for the existing customer record.
        fullName:
          type: string
          description: Current public customer name on the record.
        birthDate:
          type: string
          format: date
          nullable: true
          description: Birth date when present on the customer record.
        nationality:
          type: string
          nullable: true
          description: Nationality or citizenship when present on the customer record.
        address:
          $ref: '#/components/schemas/CustomerAddress'
          nullable: true
          description: Current customer address when present on the record.
        kycStatus:
          type: string
          enum:
            - PENDING
            - APPROVED
            - REJECTED
          description: Current KYC status for the customer record.
        createdAt:
          type: string
          format: date-time
          description: Creation timestamp.
        updatedAt:
          type: string
          format: date-time
          description: Last update timestamp.
    CustomerPatchMvpErrorResponse:
      type: object
      description: Public error envelope for customer patch failures.
      additionalProperties: false
      required:
        - status
        - code
        - message
        - details
      properties:
        status:
          type: integer
          description: HTTP status code returned for the failed customer patch request.
        code:
          type: string
          description: Stable public error code for the failed customer patch request.
        message:
          type: string
          description: Human-readable summary of the customer patch failure.
        details:
          type: object
          nullable: true
          additionalProperties: true
          description: Additional structured error context when present.
    CustomerPatchMvpAddressPatch:
      type: object
      description: >-
        Partial customer address update object. Include only the address
        attributes that should change.
      properties:
        line1:
          type: string
          description: Updated street address line 1.
        line2:
          type: string
          description: Updated street address line 2 when used by the customer record.
        city:
          type: string
          description: Updated city for the customer address.
        state:
          type: string
          description: Updated state, province, or region for the customer address.
        postalCode:
          type: string
          description: Updated postal or ZIP code for the customer address.
        country:
          type: string
          description: >-
            Updated country code or supported country value for the customer
            address.
      minProperties: 1
      additionalProperties: false
    CustomerAddress:
      type: object
      description: Customer address object.
      properties:
        line1:
          type: string
          description: Street address line for the customer.
        line2:
          type: string
          description: Street address line 2 when present on the customer record.
        city:
          type: string
          description: City for the customer address.
        state:
          type: string
          description: State, province, or region for the customer address.
        postalCode:
          type: string
          description: Postal or ZIP code for the customer address.
        country:
          type: string
          description: Two-letter country code or equivalent supported country value.
      additionalProperties: false
  securitySchemes:
    BasicAuth:
      type: http
      scheme: basic
      description: >-
        Integration-key Basic Auth (`clientId:clientSecret`) as documented in
        docs/public/AUTHENTICATION.md.

````