Skip to main content
POST
Create Project Key

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Body

application/json

Request body for creating a Project Key.

name
string
required

Human-readable name for this Project Key

Required string length: 1 - 100
description
string | null

Optional description (HTML sanitized)

role_ids
string[] | null

Role IDs to assign. Mutually exclusive with permission_ids.

Minimum array length: 1
permission_ids
string[] | null

Permission IDs to assign directly. Mutually exclusive with role_ids.

Minimum array length: 1
kafka_config
ProjectKeyKafkaConfig · object | null

Kafka credentials and ACL config. Omit for API-only key.

tool_profile
enum<string> | null

MCP tool profile (full, read-only, agent-operator, infra-admin)

Available options:
full,
read-only,
agent-operator,
infra-admin
allowed_tools
string[] | null

MCP tool whitelist. If set, overrides profile and block list.

blocked_tools
string[] | null

MCP tool blacklist. Removes tools even if profile allows them.

agentic_enabled
boolean
default:false

When true, atomically seeds agentic_secret_blob on the new PK row from the credential file produced during creation. The PK is then immediately usable as the auth blob behind the Streamkap MCP. Requires API credentials (role_ids or permission_ids) - rejected with 400 on Kafka-only PKs since there is no API credential to seed. Audit-logged with action=enable. Post-creation toggling goes through POST /project-keys/{id}/enable-agentic or /disable-agentic.

Response

Successful Response

The downloadable .json credential file returned at creation time.

project_key_id
string
required
project
Project · object
required
created_at
string<date-time>
required
type
string
default:streamkap_project_key
api
ProjectKeyApiCredentials · object | null

API credential section of the credential file.

kafka
ProjectKeyKafkaCredentials · object | null

Kafka credential section of the credential file.

kafka_acls
Kafka Acls · object[]
tool_profile
enum<string> | null
Available options:
full,
read-only,
agent-operator,
infra-admin
allowed_tools
string[] | null
blocked_tools
string[] | null
created_by
string | null