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

  1. 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).
  2. 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).
  3. 3Pass on=YYYY-MM-DD to match names as of a date.
  4. 4Then call describe_entity with the entity_id for its owners on a date, what it holds, and its events.

Inputs (3)

NameTypeRequiredDefaultAccepts
textstringrequired
limitintegeroptional25
onanyoptionalnull

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/schema

A 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

FieldHolds
statuscomplete · partial · refused · failed · queued
valuethe shape below
source · caveats · invariants_applied · response_hashthe public file and vintage; what to know before citing; the rules honoured; replayable
refusalcode (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

KindName
sourcevlada_ontology.l1_entity
sourcevlada_ontology.l1_identifier
sourcevlada_ontology.l1_edge
sourcevlada_ontology.l1_evidence
sourcevlada_ontology.l1_event
tablevlada_ontology.l1_entity
tablevlada_ontology.l1_identifier
tablevlada_ontology.l1_edge
tablevlada_ontology.l1_evidence
tablevlada_ontology.l1_event
viewvlada_ontology.l1_entity
viewvlada_ontology.l1_identifier
viewvlada_ontology.l1_edge
viewvlada_ontology.l1_evidence
viewvlada_ontology.l1_event

Known limits (4)

  1. 1Layer one only: no facilities, doctors, networks or PBMs (layers two to five follow on Ben's signature).
  2. 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.
  3. 3Belief time (what an earlier build served) is not yet queryable; every answer carries the build it was read from.
  4. 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