Eventos
O fluxo de eventos da instalação após um cursor e a lista de tipos de eventos.
Operações deste grupo com a regra de acesso, a regra de repetição, os parâmetros e as respostas. Toda solicitação leva uma chave: Authorization: Bearer <chave> (consulte “Autenticação”).
Operações
Ler os eventos da instalação
GET HEAD /api/v1/events
Acesso: Qualquer chave ou sessão válida · Repetição: Pode ser repetida com segurança (leitura)
Retorna, do mais antigo para o mais recente, até limit eventos (1–500, padrão 100) após o cursor after, como CloudEvents 1.0: publicações, exclusões, revisões de arquivos, registros de pacotes, anotações, anexos, estágios, promoções e alterações de imagens, npm e Git LFS de cada repositório que o chamador pode listar (artifact.list). Sem after, o fluxo começa no evento guardado mais antigo. Para continuar, passe next como after: ele também avança além dos eventos que o chamador não pode ver, no máximo 5000 por solicitação. types mantém os tipos indicados ou prefixos como artifact.*; repository, um repositório. Um cursor anterior a oldest recebe 410 events_cursor_expired; um cursor de outra epoch (o servidor foi restaurado de um backup), 409 events_epoch_changed; ambos trazem epoch, oldest e head atuais em events. Deduplique por id; um evento é uma dica: leia o estado atual pelas rotas habituais.
Parâmetros
| Nome | Local | Tipo | Obrigatório | Regras |
|---|---|---|---|---|
after | consulta | string | não | corresponde a ^[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 | consulta | integer | não | 1–500 |
types | consulta | string | não | até 2048 caracteres; Comma-separated names or prefixes such as artifact.* |
repository | consulta | string | não | corresponde a ^[a-z0-9][a-z0-9_-]{0,63}$ |
Resposta 200
| Campo | Tipo | Obrigatório | Regras |
|---|---|---|---|
epoch | string (uuid) | sim | — |
items | array de object | sim | até 500 itens |
items[].specversion | string | sim | um destes: 1.0 |
items[].id | string | sim | corresponde a ^[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 do evento, <epoch>:<position>; deduplique por ele |
items[].source | string | sim | — |
items[].type | string | sim | — |
items[].subject | string | sim | Id do artefato, ou o caminho em eventos de arquivo |
items[].time | string (date-time) | sim | — |
items[].datacontenttype | string | sim | um destes: application/json |
items[].dataschema | string | sim | — |
items[].partitionkey | string | sim | repository:<repository>; os eventos de uma partição mantêm a ordem de confirmação |
items[].arkvoryposition | string | sim | um número inteiro em dígitos decimais, enviado como string |
items[].arkvoryepoch | string (uuid) | sim | — |
items[].data | object | sim | Dados do tipo; seu JSON Schema está na lista de tipos |
next | string | sim | corresponde a ^[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 | sim | um número inteiro em dígitos decimais, enviado como string |
oldest | string | sim | um número inteiro em dígitos decimais, enviado como string |
Respostas: 200, 400, 401, 403, 404, 409, 410, 422, 503, 507
Exemplo
curl -X GET "$ARKVORY_URL/api/v1/events" \
-H "Authorization: Bearer $ARKVORY_TOKEN"Listar os tipos de eventos
GET HEAD /api/v1/events/types
Acesso: Qualquer chave ou sessão válida · Repetição: Pode ser repetida com segurança (leitura)
Retorna cada tipo de evento que este servidor grava: nome, schemaVersion, escopo, a permissão de que um leitor precisa, a partição que mantém sua ordem e o JSON Schema de data. O type do CloudEvents é arkvory.<name>.v<schemaVersion>.
Resposta 200
| Campo | Tipo | Obrigatório | Regras |
|---|---|---|---|
items | array de object | sim | — |
items[].name | string | sim | — |
items[].schemaVersion | integer | sim | pelo menos 1 |
items[].scope | string | sim | um destes: repository, system |
items[].permission | string | sim | um destes: artifact.list, administrator |
items[].partition | string | sim | — |
items[].description | string | sim | — |
items[].dataSchema | object | não | — |
Respostas: 200, 400, 401, 403, 404, 409, 422, 503, 507
Exemplo
curl -X GET "$ARKVORY_URL/api/v1/events/types" \
-H "Authorization: Bearer $ARKVORY_TOKEN"