Skip to main content
PUT
/
v1
/
customers
/
{customer_id}
Update a customer
curl --request PUT \
  --url https://api-dev.bsa.ai/v1/customers/{customer_id} \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "firstname": "<string>",
  "middlename": "<string>",
  "lastname": "<string>",
  "mobileNo": "<string>",
  "emailAddress": "<string>",
  "externalId": "<string>"
}
'

Documentation Index

Fetch the complete documentation index at: https://docs.api.bsa.ai/llms.txt

Use this file to discover all available pages before exploring further.

Only provided fields are modified. All fields in the request body are optional — omit a field to leave it unchanged.
LMS internally requires firstname and lastname on every customer update even when neither is changing. The service reads the existing customer and fills these in transparently — true partial updates work as documented, no need to echo the name on every PUT.
Some fields (status, officeId, accountNo) are not updatable via this endpoint. Use Activate and Close for status transitions.

Path parameters

customer_id
string
required

Request body

firstname
string
middlename
string
lastname
string
mobileNo
string
emailAddress
string
externalId
string

Example

curl -sf -X PUT "$BASE/v1/customers/42" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "mobileNo": "+255711111111",
    "emailAddress": "ada.lovelace@example.com"
  }'

Response

200 OK returns the updated customer object.

Errors

CodeWhen
not_foundNo customer with that ID
invalid_argumentMalformed body