API documentation | API docs for agents | OpenAPI 3.1
PATCH /api/v1/customers/{customerId}
ark.update_customer
Updates a visible customer profile and optional team mappings.
- Availability
- Core preview
- Scopes
customers:write- ARK permissions
canEditCustomer- Team visibility
- Required and enforced
- Idempotency-Key
- Required for this write
- Approval
- No MCP approval on REST API-token calls
- Rate limit
- API credential and organization budgets
Parameters
customerIdpathstringrequired- format: uuid
Idempotency-Keyheaderstringrequired- Required for external write operations. Reuse the same key only for exact retries of the same request body.
- min length: 1; max length: 200
Request body
namestringmin length: 2; max length: 200
codestring | nullmax length: 50
typestring | nullmax length: 50
countrystringone of: USA, CAN, MEX; default: "USA"
defaultCurrencystringone of: USD, CAD, MXN; default: "USD"
trackingEmailstring | nullmax length: 500
notesstring | nullmax length: 5000
businessHoursOpenstring | nullmax length: 50
businessHoursClosestring | nullmax length: 50
paymentTermIdstring | nullformat: uuid
defaultInvoiceRemitProfileIdstring | nullOptional customer-specific invoice remit profile ID. Use null to inherit the organization default.
format: uuid
Example request
Shell
curl -X PATCH 'https://arktms.com/api/v1/customers/<customerId>' \
-H "Authorization: Bearer $ARK_API_TOKEN" \
-H "Idempotency-Key: <unique-key>" \
-H "Content-Type: application/json" \
-d '{}'Success response
Updated customer
objectstringrequiredone of: api_response
okbooleanrequiredone of: true
api_versionstringrequiredone of: 2026-05-31
request_idstringrequireddataobjectrequireddata.idstringrequiredformat: uuid
data.namestring | nullrequireddata.codestring | nullrequireddata.typestring | nullrequireddata.notesstring | nullrequireddata.businessHoursOpenstring | nullrequireddata.businessHoursClosestring | nullrequireddata.paymentTermIdstring | nullrequiredformat: uuid
data.countrystringrequiredone of: USA, CAN, MEX
data.defaultCurrencystringrequiredone of: USD, CAD, MXN
data.trackingEmailstring | nullrequireddata.teamIdsarray<string>requireddata.createdAtstringrequiredformat: date-time
data.modifiedAtstring | nullrequiredformat: date-time
data.defaultInvoiceRemitProfileIdstring | nullrequiredformat: uuid
data.defaultInvoiceRemitProfileobject | nullrequiredErrors
HTTP 400- Invalid request
HTTP 401- Authentication required
HTTP 403- Permission, scope, team, or entitlement denied
HTTP 404- Resource not found