Update a customer
Who somebody is, as the team writes it down. Only what is sent changes, and null clears it. Every browser in their group is written, so they stay one customer; a new email moves the whole person and is looked up afresh. The picture stays in the dashboard.
PATCH
/customers/{id}Authorization
AuthorizationBearer token · headerrequired`MEDIAN_KEY` from Settings under API, or an MCP OAuth access token. A key acts as the organization; a token acts as the person who approved it.
Path parameters
idstringrequiredA customer id.
Request body
requiredapplication/jsonnamestring | nullmax length 80
emailstring<email> | nullcompanystring | nullmax length 120
jobTitlestring | nullmax length 120
locationstring | nullmax length 120
Responses
200Done.
okboolean400The request is malformed, and the message names the field.
errorobjectShow propertiesHide properties
codestringmessagestring401The bearer token is missing, revoked, or expired.
errorobjectShow propertiesHide properties
codestringmessagestring404Not one of yours, or not there at all.
errorobjectShow propertiesHide properties
codestringmessagestring429Too many requests. Wait the seconds in `Retry-After`. Limits depend on the plan. See [rate limits](/api/errors-and-limits#rate-limits).
errorobjectShow propertiesHide properties
codestringmessagestringRequest
curl -X PATCH "https://api.median.sh/v1/customers/string" \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "string",
"email": "<email>",
"company": "string",
"jobTitle": "string",
"location": "string"
}'const response = await fetch("https://api.median.sh/v1/customers/string", {
method: "PATCH",
headers: {
"Authorization": "Bearer YOUR_TOKEN",
"Content-Type": "application/json"
},
body: JSON.stringify({
"name": "string",
"email": "<email>",
"company": "string",
"jobTitle": "string",
"location": "string"
})
});Response
{
"ok": true
}{
"error": {
"code": "string",
"message": "string"
}
}{
"error": {
"code": "string",
"message": "string"
}
}{
"error": {
"code": "string",
"message": "string"
}
}{
"error": {
"code": "string",
"message": "string"
}
}