---
title: "Ingest Worker output and instance events of one app host boot (ADR 0076 contract §5a)"
method: POST
path: "/internal/app-host/logs/ingest"
---

# Ingest Worker output and instance events of one app host boot (ADR 0076 contract §5a)

`POST /internal/app-host/logs/ingest`

## Request

- Base URL: `https://api.eurobase.dev`
- URL: `https://api.eurobase.dev/internal/app-host/logs/ingest`
- Auth: none declared

Bearer: an app-host-logs producer token verified before the body is read. Active or draining members may submit up to 64 streams and 500 records. Each stream is bound through the live or retained app route binding; rows are stored in the Workers project logs through the shared write sanitizer and are idempotent per host, boot and seq. The host drops, never retries, a refused batch.

## Request body

- AppHostLogsBatchV1
  - `schemaVersion` 'app-host-logs.v1', required
  - `hostId` string, required
  - `bootId` string, uuid, required
  - `streams` unknown[], required: One stream per unit start: routeId, deploymentId, projectId, releaseId, unitStartedAt and 1..500 records in total (kinds console, runtime, dropped, stopped, startup-failed). Every stream receives a disposition.
    - unknown

## Response `200`

Per-stream accepted or rejected dispositions

- AppHostLogsResults: Results correspond to input streams by array position.
  - `results` object[], required
    - `index` integer, required
    - `routeId` string, nullable, required
    - `disposition` 'accepted' | 'rejected', required
    - `reason` 'stream_invalid' | 'route_unknown' | 'route_binding_mismatch' | 'stream_unstorable'

## Other responses

- `400`: Invalid batch envelope (app-host-logs-batch-invalid)
- `401`: Producer token invalid (app-host-producer-token-invalid)
- `403`: Batch names another host or boot (app-host-producer-scope-mismatch), or the host is not an active or draining member (app-host-not-member)
- `503`: Ingest secret is not configured (app-host-ingest-unconfigured)

---

[API](https://skmtc.dev/eurobase/apis/eurobase-api.md) · [All operations](https://skmtc.dev/eurobase/apis/eurobase-api/llms.txt) · [OpenAPI document](https://skmtc.dev/eurobase/apis/eurobase-api/revisions/5266a299d18a?raw)
