Organize keys with Apps
Apps are an optional, purely additive grouping layer on top of raw API keys — give a set of keys a name and logo so a merchant sees a real integration on the consent screen, not a bare, unbranded request.
If you only ever use one key for one integration, you don’t need this — everything works identically with no App assigned. Apps start to matter once a merchant should recognize who’s asking when your key requests a Connection: an agency running keys for several client integrations, or a product with a distinct public name different from your account name, both benefit from the merchant seeing that name and logo on the real consent page rather than an anonymous request.
- 1
Create an App from the dashboard
Go to the Apps page in your developer.askbiz.co dashboard and click "New app." A name is required; logo URL and redirect URI are both optional, and both must be https:// if set. You can hold up to 10 apps per account.
- 2
Link an existing key to it
There isn’t a dashboard control for this yet — the underlying API supports it today via a direct PATCH call with app_id, made from your own logged-in browser session (this endpoint is session-authenticated, the same as key creation itself, not something a third-party server calls with an x-api-key). Find your key’s id and your app’s id from the dashboard, then run this once.
// Run from your browser's console while logged into developer.askbiz.co — // PATCH /api/v1/keys is session-authenticated (it's an account setting, // not something a third-party server calls with an x-api-key). Grab both // ids from GET /api/dashboard-apps and GET /api/dashboard-data first. await fetch('/api/v1/keys', { method: 'PATCH', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ id: '<your key id>', app_id: '<your app id>', }), }).then(r => r.json()) - 3
See it reflected on the consent screen
The next time that key requests a Connection via POST /api/v1/connections, the merchant’s consent page shows your App’s name and logo instead of an unbranded request. Nothing else about the key changes — its mode, quota, and existing Connections are unaffected.
- 4
Unlink or delete without breaking anything
Set app_id back to null the same way to ungroup a key, or delete the App entirely from the Apps page — either way, the key and any Connections it created keep working exactly as before, they just stop showing a branded name.
// Same call with app_id set to null ungroups the key — it keeps working, // merchants just see an unbranded request again on future connections. await fetch('/api/v1/keys', { method: 'PATCH', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ id: '<your key id>', app_id: null }), }).then(r => r.json())
What changes, and what doesn’t
An App is metadata — a name, an optional logo, an optional redirect URI — attached to one or more keys. It has no effect on authentication, rate limits, quota, or billing. The only visible difference is what a merchant sees on the /connect/{token} consent page when a grouped key requests access.
Apps FAQ
Do I need to create an App to use the API?+
No. Apps are entirely optional. A key with no App assigned works exactly the same as one grouped under an App — the only difference is what a merchant sees on the consent screen when that key requests a Connection.
Can one App have multiple keys?+
Yes — an App is just a label with a name and logo; assign as many of your keys to it as you like via the app_id field on PATCH /api/v1/keys.
What happens to existing Connections if I delete an App?+
They keep working. Deleting an App only removes the grouping metadata — the keys and any Connections or webhooks tied to them are unaffected, they just stop showing a branded name on future consent screens.
Is there a REST endpoint a third-party server calls to manage Apps?+
No — like webhook management, App management (create, rename, delete) is a session-authenticated, dashboard-only account setting, not an x-api-key endpoint. See the "Account management" section of the API Reference.