Skip to content

Events ​

The installation's event feed after a cursor and the list of event types.

Operations of this group with their access rule, retry rule, parameters and answers. Every request carries a key: Authorization: Bearer <key> (see Authentication).

Operations ​

Read the events of the installation ​

GET HEAD /api/v1/events

Access: Any valid key or session · Retry: Safe to repeat (read)

Returns, oldest first, up to limit events (1–500, default 100) after the cursor after, as CloudEvents 1.0: publications, deletions, file revisions, package registrations, annotations, attachments, stages, promotions, image, npm and Git LFS changes of every repository the caller may list (artifact.list). Without after the feed starts at the oldest kept event. Pass next as after to continue: it also moves past events the caller may not see, at most 5000 per request. types keeps the named types or prefixes such as artifact.*, repository one repository. A cursor older than oldest answers 410 events_cursor_expired; a cursor of another epoch (the server was restored from a backup) answers 409 events_epoch_changed; both carry the current epoch, oldest and head in events. Deduplicate by id; an event is a hint, read the current state through the ordinary routes.

Parameters

NameInTypeRequiredRules
afterquerystringnomatches ^[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
limitqueryintegerno1–500
typesquerystringnoup to 2048 characters; Comma-separated names or prefixes such as artifact.*
repositoryquerystringnomatches ^[a-z0-9][a-z0-9_-]{0,63}$

Response 200

FieldTypeRequiredRules
epochstring (uuid)yes—
itemsarray of objectyesup to 500 items
items[].specversionstringyesone of 1.0
items[].idstringyesmatches ^[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, <epoch>:<position>; deduplicate by it
items[].sourcestringyes—
items[].typestringyes—
items[].subjectstringyesArtifact id, or the path of a file event
items[].timestring (date-time)yes—
items[].datacontenttypestringyesone of application/json
items[].dataschemastringyes—
items[].partitionkeystringyesrepository:<repository>; events of one partition keep their commit order
items[].arkvorypositionstringyesa whole number in decimal digits, sent as a string
items[].arkvoryepochstring (uuid)yes—
items[].dataobjectyesData of the type; its JSON Schema is in the type list
nextstringyesmatches ^[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})$
headstringyesa whole number in decimal digits, sent as a string
oldeststringyesa whole number in decimal digits, sent as a string

Responses: 200, 400, 401, 403, 404, 409, 410, 422, 503, 507

Example

bash
curl -X GET "$ARKVORY_URL/api/v1/events" \
  -H "Authorization: Bearer $ARKVORY_TOKEN"

List the event types ​

GET HEAD /api/v1/events/types

Access: Any valid key or session · Retry: Safe to repeat (read)

Returns every event type this server writes: name, schemaVersion, scope, the permission a reader needs, the partition that keeps its order and the JSON Schema of data. The CloudEvents type is arkvory.<name>.v<schemaVersion>.

Response 200

FieldTypeRequiredRules
itemsarray of objectyes—
items[].namestringyes—
items[].schemaVersionintegeryesat least 1
items[].scopestringyesone of repository, system
items[].permissionstringyesone of artifact.list, administrator
items[].partitionstringyes—
items[].descriptionstringyes—
items[].dataSchemaobjectno—

Responses: 200, 400, 401, 403, 404, 409, 422, 503, 507

Example

bash
curl -X GET "$ARKVORY_URL/api/v1/events/types" \
  -H "Authorization: Bearer $ARKVORY_TOKEN"

Arkvory · ProAnimaStudio