Skip to main content
PATCH
/
customers
/
{customer_id}
Update customer
curl --request PATCH \
  --url https://api.lava.so/v1/customers/{customer_id} \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "name": "Jane Smith",
  "email": "jane@example.com",
  "phone": "+14155552671",
  "reference_id": "usr_abc123",
  "metadata": {
    "plan_tier": "enterprise"
  }
}
'
{
  "customer_id": "con_test_01EXAMPLE00000000000000001",
  "reference_id": "usr_abc123",
  "contact": {
    "phone": "+14155552671",
    "email": "user@example.com",
    "first_name": "Jane",
    "last_name": "Smith"
  },
  "subscription": {
    "subscription_id": "<string>",
    "plan_id": "<string>",
    "name": "<string>",
    "status": "active"
  },
  "metadata": {
    "plan_tier": "enterprise",
    "internal_id": "12345"
  },
  "created_at": "2023-05-15T08:35:42Z"
}

Authorizations

Authorization
string
header
required

Bearer token authentication used for standard API calls. Format: 'Bearer YOUR_API_KEY'

Path Parameters

customer_id
string
required

Customer ID (con_xxx) or your reference_id.

Body

application/json
name
string | null

Contact name for this customer.

Maximum string length: 255
Example:

"Jane Smith"

email
string<email> | null

Contact email for this customer.

Example:

"jane@example.com"

phone
string | null

Contact phone in E.164 format.

Example:

"+14155552671"

reference_id
string | null

Your external identifier for this customer.

Maximum string length: 255
Example:

"usr_abc123"

metadata
object

Arbitrary key-value metadata. Set to null to clear.

Example:
{ "plan_tier": "enterprise" }

Response

Updated customer

customer_id
string
required

Unique identifier for the customer

Example:

"con_test_01EXAMPLE00000000000000001"

reference_id
string | null
required

Merchant's external identifier for this customer. Used for idempotent creation — POST with the same reference_id returns the existing customer.

Example:

"usr_abc123"

contact
object
required
subscription
object
required

Active subscription summary, or null if none

metadata
object
required

Arbitrary key-value metadata stored on the customer. Set via PATCH.

Example:
{
"plan_tier": "enterprise",
"internal_id": "12345"
}
created_at
string<date-time>
required

ISO 8601 timestamp when the customer was created

Example:

"2023-05-15T08:35:42Z"