SalesOS

Meetings

Meeting scheduling and management

Schedule a meeting for recording POST /meetings/schedule

POST
/v1/meetings/schedule

Authorization

AuthorizationRequiredBearer <token>

Session token from the SalesOS web app.

In: header

X-API-Key<token>

API key from Settings → API Keys. Authorization: ApiKey <key> is also accepted. Each operation lists the scope it needs under x-api-key-scopes.

In: header

Request Body

application/jsonRequired

Header Parameters

Idempotency-Keystring

Unique key (a UUID is ideal) that makes this write safe to retry for 24 hours: a retry with the same body replays the original response (Idempotent-Replayed: true); the same key with a different body is a 409.

Maximum length: 255
curl -X POST "https://api.salesos.org/v1/meetings/schedule" \
  -H "Idempotency-Key: <string>" \
  -H "Authorization: Bearer <token>" \
  -H "Content-Type: application/json" \
  -d '{}'

Join an ad-hoc meeting by URL Sends the SalesOS notetaker to a meeting immediately, given just its URL.

POST
/v1/meetings/join-adhoc

Authorization

AuthorizationRequiredBearer <token>

Session token from the SalesOS web app.

In: header

X-API-Key<token>

API key from Settings → API Keys. Authorization: ApiKey <key> is also accepted. Each operation lists the scope it needs under x-api-key-scopes.

In: header

Request Body

application/jsonRequired

Header Parameters

Idempotency-Keystring

Unique key (a UUID is ideal) that makes this write safe to retry for 24 hours: a retry with the same body replays the original response (Idempotent-Replayed: true); the same key with a different body is a 409.

Maximum length: 255
curl -X POST "https://api.salesos.org/v1/meetings/join-adhoc" \
  -H "Idempotency-Key: <string>" \
  -H "Authorization: Bearer <token>" \
  -H "Content-Type: application/json" \
  -d '{}'

Validate a meeting URL without joining POST /meetings/validate-url

POST
/v1/meetings/validate-url

Authorization

AuthorizationRequiredBearer <token>

Session token from the SalesOS web app.

In: header

X-API-Key<token>

API key from Settings → API Keys. Authorization: ApiKey <key> is also accepted. Each operation lists the scope it needs under x-api-key-scopes.

In: header

Request Body

application/jsonRequired

Header Parameters

Idempotency-Keystring

Unique key (a UUID is ideal) that makes this write safe to retry for 24 hours: a retry with the same body replays the original response (Idempotent-Replayed: true); the same key with a different body is a 409.

Maximum length: 255
curl -X POST "https://api.salesos.org/v1/meetings/validate-url" \
  -H "Idempotency-Key: <string>" \
  -H "Authorization: Bearer <token>" \
  -H "Content-Type: application/json" \
  -d '{}'

Get all meetings for the current user GET /meetings

GET
/v1/meetings

Authorization

AuthorizationRequiredBearer <token>

Session token from the SalesOS web app.

In: header

X-API-Key<token>

API key from Settings → API Keys. Authorization: ApiKey <key> is also accepted. Each operation lists the scope it needs under x-api-key-scopes.

In: header

curl -X GET "https://api.salesos.org/v1/meetings" \
  -H "Authorization: Bearer <token>"

Create a meeting session manually POST /meetings

POST
/v1/meetings

Authorization

AuthorizationRequiredBearer <token>

Session token from the SalesOS web app.

In: header

X-API-Key<token>

API key from Settings → API Keys. Authorization: ApiKey <key> is also accepted. Each operation lists the scope it needs under x-api-key-scopes.

In: header

Request Body

application/jsonRequired

Header Parameters

Idempotency-Keystring

Unique key (a UUID is ideal) that makes this write safe to retry for 24 hours: a retry with the same body replays the original response (Idempotent-Replayed: true); the same key with a different body is a 409.

Maximum length: 255
curl -X POST "https://api.salesos.org/v1/meetings" \
  -H "Idempotency-Key: <string>" \
  -H "Authorization: Bearer <token>" \
  -H "Content-Type: application/json" \
  -d '{}'

Handle transcript webhook

POST
/v1/meetings/webhook/transcript

Header Parameters

x-webhook-signatureRequiredstring
Idempotency-Keystring

Unique key (a UUID is ideal) that makes this write safe to retry for 24 hours: a retry with the same body replays the original response (Idempotent-Replayed: true); the same key with a different body is a 409.

Maximum length: 255
curl -X POST "https://api.salesos.org/v1/meetings/webhook/transcript" \
  -H "x-webhook-signature: <string>" \
  -H "Idempotency-Key: <string>"

Webhook endpoint for meeting status updates POST /meetings/webhook/status

POST
/v1/meetings/webhook/status

Header Parameters

x-webhook-signatureRequiredstring
Idempotency-Keystring

Unique key (a UUID is ideal) that makes this write safe to retry for 24 hours: a retry with the same body replays the original response (Idempotent-Replayed: true); the same key with a different body is a 409.

Maximum length: 255
curl -X POST "https://api.salesos.org/v1/meetings/webhook/status" \
  -H "x-webhook-signature: <string>" \
  -H "Idempotency-Key: <string>"
curl -X GET "https://api.salesos.org/v1/meetings/webhook/zoom"

Zoom Webhook Endpoint POST /meetings/webhook/zoom Handles Zoom's challenge-response URL validation and event notifications. Configure this URL in Zoom App Marketplace: https://www.salesos.org/v1/meetings/webhook/zoom Supported Events: - endpoint.url_validation (challenge-response for URL verification) - meeting.started - meeting.ended - recording.completed - recording.transcript_completed - meeting.participant_joined - meeting.participant_left

POST
/v1/meetings/webhook/zoom

Header Parameters

x-zm-signatureRequiredstring
x-zm-request-timestampRequiredstring
Idempotency-Keystring

Unique key (a UUID is ideal) that makes this write safe to retry for 24 hours: a retry with the same body replays the original response (Idempotent-Replayed: true); the same key with a different body is a 409.

Maximum length: 255
curl -X POST "https://api.salesos.org/v1/meetings/webhook/zoom" \
  -H "x-zm-signature: <string>" \
  -H "x-zm-request-timestamp: <string>" \
  -H "Idempotency-Key: <string>"

{}

Search across all meeting transcripts POST /meetings/search

POST
/v1/meetings/search

Authorization

AuthorizationRequiredBearer <token>

Session token from the SalesOS web app.

In: header

X-API-Key<token>

API key from Settings → API Keys. Authorization: ApiKey <key> is also accepted. Each operation lists the scope it needs under x-api-key-scopes.

In: header

Request Body

application/jsonRequired

Header Parameters

Idempotency-Keystring

Unique key (a UUID is ideal) that makes this write safe to retry for 24 hours: a retry with the same body replays the original response (Idempotent-Replayed: true); the same key with a different body is a 409.

Maximum length: 255
curl -X POST "https://api.salesos.org/v1/meetings/search" \
  -H "Idempotency-Key: <string>" \
  -H "Authorization: Bearer <token>" \
  -H "Content-Type: application/json" \
  -d '{}'

Get meetings for an opportunity GET /meetings/opportunity/:opportunityId

GET
/v1/meetings/opportunity/{opportunityId}

Authorization

AuthorizationRequiredBearer <token>

Session token from the SalesOS web app.

In: header

X-API-Key<token>

API key from Settings → API Keys. Authorization: ApiKey <key> is also accepted. Each operation lists the scope it needs under x-api-key-scopes.

In: header

Path Parameters

opportunityIdRequiredstring
curl -X GET "https://api.salesos.org/v1/meetings/opportunity/<string>" \
  -H "Authorization: Bearer <token>"

Get meetings for an account GET /meetings/account/:accountId

GET
/v1/meetings/account/{accountId}

Authorization

AuthorizationRequiredBearer <token>

Session token from the SalesOS web app.

In: header

X-API-Key<token>

API key from Settings → API Keys. Authorization: ApiKey <key> is also accepted. Each operation lists the scope it needs under x-api-key-scopes.

In: header

Path Parameters

accountIdRequiredstring
curl -X GET "https://api.salesos.org/v1/meetings/account/<string>" \
  -H "Authorization: Bearer <token>"

Get attendee status

GET
/v1/meetings/attendee/status

Authorization

AuthorizationRequiredBearer <token>

Session token from the SalesOS web app.

In: header

X-API-Key<token>

API key from Settings → API Keys. Authorization: ApiKey <key> is also accepted. Each operation lists the scope it needs under x-api-key-scopes.

In: header

curl -X GET "https://api.salesos.org/v1/meetings/attendee/status" \
  -H "Authorization: Bearer <token>"
curl -X GET "https://api.salesos.org/v1/meetings/health/live"
curl -X GET "https://api.salesos.org/v1/meetings/health/ready"

Get realtime status

GET
/v1/meetings/realtime/status

Authorization

AuthorizationRequiredBearer <token>

Session token from the SalesOS web app.

In: header

X-API-Key<token>

API key from Settings → API Keys. Authorization: ApiKey <key> is also accepted. Each operation lists the scope it needs under x-api-key-scopes.

In: header

curl -X GET "https://api.salesos.org/v1/meetings/realtime/status" \
  -H "Authorization: Bearer <token>"

Get WebRTC configuration for client setup GET /meetings/realtime/config

GET
/v1/meetings/realtime/config

Authorization

AuthorizationRequiredBearer <token>

Session token from the SalesOS web app.

In: header

X-API-Key<token>

API key from Settings → API Keys. Authorization: ApiKey <key> is also accepted. Each operation lists the scope it needs under x-api-key-scopes.

In: header

curl -X GET "https://api.salesos.org/v1/meetings/realtime/config" \
  -H "Authorization: Bearer <token>"

Get ephemeral token for WebRTC transcription session POST /meetings/:id/realtime/token

POST
/v1/meetings/{id}/realtime/token

Authorization

AuthorizationRequiredBearer <token>

Session token from the SalesOS web app.

In: header

X-API-Key<token>

API key from Settings → API Keys. Authorization: ApiKey <key> is also accepted. Each operation lists the scope it needs under x-api-key-scopes.

In: header

Path Parameters

idRequiredstring

Header Parameters

Idempotency-Keystring

Unique key (a UUID is ideal) that makes this write safe to retry for 24 hours: a retry with the same body replays the original response (Idempotent-Replayed: true); the same key with a different body is a 409.

Maximum length: 255
curl -X POST "https://api.salesos.org/v1/meetings/<string>/realtime/token" \
  -H "Idempotency-Key: <string>" \
  -H "Authorization: Bearer <token>"

Exchange SDP for WebRTC connection POST /meetings/:id/realtime/sdp

POST
/v1/meetings/{id}/realtime/sdp

Authorization

AuthorizationRequiredBearer <token>

Session token from the SalesOS web app.

In: header

X-API-Key<token>

API key from Settings → API Keys. Authorization: ApiKey <key> is also accepted. Each operation lists the scope it needs under x-api-key-scopes.

In: header

Request Body

application/jsonRequired

Path Parameters

idRequiredstring

Header Parameters

Idempotency-Keystring

Unique key (a UUID is ideal) that makes this write safe to retry for 24 hours: a retry with the same body replays the original response (Idempotent-Replayed: true); the same key with a different body is a 409.

Maximum length: 255
curl -X POST "https://api.salesos.org/v1/meetings/<string>/realtime/sdp" \
  -H "Idempotency-Key: <string>" \
  -H "Authorization: Bearer <token>" \
  -H "Content-Type: application/json" \
  -d '{}'

Receive transcript segment from WebRTC data channel POST /meetings/:id/realtime/transcript This is called by the client when it receives transcription from the WebRTC data channel

POST
/v1/meetings/{id}/realtime/transcript

Authorization

AuthorizationRequiredBearer <token>

Session token from the SalesOS web app.

In: header

X-API-Key<token>

API key from Settings → API Keys. Authorization: ApiKey <key> is also accepted. Each operation lists the scope it needs under x-api-key-scopes.

In: header

Request Body

application/jsonRequired

Path Parameters

idRequiredstring

Header Parameters

Idempotency-Keystring

Unique key (a UUID is ideal) that makes this write safe to retry for 24 hours: a retry with the same body replays the original response (Idempotent-Replayed: true); the same key with a different body is a 409.

Maximum length: 255
curl -X POST "https://api.salesos.org/v1/meetings/<string>/realtime/transcript" \
  -H "Idempotency-Key: <string>" \
  -H "Authorization: Bearer <token>" \
  -H "Content-Type: application/json" \
  -d '{}'

End WebRTC transcription session and compile transcript POST /meetings/:id/realtime/end

POST
/v1/meetings/{id}/realtime/end

Authorization

AuthorizationRequiredBearer <token>

Session token from the SalesOS web app.

In: header

X-API-Key<token>

API key from Settings → API Keys. Authorization: ApiKey <key> is also accepted. Each operation lists the scope it needs under x-api-key-scopes.

In: header

Path Parameters

idRequiredstring

Header Parameters

Idempotency-Keystring

Unique key (a UUID is ideal) that makes this write safe to retry for 24 hours: a retry with the same body replays the original response (Idempotent-Replayed: true); the same key with a different body is a 409.

Maximum length: 255
curl -X POST "https://api.salesos.org/v1/meetings/<string>/realtime/end" \
  -H "Idempotency-Key: <string>" \
  -H "Authorization: Bearer <token>"

Get meeting prep

GET
/v1/meetings/prep

Authorization

AuthorizationRequiredBearer <token>

Session token from the SalesOS web app.

In: header

X-API-Key<token>

API key from Settings → API Keys. Authorization: ApiKey <key> is also accepted. Each operation lists the scope it needs under x-api-key-scopes.

In: header

Query Parameters

meetingIdRequiredstring
accountIdRequiredstring
leadIdRequiredstring
opportunityIdRequiredstring
contactIdRequiredstring
curl -X GET "https://api.salesos.org/v1/meetings/prep?meetingId=%3Cstring%3E&accountId=%3Cstring%3E&leadId=%3Cstring%3E&opportunityId=%3Cstring%3E&contactId=%3Cstring%3E" \
  -H "Authorization: Bearer <token>"

{}

Generate meeting prep for a specific meeting GET /meetings/:id/prep

GET
/v1/meetings/{id}/prep

Authorization

AuthorizationRequiredBearer <token>

Session token from the SalesOS web app.

In: header

X-API-Key<token>

API key from Settings → API Keys. Authorization: ApiKey <key> is also accepted. Each operation lists the scope it needs under x-api-key-scopes.

In: header

Path Parameters

idRequiredstring
curl -X GET "https://api.salesos.org/v1/meetings/<string>/prep" \
  -H "Authorization: Bearer <token>"

{}

Get meeting

GET
/v1/meetings/{id}

Authorization

AuthorizationRequiredBearer <token>

Session token from the SalesOS web app.

In: header

X-API-Key<token>

API key from Settings → API Keys. Authorization: ApiKey <key> is also accepted. Each operation lists the scope it needs under x-api-key-scopes.

In: header

Path Parameters

idRequiredstring
curl -X GET "https://api.salesos.org/v1/meetings/<string>" \
  -H "Authorization: Bearer <token>"

Delete a meeting DELETE /meetings/:id

DELETE
/v1/meetings/{id}

Authorization

AuthorizationRequiredBearer <token>

Session token from the SalesOS web app.

In: header

X-API-Key<token>

API key from Settings → API Keys. Authorization: ApiKey <key> is also accepted. Each operation lists the scope it needs under x-api-key-scopes.

In: header

Path Parameters

idRequiredstring
curl -X DELETE "https://api.salesos.org/v1/meetings/<string>" \
  -H "Authorization: Bearer <token>"

Update meeting status PUT /meetings/:id

PUT
/v1/meetings/{id}

Authorization

AuthorizationRequiredBearer <token>

Session token from the SalesOS web app.

In: header

X-API-Key<token>

API key from Settings → API Keys. Authorization: ApiKey <key> is also accepted. Each operation lists the scope it needs under x-api-key-scopes.

In: header

Request Body

application/jsonRequired

Path Parameters

idRequiredstring
curl -X PUT "https://api.salesos.org/v1/meetings/<string>" \
  -H "Authorization: Bearer <token>" \
  -H "Content-Type: application/json" \
  -d '{}'

Get meeting transcript GET /meetings/:id/transcript

GET
/v1/meetings/{id}/transcript

Authorization

AuthorizationRequiredBearer <token>

Session token from the SalesOS web app.

In: header

X-API-Key<token>

API key from Settings → API Keys. Authorization: ApiKey <key> is also accepted. Each operation lists the scope it needs under x-api-key-scopes.

In: header

Path Parameters

idRequiredstring
curl -X GET "https://api.salesos.org/v1/meetings/<string>/transcript" \
  -H "Authorization: Bearer <token>"

Upload a transcript manually (for testing or manual uploads) POST /meetings/:id/transcript

POST
/v1/meetings/{id}/transcript

Authorization

AuthorizationRequiredBearer <token>

Session token from the SalesOS web app.

In: header

X-API-Key<token>

API key from Settings → API Keys. Authorization: ApiKey <key> is also accepted. Each operation lists the scope it needs under x-api-key-scopes.

In: header

Request Body

application/jsonRequired

Path Parameters

idRequiredstring

Header Parameters

Idempotency-Keystring

Unique key (a UUID is ideal) that makes this write safe to retry for 24 hours: a retry with the same body replays the original response (Idempotent-Replayed: true); the same key with a different body is a 409.

Maximum length: 255
curl -X POST "https://api.salesos.org/v1/meetings/<string>/transcript" \
  -H "Idempotency-Key: <string>" \
  -H "Authorization: Bearer <token>" \
  -H "Content-Type: application/json" \
  -d '{}'

Get meeting analysis GET /meetings/:id/analysis Returns an empty object when the meeting has no analysis yet.

GET
/v1/meetings/{id}/analysis

Authorization

AuthorizationRequiredBearer <token>

Session token from the SalesOS web app.

In: header

X-API-Key<token>

API key from Settings → API Keys. Authorization: ApiKey <key> is also accepted. Each operation lists the scope it needs under x-api-key-scopes.

In: header

Path Parameters

idRequiredstring
curl -X GET "https://api.salesos.org/v1/meetings/<string>/analysis" \
  -H "Authorization: Bearer <token>"

Get audit logs for a meeting GET /meetings/:id/audit-logs

GET
/v1/meetings/{id}/audit-logs

Authorization

AuthorizationRequiredBearer <token>

Session token from the SalesOS web app.

In: header

X-API-Key<token>

API key from Settings → API Keys. Authorization: ApiKey <key> is also accepted. Each operation lists the scope it needs under x-api-key-scopes.

In: header

Path Parameters

idRequiredstring

Query Parameters

actionRequiredstring
statusRequiredstring
limitRequiredstring
offsetRequiredstring
curl -X GET "https://api.salesos.org/v1/meetings/<string>/audit-logs?action=%3Cstring%3E&status=%3Cstring%3E&limit=%3Cstring%3E&offset=%3Cstring%3E" \
  -H "Authorization: Bearer <token>"

Trigger AI analysis of a meeting POST /meetings/:id/analyze

POST
/v1/meetings/{id}/analyze

Authorization

AuthorizationRequiredBearer <token>

Session token from the SalesOS web app.

In: header

X-API-Key<token>

API key from Settings → API Keys. Authorization: ApiKey <key> is also accepted. Each operation lists the scope it needs under x-api-key-scopes.

In: header

Path Parameters

idRequiredstring

Header Parameters

Idempotency-Keystring

Unique key (a UUID is ideal) that makes this write safe to retry for 24 hours: a retry with the same body replays the original response (Idempotent-Replayed: true); the same key with a different body is a 409.

Maximum length: 255
curl -X POST "https://api.salesos.org/v1/meetings/<string>/analyze" \
  -H "Idempotency-Key: <string>" \
  -H "Authorization: Bearer <token>"

{}

Generate summary

POST
/v1/meetings/{id}/generate-summary

Authorization

AuthorizationRequiredBearer <token>

Session token from the SalesOS web app.

In: header

X-API-Key<token>

API key from Settings → API Keys. Authorization: ApiKey <key> is also accepted. Each operation lists the scope it needs under x-api-key-scopes.

In: header

Request Body

application/jsonRequired
includeActionItemsboolean
autoApproveActionsboolean
customPromptstring
meetingTypestring
Value in: "sales" | "customer" | "coaching" | "internal"

Path Parameters

idRequiredstring

Header Parameters

Idempotency-Keystring

Unique key (a UUID is ideal) that makes this write safe to retry for 24 hours: a retry with the same body replays the original response (Idempotent-Replayed: true); the same key with a different body is a 409.

Maximum length: 255
curl -X POST "https://api.salesos.org/v1/meetings/<string>/generate-summary" \
  -H "Idempotency-Key: <string>" \
  -H "Authorization: Bearer <token>" \
  -H "Content-Type: application/json" \
  -d '{
    "includeActionItems": true,
    "autoApproveActions": true,
    "customPrompt": "string",
    "meetingType": "sales"
  }'

{}

Get meeting summary GET /meetings/:id/summary Returns the previously generated summary for a meeting, or null if no summary has been generated yet.

GET
/v1/meetings/{id}/summary

Authorization

AuthorizationRequiredBearer <token>

Session token from the SalesOS web app.

In: header

X-API-Key<token>

API key from Settings → API Keys. Authorization: ApiKey <key> is also accepted. Each operation lists the scope it needs under x-api-key-scopes.

In: header

Path Parameters

idRequiredstring
curl -X GET "https://api.salesos.org/v1/meetings/<string>/summary" \
  -H "Authorization: Bearer <token>"

{}

Approve and create action items from meeting summary POST /meetings/:id/approve-actions Allows selective approval of extracted action items. Creates Tasks and/or CoachingActionItems based on options.

POST
/v1/meetings/{id}/approve-actions

Authorization

AuthorizationRequiredBearer <token>

Session token from the SalesOS web app.

In: header

X-API-Key<token>

API key from Settings → API Keys. Authorization: ApiKey <key> is also accepted. Each operation lists the scope it needs under x-api-key-scopes.

In: header

Request Body

application/jsonRequired
approvedActionIdsRequiredarray<string>
rejectedActionIdsarray<string>
modificationsarray<object>
createTasksboolean
createCoachingActionItemsboolean

Path Parameters

idRequiredstring

Header Parameters

Idempotency-Keystring

Unique key (a UUID is ideal) that makes this write safe to retry for 24 hours: a retry with the same body replays the original response (Idempotent-Replayed: true); the same key with a different body is a 409.

Maximum length: 255
curl -X POST "https://api.salesos.org/v1/meetings/<string>/approve-actions" \
  -H "Idempotency-Key: <string>" \
  -H "Authorization: Bearer <token>" \
  -H "Content-Type: application/json" \
  -d '{
    "approvedActionIds": [
      "string"
    ],
    "rejectedActionIds": [
      "string"
    ],
    "modifications": [
      {
        "actionId": "string",
        "owner": "string",
        "ownerEmail": "string",
        "dueDate": "string",
        "priority": "string",
        "title": "string"
      }
    ],
    "createTasks": true,
    "createCoachingActionItems": true
  }'

Re-sync transcript from Attendee and re-analyze POST /meetings/:id/resync

POST
/v1/meetings/{id}/resync

Authorization

AuthorizationRequiredBearer <token>

Session token from the SalesOS web app.

In: header

X-API-Key<token>

API key from Settings → API Keys. Authorization: ApiKey <key> is also accepted. Each operation lists the scope it needs under x-api-key-scopes.

In: header

Path Parameters

idRequiredstring

Header Parameters

Idempotency-Keystring

Unique key (a UUID is ideal) that makes this write safe to retry for 24 hours: a retry with the same body replays the original response (Idempotent-Replayed: true); the same key with a different body is a 409.

Maximum length: 255
curl -X POST "https://api.salesos.org/v1/meetings/<string>/resync" \
  -H "Idempotency-Key: <string>" \
  -H "Authorization: Bearer <token>"

Get action items from a meeting GET /meetings/:id/action-items

GET
/v1/meetings/{id}/action-items

Authorization

AuthorizationRequiredBearer <token>

Session token from the SalesOS web app.

In: header

X-API-Key<token>

API key from Settings → API Keys. Authorization: ApiKey <key> is also accepted. Each operation lists the scope it needs under x-api-key-scopes.

In: header

Path Parameters

idRequiredstring
curl -X GET "https://api.salesos.org/v1/meetings/<string>/action-items" \
  -H "Authorization: Bearer <token>"

[
  {}
]

Get insights from a meeting GET /meetings/:id/insights

GET
/v1/meetings/{id}/insights

Authorization

AuthorizationRequiredBearer <token>

Session token from the SalesOS web app.

In: header

X-API-Key<token>

API key from Settings → API Keys. Authorization: ApiKey <key> is also accepted. Each operation lists the scope it needs under x-api-key-scopes.

In: header

Path Parameters

idRequiredstring
curl -X GET "https://api.salesos.org/v1/meetings/<string>/insights" \
  -H "Authorization: Bearer <token>"

Join meeting with bot

POST
/v1/meetings/{id}/bot/join

Authorization

AuthorizationRequiredBearer <token>

Session token from the SalesOS web app.

In: header

X-API-Key<token>

API key from Settings → API Keys. Authorization: ApiKey <key> is also accepted. Each operation lists the scope it needs under x-api-key-scopes.

In: header

Path Parameters

idRequiredstring

Header Parameters

Idempotency-Keystring

Unique key (a UUID is ideal) that makes this write safe to retry for 24 hours: a retry with the same body replays the original response (Idempotent-Replayed: true); the same key with a different body is a 409.

Maximum length: 255
curl -X POST "https://api.salesos.org/v1/meetings/<string>/bot/join" \
  -H "Idempotency-Key: <string>" \
  -H "Authorization: Bearer <token>"

Manually trigger bot to leave a meeting POST /meetings/:id/bot/leave

POST
/v1/meetings/{id}/bot/leave

Authorization

AuthorizationRequiredBearer <token>

Session token from the SalesOS web app.

In: header

X-API-Key<token>

API key from Settings → API Keys. Authorization: ApiKey <key> is also accepted. Each operation lists the scope it needs under x-api-key-scopes.

In: header

Path Parameters

idRequiredstring

Header Parameters

Idempotency-Keystring

Unique key (a UUID is ideal) that makes this write safe to retry for 24 hours: a retry with the same body replays the original response (Idempotent-Replayed: true); the same key with a different body is a 409.

Maximum length: 255
curl -X POST "https://api.salesos.org/v1/meetings/<string>/bot/leave" \
  -H "Idempotency-Key: <string>" \
  -H "Authorization: Bearer <token>"

Get bot status for a meeting GET /meetings/:id/bot/status

GET
/v1/meetings/{id}/bot/status

Authorization

AuthorizationRequiredBearer <token>

Session token from the SalesOS web app.

In: header

X-API-Key<token>

API key from Settings → API Keys. Authorization: ApiKey <key> is also accepted. Each operation lists the scope it needs under x-api-key-scopes.

In: header

Path Parameters

idRequiredstring
curl -X GET "https://api.salesos.org/v1/meetings/<string>/bot/status" \
  -H "Authorization: Bearer <token>"

Get live transcript for an active meeting GET /meetings/:id/bot/transcript

GET
/v1/meetings/{id}/bot/transcript

Authorization

AuthorizationRequiredBearer <token>

Session token from the SalesOS web app.

In: header

X-API-Key<token>

API key from Settings → API Keys. Authorization: ApiKey <key> is also accepted. Each operation lists the scope it needs under x-api-key-scopes.

In: header

Path Parameters

idRequiredstring
curl -X GET "https://api.salesos.org/v1/meetings/<string>/bot/transcript" \
  -H "Authorization: Bearer <token>"

Check if Zoom SDK bot is configured GET /meetings/bots/configured

GET
/v1/meetings/bots/configured

Authorization

AuthorizationRequiredBearer <token>

Session token from the SalesOS web app.

In: header

X-API-Key<token>

API key from Settings → API Keys. Authorization: ApiKey <key> is also accepted. Each operation lists the scope it needs under x-api-key-scopes.

In: header

curl -X GET "https://api.salesos.org/v1/meetings/bots/configured" \
  -H "Authorization: Bearer <token>"