Curated datasets
resolve_entity
Resolve Entity·v2.0.0·L2·read-only·MCP + REST·admitted 2026-10-29
Inputs
31 required
Sources
5
Known limits
4
Real answer
3.98scomplete
What it answers
- 1Resolve any company name or ID to Vlada's canonical entity: a legal entity (le:...), a brand, an NAIC group, a CMS contract (H1234), a plan (H1234-001@2027), a Medicaid plan, a Marketplace issuer (HIOS).
- 2Matches exactly on IDs, EIN, NAIC code, CIK and names, then on names that contain every word of the text (returned as candidates, never as a match).
- 3Pass on=YYYY-MM-DD to match names as of a date.
- 4Then call describe_entity with the entity_id for its owners on a date, what it holds, and its events.
Inputs (3)
| Name | Type | Required | Default | Accepts |
|---|---|---|---|---|
text | string | required | ||
limit | integer | optional | 25 | |
on | any | optional | null |
Call it
# MCP (https://mcp.vladahealth.com/mcp): the tool by name resolve_entity(text="Humana Inc.")
curl -X POST https://api.vladahealth.com/v1/tools/resolve_entity \
-H "Authorization: Bearer $VLADA_API_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"Humana Inc."}'
# the schema, no key
curl https://api.vladahealth.com/v1/tools/resolve_entity/schemaA real answer
customer seat, 2026-11-09·over REST·3.98s·status
complete·complete·verbatim{
"value": {
"found": true,
"status": "found",
"not_found_reason": null,
"query": {
"text": "Humana Inc.",
"on": null
},
"candidates": [
{
"entity_id": "le:000009",
"kind": "legal_entity",
"label": "Humana Inc.",
"matched_on": [
"name=Humana Inc.",
"label=Humana Inc."
],
"score": 1.0,
"redirect_from": null
}
],
"shapes_recognised": [],
"recover_with": [],
"next": "describe_entity(entity_id=<a candidate's entity_id>, on=<date>)"
},
"unit": "ontology_entity",
"vintage": "2026-10-28",
"source": {
"dataset": "Vlada ontology layer one (who holds and who owns every payer instrument, over time)",
"publisher": "vlada",
"catalog_updated_at": "2026-10-28"
},
"caveats": [],
"response_hash": "8392da4fa816dd83869de7d70d18c4387d7ecd42181cdfd482400dd8e4f1e269",
"semantic_version": 1,
"tool_version": "resolve_entity@2.0.0",
"explanation": null,
"status": "complete",
"audience": "customer",
"answer": {
"value_ref": "value",
"unit": "ontology_entity",
"scope": {
"tool": "resolve_entity",
"filters": {
"text": "Humana Inc.",
"limit": 25
}
}
},
"method": "Computed over the filters shown in this answer's scope, from the sources listed in its evidence. Nothing outside those filters was included. You did not specify limit; 25 was used.",
"evidence": {
"sources": [
{
"dataset": "Vlada ontology layer one (who holds and who owns every payer instrument, over time)",
"publisher": "vlada",
"catalog_updated_at": "2026-10-28"
}
],
"response_hash": "8392da4fa816dd83869de7d70d18c4387d7ecd42181cdfd482400dd8e4f1e269"
},
"defaults_applied": [
{
"param": "limit",
"used": 25,
"reason": "tool default"
}
]
}What comes back
| Field | Holds |
|---|---|
status | complete · partial · refused · failed · queued |
value | the shape below |
source · caveats · invariants_applied · response_hash | the public file and vintage; what to know before citing; the rules honoured; replayable |
refusal | code (15), message, recover_with |
{
"$defs": {
"Quality": {
"description": "Row-level quality signal. All flags precomputed at build time\n(stored on the gold mart) and passed through here.",
"properties": {
"is_outlier": {
"default": false,
"title": "Is Outlier",
"type": "boolean"
},
"is_ghost_candidate": {
"default": false,
"title": "Is Ghost Candidate",
"type": "boolean"
},
"n_similar_rates": {
"default": 0,
"title": "N Similar Rates",
"type": "integer"
},
"confidence": {
"default": 1,
"title": "Confidence",
"type": "number"
}
},
"title": "Quality",
"type": "object"
},
"Source": {
"description": "Cell-level provenance. Every served value traces back here.\n\n`snapshot_id` is the Iceberg snapshot the tool read from. Two calls\nat the same snapshot MUST produce byte-identical responses —\nthat's the content-addressed caching guarantee.",
"properties": {
"table": {
"title": "Table",
"type": "string"
},
"rate_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Rate Id"
},
"source_files": {
"items": {
"type": "string"
},
"title": "Source Files",
"type": "array"
},
"snapshot_id": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"title": "Snapshot Id"
}
},
"required": [
"table"
],
"title": "Source",
"type": "object"
}
},
"properties": {
"value": {
"default": null,
"title": "Value"
},
"unit": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Unit"
},
"vintage": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Vintage"
},
"source": {
"$ref": "#/$defs/Source"
},
"methodology": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Methodology"
},
"quality": {
"$ref": "#/$defs/Quality"
},
"invariants_applied": {
"items": {
"type": "string"
},
"title": "Invariants Applied",
"type": "array"
},
"caveats": {
"items": {
"type": "string"
},
"title": "Caveats",
"type": "array"
},
"response_hash": {
"default": "",
"title": "Response Hash",
"type": "string"
},
"semantic_version": {
"default": 1,
"title": "Semantic Version",
"type": "integer"
},
"tool_version": {
"default": "unknown",
"title": "Tool Version",
"type": "string"
},
"explanation": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Explanation"
},
"status": {
"default": "complete",
"title": "Status",
"type": "string"
},
"refusal": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"default": null,
"title": "Refusal"
},
"failure": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"default": null,
"title": "Failure"
},
"as_of": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "As Of"
},
"freshness_state": {
"default": "unknown",
"title": "Freshness State",
"type": "string"
}
},
"title": "ResolveEntityResponse",
"type": "object"
}Sources
| Kind | Name |
|---|---|
| source | vlada_ontology.l1_entity |
| source | vlada_ontology.l1_identifier |
| source | vlada_ontology.l1_edge |
| source | vlada_ontology.l1_evidence |
| source | vlada_ontology.l1_event |
| table | vlada_ontology.l1_entity |
| table | vlada_ontology.l1_identifier |
| table | vlada_ontology.l1_edge |
| table | vlada_ontology.l1_evidence |
| table | vlada_ontology.l1_event |
| view | vlada_ontology.l1_entity |
| view | vlada_ontology.l1_identifier |
| view | vlada_ontology.l1_edge |
| view | vlada_ontology.l1_evidence |
| view | vlada_ontology.l1_event |
Known limits (4)
- 1Layer one only: no facilities, doctors, networks or PBMs (layers two to five follow on Ben's signature).
- 2About 16% of Medicare Advantage members sit under a chain with one hop resting on CMS's parent string alone (grade B); the top parent is not in doubt, the corroborating filing is not yet attached.
- 3Belief time (what an earlier build served) is not yet queryable; every answer carries the build it was read from.
- 4The 233 open review-queue rows (candidate contract transfers) are not served.
| Admitted with a known defect |
|---|
| Layer one only: facilities, doctors, networks and PBMs are later layers (resolve_provider for a CCN or NPI). Exact matches first; a contains-match is offered only as a candidate. Walked in-process from this Mac before the bridge rolls; the release checks are its first live grade. |
This page as markdown: /docs-md/tools/resolve_entity.md · every page in one file: /llms-full.txt