Catalogue
Le catalogue liste les applications que les projets ont publiées, les plus utilisées d'abord. Il ne se limite pas à votre propre projet : c'est la surface de découverte des applications que n'importe qui peut lancer. Publier une application dans le catalogue est un PATCH sur Applications ; le lire est cette ressource.
Les instructions n'y sont jamais exposées, car elles appartiennent au propriétaire de l'application. Les champs de saisie le sont, car ils constituent le schéma que l'appelant remplit pour lancer une exécution.
Les appels
| Méthode | Chemin | Droit requis |
|---|---|---|
| GET | /v1/catalog/list | catalog:read |
| GET | /v1/catalog/detail/<app_id> | catalog:read |
| GET | /v1/catalog/public | aucun |
<app_id> est un identifiant d'application, préfixé mapp_.
L'objet application de catalogue
| Champ | Type | Description |
|---|---|---|
id | chaîne | L'identifiant de l'application, préfixé mapp_. |
object | chaîne | Toujours catalog_app. |
name | chaîne | Le nom de l'application. |
description | chaîne | Ce que fait l'application. |
logo | chaîne | L'identifiant du fichier logo de l'application, ou une chaîne vide. |
background | chaîne | Le fond décoratif avec lequel l'application est présentée. |
model | chaîne | Le modèle sur lequel l'application s'exécute. |
project | chaîne | Le projet qui a publié l'application. |
data | tableau | Le schéma de saisie. Renvoyé par le seul appel de détail. |
runs | entier | Le nombre de fois où l'application a été lancée depuis l'extérieur de son propre projet. |
created_at | entier | Date de création, en secondes Unix. Appel de détail uniquement. |
Lister le catalogue
GET /v1/catalog/list renvoie les applications publiées, triées selon leur fréquence de lancement, les plus utilisées d'abord. Il accepte limit et offset.
curl "https://api.think.ultineo.com/v1/catalog/list?limit=1" \
-H "Authorization: Bearer sk-project-YOUR_KEY" {
"code": 200,
"title": "OK",
"response": {
"object": "list",
"data": [
{
"id": "mapp_0ceacb46e5b3a99e91b6",
"object": "catalog_app",
"name": "Support triage",
"description": "Sorts an inbound support message by urgency.",
"logo": "file_d81e4afa6c8bf11fa881",
"background": "bg-gradient-to-br from-indigo-500 to-sky-500",
"model": "modi_7b1e4c2a9d05f3618ea4",
"project": "proj_3f6c1d90ab77e2415c08",
"runs": 148
}
],
"total": 1
}
} total compte toutes les applications publiées : vous pouvez donc parcourir tout le catalogue avec offset.
Consulter une application du catalogue
GET /v1/catalog/detail/<app_id> ajoute le schéma de saisie, c'est-à-dire ce dont vous avez besoin avant de lancer une exécution sur une application qui ne vous appartient pas.
curl https://api.think.ultineo.com/v1/catalog/detail/mapp_0ceacb46e5b3a99e91b6 \
-H "Authorization: Bearer sk-project-YOUR_KEY" {
"code": 200,
"title": "OK",
"response": {
"id": "mapp_0ceacb46e5b3a99e91b6",
"object": "catalog_app",
"name": "Support triage",
"description": "Sorts an inbound support message by urgency.",
"logo": "file_d81e4afa6c8bf11fa881",
"background": "bg-gradient-to-br from-indigo-500 to-sky-500",
"model": "modi_7b1e4c2a9d05f3618ea4",
"project": "proj_3f6c1d90ab77e2415c08",
"data": [
{
"id": "madi_5d8b21c74e0af96b3d15",
"name": "message",
"type": "text",
"placeholder": "Paste the message",
"required": true
}
],
"runs": 148,
"created_at": 1754205600
}
} L'application doit être à la fois publiée et activée. Une application qui n'est ni l'une ni l'autre, ou qui n'existe pas, donne 404 et Public app not found.
Astuce — Utilisez le
namede chaque entrée dedatacomme clé lorsque vous lancez l'exécution, comme décrit dans Exécutions. Une exécution sur une application publiée qui ne vous appartient pas est autorisée et compte dans son total d'exécutions publiques.
L'appel sans clé
GET /v1/catalog/public sert les mêmes applications publiées sans aucune authentification, pour une page vitrine publique. Il n'accepte aucun paramètre, renvoie au plus 50 applications, et n'utilise pas l'enveloppe standard.
curl https://api.think.ultineo.com/v1/catalog/public {
"ok": true,
"data": [
{
"id": "mapp_0ceacb46e5b3a99e91b6",
"name": "Support triage",
"description": "Sorts an inbound support message by urgency.",
"background": "bg-gradient-to-br from-indigo-500 to-sky-500",
"logo": "file_d81e4afa6c8bf11fa881",
"logo_url": "https://cdn.example.com/d/cdnu_6b2e91f47a05c3d8e142/file_d81e4afa6c8bf11fa881/",
"category_id": "mott_4f8a26d1c709b53ea814",
"category": "Text"
}
]
} | Champ | Type | Description |
|---|---|---|
ok | booléen | true lorsque le catalogue a été servi, false lorsqu'il n'a pas pu l'être. |
data | tableau | Les applications publiées. Vide lorsque ok vaut false. |
Chaque entrée porte un logo_url directement utilisable plutôt que le seul identifiant de fichier, et nomme sa catégorie. Il n'y a ni total ni pagination : cet appel est un flux de vitrine figé, et non un moyen de parcourir le catalogue.
Une méthode autre que GET donne 405, et un service sous-jacent brièvement injoignable donne 503. Les deux répondent {"ok": false, "data": []}.
Note —
logo_urlvaut une chaîne vide lorsque l'application n'a pas de logo, ou lorsque l'hôte de diffusion ne peut pas être résolu. Vérifiez-le avant de l'utiliser.