Phone numbers API
List the numbers you own and change how they are configured.
GET
/phone-numbers
phone-numbers:read
GET
/phone-numbers/{id}
phone-numbers:read
PATCH
/phone-numbers/{id}
phone-numbers:write
List your numbers
curl https://app.limecall.com/api/v1/phone-numbers \
-H "Authorization: Bearer sk_live_..."Pass ?userId=... to return only the numbers assigned to one user.
Each number reports its capabilities. Check these before sending β not every number can text, and a from on a voice-only number fails at send time rather than at configuration time.
Update a number
Three fields are accepted. Sending none of them returns 400.
forwardingNumber
E.164 only β + then 7β15 digits, e.g. +14155550142. Anything else returns 400. null turns forwarding off.
voicemailEnabled
Boolean. A non-boolean returns 400.
friendlyName
String, trimmed, truncated to 120 characters. null clears it.
curl -X PATCH https://app.limecall.com/api/v1/phone-numbers/77 \
-H "Authorization: Bearer sk_live_..." \
-H "Content-Type: application/json" \
-d '{"forwardingNumber":"+14155550142","friendlyName":"Google Ads β Leeds"}'Returns the updated number.
What setting a forwarding number does
Setting forwardingNumber routes the line to an external number, and clears any team or team-member destination on it. One line cannot hold three contradictory targets, so the other two are removed rather than left stale.
What clearing it does not do
Sending "forwardingNumber": null stops forwarding to that number. It does not hand the line to your AI receptionist β that is a much bigger change than the request asked for, and it is deliberately not implied.
If you want the AI to answer the line, set that destination explicitly in the dashboard. See Call forwarding & routing.
A legacy alias
callForwarding is still accepted, as a string, as { target, enabled }, or as null, and lands on the same columns. Prefer forwardingNumber in new code.
What this endpoint will not do
Buying and porting are not in the API. Both involve payment and, in most countries, regulatory documents, so they are dashboard-only. See Buy a number and Bring your number.
Releasing a number is likewise dashboard-only β it is irreversible and deliberately not one API call away.
Was this helpful?