Docs

Developer Portal

Manage API keys, test endpoints, and review OAuth connections in one place

The Developer Portal is where you manage credentials and try the API without writing code. Sign in with your Servicebay account — the same credentials you use in the mobile app.

Admin access required

Only organisation admins can create or revoke API keys. Members can sign in but will see an empty organisation list unless an admin grants them the admin role in the Servicebay app.

Pro plan required

The organisation selector only lists organisations on an active Pro subscription. If you sign in and see a message about Pro, upgrade the org in the Servicebay app. If you see a message about needing the admin role instead, ask an existing admin to promote you — Pro alone is not enough without admin.

Organisation selector

Every tab in the portal acts on a single organisation at a time. Pick yours from the dropdown in the top bar. Your choice is remembered in this browser (localStorage) so it persists across visits.

API keys, playground requests, and connected-app grants are all scoped to the organisation currently selected — switch orgs before creating a key or sending a test request.

API Keys

Open API Keys to create, inspect, and revoke keys for the selected organisation.

Create a key

Click Create API Key, give it a descriptive name (e.g. production-intake-form), and copy the value from the dialog.

The secret is shown only once. Store it in a password manager or environment variable before closing the dialog. If you lose it, revoke the key and create a new one.

Monitor usage

The table shows when each key was created, last used, and how many requests it has made. Use separate keys per integration so you can revoke one without breaking the others.

Revoke immediately if compromised

Revocation takes effect instantly — the next API call with that key returns 401. There is no undo; create a replacement key and update your integrations.

Playground tab cache

When you create a key in this browser tab, the portal caches its value in session storage (cleared when you close the tab). The API Playground can then auto-select that key so you can send test requests without pasting the secret again. Keys created in other tabs or before this session still require a manual paste.

The cache is per browser tab and never written to disk. It is a convenience for testing — production integrations should read the key from a secret store, not from session storage.

API Playground

The playground lets you call any documented endpoint with your own key and see the raw response — status code, headers, body, and round-trip time.

Pick an endpoint

Browse by resource tag (Customers, Jobs, Invoices, …). Path and query parameters are filled in from the OpenAPI spec.

Set authentication

Select one of your keys or paste a value into the API Key field. orgId is filled from the organisation selector automatically.

Send and inspect

Responses show rate-limit headers alongside the JSON body. Copy the body to clipboard with one click.

Keys you did not create in this tab

If you select a key whose value is not cached, paste it manually or create a fresh key from the API Keys tab. The playground never stores keys server-side.

For the full request/response schemas and code samples in cURL, JavaScript, and Python, use the API Reference pages — each resource page embeds an interactive reference powered by the same OpenAPI spec.

Connected Apps

Connected Apps lists every OAuth grant you have approved — third-party integrations and AI agents that access your organisations with scoped permissions instead of a long-lived API key.

ColumnMeaning
AppRegistered client name and homepage
OrganisationWhich org the grant applies to
PermissionsApproved scopes (e.g. customers:read, tickets:write)
ConnectedWhen you approved the grant

Revoking a grant invalidates the app's tokens within a few minutes. The app can request access again through the normal OAuth consent flow.

Building an OAuth client? See OAuth for registration and token exchange. For AI agents over MCP, see MCP.

Where to next