---
title: "Reconcile Index Cost Caps"
method: POST
path: "/v1/internal/index-jobs/cost-eval/reconcile"
---

# Reconcile Index Cost Caps

`POST /v1/internal/index-jobs/cost-eval/reconcile`

## Request

- Base URL: `https://api.graphify.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.graphify.com/v1/internal/index-jobs/cost-eval/reconcile`
- Auth: none declared

Cost-evaluation sweep (#215): re-classify each tenant that has pending index builds
against its monthly cost cap and set/clear ``tenant.cost_capped_until``.

This is the ONLY place tenant cost is classified for dispatch fairness; the drain just
excludes capped tenants by the marker. Meant to run on its OWN (slow) cadence, decoupled
from the hot dispatch drain -- a sibling of the reindex-catchup tick. A strict no-op when
the monthly cost caps are dark (every tenant evaluates under cap, so no marker is set),
so it is safe to schedule unconditionally. Takes no limit: it evaluates the whole (finite)
set of tenants with pending builds each run so no over-cap tenant is left unflagged.

## Response `200`

Successful Response

- unknown

---

[API](https://skmtc.dev/graphify/apis/graphify-control-plane.md) · [All operations](https://skmtc.dev/graphify/apis/graphify-control-plane/llms.txt) · [OpenAPI document](https://skmtc.dev/graphify/apis/graphify-control-plane/revisions/0e75c82b5ea8?raw)
