Endpoint Apps
L'API Apps vous permet d'exécuter des workflows applicatifs réutilisables créés dans Armox Canvas.
Chemins de base :
GET https://armox.ai/api/v1/appsPOST https://armox.ai/api/v1/apps/run
GET /api/v1/apps
Liste les apps modèles actives et les apps privées auxquelles votre utilisateur a accès.
Requête
curl -X GET "https://armox.ai/api/v1/apps" \
-H "Authorization: Bearer sk_live_your_key_here"
Réponse
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
Exécute un workflow applicatif et retourne un job asynchrone.
Corps de la requête
{
"app_id": "app_123",
"inputs": {
"input_prompt": "Luxury perfume bottle, dramatic studio lighting, black background"
},
"webhook_url": "https://your-app.com/webhooks/armox"
}
Champs :
app_id(requis) : identifiant de l'app issu deGET /api/v1/appsinputs(objet optionnel) : paires clé-valeur des entrées par identifiant d'entréewebhook_url(optionnel) : URL de callback
Règles de validation
- l'app doit exister et être active
- l'utilisateur doit avoir accès aux ressources des apps non-modèles
- toutes les entrées requises de l'app doivent être fournies
Si des entrées requises sont manquantes, la réponse est 400 avec :
{ "error": "Missing required inputs: Prompt" }
Réponse (202)
POST /api/v1/apps/run est asynchrone.
{
"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"
}
Exemple de bout en bout
- Listez les apps avec
GET /api/v1/apps - Choisissez une app et inspectez ses
inputs - Exécutez-la avec
POST /api/v1/apps/run - Interrogez
GET /api/v1/jobs/:idjusqu'à la complétion - Lisez les sorties depuis
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);
Coût et crédits
Les apps peuvent exécuter plusieurs nœuds en interne. Les crédits sont déduits lorsque l'exécution de l'app est acceptée.
Si le job final échoue, les crédits sont remboursés selon la logique de traitement des jobs.