REST API - Edge functions#

Sandboxed JavaScript/TypeScript functions executed server-side.

EndpointMethodDescription
/projects/{id}/functionsGETList functions
/projects/{id}/functionsPOSTCreate a function
/projects/{id}/functions/{fnID}GETGet one function
/projects/{id}/functions/{fnID}PATCHUpdate a function
/projects/{id}/functions/{fnID}DELETEDelete a function
/projects/{id}/functions/{fnID}/deployPOSTDeploy (make invocable)
/projects/{id}/functions/{fnID}/invokePOSTInvoke a deployed function

Create:

{
  "name": "hello",
  "runtime": "javascript",
  "code": "export default (req) => ({ body: { hello: req.body?.name ?? 'world' } });"
}
JSON

Invoke:

{
  "method": "POST",
  "path": "/greet",
  "headers": { "x-custom": "value" },
  "body": "{\"name\":\"Asha\"}"
}
JSON

Functions run in a sandboxed runtime with a timeout; invalid syntax is rejected at deploy time.

Security#

  • Accepts the project API key (or a project-user session)
  • Scoped keys: functions:read, functions:write