/api/public/v1/leads/{leadId}/convertConvert a lead to a customer
Mints the customer record so the conversation has somewhere to live — you cannot send a text or an email without one. The lead’s company, title, website, city and source are folded into the customer’s notes rather than dropped, since that is the context somebody opens the record for. Idempotent: a lead that already has a customer hands back the same one, so a retried call never mints a second contact for the same person. `alreadyConverted` says which happened. This does **not** mark the lead contacted. Creating the record is not reaching out — set the lead’s status to CONTACTED once the call has actually gone.
Required scope
The access token must carry this scope. A token missing it gets 403 Forbidden. Grant them to an API client under Settings → Company → API, and to a teammate under Employee → Permissions.
Path Parameters
| Name | Type | Required | Description |
|---|---|---|---|
leadId | string | Required | Lead ID. |
curl -X POST "https://www.pxb.app/api/public/v1/leads/{leadId}/convert" \
-H "Authorization: Bearer your_access_token"{
"message": "Lead converted to an account.",
"content": {
"customer": {
"id": "acc_7712",
"fullname": "Rae Nakamura",
"lifecycleStage": "LEAD"
},
"alreadyConverted": false
}
}In the console
The same thing done by hand, for anyone comparing the API against the screen they already use.