Logotipo de Aurabase
aurabasedocumentos
documentos›Edge Functions›HTTP API reference

Edge Functions Referencia de la API HTTP

La superficie HTTP completa del servicio de funciones, con el rol que requiere cada ruta.

10 min leer·Nivel referencia·Revisado el 12 oct 2026
Este texto en inglés se generó automáticamente a partir del original en francés y aún no ha sido revisado.
Esta página fue traducida automáticamente. La versión en inglés es autorizada.
#
Convenciones

1. Convenciones

URL base. La URL de su proyecto, por ejemplo https://my-app.aurabase.cloud. El host identifica el proyecto, por lo que las rutas siguientes no contienen ninguna identificación de proyecto. También se acepta la forma larga /v1/functions/{project_id}/….

Autenticación. Envíe su clave en el encabezado apikey. Agregue Authorization: Bearer <JWT> para llamar como usuario registrado. Studio llama a las mismas rutas con un token de sesión de consola, lo que le otorga la función admin.

Rolcomo lo consiguespuede llamar
anonLa clave pública del proyecto.POST …/invoke
authenticatedLa clave pública más el JWT de un usuario.POST …/invoke
service_roleLa clave service_role (solo servidor)Cada ruta a continuación
adminUna sesión de consola (el Studio)Cada ruta a continuación

Cualquier otra ruta responde 403 a anon y 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. Los cuerpos son JSON y necesitan Content-Type: application/json. Un éxito es { "data": …, "meta": null }. Un error es { "error": { "code", "message", "type", "request_id" } }.

Objeto de función.

campoTipo
id, project_id, namecuerda
runtime"deno" o "wasm"
codecuerdaFuente de deno; base64 del binario compilado para wasm
code_hashcuerdaSHA-256 de code
env_varsobjetoClave del valor
permissionsobjetoallow_net (matriz de cadenas), memory_mb, timeout_secs
is_activebooleano
created_at, updated_atISO 8601
#
Administrar

2. Funciones

Método y caminoRolcuerpoRespuesta
GET /v1/functionsrol_servicioningunoconjunto de objetos de función
POST /v1/functionsrol_servicio{ name, runtime, code, env_vars? }el objeto de función
GET /v1/functions/{name}rol_servicioningunoel objeto de función. {name} es el nombre, o el id cuando ninguna función tiene ese nombre.
PATCH /v1/functions/{name}rol_servicio{ code?, env_vars?, is_active?, permissions? }el objeto de función
DELETE /v1/functions/{name}rol_servicioninguno{ "data": null }
GET /v1/functions/{name}/coderol_servicioninguno{ "data": { "code": "…" } }
GET /v1/functions/{name}/envrol_servicioninguno{ "data": [ { "key", "value" } ] }, valores descifrados
PUT /v1/functions/{name}/envrol_servicio{ "vars": [ { "key", "value" } ] }{ "data": null }

Notas:

  • POST es una inserción en name: publicar un nombre existente reemplaza su código. Un campo env_vars en ese cuerpo reemplaza las variables existentes; omitirlo para conservarlos.
  • En PATCH, permissions se fusiona campo por campo: { "permissions": { "timeout_secs": 60 } } mantiene allow_net y memory_mb. Un campo fuera de sus límites devuelve 400.
  • PUT …/env reemplaza todo el conjunto de variables y es la única ruta que las cifra. Consulte los secretos de .
  • Una función con is_active: false no es encontrada por invoke ni por trabajos.
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\"))"}'
#
llamar

3. Invocar

POST /v1/functions/{name}/invoke. Rol: anon, authenticated o service_role.

campoTipoPredeterminado
methodcuerdaPOSTMétodo HTTP visto por la función.
pathcuerda/Camino visto por la función.
headersobjetoningunoEncabezados dados a la función. Los encabezados reservados se eliminan.
bodycualquier JSONningunoCuerpo dado a la función.
Encabezado de solicitud
apikeyRequerido
Content-Type: application/jsonRequerido
Authorization: Bearer <JWT>Opcional: llamar como ese usuario
X-Aurabase-Invoke-Mode: rawOpcional: devolver la propia respuesta de la función

Respuesta predeterminada, siempre 200:

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

status es el estado de tu función. logs está vacío para deno. En modo sin formato, la respuesta es propia de su función: estado, content-type, bytes, más x-aurabase-invoke-origin: function.

fracasoEstadoerror.code
Función no encontrada o inactiva404NOT_FOUND
Tiempo de ejecución inalcanzable503SERVICE_UNAVAILABLE
La plataforma dejó de esperar el tiempo de ejecución (después de timeout_secs más un margen)504TIMEOUT
Cuota del plan agotada403QUOTA_EXCEEDED
Demasiadas llamadas de un cliente429rate_limit_exceeded
Cuerpo por encima de aproximadamente 256 KiB503SERVICE_UNAVAILABLE
#
Antecedentes

4. Empleos y cola de mensajes fallidos

Método y caminoRolCuerpo o consultaRespuesta
POST /v1/functions/jobsrol_servicio{ function_name, payload?, delay_secs?, max_attempts? }el trabajo
GET /v1/functions/jobsrol_servicio?status=&limit= (1 a 500, predeterminado 50)variedad de trabajos
GET /v1/functions/jobs/{id}rol_servicioningunoel trabajo
POST /v1/functions/jobs/{id}/retryrol_servicioningunoel trabajo, volver a pending
GET /v1/functions/jobs/dlqrol_servicio?limit=variedad de trabajos muertos
POST /v1/functions/jobs/dlq/requeuerol_servicioninguno{ "data": { "requeued": 1 } }

Objeto de trabajo: id, project_id, function_name, payload, status (pending, running, completed, failed, dead), attempts, max_attempts, error, scheduled_at, started_at, completed_at, created_at. Comportamiento: Trabajos, cron y cola de mensajes fallidos.

#
Horario

5. Cron

Método y caminoRolcuerpoRespuesta
POST /v1/functions/cronrol_servicio{ name, schedule, function_name, payload? }la entrada cron
GET /v1/functions/cronrol_servicioningunoconjunto de entradas
DELETE /v1/functions/cron/{name}rol_servicioninguno{ "data": null } o 404 para un nombre desconocido

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

#
Monitorear

6. Alertas

Método y caminoRolCuerpo o consulta
POST /v1/functions/alertsrol_servicio{ name, metric, condition, threshold, channel, destination }
GET /v1/functions/alertsrol_servicioninguno
PATCH /v1/functions/alerts/{id}rol_servicio{ "enabled": true }
DELETE /v1/functions/alerts/{id}rol_servicioninguno
GET /v1/functions/alerts/{id}/eventsrol_servicio?limit=&offset=
GET /v1/functions/alerts/eventsrol_servicio?limit=&offset=

Valores y comportamiento: Alertas.

Última actualización · 12 oct 2026