A valid request URL is required to generate request examples{
"success": true,
"data": {
"id": "pk_7b2c10",
"agentId": "agt_4f9c2b7e10a24d51",
"name": "Marketing site",
"keyPublic": "flowyte_pk_live_4f9c2b_9x7Qp2fV",
"env": "live",
"allowedOrigins": [
"https://example.com"
],
"scopes": [
"chat:public"
],
"rateLimitRpm": 60,
"requireIdentityVerification": false,
"createdBy": "user_2a1b9c",
"createdAt": "2026-07-12T10:00:00.000Z",
"revokedAt": null
}
}{
"type": "about:blank",
"title": "<string>",
"status": 123,
"detail": "<string>",
"instance": "<string>",
"code": "<string>",
"errors": [
{
"field": "<string>",
"message": "<string>"
}
]
}{
"type": "about:blank",
"title": "<string>",
"status": 123,
"detail": "<string>",
"instance": "<string>",
"code": "<string>",
"errors": [
{
"field": "<string>",
"message": "<string>"
}
]
}{
"type": "about:blank",
"title": "<string>",
"status": 123,
"detail": "<string>",
"instance": "<string>",
"code": "<string>",
"errors": [
{
"field": "<string>",
"message": "<string>"
}
]
}Create a publishable key
Creates a publishable key for an agent and returns the full key. Publishable keys are safe to use in the browser, so the value can be retrieved again later.
A valid request URL is required to generate request examples{
"success": true,
"data": {
"id": "pk_7b2c10",
"agentId": "agt_4f9c2b7e10a24d51",
"name": "Marketing site",
"keyPublic": "flowyte_pk_live_4f9c2b_9x7Qp2fV",
"env": "live",
"allowedOrigins": [
"https://example.com"
],
"scopes": [
"chat:public"
],
"rateLimitRpm": 60,
"requireIdentityVerification": false,
"createdBy": "user_2a1b9c",
"createdAt": "2026-07-12T10:00:00.000Z",
"revokedAt": null
}
}{
"type": "about:blank",
"title": "<string>",
"status": 123,
"detail": "<string>",
"instance": "<string>",
"code": "<string>",
"errors": [
{
"field": "<string>",
"message": "<string>"
}
]
}{
"type": "about:blank",
"title": "<string>",
"status": 123,
"detail": "<string>",
"instance": "<string>",
"code": "<string>",
"errors": [
{
"field": "<string>",
"message": "<string>"
}
]
}{
"type": "about:blank",
"title": "<string>",
"status": 123,
"detail": "<string>",
"instance": "<string>",
"code": "<string>",
"errors": [
{
"field": "<string>",
"message": "<string>"
}
]
}Authorizations
Flowyte secret API key (Authorization: Bearer flowyte_sk_live_…). Scope-gated; is scoped to your organization — a key can never reach another tenant. The listed scopes in each operation's apiKey requirement are the scopes that key must hold. The tokenUrl is nominal: keys are minted in the dashboard.
- Token URL
- /api/v1/api-keys
Path Parameters
The agent this resource is scoped to (the UUID returned by createAgent / listAgents).
Body
Human label for the key (e.g. "Marketing site").
The exact browser origins allowed to load the widget with this key (scheme + host, e.g. https://example.com). Requests from other origins are rejected.
live for production embeds, test for a sandbox key.
live, test Optional per-minute request cap for this key (protects against abuse from a public embed).
When true, visitors must pass caller identity verification before the agent will act on sensitive requests.