Skip to main content
Every /api/v1 request is authenticated with an API key sent as a Bearer token.
Keys start with fsk_. FlowSign stores only a hash of the key; the full value is shown once, when the key is created.

Creating and managing keys

Keys are created in the app at Settings > API keys (my.flowsign.app/settings/api-keys).
  • Name the key after where it will live (for example “Production server”).
  • Expiry is optional. A key with no expiry works until you revoke it; a key with an expiry stops working at the end of that day.
  • The key value is displayed once in a reveal dialog and cannot be read again. If you lose it, create a new key.
  • Revoke a key from the same page. Revocation is immediate and permanent.
  • There is no rotate operation. To rotate, create a new key, move your integration to it, then revoke the old one.
The page shows each key’s prefix, status (Active, Expired or Revoked), expiry and when it was last used.
A key carries the full API access of the user who created it. Store it in a secrets manager, never in client-side code or a repository, and revoke it the moment it is no longer needed.

Who can use the API

  • Permission. Creating and using keys requires the API access permission on the user’s profile. The built-in Admin profile has it; Sender and Viewer do not. An administrator can grant it from Roles & Permissions.
  • Acting as a user. A key acts as its creator. Endpoints that change data check that user’s permissions, so a key created by someone without the send permission cannot send packages (403 Missing permission: canSendPackages).
  • Webhook endpoints (/api/v1/webhooks) additionally require the user to be an organisation admin.
  • Plan. The public API is included in the Enterprise plan. Webhooks are a separate feature on the same plan. Calls from organisations without the feature return 402.
  • IP allowlist. If your organisation has an IP allowlist (Settings > Security), API calls from other addresses are refused with 403 IP address not allowed.

Workspaces

A key belongs to the organisation and acts in one workspace per request. Send X-Workspace-Id to choose the workspace; omit it to act in the default one. See Workspaces.

Why a request is refused

See Errors for the response format, validation details and rate limits.