---
title: "Match Schema"
method: POST
path: "/api/codex-schema/match"
tags: ["codex-schema"]
---

# Match Schema

`POST /api/codex-schema/match`

Return previously successful Codex imports whose schema matches the uploaded CSV.

## Query parameters

- `user_id` string, nullable
- `org_id` string, nullable

## Request body

- SchemaMatchRequest
  - `signature` string, required — SHA256 fingerprint of normalized headers.
  - `headers` string[] — Raw column headers from the CSV.
  - `sample_rows` object[], nullable — Optional preview rows from the CSV for compatibility checks.
  - `schema_version` integer, nullable — Fingerprint specification version.
  - `limit` integer, nullable — Maximum number of matches to return.

## Response `200`

Successful Response

- SchemaMatchResponse
  - `matches` SchemaMatchResult[], required
    - `job_id` string, required
    - `thread_id` string, nullable, required
    - `completed_at` string, nullable, required
    - `job_type` string, nullable, required
    - `nickname` string, nullable, required
    - `schema_signature` string, nullable, required
    - `schema_version` integer, nullable, required
    - `reused_from_job_id` string, nullable, required
    - `summary` string, nullable, required
    - `script_hash` string, nullable, required
    - `compatibility` object, nullable, required

## Other responses

- `422` — Validation Error

## Changes

- **2026-08-15** `4623f3a45952` — 1 breaking
  - response property `matches/items/schema_signature` list-of-types was widened by adding types `null` to media type `application/json` of response `200`

[Change history](https://skmtc.dev/every/apis/every-api/changes/api/codex-schema/match/post.md)

---

[API](https://skmtc.dev/every/apis/every-api.md) · [All operations](https://skmtc.dev/every/apis/every-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/every/every-api/revisions/88bb31b8dace/schema)
