API reference - Connection, inboxes, and teammates

API reference · OpenAPI specification

Endpoint definitions below are generated from the API contract. Request and response blocks describe schemas, not example payloads. required lists mandatory fields; $ref refers to a linked model. Send JSON bodies with Content-Type: application/json unless the endpoint specifies binary content.

Test API credentials and inspect their scope

GET /v1/connection

Responses

200 — Current connection; no API key or signing secret is returned.

application/json

type: object
required:
  - data
properties:
  data:
    $ref: '#/components/schemas/Connection'
  rate_limit:
    $ref: '#/components/schemas/RateLimit'

Models: Connection, RateLimit.

Errors — 400 invalid input, 401 expired/revoked/missing key, 403 scope or access denied, 404 missing/inaccessible, 409 request/state conflict, 413 oversized request or response, 415 wrong content type, 429 rate limited, or 503 unavailable. 429 includes Retry-After. All responses include X-Request-Id.

Error format, status codes, and retry guidance.

List teammates in accessible inboxes

GET /v1/members

Not available to REST API keys or service connections; these receive 403. Teammate lookup is available through Waveline's supported personal assistant connection with inboxes.read. Do not send assistant credentials to the REST API. Within that supported connection, the operation lists active teammates who participate in accessible inboxes, ordered by employee ID. It returns names and inbox memberships, not contact details. employee_id identifies a teammate in call records; user_id identifies them in ring groups.

Parameters

NameLocationRequiredDescription and constraints
inbox_idqueryNoFilter to activity involving this accessible inbox. Does not change connection access or the returned resource projection. Stable existing Waveline record ID. Keep it as a string; it may exceed JavaScript's safe integer range. Type: string maxLength: 19 pattern: "^[1-9][0-9]*$"
limitqueryNoType: integer default: 50 minimum: 1 maximum: 100
cursorqueryNoOpaque cursor from next_cursor. Reuse the same credentials, endpoint, filters, ordering, and limit. Results may change between requests; pagination does not freeze the dataset. Type: string

Responses

200 — Teammates ordered by employee ID.

application/json

allOf:
  - $ref: '#/components/schemas/Page'
  - properties:
      data:
        type: array
        items:
          $ref: '#/components/schemas/Member'

Models: Page, Member.

Errors — 400 invalid input, 401 expired/revoked/missing key, 403 scope or access denied, 404 missing/inaccessible, 409 request/state conflict, 413 oversized request or response, 415 wrong content type, 429 rate limited, or 503 unavailable. 429 includes Retry-After. All responses include X-Request-Id.

Error format, status codes, and retry guidance.

List the connection's allowed inboxes

GET /v1/inboxes

Requires inboxes.read. Returns the complete allowed inbox list. Membership fields describe the member behind a personal assistant (OAuth) connection and are null for API keys.

Responses

200 — Allowed current inboxes.

application/json

allOf:
  - $ref: '#/components/schemas/Page'
  - properties:
      data:
        type: array
        items:
          $ref: '#/components/schemas/Inbox'

Models: Page, Inbox.

Errors — 400 invalid input, 401 expired/revoked/missing key, 403 scope or access denied, 404 missing/inaccessible, 409 request/state conflict, 413 oversized request or response, 415 wrong content type, 429 rate limited, or 503 unavailable. 429 includes Retry-After. All responses include X-Request-Id.

Error format, status codes, and retry guidance.