Jigglewire API

Jigglewire is a cloud business phone system. The API exposes your company's call log, extensions and messages, and can place calls.

Base URL: https://jigglewire.tone.fyi

Authentication

Create an API key in the Jigglewire console under API keys. Keys carry scopes; a request that needs a scope the key doesn't have gets 403 with insufficient_scope.

undefined

Scopes

ReadCallLogRead the company call log
ReadAccountsRead account and extension info
ReadMessagesRead messages
ReadPresenceRead presence
RingOutPlace calls (RingOut)
WebhookSubscriptionsCreate webhook subscriptions
EditAccountsEdit account settings

Rate limits

Each account can make 10 requests per 60 seconds. Over the limit, requests get 429 with a Retry-After header. Responses carry X-Rate-Limit-Limit, X-Rate-Limit-Remaining and X-Rate-Limit-Window.

Pagination

List endpoints return records, paging and navigation. When more results exist, navigation.nextPage.uri holds the URL of the next page.

Times

Timestamps are ISO 8601 with a UTC offset.

Errors

Errors return a JSON body: {"error": {"code": "...", "message": "..."}}.

Endpoints

GET /restapi/v1.0/account/~/call-log

Company call log, newest first.

Scope: ReadCallLog

dateFrom, dateToTime range (ISO 8601). Default: the last 24 hours.
page, perPagePage number and size (max 1000). Follow navigation.nextPage.uri.

This endpoint is in the Heavy usage group: 10 requests per 60 seconds.

POST /restapi/v1.0/account/~/extension/~/ring-out

Place a call: ring the caller's own phone, then connect to the number in to.

Scope: RingOut

Body: JSON

toNumber to call, E.164 (required).
fromYour extension's phone number.

GET /restapi/v1.0/account/~/extension

Extensions (users and queues) on the account.

Scope: ReadAccounts

Webhooks

Webhooks are signed following the Standard Webhooks specification (webhook-id, webhook-timestamp, webhook-signature). Deliveries are retried on failure, and may occasionally arrive more than once.