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

# Tracking Your Acceptance Rate

> See how many of your proposals reviewers accept — and tune your models against it.

Every proposal you submit is reviewed by a human, who accepts or rejects it. Your **acceptance
rate** is the share of reviewed proposals that were accepted. It's the clearest measure of how
useful your enrichment is to the merchant — and the metric you should optimize against.

## Why it matters

* **Tune your models.** A dip after a model change is immediate feedback that something regressed.
* **Calibrate confidence.** Compare acceptance across confidence bands — if your "90+" proposals are
  rejected as often as your "50s", your confidence scoring needs work.
* **Prove value.** A high, stable acceptance rate is the case for expanding scope with the merchant.

## Endpoint

```http theme={null}
GET /api/enrichment/acceptance-rate
```

Requires the `catalog:read` scope. The organization is resolved from your API key, so the metrics are
always scoped to your own submissions for that merchant.

<ParamField query="since" type="string">
  Optional. Restrict the window to proposals reviewed after this moment (epoch millis or ISO-8601),
  mirroring `modifiedSince` on the products endpoint. Proposals not yet reviewed are matched by their
  submission time instead, so the counts always add up.
</ParamField>

<ParamField query="until" type="string">
  Optional. Restrict the window to proposals reviewed before this moment.
</ParamField>

### Response

```json theme={null}
{
  "totalSubmitted": 12840,
  "reviewed": 11020,
  "accepted": 9460,
  "rejected": 1560,
  "pending": 1820,
  "acceptanceRate": 0.8585,
  "byConfidenceBand": [
    { "band": "0-49",   "reviewed": 1400, "accepted": 700,  "acceptanceRate": 0.5000 },
    { "band": "50-79",  "reviewed": 3600, "accepted": 2880, "acceptanceRate": 0.8000 },
    { "band": "80-100", "reviewed": 6020, "accepted": 5880, "acceptanceRate": 0.9767 }
  ]
}
```

<ResponseField name="totalSubmitted" type="number">
  All proposals you've submitted in the window, regardless of review state.
</ResponseField>

<ResponseField name="reviewed" type="number">
  Proposals a reviewer has acted on (accepted or rejected).
</ResponseField>

<ResponseField name="accepted" type="number">
  Proposals where at least one field was applied to the catalog. A proposal you review field-by-field
  and partially approve counts as accepted.
</ResponseField>

<ResponseField name="rejected" type="number">
  Proposals a reviewer rejected in full.
</ResponseField>

<ResponseField name="pending" type="number">
  Proposals still awaiting review.
</ResponseField>

<ResponseField name="acceptanceRate" type="number">
  `accepted / reviewed`, as a 0–1 fraction rounded to four decimals. `pending` items are excluded from
  the denominator; the rate is `0` until at least one proposal has been reviewed.
</ResponseField>

<ResponseField name="byConfidenceBand" type="array">
  The same `reviewed` / `accepted` breakdown split by the `confidence` you sent — the fastest way to
  check whether your confidence scoring is well calibrated. Proposals submitted without a `confidence`
  are counted in the totals above but not in any band.
</ResponseField>
