> ## Documentation Index
> Fetch the complete documentation index at: https://docs.infercrane.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Settle a reservation from externally verified token usage



## OpenAPI

````yaml /openapi.json post /api/v1/admin/billing/reservations/{id}/settlement
openapi: 3.1.0
info:
  description: >-
    Durable, authenticated control-plane operations. Mutation responses may
    outlive the requesting client.
  title: InferCrane Control API
  version: 1.0.0
servers:
  - description: Local InferCrane API and gateway
    url: http://127.0.0.1:18000
security: []
tags:
  - name: Admission
  - name: Adoption
  - name: Alerts
  - name: Async inference
  - name: Audit
  - name: Autopilot
  - name: Benchmarks
  - name: Billing
  - name: Billing administration
  - name: Burst Guard
  - name: Capacity intelligence
  - name: Context Passport
  - name: Deployments
  - name: Diagnostics
  - name: Endpoints
  - name: External capacity
  - name: FinOps
  - name: Identity
  - name: Inference
  - name: Inference Lab
  - name: Inference decisions
  - name: Inference optimization
  - name: Infrastructure
  - name: Model APIs
  - name: Model artifacts
  - name: Model catalog
  - name: Monitoring
  - name: Operations
  - name: Providers
  - name: Recipes
  - name: Release Guard
  - name: Release evidence
  - name: Replay
  - name: Revisions
  - name: Routing
  - name: Sandboxes
  - name: Scaling
  - name: Secrets
  - name: System
  - name: Targets
  - name: Training lineage
paths:
  /api/v1/admin/billing/reservations/{id}/settlement:
    post:
      tags:
        - Billing administration
      summary: Settle a reservation from externally verified token usage
      operationId: settleManagedUsage
      parameters:
        - in: path
          name: id
          required: true
          schema:
            minLength: 1
            type: string
        - description: >-
            Stable key used to adopt the original durable operation after
            retries or disconnects.
          in: header
          name: Idempotency-Key
          required: true
          schema:
            maxLength: 128
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ManagedUsageSettlement'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ManagedUsageReservationEnvelope'
          description: Success
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorEnvelope'
          description: Typed API error
      security:
        - bearerAuth: []
components:
  schemas:
    ManagedUsageSettlement:
      additionalProperties: false
      properties:
        input_tokens:
          minimum: 0
          type: integer
        output_tokens:
          minimum: 0
          type: integer
        tenant_id:
          minLength: 1
          type: string
      required:
        - tenant_id
        - input_tokens
        - output_tokens
      type: object
    ManagedUsageReservationEnvelope:
      properties:
        content_recorded:
          type: boolean
        data:
          $ref: '#/components/schemas/ManagedUsageReservation'
      required:
        - data
      type: object
    ErrorEnvelope:
      properties:
        error:
          $ref: '#/components/schemas/Error'
      required:
        - error
      type: object
    ManagedUsageReservation:
      additionalProperties: false
      properties:
        actual_microusd:
          minimum: 0
          type: integer
        binding_id:
          type: string
        created_at:
          format: date-time
          type: string
        id:
          type: string
        input_tokens:
          minimum: 0
          type: integer
        model:
          type: string
        output_tokens:
          minimum: 0
          type: integer
        reserved_microusd:
          minimum: 0
          type: integer
        resolution:
          type: string
        state:
          enum:
            - reserved
            - settled
            - released
            - pending_reconciliation
          type: string
        supplier:
          type: string
        tenant_id:
          type: string
        updated_at:
          format: date-time
          type: string
      required:
        - id
        - tenant_id
        - binding_id
        - supplier
        - model
        - reserved_microusd
        - actual_microusd
        - state
        - resolution
        - created_at
        - updated_at
      type: object
    Error:
      properties:
        category:
          type: string
        code:
          type: string
        message:
          type: string
        remediation:
          type: string
        request_id:
          type: string
        retryable:
          type: boolean
      required:
        - code
        - message
      type: object
  securitySchemes:
    bearerAuth:
      scheme: bearer
      type: http

````