---
title: "Reserve one immutable DB-owned gateway evidence sequence range"
method: POST
path: "/internal/gateway/evidence-sequences/reserve"
---

# Reserve one immutable DB-owned gateway evidence sequence range

`POST /internal/gateway/evidence-sequences/reserve`

## Request

- Base URL: `https://api.eurobase.dev`
- URL: `https://api.eurobase.dev/internal/gateway/evidence-sequences/reserve`
- Auth: HTTP bearer

## Request body

- InternalGatewayEvidenceSequenceRequest
  - `sequenceAllocation` GatewayEvidenceSequenceAllocationRequest, required
    - `schemaVersion` 1, required
    - `reservationId` string, required
    - `storeUid` string, required
    - `ownerId` string, required
    - `localHighWater` integer, required
    - `requestedCount` integer, required
    - `recoveryFingerprint` string, required
    - `recoveryCandidates` GatewayEvidenceSequenceRecoveryCandidate[], required
      - `walRecordId` string, required
      - `sourceReservationId` string, required
      - `sequence` integer, required
      - `rowFingerprint` string, required
    - `predecessorReservationId` string: ADR 0105: the reservation a running Gateway rotates from. Absent at boot; granted only while it is the store's newest reservation.

## Response `200`

The immutable sequence reservation receipt, including exact retained-row supersessions when authorized

- InternalGatewayEvidenceSequenceResponse
  - `ok` true, required
  - `sequenceAllocation` GatewayEvidenceSequenceAllocationReceipt, required
    - `schemaVersion` 1, required
    - `reservationId` string, required
    - `storeUid` string, required
    - `ownerId` string, required
    - `writerEpoch` integer, required
    - `segmentId` string, required
    - `localHighWater` integer, required
    - `requestedCount` integer, required
    - `recoveryFingerprint` string, required
    - `firstSequence` integer, required
    - `lastSequence` integer, required
    - `supersessions` GatewayEvidenceSequenceSupersession[], required
      - `incidentId` string, required
      - `originalWalRecordId` string, required
      - `originalSourceReservationId` string, required
      - `originalSequence` integer, required
      - `originalRowFingerprint` string, required
      - `canonicalSegmentId` string, required
      - `canonicalWalRecordId` string, required
      - `canonicalSequence` integer, required
    - `predecessorReservationId` string

## Other responses

- `401`: Gateway sequence token is invalid or expired
- `403`: Gateway sequence token does not own the requested reservation
- `409`: The reservation or authorized retained-row sequence proof conflicts
- `422`: Gateway sequence reservation or recovery identity is invalid

---

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