Functions API

SDK endpoint to invoke functions, plus dashboard endpoints for deployment, logs, triggers, secrets, and the dead letter queue.

SDK invoke endpoint

Used by Flutter apps to call functions. Authenticated with the public API key.

POST/sdk/functions/{function_name}Invoke a function by name
// Request headers
x-api-key: pk_live_your_key

// Request body (any JSON)
{ "userId": "abc123", "amount": 4999 }

// Optional: test mode
{ "userId": "abc123", "test": true }

// Response 200
{ "ok": true, "chargeId": "ch_123" }

// Response 500 — function threw an error
{ "error": "User not found" }

Dashboard endpoints

Used by the dashboard. Authenticated with Authorization: Bearer <dashboard_token>.

GET/v1/projects/{id}/functionsList all functions
POST/v1/projects/{id}/functionsDeploy a function
DELETE/v1/projects/{id}/functions/{name}Delete a function and all versions
GET/v1/projects/{id}/functions/logsList execution logs
GET/v1/projects/{id}/triggersList triggers
POST/v1/projects/{id}/triggersCreate a trigger
DELETE/v1/projects/{id}/triggers/{trigger_id}Delete a trigger
GET/v1/projects/{id}/trigger-stats24h observability stats per trigger
GET/v1/projects/{id}/dead-lettersList dead letter queue entries
POST/v1/projects/{id}/dead-letters/{id}/replayReplay a dead letter
DELETE/v1/projects/{id}/dead-letters/{id}Dismiss a dead letter
GET/v1/projects/{id}/secretsList secret names (values never returned)
POST/v1/projects/{id}/secretsCreate or update a secret
DELETE/v1/projects/{id}/secrets/{name}Delete a secret

POST /v1/projects/{id}/functions

// Request
{
  "name": "send-welcome-email",
  "code": "export async function handler(ctx) { return { ok: true }; }",
  "timeout_ms": 10000
}

// Response 201
{
  "id": "uuid",
  "name": "send-welcome-email",
  "version": 1,
  "is_active": true,
  "timeout_ms": 10000,
  "last_deployed_at": "2026-01-01T00:00:00Z"
}

POST /v1/projects/{id}/triggers

// Request
{
  "function_name": "send-welcome-email",
  "event_type": "db.record.created",
  "collection": "users"
}

// Response 201
{
  "id": "uuid",
  "function_name": "send-welcome-email",
  "event_type": "db.record.created",
  "collection": "users",
  "enabled": true,
  "created_at": "2026-01-01T00:00:00Z"
}