I am not sure you can create a local number by api however you can create user or extension with api and assign the user or extension with an existing number by updating with api which maybe you are doing now
@Anirban yes that is currently what we are doing but it looks like that might be the only way right now.
Jon,
Here's how we're doing it:
1). Use "List Company Phone Numbers" API and select the appropriate flags under UsageType to list the numbers you need. Gather the internal number ID for the number you want.
2). Create extension - gather extensionID from response body
3). Create BYOD device (type "OtherPhone") and assign to the extensionID from step 1. Attach the internal number id from step 1. This will add an RC App with DL and phone number to the extension from step 2. If you need to attach a physical phone to the extension, capture the internal device ID and proceed to step 4. Otherwise, you're done.
4). You will need the internal device ID of the hardphone you wish to swap for the Softphone created in step 3. You can get this by using GET "https://platform.ringcentral.com/restapi/v1.0/account/:accountId/device?serial={{serial}}" (double braces for Postman)
5). Swap phones with the target device ID being the one you grabbed from step 4, and device ID being the internal ID from step 3.
You now have a hardphone with the desired phone number assigned to the extension you just created.