---
title: "Reconcile revoked Worker routes after launcher stops"
method: POST
path: "/internal/app-host/routes/reconcile"
---

# Reconcile revoked Worker routes after launcher stops

`POST /internal/app-host/routes/reconcile`

## Request

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

Existing app-host-facts producer authorization; current single host and boot only. stoppedAt uses the producer clock, bounded to 60 seconds from receipt. A reply carries generation while the API observes every committed project and resource change; a request without stops whose generation is still current is answered with no revocations and no database read.

## Request body

- object
  - `routeIds` string[], required
  - `stoppedRouteIds` string[], required
  - `stoppedAt` string, date-time: Required with a nonempty stoppedRouteIds.
  - `generation` string: The generation of the last reply that revoked nothing, sent only while routeIds is a subset of that request.

## Response `200`

Revoked routes

- object
  - `revokedRouteIds` string[], required
  - `generation` string

## Other responses

- `400`: Invalid route inventory or stop boundary
- `401`: Wrong host producer bearer or scope
- `403`: Host boot is not current
- `503`: Host producer authorization or single-host binding unavailable

---

[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)
