Aura Logo
aurabasedocumentos
documentos›Edge Functions›HTTP API reference

Edge Functions Referência da API HTTP

A superfície HTTP completa do serviço de funções, com a função que cada rota exige.

10 min lido·Nível referência·Revisado em 12 de out. de 2026
Este texto em inglês foi gerado automaticamente a partir do original em francês e ainda não foi revisado.
Esta página foi traduzida automaticamente. A versão em inglês é oficial.
#
Convenções

1. Convenções

URL base. A URL do seu projeto, por exemplo https://my-app.aurabase.cloud. O projeto é identificado pelo host, portanto os caminhos abaixo não carregam nenhum ID de projeto. O formato longo /v1/functions/{project_id}/… também é aceito.

Autenticação. Envie sua chave no cabeçalho apikey. Adicione Authorization: Bearer <JWT> para chamar como usuário conectado. O Studio chama as mesmas rotas com um token de sessão de console, que lhe confere a função admin.

FunçãoComo você consegue issoPode ligar
anonA chave pública do projetoPOST …/invoke
authenticatedA chave pública mais o JWT de um usuárioPOST …/invoke
service_roleA chave service_role (somente servidor)Cada rota abaixo
adminUma sessão de console (o Studio)Cada rota abaixo

Qualquer outra rota responde 403 a anon e authenticated:

403json
{ "error": { "code": "FORBIDDEN", "type": "forbidden", "request_id": "…",
  "message": "Accès interdit : Opération réservée au rôle service_role : seule l'invocation d'une fonction est ouverte aux clés publiques" } }

Formato . Os corpos são JSON e precisam de Content-Type: application/json. Um sucesso é { "data": …, "meta": null }. Uma falha é { "error": { "code", "message", "type", "request_id" } }.

Objeto de função.

CampoTipo
id, project_id, namecorda
runtime"deno" ou "wasm"
codecordaFonte para deno; base64 do binário compilado para wasm
code_hashcordaSHA-256 de code
env_varsobjetoChave para valor
permissionsobjetoallow_net (matriz de strings), memory_mb, timeout_secs
is_activebooleano
created_at, updated_atISO 8601
#
Gerenciar

2. Funções

Método e caminhoFunçãoCorpoResposta
GET /v1/functionsfunção_serviçonenhummatriz de objetos de função
POST /v1/functionsfunção_serviço{ name, runtime, code, env_vars? }o objeto de função
GET /v1/functions/{name}função_serviçonenhumo objeto de função. {name} é o nome ou o id quando nenhuma função tem esse nome.
PATCH /v1/functions/{name}função_serviço{ code?, env_vars?, is_active?, permissions? }o objeto de função
DELETE /v1/functions/{name}função_serviçonenhum{ "data": null }
GET /v1/functions/{name}/codefunção_serviçonenhum{ "data": { "code": "…" } }
GET /v1/functions/{name}/envfunção_serviçonenhum{ "data": [ { "key", "value" } ] }, valores descriptografados
PUT /v1/functions/{name}/envfunção_serviço{ "vars": [ { "key", "value" } ] }{ "data": null }

Notas:

  • POST é uma atualização em name: postar um nome existente substitui seu código. Um campo env_vars nesse corpo substitui as variáveis ​​existentes; omita-o para mantê-los.
  • Em PATCH, permissions é mesclado campo por campo: { "permissions": { "timeout_secs": 60 } } mantém allow_net e memory_mb. Um campo fora dos seus limites retorna 400.
  • PUT …/env substitui todo o conjunto de variáveis e é a única rota que as criptografa. Consulte segredos.
  • Uma função com is_active: false não é encontrada por invoke ou por jobs.
deploy.shbash
curl -X POST "$AURA_URL/v1/functions" \
  -H "apikey: $AURA_SERVICE_ROLE_KEY" -H "Content-Type: application/json" \
  -d '{"name":"hello","runtime":"deno","code":"Deno.serve(() => new Response(\"ok\"))"}'
#
Ligar

3. Invocar

POST /v1/functions/{name}/invoke. Função: anon, authenticated ou service_role.

CampoTipoPadrão
methodcordaPOSTMétodo HTTP visto pela função
pathcorda/Caminho visto pela função
headersobjetonenhumCabeçalhos dados à função. Os cabeçalhos reservados são descartados.
bodyqualquer JSONnenhumCorpo dado à função
Cabeçalho da solicitação
apikeyObrigatório
Content-Type: application/jsonObrigatório
Authorization: Bearer <JWT>Opcional: chame como esse usuário
X-Aurabase-Invoke-Mode: rawOpcional: retorne a própria resposta da função

Resposta padrão, sempre 200:

200json
{ "data": { "status": 200, "headers": { "content-type": "application/json" },
  "body": { "greeting": "Hello, Ada!" }, "logs": [], "duration_ms": 74 }, "meta": null }

status é o status de sua função. logs está vazio para deno. No modo bruto, a resposta é da sua função: status, content-type, bytes, mais x-aurabase-invoke-origin: function.

FalhaEstadoerror.code
Função não encontrada ou inativa404NOT_FOUND
Tempo de execução inacessível503SERVICE_UNAVAILABLE
A plataforma parou de esperar pelo tempo de execução (após timeout_secs mais uma margem)504TIMEOUT
Cota do plano esgotada403QUOTA_EXCEEDED
Muitas chamadas de um cliente429rate_limit_exceeded
Corpo acima de cerca de 256 KiB503SERVICE_UNAVAILABLE
#
Plano de fundo

4. Trabalhos e fila de mensagens mortas

Método e caminhoFunçãoCorpo ou consultaResposta
POST /v1/functions/jobsfunção_serviço{ function_name, payload?, delay_secs?, max_attempts? }o trabalho
GET /v1/functions/jobsfunção_serviço?status=&limit= (1 a 500, padrão 50)variedade de empregos
GET /v1/functions/jobs/{id}função_serviçonenhumo trabalho
POST /v1/functions/jobs/{id}/retryfunção_serviçonenhumo trabalho, de volta para pending
GET /v1/functions/jobs/dlqfunção_serviço?limit=série de empregos mortos
POST /v1/functions/jobs/dlq/requeuefunção_serviçonenhum{ "data": { "requeued": 1 } }

Objeto de trabalho: id, project_id, function_name, payload, status (pending, running, completed, failed, dead), attempts, max_attempts, error, scheduled_at, started_at, completed_at, created_at. Comportamento: Jobs, cron e a fila de mensagens mortas.

#
Cronograma

5. Cron

Método e caminhoFunçãoCorpoResposta
POST /v1/functions/cronfunção_serviço{ name, schedule, function_name, payload? }a entrada do cron
GET /v1/functions/cronfunção_serviçonenhummatriz de entradas
DELETE /v1/functions/cron/{name}função_serviçonenhum{ "data": null } ou 404 para um nome desconhecido

Entrada: id, project_id, name, schedule (armazenado com 6 campos), function_name, payload, is_active, last_run, next_run, created_at.

#
Monitorar

6. Alertas

Método e caminhoFunçãoCorpo ou consulta
POST /v1/functions/alertsfunção_serviço{ name, metric, condition, threshold, channel, destination }
GET /v1/functions/alertsfunção_serviçonenhum
PATCH /v1/functions/alerts/{id}função_serviço{ "enabled": true }
DELETE /v1/functions/alerts/{id}função_serviçonenhum
GET /v1/functions/alerts/{id}/eventsfunção_serviço?limit=&offset=
GET /v1/functions/alerts/eventsfunção_serviço?limit=&offset=

Valores e comportamento: Alertas.

Última atualização · 12 de out. de 2026