Enrich entity
enrich_entityEnrich one entity against exactly one of schema_id or target_schema, returning structured output, record_id, costs and any database outcome. Read get_schema's input_contract first (published version when linked); never invent preserve values. Models may be omitted for auto selection. Generation is billed. Two or more models fuse only when all succeed: check failed_models before reporting success. A failed leg prevents automatic fusion and database admission. classification_warning returns success=false, error_code and classification; bypass only after user confirmation. Database sync defaults on: report database.status and database_warning, including partial writes or overwrites; admission is not proof of replica delivery. Recovery and fusion: enricher://docs/enrichment-and-fusion. This tool does not expose web-search activation.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| models | No | Model composite keys. Omit or pass ['auto'] for one automatically selected model; auto alone never fuses. Use list_models for explicit choices and model-count limits. | |
| strategy | No | auto (default — server picks from the schema) | single_pass (simple schemas, 1 LLM call) | expert_domains (medium schemas with clear domains) | multi_expertise (large multi-domain schemas, parallel per-expertise calls — best quality, higher cost) | auto |
| languages | No | ISO 639-1 codes; defaults to ['en'] server-side. The first language is the primary one used for all non-multilingual string fields; multilingual fields get one value per language. | |
| schema_id | No | UUID of a saved schema. Mutually exclusive with target_schema. | |
| entity_data | Yes | Entity identifiers and supplied values. Read get_schema.input_contract first: preserve paths and keys for supplied array items are required. Identifying field names are guidance; arbitrary names are accepted. | |
| database_sync | No | Whether this run feeds the schema's entity layer and linked databases. Leave true for normal enrichments. Set false for the one-model recovery leg of a failed fusion run (see the recovery ladder above): the merge_records call that follows is what should write, so the intermediate single-model write is skipped. The record itself is still saved either way. | |
| target_schema | No | Inline JSON Schema document in the supported Entity Enricher dialect; prefer schema_id. Format: enricher://docs/schema-reference. | |
| attachment_ids | No | UUIDs of attachments (from upload_attachment) to provide as source material for this enrichment. | |
| timeout_seconds | No | Wall-clock cap. Past it the call returns `enrichment_timeout` with the job_id and the job is cancelled — a leg still in flight may finish and persist a partial record, reachable via list_records(job_id=...) and recoverable with retry_expertises. Multi-model fusion runs and reasoning models routinely need more than the default; raise it or use start_batch_enrichment (async). | |
| arbitration_model | No | Optional LLM model key used to resolve fusion conflicts when 2+ models are selected. Without this, conflicts are resolved by deterministic voting. | |
| classification_model | No | Optional pre-flight classifier model key. When set, the entity is type-checked before enrichment to catch mismatches. | |
| force_after_classification_warning | No | Set to true to bypass a previous classification warning. Use only after explicit user confirmation. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||