API Keys
Create service accounts and API keys for server-to-server integrations.
6 generated endpoints in this resource group.
/service-accountsList service accounts#
Returns service accounts that can own API keys for server-to-server integrations.
Authorization
Scheme
- bearerAuth
Required scopes
- api_key:list
Allowed roles
- owner
- admin
List service accounts.
Responses
- Name
200- Type
- application/json
- Description
- List of service accounts
- Name
default- Type
- application/json
- Description
- Error
Related schemas
Request
curl -X GET "https://api.flownally.com/v1/service-accounts" \
-H "Authorization: Bearer {token}"Response
{
"serviceAccounts": [
{
"id": "svc_01HV8ZD2G9W4P6Q8T1A3C5E7G9",
"tenantId": "tn_01HV8Y1N3QPY9X2HBQ1M9E8D0",
"name": "Production CRM sync",
"description": "Keeps contacts, events, and messages in sync with the CRM.",
"isActive": true,
"createdAt": "2026-04-30T09:45:00Z",
"updatedAt": "2026-04-30T09:45:00Z"
}
]
}/service-accountsCreate service account#
Creates a named integration identity before issuing API keys.
Authorization
Scheme
- bearerAuth
Required scopes
- api_key:create
Allowed roles
- owner
- admin
Create a service account.
Request body
Send a application/json body. The body is required for this operation.
Required attributes
- Name
name- Type
- string
- Description
- Required request attribute.
Optional attributes
- Name
description- Type
- string
- Description
- Optional request attribute.
Responses
- Name
200- Type
- application/json
- Description
- Service account created
- Name
default- Type
- application/json
- Description
- Error
Related schemas
Request
curl -X POST "https://api.flownally.com/v1/service-accounts" \
-H "Authorization: Bearer {token}" \
-H "Content-Type: application/json" \
-d '{
"name": "Production CRM sync",
"description": "Keeps contacts, events, and messages in sync with the CRM."
}'Response
{
"id": "svc_01HV8ZD2G9W4P6Q8T1A3C5E7G9",
"tenantId": "tn_01HV8Y1N3QPY9X2HBQ1M9E8D0",
"name": "Production CRM sync",
"description": "Keeps contacts, events, and messages in sync with the CRM.",
"isActive": true,
"createdAt": "2026-04-30T09:45:00Z",
"updatedAt": "2026-04-30T09:45:00Z"
}/service-accounts/{id}Delete service account#
Deletes a service account and prevents its keys from being used.
Authorization
Scheme
- bearerAuth
Required scopes
- api_key:revoke
Allowed roles
- owner
- admin
Delete a service account.
Required parameters
- Name
id- Type
- path string
- Description
- Required parameter.
Responses
- Name
204- Description
- Service account deleted
- Name
default- Type
- application/json
- Description
- Error
Related schemas
Request
curl -X DELETE "https://api.flownally.com/v1/service-accounts/{id}" \
-H "Authorization: Bearer {token}"Response
204 Service account deleted/service-accounts/{id}/api-keysList API keys for a service account#
Returns API keys created for the service account. Plaintext key values are never returned here.
Authorization
Scheme
- bearerAuth
Required scopes
- api_key:list
Allowed roles
- owner
- admin
List API keys.
Required parameters
- Name
id- Type
- path string
- Description
- Required parameter.
Responses
- Name
200- Type
- application/json
- Description
- List of API keys
- Name
default- Type
- application/json
- Description
- Error
Related schemas
Request
curl -X GET "https://api.flownally.com/v1/service-accounts/{id}/api-keys" \
-H "Authorization: Bearer {token}"Response
{
"apiKeys": [
{
"id": "key_01HV8ZE3S5K7N9P2R4T6V8X0Z1",
"name": "CRM production key",
"keyPrefix": "fnly_live_8d2a",
"serviceAccountId": "svc_01HV8ZD2G9W4P6Q8T1A3C5E7G9",
"tenantId": "tn_01HV8Y1N3QPY9X2HBQ1M9E8D0",
"expiresAt": "2027-04-30T00:00:00Z",
"createdBy": "usr_01HV8Y3K2R6G7K3F5B9N8M1Q0",
"createdAt": "2026-04-30T09:50:00Z",
"updatedAt": "2026-04-30T09:50:00Z"
}
]
}/service-accounts/{id}/api-keysCreate API key#
Creates an API key for a service account. Store the plaintext key from this response because it is shown once.
Authorization
Scheme
- bearerAuth
Required scopes
- api_key:create
Allowed roles
- owner
- admin
Create an API key.
Required parameters
- Name
id- Type
- path string
- Description
- Required parameter.
Request body
Send a application/json body. The body is required for this operation.
Required attributes
- Name
name- Type
- string
- Description
- Required request attribute.
Responses
- Name
200- Type
- application/json
- Description
- API key created (plaintext key shown once)
- Name
default- Type
- application/json
- Description
- Error
Related schemas
Request
curl -X POST "https://api.flownally.com/v1/service-accounts/{id}/api-keys" \
-H "Authorization: Bearer {token}" \
-H "Content-Type: application/json" \
-d '{
"name": "CRM production key"
}'Response
{
"apiKey": {
"id": "key_01HV8ZE3S5K7N9P2R4T6V8X0Z1",
"name": "CRM production key",
"keyPrefix": "fnly_live_8d2a",
"serviceAccountId": "svc_01HV8ZD2G9W4P6Q8T1A3C5E7G9",
"tenantId": "tn_01HV8Y1N3QPY9X2HBQ1M9E8D0",
"expiresAt": "2027-04-30T00:00:00Z",
"createdBy": "usr_01HV8Y3K2R6G7K3F5B9N8M1Q0",
"createdAt": "2026-04-30T09:50:00Z",
"updatedAt": "2026-04-30T09:50:00Z"
},
"key": "fnly_live_8d2a_example_secret_value"
}/api-keys/{id}Revoke API key#
Revokes an API key so it can no longer authenticate requests.
Authorization
Scheme
- bearerAuth
Required scopes
- api_key:revoke
Allowed roles
- owner
- admin
Revoke an API key.
Required parameters
- Name
id- Type
- path string
- Description
- Required parameter.
Responses
- Name
204- Description
- API key revoked
- Name
default- Type
- application/json
- Description
- Error
Related schemas
Request
curl -X DELETE "https://api.flownally.com/v1/api-keys/{id}" \
-H "Authorization: Bearer {token}"Response
204 API key revoked