Oore CI

Logs

Build log ingestion and retrieval — append, paginated fetch, SSE streaming. Live build, runner and release changes over SSE. Read-only audit trail of all user and system actions.

GET
/v1/audit-logs

Returns a paginated, filterable list of audit log entries recording user and system actions. Owner and admin roles only.

Authorization

bearer_auth
AuthorizationBearer <token>

In: header

Query Parameters

limit?integer

Page size (default 50, max 200)

Formatint64
offset?integer

Page offset (default 0)

Formatint64
actor_id?string

Filter by actor user ID

action?string

Filter by action string

resource_type?string

Filter by resource type

from_ts?integer

Start of time range (unix timestamp)

Formatint64
to_ts?integer

End of time range (unix timestamp)

Formatint64
sort?string

Sort by created_at, actor_email, action, or resource_type

direction?string

Sort direction: asc or desc

Response Body

application/json

application/json

application/json

curl -X GET "https://example.com/v1/audit-logs"
{  "entries": [    {      "action": "string",      "actor_email": "string",      "actor_id": "string",      "created_at": 0,      "details": "string",      "id": 0,      "resource_id": "string",      "resource_type": "string"    }  ],  "total": 0}
GET
/v1/builds/{build_id}/logs

Returns paginated historical build logs.

Authorization

bearer_auth
AuthorizationBearer <token>

In: header

Path Parameters

build_id*string

Build ID

Query Parameters

after_sequence?integer

Return logs after this sequence

Formatint64
limit?integer

Page size

Formatint64

Response Body

application/json

curl -X GET "https://example.com/v1/builds/string/logs"
{  "logs": [    {      "content": "string",      "sequence": 0,      "stream": "stdout"    }  ],  "total": 0}
GET
/v1/builds/{build_id}/logs/stream

Server-sent event stream of build logs. Requires a short-lived streaming token obtained from POST /v1/builds/{build_id}/stream-token.

Authorization

bearer_auth
AuthorizationBearer <token>

In: header

Path Parameters

build_id*string

Build ID

Query Parameters

token?string

Short-lived streaming token; omit when bearer authentication is used

Response Body

text/event-stream

application/json

curl -X GET "https://example.com/v1/builds/string/logs/stream"
"string"
POST
/v1/builds/{build_id}/stream-token

Exchanges a session token for a short-lived (5 min) streaming token suitable for use in SSE query parameters.

Authorization

bearer_auth
AuthorizationBearer <token>

In: header

Path Parameters

build_id*string

Build ID

Response Body

application/json

curl -X POST "https://example.com/v1/builds/string/stream-token"
{  "expires_at": 0,  "token": "string"}
GET
/v1/events

Server-sent event stream of build, runner and release changes, so clients can refresh without polling. Every connection starts with a ready event (EventStreamReady). Then: build (BuildChangedEvent), release (ReleaseChangedEvent), runner (RunnerChangedEvent, only for users who can read runners), resync (EventStreamResync, events were dropped and clients should refetch) and done (the stream ends, data is the reason). Build and release events are limited to projects the caller can read. Events are not replayed, so a client that reconnects should refetch once on ready. Comment keepalives are sent every 15 seconds.

Authorization

bearer_auth
AuthorizationBearer <token>

In: header

Query Parameters

project_id?string

Only send build and release events for this project

Response Body

text/event-stream

application/json

application/json

application/json

curl -X GET "https://example.com/v1/events"
"string"
POST
/v1/runners/{runner_id}/jobs/{job_id}/logs

Runner appends log chunks to a build. Max 10,000 lines per build, 4KB per line.

Authorization

bearer_auth
AuthorizationBearer <token>

In: header

Path Parameters

runner_id*string

Runner ID

job_id*string

Build/Job ID

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

curl -X POST "https://example.com/v1/runners/string/jobs/string/logs" \  -H "Content-Type: application/json" \  -d '{    "chunks": [      {        "content": "string",        "sequence": 0,        "stream": "stdout"      }    ]  }'
{  "appended": 0}