Endpoint de Apps
La API de Apps te permite ejecutar flujos de trabajo reutilizables creados en Armox Canvas.
Rutas base:
GET https://armox.ai/api/v1/appsPOST https://armox.ai/api/v1/apps/run
GET /api/v1/apps
Lista las apps de plantilla activas y las apps privadas a las que tu usuario tiene acceso.
Solicitud
curl -X GET "https://armox.ai/api/v1/apps" \
-H "Authorization: Bearer sk_live_your_key_here"
Respuesta
Prompt Template
{ "object": "list", "data": [ { "id": "app_123", "name": "Product Hero Creator", "description": "Generate hero product images from a short brief", "icon": "sparkles", "thumbnail_url": "https://...", "is_template": true, "brain_id": "brain_abc", "tags": ["marketing", "image"], "inputs": [ { "id": "input_prompt", "label": "Prompt", "required": true } ] } ] }
POST /api/v1/apps/run
Ejecuta un flujo de trabajo de app y devuelve un job asíncrono.
Cuerpo de la Solicitud
{
"app_id": "app_123",
"inputs": {
"input_prompt": "Luxury perfume bottle, dramatic studio lighting, black background"
},
"webhook_url": "https://your-app.com/webhooks/armox"
}
Campos:
app_id(obligatorio): identificador de la app obtenido deGET /api/v1/appsinputs(objeto opcional): mapa clave-valor de entradas por ID de entradawebhook_url(opcional): URL de callback
Reglas de Validación
- la app debe existir y estar activa
- el usuario debe tener acceso a los recursos de apps que no son plantilla
- se deben proporcionar todas las entradas obligatorias de la app
Si faltan entradas obligatorias, la respuesta es 400 con:
{ "error": "Missing required inputs: Prompt" }
Respuesta (202)
POST /api/v1/apps/run es asíncrono.
{
"id": "job_456",
"object": "job",
"status": "processing",
"run_type": "app",
"app_id": "app_123",
"app_name": "Product Hero Creator",
"credits_charged": 340,
"created_at": "2026-03-26T12:20:00.000Z"
}
Ejemplo Completo de Extremo a Extremo
- Lista las apps con
GET /api/v1/apps - Elige una app e inspecciona sus
inputs - Ejecútala usando
POST /api/v1/apps/run - Consulta
GET /api/v1/jobs/:idhasta que se complete - Lee las salidas de
output_data.node_outputs
cURL
curl -X POST "https://armox.ai/api/v1/apps/run" \
-H "Authorization: Bearer sk_live_your_key_here" \
-H "Content-Type: application/json" \
-d '{
"app_id": "app_123",
"inputs": {
"input_prompt": "Luxury perfume bottle, dramatic studio lighting, black background"
}
}'
JavaScript
const runResponse = await fetch("https://armox.ai/api/v1/apps/run", {
method: "POST",
headers: {
Authorization: "Bearer sk_live_your_key_here",
"Content-Type": "application/json",
},
body: JSON.stringify({
app_id: "app_123",
inputs: { input_prompt: "Luxury perfume bottle, dramatic studio lighting, black background" },
}),
});
const job = await runResponse.json();
console.log(job);
Costos y Créditos
Las apps pueden ejecutar múltiples nodos internamente. Los créditos se deducen cuando se acepta la ejecución de la app.
Si el job final falla, los créditos se reembolsan según la lógica de gestión de jobs.