---
title: "Bulk reconciliation — resolve many strings with confidence bands."
method: POST
path: "/entities/resolve/batch"
tags: ["Layer 1 — Profile"]
---

# Bulk reconciliation — resolve many strings with confidence bands.

`POST /entities/resolve/batch`

## Request

- Base URL: `https://entidex.com/api/v1`
- URL: `https://entidex.com/api/v1/entities/resolve/batch`
- Auth: HTTP bearer

Billed per input. Results are positionally aligned with `inputs`.

## Request body

- object
  - `inputs` string[], required

## Response `200`

OK

- object
  - `data` ReconciliationResult[]
    - `input` string, required
    - `resolved` boolean, required: True for the auto/strong bands.
    - `entityId` string, nullable, required
    - `canonicalName` string, nullable, required
    - `confidence` number, required: 0..1 confidence of the top candidate; 0 when nothing matched.
    - `band` 'auto' | 'strong' | 'review' | 'unresolved', required
    - `candidates` ReconciliationCandidate[], required
      - `entityId` string, required
      - `canonicalName` string, required
      - `confidence` number, required: 0..1 similarity to the input.
  - `meta` ResponseMeta
    - `requestId` string, required
    - `timestamp` string, date-time, required
    - `apiVersion` string, required
    - `pagination` object
      - `cursor` string, nullable
      - `hasMore` boolean
      - `limit` integer
    - `rateLimit` object
      - `limit` integer
      - `remaining` integer
      - `resetAt` string, date-time
    - `billing` object
      - `creditsUsed` integer
      - `creditsRemaining` integer, nullable
      - `tier` 'free' | 'layer_0_discovery' | 'layer_1_profile' | 'layer_2_insight' | 'layer_3_drift' | 'layer_4_cohort'
      - `allowedLayers` integer[]: Cumulative layer ladder unlocked by this key (0=discovery … 4=cohort). free → []; layer_2_insight → [0,1,2].
      - `mode` 'demo' | 'free' | 'payg' | 'keyed': How the caller is billed: demo (feedback-loop key), free (monthly allowance), payg (Developer PAYG), keyed (paid subscription).
  - `errors` ApiError[]
    - `code` 'ENTITY_NOT_RESOLVED' | 'ENTITY_NOT_FOUND' | 'INVALID_PARAMETER' | 'RATE_LIMITED' | 'INSUFFICIENT_CREDITS' | 'TIER_NOT_AVAILABLE' | 'UNAUTHENTICATED' | 'FORBIDDEN' | 'INTERNAL_ERROR', required
    - `message` string, required
    - `field` string
    - `candidates` object[]

---

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