Preview. This site is still being built. Features, prices and terms may change, and nothing here is a binding offer. Read the preview notice

Preview. Still being built; nothing here is a binding offer. Details

Communications

13 routes. Paths are relative to https://api.intersink.com/v1.

All groups

Report one finished call's quality numbers (numbers and types only; no addresses or content)

POST/comms/call-quality

Needs a signed-in user (Bearer token or access_token cookie).

One report per account per call; a second answers { stored: false, reason: duplicate }. If the person turned off call_quality in their preferences (PATCH /users/me/preferences), nothing is kept: { stored: false, reason: opted_out }. Rows hold the channel, call id and numbers only, and are deleted after 30 days. 60 reports an hour per account. A call rung through the relay (POST /e2ee/calls/:call_id/ring) takes reports only from its caller and callee for a day: anyone else gets 403 NOT_IN_CALL.

Request body application/json

FieldTypeDescription
call_idrequiredstringThe call's id (the one the call was rung with)
platformstringOne of: "ios", "android", "web", "desktop".
directionstringOne of: "outgoing", "incoming".
local_candidatesobjectLocal ICE candidates gathered, per type
local_candidates.hostnumberMinimum 0, maximum 200.
local_candidates.srflxnumberMinimum 0, maximum 200.
local_candidates.prflxnumberMinimum 0, maximum 200.
local_candidates.relaynumberMinimum 0, maximum 200.
remote_candidatesobjectRemote ICE candidates received, per type
remote_candidates.hostnumberMinimum 0, maximum 200.
remote_candidates.srflxnumberMinimum 0, maximum 200.
remote_candidates.prflxnumberMinimum 0, maximum 200.
remote_candidates.relaynumberMinimum 0, maximum 200.
selected_localstringType of the local candidate of the selected pair One of: "host", "srflx", "prflx", "relay".
selected_remotestringType of the remote candidate of the selected pair One of: "host", "srflx", "prflx", "relay".
selected_protocolstringTransport of the selected pair (tls: TURN over TLS) One of: "udp", "tcp", "tls".
rtt_msnumberRound-trip time, milliseconds (median over the call) Minimum 0, maximum 60000.
jitter_msnumberJitter, milliseconds (median over the call) Minimum 0, maximum 10000.
packet_loss_pctnumberPackets lost, percent of those expected (0 to 100) Minimum 0, maximum 100.
codecstringOne of: "opus", "pcmu", "pcma", "g722", "isac", "vp8", "vp9", "h264", "av1", "other".
duration_snumberSeconds the call was connected Minimum 0, maximum 86400.
setup_msnumberMilliseconds from start to connected Minimum 0, maximum 600000.
audio_routestringWhere the audio played for most of the call One of: "receiver", "speaker", "wired", "bluetooth", "car", "airplay", "usb", "other".
end_reasonstringOne of: "hangup", "remote_hangup", "failed", "dropped", "declined", "missed".
videobooleanVideo was on

Response

200. The payload in data is of type object.

Status, limits and this month's usage (channel managers)

GET/comms/channels/{channelId}/overview

Needs a signed-in user (Bearer token or access_token cookie).

Parameters

NameTypeDescription
channelIdrequiredstring, path

Response

200. The payload in data is not described in the spec yet.

The channel's rooms, newest first (channel managers)

GET/comms/channels/{channelId}/rooms

Needs a signed-in user (Bearer token or access_token cookie).

Parameters

NameTypeDescription
channelIdrequiredstring, path

Response

200. The payload in data is not described in the spec yet.

End a call on the channel (channel managers)

DELETE/comms/channels/{channelId}/rooms/{id}

Needs a signed-in user (Bearer token or access_token cookie).

Parameters

NameTypeDescription
channelIdrequiredstring, path
idrequiredstring, path

Response

200. The payload in data is not described in the spec yet.

Turn calls on or off for the channel (channel managers)

PUT/comms/channels/{channelId}/settings

Needs a signed-in user (Bearer token or access_token cookie).

Parameters

NameTypeDescription
channelIdrequiredstring, path

Response

200. The payload in data is not described in the spec yet.

STUN/TURN servers with TURN credentials for peer-to-peer calls

GET/comms/ice-servers

Needs a signed-in user (Bearer token or access_token cookie).

TURN URLs over UDP and TCP (3478) and, when configured, TURN over TLS (turns:, port 443). The credential is computed on the server without any network call and lives 24 hours by default (expires_at); cache the answer and ask again at refresh_at. 60 requests an hour per account.

Response

200. The payload in data is not described in the spec yet.

Open a room for a resource (or return its open one), or an ad hoc room

POST/comms/rooms

Needs a signed-in user (Bearer token or access_token cookie).

Response

201. The payload in data is of type object.

A room you can join, with who is in the call

GET/comms/rooms/{id}

Needs a signed-in user (Bearer token or access_token cookie).

Parameters

NameTypeDescription
idrequiredstring, path

Response

200. The payload in data is not described in the spec yet.

End the call for everyone (host/moderator)

DELETE/comms/rooms/{id}

Needs a signed-in user (Bearer token or access_token cookie).

Parameters

NameTypeDescription
idrequiredstring, path

Response

200. The payload in data is not described in the spec yet.

Invite people of your channel to an ad hoc room (host/moderator)

POST/comms/rooms/{id}/invite

Needs a signed-in user (Bearer token or access_token cookie).

Parameters

NameTypeDescription
idrequiredstring, path

Response

200. The payload in data is not described in the spec yet.

Remove someone from the call (host/moderator)

POST/comms/rooms/{id}/remove

Needs a signed-in user (Bearer token or access_token cookie).

Parameters

NameTypeDescription
idrequiredstring, path

Response

200. The payload in data is not described in the spec yet.

A join token for this room only, as you

POST/comms/rooms/{id}/token

Needs a signed-in user (Bearer token or access_token cookie).

Parameters

NameTypeDescription
idrequiredstring, path

Response

200. The payload in data is not described in the spec yet.

The open room of a group, business or connection, if any

GET/comms/rooms/find

Needs a signed-in user (Bearer token or access_token cookie).

Parameters

NameTypeDescription
kindrequiredstring, query
resource_idrequiredstring, query

Response

200. The payload in data is not described in the spec yet.