SaaSFlow
DevelopersAPIReferenceaccess_requests

Create api key

Ask the person to approve creating a company API key, for a script or integration they run. The key is shown to the person once, in the app; it is never…

Authentication

Checking whether you're signed in…
POST
/companies/{companyId}/access_requests/create_api_key

Authorization

headerAuthorization<token>

A SaaSFlow API key (format sf_…) or an OAuth bearer token. Paste only the key — the proxy adds the Bearer prefix. Create an API key in Settings → Company settings → API keys — see API keys.

Path Parameters

companyId*string
Length1 <= length

Request Body

application/json
  1. body
name*string
Length1 <= length <= 100
permissions?array<>

Omitted: read-only. Keys can hold company:manage and integrations:manage but never users:manage or api_keys:manage.

expiresTime?|

ISO 8601.

Response Body

Waiting for the person to approve

application/json
  1. response
id*string
action*string
params*
status*string

pending until the person decides; succeeded, failed (see result.error), rejected, or expired after an hour without a decision.

Value in"pending""executing""succeeded""failed""rejected""expired"
result*|null
url*string

Where the person reviews and approves the request.

createdTime*string
expiresTime*string
decidedTime*string|null
nextAction*string

What to do with the link.

Example Request
curl -X POST 'https://api.saasflow.com/companies/string/access_requests/create_api_key' \  -H 'Content-Type: application/json' \  -d '{  "name": "string"}'
Example Response
{  "id": "string",  "action": "string",  "params": {    "property1": null,    "property2": null  },  "status": "pending",  "result": {    "apiKeyId": "string",    "error": "string"  },  "url": "string",  "createdTime": "string",  "expiresTime": "string",  "decidedTime": "string",  "nextAction": "string"}