Browse the docs

List an account's meeting connections

get/v1/accounts/{accountId}/meeting-connections
SDK workwae.meetingConnections.list()

Errors

StatusReasonWhen
403plan_module_unavailable
The tenant's plan does not include Zoom and Webex meetings.
404account_not_found
The account does not exist, or the caller is an account token for another account.

It can also answer the errors every operation can answer. Each error's reason is the body's code.

Parameters

NameInSchema
accountIdrequiredpath
string (uuid)

Responses

  • 200OK
    application/json
    MeetingConnectionList
    • itemsarray of MeetingConnection
      Item properties
      • serviceenum
        One of"zoom""webex"
      • emailstring
      • displayNamestring or null
      • meetingAppIdstring (uuid) or null
      • statusenum
        One of"active""reauth_required"
      • statusReasonstring or null
      • createdAtstring (date-time)
      • updatedAtstring (date-time)
    Headers
    • X-Request-IdstringThe request's id: the X-Request-Id you sent when it is 1 to 128 of A-Z a-z 0-9 . _ : -, else one the API generated.
    • RateLimit-LimitintegerRequests the tightest of the plan's per-minute windows (tenant, credential) admits.
    • RateLimit-RemainingintegerRequests that window still admits.
    • RateLimit-ResetintegerSeconds until that window ends.
curl -X GET "https://api.workwae.com/v1/accounts/6f1c2a4e-8b3d-4e5f-9a7b-1c2d3e4f5a6b/meeting-connections" \
  -H "Authorization: Bearer $WORKWAE_API_KEY"

Remove a meeting connection

delete/v1/accounts/{accountId}/meeting-connections/{service}
SDK workwae.meetingConnections.delete()

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.

Errors

StatusReasonWhen
404account_not_found
The account does not exist, or the caller is an account token for another account.
404meeting_connection_not_found
The account has no connection to the service.

It can also answer the errors every operation can answer. Each error's reason is the body's code.

Parameters

NameInSchema
accountIdrequiredpath
string (uuid)
servicerequiredpath
enum
One of"zoom""webex"

Responses

  • 204OK

    No body.

    Headers
    • X-Request-IdstringThe request's id: the X-Request-Id you sent when it is 1 to 128 of A-Z a-z 0-9 . _ : -, else one the API generated.
    • RateLimit-LimitintegerRequests the tightest of the plan's per-minute windows (tenant, credential) admits.
    • RateLimit-RemainingintegerRequests that window still admits.
    • RateLimit-ResetintegerSeconds until that window ends.
curl -X DELETE "https://api.workwae.com/v1/accounts/6f1c2a4e-8b3d-4e5f-9a7b-1c2d3e4f5a6b/meeting-connections/zoom" \
  -H "Authorization: Bearer $WORKWAE_API_KEY"

Create a hosted meeting connect session

post/v1/accounts/{accountId}/meeting-connect-sessions
SDK workwae.meetingConnectSessions.create()

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.

Errors

StatusReasonWhen
400redirect_uri_not_allowed
redirectUri is not on the tenant's allowlist.
400meeting_app_mismatch
meetingAppId is not a sign-in app of the service.
400meeting_app_secret_unreadable
The meetingAppId app's secret cannot be decrypted; register the app again.
400provider_not_configured
No meetingAppId is given and the platform has no app for the service.
403plan_module_unavailable
The tenant's plan does not include Zoom and Webex meetings.
404account_not_found
The account does not exist, or the caller is an account token for another account.
422unknown_meeting_app
meetingAppId names no meeting app of the tenant.

It can also answer the errors every operation can answer. Each error's reason is the body's code.

Parameters

NameInSchema
accountIdrequiredpath
string (uuid)
Idempotency-Keyheader

Makes the request safe to retry: the first answer to the key is kept for 24 hours and answered again to the same request.

string
length 1 to 255

Request body

required
application/json
object
  • serviceenumrequired
    One of"zoom""webex"
  • redirectUristring (uri)
  • meetingAppIdstring (uuid)
  • statestring
    max length 1024
  • ttlSecondsinteger
    Default 360060 to 86400

Responses

  • 200OK
    application/json
    SessionLink
    • idstring (uuid)
    • urlstring (uri)
    • expiresAtstring (date-time)
    Headers
    • X-Request-IdstringThe request's id: the X-Request-Id you sent when it is 1 to 128 of A-Z a-z 0-9 . _ : -, else one the API generated.
    • RateLimit-LimitintegerRequests the tightest of the plan's per-minute windows (tenant, credential) admits.
    • RateLimit-RemainingintegerRequests that window still admits.
    • RateLimit-ResetintegerSeconds until that window ends.
    • Idempotent-Replayedconstanttrue when this is the kept answer to an earlier request with the same Idempotency-Key.
curl -X POST "https://api.workwae.com/v1/accounts/6f1c2a4e-8b3d-4e5f-9a7b-1c2d3e4f5a6b/meeting-connect-sessions" \
  -H "Authorization: Bearer $WORKWAE_API_KEY" \
  -H "content-type: application/json" \
  -d '{
  "service": "zoom"
}'