/api/v1 request is authenticated with an API key sent as a Bearer token.
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). Only an owner can create, list or revoke them.- Name the key after where it will live (for example “Production server”).
- Role is what the key can do. The key acts with that role’s permissions, not the issuer’s, and only roles with the API access permission are offered.
- Workspace is where the key acts. A key is bound to one workspace for its whole life.
- 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, in the local time of whoever created it.
- 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.
- An organisation can hold at most 50 unrevoked keys, and expired keys count until they are revoked. Creating one beyond that returns
409; revoke a key to make room.
Who can use the API
- Creating keys requires an owner.
- Permission. The role a key is given must have the API access permission. The built-in Admin profile has it; Sender and Viewer do not. An administrator can grant it from Roles & Permissions.
- Acting as a role. A key acts with the permissions of the role chosen at creation, not the issuer’s, and it is never an owner. Package visibility is the exception: without the view all packages permission (
canViewAllPackages), a key sees only the packages its issuer owns or has been shared, including the ones the key created. Endpoints that change data check that role’s permissions, so a key on a role without the send permission cannot send packages (403 Missing permission: canSendPackages). Audit events record the issuing user alongside the key. A key sees every template in its workspace, not only the ones its issuer created; the role’s template access decides whether it can use them (USE) or also create and edit them (CREATE). - Webhook endpoints (
/api/v1/webhooks) need the manage webhooks permission on the key’s role. - 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. A request whose client address cannot be determined is refused the same way.
Workspaces
A key belongs to the organisation and is bound to the workspace chosen when it was created. Every request acts there. You may sendX-Workspace-Id to be explicit, but it can only repeat the key’s own workspace id; any other value is refused with 401. To act in another workspace, create a key for it. See Workspaces.
Why a request is refused
See Errors for the response format, validation details and rate limits.

