Workspace

Create an API key for a workspace

Mints an API key bound to a workspace the calling key already owns: its own workspace, or one of its sub-workspaces when called with a main workspace's key. The key returned by POST /r/workspaces is shown once and cannot be retrieved again, so this is how a workspace whose key was lost gets a new one without a UI step. The new key authorizes the named workspace only and never outlives the caller: when the calling key has an expiry, the minted key carries the same expiresAt. fullKey is returned exactly once.

post/workspaces/{id}/api-keys

Request

  • Base URL: https://api.emailchaser.com/r
  • URL: https://api.emailchaser.com/r/workspaces/{id}/api-keys
  • Auth: HTTP bearer

Path parameters

idinteger required

Workspace ID

Request body

namestring

Name shown in the app's API key list. Defaults to "<workspace name> key". Trimmed; up to 60 characters.

readOnlyboolean

ReadOnly mints a key that can call GET routes and four POSTs that buy and send nothing (/r/audience/size, /r/setup/ping, /r/dfy/domains/check and /r/lead-finder/searches), and nothing else. Defaults to false, which mints a read+write key.

Example request

{
  "name": "VoiceDrop outbound key"
}

Response

The workspace and its new API key

notestring

Note reminds integrators that fullKey is not retrievable later.

Example response

{
  "apiKey": {
    "expiresAt": "2026-09-07T12:00:00Z",
    "fullKey": "run_abc12345_...",
    "id": 12,
    "name": "Acme Outbound key",
    "scopes": [
      "read",
      "read_write"
    ]
  },
  "note": "Store apiKey.fullKey now: it cannot be retrieved again.",
  "workspace": {
    "createdAt": "2026-08-19T10:30:00Z",
    "iconUrl": "https://whitelabel-assets.emailchaser.com/workspace-icons/51539607552/1766000000-a1b2c3d4e5f6.png",
    "id": 51539607552,
    "name": "Acme Outbound"
  }
}

Changes

No recorded changes to this operation across all 1 revision of this API.