Skip to main content

CreateApiKeyDto

namestringrequired

Possible values: <= 120 characters

Example: Production ERP sync
descriptionstring

Possible values: <= 500 characters

environmentstringrequired

Possible values: [live, test]

scopeTargetstring

Platform-scoped keys can hold platform.* scopes and may only be issued by a super admin.

Possible values: [tenant, platform]

scopesstring[]required

Fetch the current list from GET /developer/api-keys/scopes. Never hardcode it.

Possible values: [operations.read, operations.write, operations.delete, workforce.read, workforce.write, workforce.delete, inventory.read, inventory.write, inventory.delete, compliance.read, compliance.write, compliance.delete, safety.read, safety.write, safety.delete, incidents.read, incidents.write, incidents.delete, environment.read, environment.write, environment.delete, finance.read, finance.write, finance.delete, disbursements.read, disbursements.write, disbursements.delete, reporting.read, reporting.write, reporting.delete, dashboards.read, dashboards.write, dashboards.delete, users.read, users.write, users.delete, roles.read, roles.write, roles.delete, permissions.read, permissions.write, permissions.delete, tenant_config.read, tenant_config.write, tenant_config.delete, audit.read, audit.write, audit.delete, notifications.read, notifications.write, notifications.delete, files.read, files.write, files.delete, sync.read, sync.write, sync.delete, platform.read, platform.write, platform.delete]

requireSignatureboolean

Require HMAC request signing on writes. Defaults to true for live keys, false for test keys.

expiresInDaysnumber

Possible values: >= 1 and <= 3650

rateLimitPerMinutenumber

Possible values: >= 1 and <= 100000

ipAllowliststring[]

CIDR blocks. When set, restricts this key alone; an empty array falls back to the tenant allowlist.

CreateApiKeyDto
{
"name": "Production ERP sync",
"description": "string",
"environment": "live",
"scopeTarget": "tenant",
"scopes": [
"operations.read"
],
"requireSignature": true,
"expiresInDays": 0,
"rateLimitPerMinute": 0,
"ipAllowlist": [
"string"
]
}