Create Ringg Space
curl --request POST \
--url https://prod-api.ringg.ai/ca/api/v0/workspace/sub \
--header 'Content-Type: application/json' \
--header 'X-API-KEY: <api-key>' \
--data '
{
"name": "Mumbai Collections"
}
'import requests
url = "https://prod-api.ringg.ai/ca/api/v0/workspace/sub"
payload = { "name": "Mumbai Collections" }
headers = {
"X-API-KEY": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-API-KEY': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({name: 'Mumbai Collections'})
};
fetch('https://prod-api.ringg.ai/ca/api/v0/workspace/sub', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"message": "Sub-workspace Mumbai Collections created successfully",
"sub_workspace": {
"id": "00000000-0000-4000-8000-000000000101",
"name": "Mumbai Collections",
"parent_workspace_id": "00000000-0000-4000-8000-000000000107",
"created_at": "2026-09-18T06:41:12.884312+00:00",
"concurrency": 0,
"limit_concurrency": 0
}
}{
"message": "Sub-workspaces cannot have their own sub-workspaces."
}{
"message": "Invalid credentials"
}{
"message": "Sub-workspaces are not enabled for this workspace."
}{
"message": "An unexpected error occurred. Please try again later."
}Create Ringg Space
Create a Ringg Space under your primary workspace with one API call; it starts with no balance, concurrency or API key until you allocate to it.
POST
/
workspace
/
sub
Create Ringg Space
curl --request POST \
--url https://prod-api.ringg.ai/ca/api/v0/workspace/sub \
--header 'Content-Type: application/json' \
--header 'X-API-KEY: <api-key>' \
--data '
{
"name": "Mumbai Collections"
}
'import requests
url = "https://prod-api.ringg.ai/ca/api/v0/workspace/sub"
payload = { "name": "Mumbai Collections" }
headers = {
"X-API-KEY": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-API-KEY': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({name: 'Mumbai Collections'})
};
fetch('https://prod-api.ringg.ai/ca/api/v0/workspace/sub', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"message": "Sub-workspace Mumbai Collections created successfully",
"sub_workspace": {
"id": "00000000-0000-4000-8000-000000000101",
"name": "Mumbai Collections",
"parent_workspace_id": "00000000-0000-4000-8000-000000000107",
"created_at": "2026-09-18T06:41:12.884312+00:00",
"concurrency": 0,
"limit_concurrency": 0
}
}{
"message": "Sub-workspaces cannot have their own sub-workspaces."
}{
"message": "Invalid credentials"
}{
"message": "Sub-workspaces are not enabled for this workspace."
}{
"message": "An unexpected error occurred. Please try again later."
}Use it for a client, brand or team that needs its own agents, numbers and call history. The Ringg Space’s default agents and telephony are set up for it, and its currency, account type and billing plan are copied from the primary.
Notes
- Store the returned
sub_workspace.id; every allocation call needs it. - The first Ringg Space you create turns the primary into a family in individual billing mode. Contact Ringg support if the family should use common billing instead.
- Every member of the primary automatically gets access to the new Ringg Space.
Errors
400:Sub-workspaces cannot have their own sub-workspaces.— the key belongs to a Ringg Space that has Ringg Spaces enabled.401: Invalid or missing API key.403:Sub-workspaces are not enabled for this workspace.— Ringg Spaces are not enabled on the primary, or the key belongs to a Ringg Space.422: Missing or blankname, or a name longer than 100 characters.
After creation
Give the Ringg Space capacity with Allocate Concurrency and, in an individual family, a credit limit or balance. The response never contains an API key: generate one in the dashboard (Ringg Spaces), then create an agent with that key.Authorizations
Headers
(Required) The API key of the PRIMARY workspace. A Ringg Space's own key is refused (403, or 400 if Ringg Spaces are enabled on it).
Example:
"rg_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
Body
application/json
(Required) Display name of the new Ringg Space, 1-100 characters. Surrounding whitespace is trimmed.
Required string length:
1 - 100Example:
"Mumbai Collections"
Was this page helpful?