Put Profile
Create or update the profile (admin+). Omitted fields are unchanged; `null` or blank text clears a field; `icp` replaces the whole ICP. 422 for an invalid website.
API key access
admin scope with an API key (ro_pat_...). A signed-in session uses the caller's role./api/v1/workspaces/current/profileAccess token from /api/v1/auth/login, or an API key (ro_pat_..., RO-176) from /api/v1/workspaces/current/api-keys: the key implies its workspace and needs the route's scope. MCP connectors (/api/v1/mcp only) may use an OAuth access token (ro_oat_..., RO-284).
In: header
Header Parameters
Id of the workspace to act on (must be a member).
Company website; https:// is added when no scheme is given.
length <= 2048length <= 4000length <= 4000length <= 80Physical mailing address shown in marketing email footers (CAN-SPAM).
length <= 500true marks onboarding complete (first timestamp kept); false re-opens it.
Response Body
curl -X PUT "http://localhost:8000/api/v1/workspaces/current/profile" \ -H "X-Workspace-Id: string" \ -H "Content-Type: application/json" \ -d '{}'{
"workspace_id": "0967198e-ec7b-4c6b-b4d3-f71244cadbe9",
"website": "string",
"company_description": "string",
"offer": "string",
"icp": {
"industries": [
[
"B2B SaaS",
"IT services"
]
],
"company_sizes": [
"1-10"
],
"titles": [
[
"Head of Sales"
]
],
"geos": [
[
"US",
"DACH"
]
],
"pain_points": [
[
"Not enough qualified pipeline"
]
]
},
"tone": {},
"persona_name": "string",
"email_approval": "all_steps",
"postal_address": "string",
"onboarding_step": {},
"onboarding_completed_at": "2019-08-24T14:15:22Z",
"updated_at": "2019-08-24T14:15:22Z"
}{
"detail": [
{
"loc": [
"string"
],
"msg": "string",
"type": "string",
"input": null,
"ctx": {}
}
]
}Put Live Transfer Settings
Set the live warm-transfer target (admin+): the team's own ``phone_number`` (E.164, preferred; never one of the workspace's leads) and/or a ``sip_uri``, how long it rings (``ring_timeout_seconds``, 10-60) and when transfers are allowed (``availability``: ``business_hours``, ``always`` or ``custom`` with ``hours``). Saved even without a SIP trunk (transfers then degrade to the handoff task). 422 with the reason when invalid.
Put Voice Capacity
Set the workspace's own concurrent-call limit (admin+): a whole number from 0 (pause new AI calls; they wait) up to the platform's per-workspace limit, or ``null`` for the platform's limit. It can only lower the platform's. 422 with the reason when invalid.