Skip to content

Calling backend functions

Run one of your app's backend functions from your own server: the request, what the function receives, what comes back, and which keys may call it.

Last updated September 17, 2026

On this page

POST /api/functions/<name> runs one of your app's backend functions. The JSON body, if any, is handed to the function as its event.

Shell
curl -X POST https://<your app address>/api/functions/send_reminders \
  -H "X-Api-Key: pxa_sk_..." -H "Content-Type: application/json" \
  -d '{"before": "2026-06-13"}'
JSON
{ "ok": true, "result": { "sent": 14 }, "run_id": "r_9c2..." }
  • The function's own return value comes back as result; run_id names the run as the Automations tab lists it.
  • event.user, event.ip, event.request and event.api_key are set by the platform and cannot be supplied in the body.
  • Needs a secret key with full access and no table limit.
  • A function that runs as the app may read and write every table; any other runs with no signed-in user and reaches only what a signed-out visitor could.
  • Functions that are switched off or marked internal answer no_such_function.
  • Add an Idempotency-Key header to make a retry safe.

Which functions are listed

Your app's /api/openapi.json lists the callable functions under the Functions tag, with each one's description, when fetched with a key that may call them.

Failures

A function that throws or times out answers function_failed with the run's stable error code and run_id. The run's console output and stack are on the Automations tab. A function that could not be started answers function_unavailable with a Retry-After header.

Was this page helpful?