---
title: "Recover the existing purchase without rerunning work"
method: POST
path: "/v1/finds/{id}/reconcile"
---

# Recover the existing purchase without rerunning work

`POST /v1/finds/{id}/reconcile`

## Request

- Base URL: `https://api.specstream.ai`
- URL: `https://api.specstream.ai/v1/finds/{id}/reconcile`
- Auth: API key in header `Authorization`

## Path parameters

- `id` string, required

## Response `200`

Commercial state

- object
  - `data` CommerceData, required
    - `spec_version` 'commerce.v1'
    - `find_id` string, required
    - `payment_status` string, required
    - `fulfillment_status` string, required
    - `settlement_status` 'none' | 'pending' | 'settled' | 'attention', required
    - `access_state` string, required
    - `access_allowed` boolean, required
    - `next_action` 'wait' | 'retrieve' | 'contact_support' | 'none', required
    - `currency` 'USD'
    - `amount_authorized_cents` integer, required
    - `amount_captured_cents` integer, required
    - `amount_refunded_cents` integer, required
    - `delivered_rows` integer, required
    - `fulfilled_at` string, date-time, nullable, required
    - `access_expires_at` string, date-time, nullable, required
    - `cancel_requested` boolean, required
    - `capacity_offer` CapacityQuoteData, required
      - `pricing_version` 'capacity.v1'
      - `quote_id` string, required
      - `quote_hash` string, required
      - `currency` 'USD' | 'EUR'
      - `maximum_cents` integer, required
      - `expires_at` string, date-time, required
      - `scope` object, required
      - `terms` object, required
        - `unit_cents` integer
        - `contact_unit_cents` integer: Rate for a result delivered with a requested email (or a phone when no phone rate is set); the maximum assumes every result has a contact.
        - `contact_phone_unit_cents` integer: Rate for a result delivered with a requested phone.
        - `check_unit_cents` integer: Charge per imported row resolved and checked, matched or not.
        - `required_check_unit_cents` integer: Charge per company checked for a detail marked as needed that met every condition but lacked it.
        - `required_check_allowance` integer: How many such companies the maximum covers.
        - `related_block_cents` integer: Charge per ten related records past related_included_records in one collection on one result.
        - `undelivered_unit_cents` integer: Missing-result shortfall refund per unit, excluding unused contact contingency.
        - `retail_rate` object
          - `version` string
          - `recheck` boolean
          - `contact_unit_cents` integer, nullable
      - `cost_basis` 'estimated' | 'measured', required
      - `cost_profile_version` string, required
      - `retained_work_cents` 0
      - `existing_execution` object, nullable
      - `can_authorize` boolean
    - `billing_model` 'capacity.v1'
    - `reservation_id` string, required
    - `billed_unit_ids` string[]
    - `billed_units` BilledUnit[]
      - `id` string, required
      - `unit_cents` integer, required
    - `shortfall` Shortfall: A Find that came back short: what was found is delivered, the rest refunded.
      - `requested_units` integer, required
      - `delivered_units` integer, required
      - `refunded_cents` integer, required

## Other responses

- `default`: Error envelope

---

[API](https://skmtc.dev/specstream/apis/specstream-api.md) · [All operations](https://skmtc.dev/specstream/apis/specstream-api/llms.txt) · [OpenAPI document](https://skmtc.dev/specstream/apis/specstream-api/revisions/5a9f51143a13?raw)
