Reference
API Reference
Preview: features and APIs may change.
PDF uses your browser’s print dialog. It is not a hosted export service.
Public API reference
API reference. This page sends no requests.
1. Description
Draft getCurrentUser
2. Address
GET /me
Relative to your configured Control API base. No hosted endpoint is contacted by this page.
3. Request parameters
No property table is declared at this schema level.
4. Response parameters
200
Locally implemented safe current User response.
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
data | object | response | Required | #/components/schemas/CurrentUserResource |
Required applies when this object is present.
response.data
Required applies when this object is present.
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
id | string | response | Required | No description. |
status | string | response | Required | No description. |
display_name | string | response | Required | No description. |
created_at | string | response | Required | No description. |
memberships | array<object> | response | Required | No description. |
memberships_truncated | boolean | response | Required | No description. |
projects | array<object> | response | Required | No description. |
projects_truncated | boolean | response | Required | No description. |
response.data.memberships[]
Required applies when this object is present.
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
organization_id | string | response | Required | No description. |
user_id | string | response | Required | No description. |
role | string | response | Required | No description. |
status | string | response | Required | No description. |
created_at | string | response | Required | No description. |
response.data.projects[]
Required applies when this object is present.
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
id | string | response | Required | No description. |
organization_id | string | response | Required | No description. |
name | string | response | Required | No description. |
status | string | response | Required | No description. |
default_region | string | response | Required | No description. |
created_at | string | response | Required | No description. |
environments | array<object> | response | Required | No description. |
response.data.projects[].environments[]
Required applies when this object is present.
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
id | string | response | Required | No description. |
kind | string | response | Required | No description. |
status | string | response | Required | No description. |
enabled | boolean | response | Required | No description. |
5. Request example
No request example.
6. Response example
No response example. See the response parameters above.
7. Errors
default: Canonical OneSay error response.
The public operations of the OneSay Control API, generated from its OpenAPI document. Reference Catalog lists the capabilities, actions, Grants, events, error codes and MCP tools.
The operation explorer on this page shows the address, request and response fields, examples and errors of each operation.
Operations#
Every operation with its method, path and the Grants it requires.
| Operation | Method | Path | Grants |
|---|---|---|---|
getCurrentUser | GET | /me | none (authentication policy) |
createOrganization | POST | /organizations | none (authentication policy) |
listOrganizations | GET | /organizations | organization.read |
getOrganization | GET | /organizations/{organization_id} | organization.read |
updateOrganization | PATCH | /organizations/{organization_id} | organization.manage |
listOrganizationMemberships | GET | /organizations/{organization_id}/memberships | organization.read |
createOrganizationMembership | POST | /organizations/{organization_id}/memberships | organization.manage |
createProject | POST | /projects | project.manage |
listProjects | GET | /projects | project.read |
getProject | GET | /projects/{project_id} | project.read |
updateProject | PATCH | /projects/{project_id} | project.manage |
archiveProject | POST | /projects/{project_id}/archive | project.manage |
listProjectEnvironments | GET | /projects/{project_id}/environments | project.read |
createApplication | POST | /applications | application.manage |
listApplications | GET | /applications | application.read |
getApplication | GET | /applications/{application_id} | application.read |
updateApplication | PATCH | /applications/{application_id} | application.manage |
revokeApplication | POST | /applications/{application_id}/revoke | application.manage |
createCredential | POST | /credentials | credential.create |
listCredentials | GET | /credentials | credential.read |
getCredential | GET | /credentials/{credential_id} | credential.read |
rotateCredential | POST | /credentials/{credential_id}/rotate | credential.create |
revokeCredential | POST | /credentials/{credential_id}/revoke | credential.revoke |
createDevice | POST | /devices | device.create |
listDevices | GET | /devices | device.read |
getDevice | GET | /devices/{device_id} | device.read |
updateDevice | PATCH | /devices/{device_id} | device.update |
publishDeviceCapabilities | PUT | /devices/{device_id}/capabilities | device.capabilities.publish |
createDeviceProvisioningSession | POST | /devices/{device_id}/provisioning-sessions | device.update |
exchangeDeviceAccessToken | POST | /device-access-tokens | none (authentication policy) |
exchangeDeviceProvisioningCode | POST | /device-provisioning/exchange | none (authentication policy) |
rotateDeviceCredential | POST | /devices/{device_id}/credentials/rotate | device.update |
revokeDevice | POST | /devices/{device_id}/revoke | device.revoke |
createSource | POST | /sources | source.create |
listSources | GET | /sources | source.read |
getSource | GET | /sources/{source_id} | source.read |
createContextSnapshot | POST | /context-snapshots | context_snapshot.create |
getContextSnapshot | GET | /context-snapshots/{context_snapshot_id} | context_snapshot.read |
createRoom | POST | /rooms | room.create |
listRooms | GET | /rooms | room.read |
getRoom | GET | /rooms/{room_id} | room.read |
closeRoom | POST | /rooms/{room_id}/close | room.close |
listRoomParticipants | GET | /rooms/{room_id}/participants | participant.read |
listRoomSignals | GET | /rooms/{room_id}/signals | room.read |
createRealtimeConnection | POST | /realtime/connections | room.join |
resumeRealtimeConnection | POST | /realtime/connections/resume | room.join |
getRealtimeCapabilities | GET | /realtime/capabilities | capability.read |
createTask | POST | /tasks | task.dictation.create |
listTasks | GET | /tasks | task.read |
getTask | GET | /tasks/{task_id} | task.read |
cancelTask | POST | /tasks/{task_id}/cancel | task.cancel |
getUsageSummary | GET | /usage/summary | usage.read |
listUsageEvents | GET | /usage/events | usage.read |
listDeveloperLogs | GET | /logs | logs.read |
getDeveloperLogTimeline | GET | /logs/{request_id} | logs.read |
listCapabilities | GET | /capabilities | capability.read |
getCapability | GET | /capabilities/{capability_id} | capability.read |
listActions | GET | /actions | capability.read |
getAction | GET | /actions/{action_id} | capability.read |
getApplicationRequirements | GET | /applications/{application_id}/requirements | application.requirements.read |
replaceApplicationRequirements | PUT | /applications/{application_id}/requirements | application.manage |
evaluateApplicationCompatibility | GET | /applications/{application_id}/compatibility | application.compatibility.read |
createAppSession | POST | /app-sessions | app.session.create |
getAppSession | GET | /app-sessions/{app_session_id} | app.session.read |
closeAppSession | POST | /app-sessions/{app_session_id}/close | app.session.close |
revokeAppSession | POST | /app-sessions/{app_session_id}/revoke | app.session.revoke |
getAppSessionCapabilities | GET | /app-sessions/{app_session_id}/capabilities | app.session.capabilities.read |
createConsentRequest | POST | /consent-requests | none (authentication policy) |
getConsentRequest | GET | /consent-requests/{consent_request_id} | none (authentication policy) |
decideConsentRequest | POST | /consent-requests/{consent_request_id}/decision | none (authentication policy) |
createDelegation | POST | /delegations | delegation.create |
listDelegations | GET | /delegations | delegation.read |
getDelegation | GET | /delegations/{delegation_id} | delegation.read |
revokeDelegation | POST | /delegations/{delegation_id}/revoke | delegation.revoke |
enableDataSyncScope | POST | /data-sync/scopes/enable | data.sync.control |
disableDataSyncScopeRetainingData | POST | /data-sync/scopes/disable-retain | data.sync.control |
readDataSyncChanges | GET | /data-sync/changes | data.sync.read |
createDataSyncSnapshot | POST | /data-sync/snapshots | data.sync.read |
readDataSyncSnapshot | GET | /data-sync/snapshots/{snapshot_id} | data.sync.read |
completeDataSyncSnapshot | POST | /data-sync/snapshots/{snapshot_id}/complete | data.sync.read |
createRTCConnection | POST | /rtc/connections | room.join |
getRTCConnection | GET | /rtc/connections/{connection_id} | room.join |
revokeRTCConnection | POST | /rtc/connections/{connection_id}/revoke | room.join |
getRTCMediaKeys | GET | /rtc/connections/{connection_id}/media-keys | room.join |
createRTCPublication | POST | /rooms/{room_id}/rtc/publications | room.join, source.use |
endRTCPublication | POST | /rooms/{room_id}/rtc/publications/{publication_id}/end | room.join |
updateRTCSubscriptions | PUT | /rooms/{room_id}/rtc/subscriptions | room.join, rtc.subscription.configure |
createAgentExecution | POST | /rooms/{room_id}/agent-executions | room.join, source.use, signal.audio.subscribe, agent.execution.create |
getAgentExecution | GET | /rooms/{room_id}/agent-executions/{agent_execution_id} | agent.execution.read |
stopAgentExecution | POST | /rooms/{room_id}/agent-executions/{agent_execution_id}/stop | agent.execution.stop |
updateRTCPacketPolicy | PUT | /rooms/{room_id}/rtc/packet-policy | room.join, rtc.packet.configure |
View original Markdown
# API Reference
The public operations of the OneSay Control API, generated from its OpenAPI document. [Reference Catalog](catalog.md) lists the capabilities, actions, Grants, events, error codes and MCP tools.
The operation explorer on this page shows the address, request and response fields, examples and errors of each operation.
## Operations
Every operation with its method, path and the Grants it requires.
| Operation | Method | Path | Grants |
|---|---|---|---|
| `getCurrentUser` | GET | `/me` | none (authentication policy) |
| `createOrganization` | POST | `/organizations` | none (authentication policy) |
| `listOrganizations` | GET | `/organizations` | `organization.read` |
| `getOrganization` | GET | `/organizations/{organization_id}` | `organization.read` |
| `updateOrganization` | PATCH | `/organizations/{organization_id}` | `organization.manage` |
| `listOrganizationMemberships` | GET | `/organizations/{organization_id}/memberships` | `organization.read` |
| `createOrganizationMembership` | POST | `/organizations/{organization_id}/memberships` | `organization.manage` |
| `createProject` | POST | `/projects` | `project.manage` |
| `listProjects` | GET | `/projects` | `project.read` |
| `getProject` | GET | `/projects/{project_id}` | `project.read` |
| `updateProject` | PATCH | `/projects/{project_id}` | `project.manage` |
| `archiveProject` | POST | `/projects/{project_id}/archive` | `project.manage` |
| `listProjectEnvironments` | GET | `/projects/{project_id}/environments` | `project.read` |
| `createApplication` | POST | `/applications` | `application.manage` |
| `listApplications` | GET | `/applications` | `application.read` |
| `getApplication` | GET | `/applications/{application_id}` | `application.read` |
| `updateApplication` | PATCH | `/applications/{application_id}` | `application.manage` |
| `revokeApplication` | POST | `/applications/{application_id}/revoke` | `application.manage` |
| `createCredential` | POST | `/credentials` | `credential.create` |
| `listCredentials` | GET | `/credentials` | `credential.read` |
| `getCredential` | GET | `/credentials/{credential_id}` | `credential.read` |
| `rotateCredential` | POST | `/credentials/{credential_id}/rotate` | `credential.create` |
| `revokeCredential` | POST | `/credentials/{credential_id}/revoke` | `credential.revoke` |
| `createDevice` | POST | `/devices` | `device.create` |
| `listDevices` | GET | `/devices` | `device.read` |
| `getDevice` | GET | `/devices/{device_id}` | `device.read` |
| `updateDevice` | PATCH | `/devices/{device_id}` | `device.update` |
| `publishDeviceCapabilities` | PUT | `/devices/{device_id}/capabilities` | `device.capabilities.publish` |
| `createDeviceProvisioningSession` | POST | `/devices/{device_id}/provisioning-sessions` | `device.update` |
| `exchangeDeviceAccessToken` | POST | `/device-access-tokens` | none (authentication policy) |
| `exchangeDeviceProvisioningCode` | POST | `/device-provisioning/exchange` | none (authentication policy) |
| `rotateDeviceCredential` | POST | `/devices/{device_id}/credentials/rotate` | `device.update` |
| `revokeDevice` | POST | `/devices/{device_id}/revoke` | `device.revoke` |
| `createSource` | POST | `/sources` | `source.create` |
| `listSources` | GET | `/sources` | `source.read` |
| `getSource` | GET | `/sources/{source_id}` | `source.read` |
| `createContextSnapshot` | POST | `/context-snapshots` | `context_snapshot.create` |
| `getContextSnapshot` | GET | `/context-snapshots/{context_snapshot_id}` | `context_snapshot.read` |
| `createRoom` | POST | `/rooms` | `room.create` |
| `listRooms` | GET | `/rooms` | `room.read` |
| `getRoom` | GET | `/rooms/{room_id}` | `room.read` |
| `closeRoom` | POST | `/rooms/{room_id}/close` | `room.close` |
| `listRoomParticipants` | GET | `/rooms/{room_id}/participants` | `participant.read` |
| `listRoomSignals` | GET | `/rooms/{room_id}/signals` | `room.read` |
| `createRealtimeConnection` | POST | `/realtime/connections` | `room.join` |
| `resumeRealtimeConnection` | POST | `/realtime/connections/resume` | `room.join` |
| `getRealtimeCapabilities` | GET | `/realtime/capabilities` | `capability.read` |
| `createTask` | POST | `/tasks` | `task.dictation.create` |
| `listTasks` | GET | `/tasks` | `task.read` |
| `getTask` | GET | `/tasks/{task_id}` | `task.read` |
| `cancelTask` | POST | `/tasks/{task_id}/cancel` | `task.cancel` |
| `getUsageSummary` | GET | `/usage/summary` | `usage.read` |
| `listUsageEvents` | GET | `/usage/events` | `usage.read` |
| `listDeveloperLogs` | GET | `/logs` | `logs.read` |
| `getDeveloperLogTimeline` | GET | `/logs/{request_id}` | `logs.read` |
| `listCapabilities` | GET | `/capabilities` | `capability.read` |
| `getCapability` | GET | `/capabilities/{capability_id}` | `capability.read` |
| `listActions` | GET | `/actions` | `capability.read` |
| `getAction` | GET | `/actions/{action_id}` | `capability.read` |
| `getApplicationRequirements` | GET | `/applications/{application_id}/requirements` | `application.requirements.read` |
| `replaceApplicationRequirements` | PUT | `/applications/{application_id}/requirements` | `application.manage` |
| `evaluateApplicationCompatibility` | GET | `/applications/{application_id}/compatibility` | `application.compatibility.read` |
| `createAppSession` | POST | `/app-sessions` | `app.session.create` |
| `getAppSession` | GET | `/app-sessions/{app_session_id}` | `app.session.read` |
| `closeAppSession` | POST | `/app-sessions/{app_session_id}/close` | `app.session.close` |
| `revokeAppSession` | POST | `/app-sessions/{app_session_id}/revoke` | `app.session.revoke` |
| `getAppSessionCapabilities` | GET | `/app-sessions/{app_session_id}/capabilities` | `app.session.capabilities.read` |
| `createConsentRequest` | POST | `/consent-requests` | none (authentication policy) |
| `getConsentRequest` | GET | `/consent-requests/{consent_request_id}` | none (authentication policy) |
| `decideConsentRequest` | POST | `/consent-requests/{consent_request_id}/decision` | none (authentication policy) |
| `createDelegation` | POST | `/delegations` | `delegation.create` |
| `listDelegations` | GET | `/delegations` | `delegation.read` |
| `getDelegation` | GET | `/delegations/{delegation_id}` | `delegation.read` |
| `revokeDelegation` | POST | `/delegations/{delegation_id}/revoke` | `delegation.revoke` |
| `enableDataSyncScope` | POST | `/data-sync/scopes/enable` | `data.sync.control` |
| `disableDataSyncScopeRetainingData` | POST | `/data-sync/scopes/disable-retain` | `data.sync.control` |
| `readDataSyncChanges` | GET | `/data-sync/changes` | `data.sync.read` |
| `createDataSyncSnapshot` | POST | `/data-sync/snapshots` | `data.sync.read` |
| `readDataSyncSnapshot` | GET | `/data-sync/snapshots/{snapshot_id}` | `data.sync.read` |
| `completeDataSyncSnapshot` | POST | `/data-sync/snapshots/{snapshot_id}/complete` | `data.sync.read` |
| `createRTCConnection` | POST | `/rtc/connections` | `room.join` |
| `getRTCConnection` | GET | `/rtc/connections/{connection_id}` | `room.join` |
| `revokeRTCConnection` | POST | `/rtc/connections/{connection_id}/revoke` | `room.join` |
| `getRTCMediaKeys` | GET | `/rtc/connections/{connection_id}/media-keys` | `room.join` |
| `createRTCPublication` | POST | `/rooms/{room_id}/rtc/publications` | `room.join`, `source.use` |
| `endRTCPublication` | POST | `/rooms/{room_id}/rtc/publications/{publication_id}/end` | `room.join` |
| `updateRTCSubscriptions` | PUT | `/rooms/{room_id}/rtc/subscriptions` | `room.join`, `rtc.subscription.configure` |
| `createAgentExecution` | POST | `/rooms/{room_id}/agent-executions` | `room.join`, `source.use`, `signal.audio.subscribe`, `agent.execution.create` |
| `getAgentExecution` | GET | `/rooms/{room_id}/agent-executions/{agent_execution_id}` | `agent.execution.read` |
| `stopAgentExecution` | POST | `/rooms/{room_id}/agent-executions/{agent_execution_id}/stop` | `agent.execution.stop` |
| `updateRTCPacketPolicy` | PUT | `/rooms/{room_id}/rtc/packet-policy` | `room.join`, `rtc.packet.configure` |