Meeting connections

An account's Zoom and Webex connections, and the hosted flow that creates them.

Guides: Meetings.

MethodPathOperationScope
GET/v1/accounts/{accountId}/meeting-connectionsList an account's meeting connectionsread
DELETE/v1/accounts/{accountId}/meeting-connections/{service}Remove a meeting connectionwrite
POST/v1/accounts/{accountId}/meeting-connect-sessionsCreate a hosted meeting connect sessionwrite
GET
/v1/accounts/{accountId}/meeting-connections

Runs in your browser against api.workwae.com with the key you enter. Use a read-only key, limited to a test account if you can.

Required scope: read.

Path Parameters

accountId*string
Formatuuid

Response Body

OK

application/json
  1. response
items*array<>
Example Request
curl -X GET 'https://api.workwae.com/v1/accounts/6f1c2a4e-8b3d-4e5f-9a7b-1c2d3e4f5a6b/meeting-connections'
Example Response
{  "items": [    {      "service": "zoom",      "email": "string",      "displayName": "string",      "meetingAppId": "de5403a8-6991-4374-9226-7c23a92df426",      "status": "active",      "statusReason": "string",      "createdAt": "2026-05-04T09:30:00.000Z",      "updatedAt": "2026-05-04T09:30:00.000Z"    }  ]}
DELETE
/v1/accounts/{accountId}/meeting-connections/{service}

Runs against the live API with the key you enter: this change really happens. Use a key limited to a test account.

Deletes the grant (and revokes it at Zoom); meetings created with it stay. Later events use the tenant's server app, if any. Allowed without the meetings module, so a tenant can remove a grant it no longer uses.

Required scope: write.

Path Parameters

accountId*string
Formatuuid
service*string
Value in"zoom""webex"

Response Body

OK

application/json
  1. response
Example Request
curl -X DELETE 'https://api.workwae.com/v1/accounts/6f1c2a4e-8b3d-4e5f-9a7b-1c2d3e4f5a6b/meeting-connections/zoom'
Example Response
null
POST
/v1/accounts/{accountId}/meeting-connect-sessions

Runs against the live API with the key you enter: this change really happens. Use a key limited to a test account.

Returns a link to the hosted page where the account's user signs in to the service; the browser then returns to redirectUri with status=success|error, service, error and state, or without redirectUri to Workwae's own confirmation page, which needs no allowlist entry. The sign-in passes a Continue page on the API origin naming the tenant, the service and the account, and must finish in the browser that pressed Continue (an HttpOnly cookie on the API origin); a callback in any other browser renders an error page and connects nothing. A session yields at most one grant: once one sign-in completed it, the others end with error=session_used, and one completing after expiresAt ends with error=session_expired. Connecting again replaces the account's grant for the service.

Required scope: write.

Path Parameters

accountId*string
Formatuuid

Request Body

application/json
  1. body
service*MeetingService
Value in"zoom""webex"
redirectUri?string
Formaturi
meetingAppId?string
Formatuuid
state?string
Lengthlength <= 1024
ttlSeconds?integer
Range60 <= value <= 86400
Default3600

Response Body

OK

application/json
  1. response
id*string
Formatuuid
url*string
Formaturi
expiresAt*string
Formatdate-time
Example Request
curl -X POST 'https://api.workwae.com/v1/accounts/6f1c2a4e-8b3d-4e5f-9a7b-1c2d3e4f5a6b/meeting-connect-sessions' \  -H 'Content-Type: application/json' \  -d '{  "service": "zoom"}'
Example Response
{  "id": "c4e6a8b0-1d3f-4a5c-8e7b-9d1f3a5c7e9b",  "url": "https://app.example.com/",  "expiresAt": "2026-05-04T09:30:00.000Z"}