# CLI: record matching

Source: https://mostlyright.md/docs/reference/cli/match/

Use `mr-data match` to match text or records against a versioned dataset using a profile. A profile defines the matching behavior; a job tracks the work; results carry the evidence to review. Availability depends on the hosted deployment and your workspace access.

## Inspect before submitting

```sh
mr-data match --help
mr-data match profiles --json
mr-data match profile PROFILE_ID --json
```

Read the returned profile and revision before constructing a request. Writes take a UTF-8 JSON request document through `--request FILE`. The CLI validates each operation against the matching contract; do not reuse a query body as a job, profile or publication body.

```sh
mr-data match estimate --request request.json --json
mr-data match query TABLE_ID --request request.json --idempotency-key REQUEST_KEY --json
```

Replace identifiers and `REQUEST_KEY` with your own values. Preserve the idempotency key for an identical submission after an interrupted response. Changed requests require a new key. An estimate is not an execution result.

## Follow and review a job

```sh
mr-data match jobs --json
mr-data match job JOB_ID --json
mr-data match watch JOB_ID --timeout 120 --json
mr-data match results JOB_ID --limit 20 --json
```

Follow server-issued cursors with `--cursor`. Inspect coverage, assessments and execution evidence before using matches as facts. A completed job does not establish that every source record matched correctly. Keep ambiguous matches separate from accepted ones.

## Operations

| Group | Commands |
| --- | --- |
| Profiles | `profile-create`, `profiles`, `profile`, `profile-version`, `profile-activate`, `profile-alias`, `profile-delete` |
| Quality and indexing | `validate`, `evaluate`, `index-create`, `index`, `index-delete` |
| Execution | `query`, `estimate`, `execution`, `execution-delete` |
| Jobs | `job-create`, `jobs`, `job`, `results`, `cancel`, `resume`, `retry-failed`, `watch`, `wait` |
| Delivery and review | `publish`, `publication-cancel`, `export`, `review` |
| Media | `media-create`, `media`, `media-seal`, `media-download`, `media-delete` |

`--if-match ETAG` supplies a profile revision precondition. `--alias` selects `default`, `shadow` or `rollback`. `--revision` reads an immutable revision. Export format is `jsonl`, `parquet` or `json`; `--kind` selects `edges`, `summaries`, `assessments`, `execution_manifest`, `coverage` or `evaluation`. Evaluation exports require an actual retained `--evaluation-id`.

Read structured failures and retry instructions. Do not blindly repeat publication, cancellation, profile changes or deletion after an ambiguous response: first inspect the corresponding resource. For row search without a matching profile, use [CLI search](/docs/reference/cli/search/).
