Événements
Le flux d’événements de l’installation après un curseur et la liste des types d’événements.
Opérations de ce groupe, avec leur règle d’accès, leur règle de nouvelle tentative, leurs paramètres et leurs réponses. Chaque requête porte une clé : Authorization: Bearer <clé> (voir « Authentification »).
Opérations
Lire les événements de l’installation
GET HEAD /api/v1/events
Accès: Toute clé ou session valide · Nouvelle tentative: Peut être répétée sans risque (lecture)
Renvoie, du plus ancien au plus récent, jusqu’à limit événements (1–500, 100 par défaut) après le curseur after, au format CloudEvents 1.0 : publications, suppressions, révisions de fichiers, enregistrements de paquets, annotations, pièces jointes, étapes, promotions et modifications d’images, npm et Git LFS de chaque dépôt que l’appelant peut lister (artifact.list). Sans after, le flux commence au plus ancien événement conservé. Pour continuer, passez next comme after : il avance aussi au-delà des événements que l’appelant ne peut pas voir, au plus 5000 par requête. types garde les types nommés ou des préfixes comme artifact.*, repository un seul dépôt. Un curseur plus ancien que oldest reçoit 410 events_cursor_expired ; un curseur d’une autre epoch (le serveur a été restauré depuis une sauvegarde) reçoit 409 events_epoch_changed ; les deux portent les epoch, oldest et head actuels dans events. Dédupliquez par id ; un événement est une indication : lisez l’état actuel par les routes habituelles.
Paramètres
| Nom | Emplacement | Type | Obligatoire | Règles |
|---|---|---|---|---|
after | requête | string | non | correspond à ^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}:(0|[1-9][0-9]{0,18})$; Event id or next of a page; without it the feed starts at oldest |
limit | requête | integer | non | 1–500 |
types | requête | string | non | jusqu’à 2048 caractères; Comma-separated names or prefixes such as artifact.* |
repository | requête | string | non | correspond à ^[a-z0-9][a-z0-9_-]{0,63}$ |
Réponse 200
| Champ | Type | Obligatoire | Règles |
|---|---|---|---|
epoch | string (uuid) | oui | — |
items | tableau de object | oui | jusqu’à 500 éléments |
items[].specversion | string | oui | une valeur parmi 1.0 |
items[].id | string | oui | correspond à ^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}:(0|[1-9][0-9]{0,18})$; Id de l’événement, <epoch>:<position> ; dédupliquez par lui |
items[].source | string | oui | — |
items[].type | string | oui | — |
items[].subject | string | oui | Id de l’artefact, ou le chemin pour un événement de fichier |
items[].time | string (date-time) | oui | — |
items[].datacontenttype | string | oui | une valeur parmi application/json |
items[].dataschema | string | oui | — |
items[].partitionkey | string | oui | repository:<repository> ; les événements d’une partition gardent leur ordre de validation |
items[].arkvoryposition | string | oui | un nombre entier en chiffres décimaux, transmis sous forme de chaîne |
items[].arkvoryepoch | string (uuid) | oui | — |
items[].data | object | oui | Données du type ; leur JSON Schema est dans la liste des types |
next | string | oui | correspond à ^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}:(0|[1-9][0-9]{0,18})$ |
head | string | oui | un nombre entier en chiffres décimaux, transmis sous forme de chaîne |
oldest | string | oui | un nombre entier en chiffres décimaux, transmis sous forme de chaîne |
Réponses: 200, 400, 401, 403, 404, 409, 410, 422, 503, 507
Exemple
curl -X GET "$ARKVORY_URL/api/v1/events" \
-H "Authorization: Bearer $ARKVORY_TOKEN"Lister les types d’événements
GET HEAD /api/v1/events/types
Accès: Toute clé ou session valide · Nouvelle tentative: Peut être répétée sans risque (lecture)
Renvoie chaque type d’événement que ce serveur écrit : nom, schemaVersion, portée, la permission dont un lecteur a besoin, la partition qui garde son ordre et le JSON Schema de data. Le type CloudEvents est arkvory.<name>.v<schemaVersion>.
Réponse 200
| Champ | Type | Obligatoire | Règles |
|---|---|---|---|
items | tableau de object | oui | — |
items[].name | string | oui | — |
items[].schemaVersion | integer | oui | au moins 1 |
items[].scope | string | oui | une valeur parmi repository, system |
items[].permission | string | oui | une valeur parmi artifact.list, administrator |
items[].partition | string | oui | — |
items[].description | string | oui | — |
items[].dataSchema | object | non | — |
Réponses: 200, 400, 401, 403, 404, 409, 422, 503, 507
Exemple
curl -X GET "$ARKVORY_URL/api/v1/events/types" \
-H "Authorization: Bearer $ARKVORY_TOKEN"