MAGENT

WEDGE

Ontology lookup

Exact code to preferred term. Deterministic catalog lookup. Not a billing submission.

WEDGE $0.005 USDC GET /api/ontology/lookup

When to use

Look up a current RxNorm, ICD-10-CM, or LOINC display from an exact code. Use when an agent already has a code and must not invent the preferred term.

Try

Opens the live endpoint. Unpaid browser requests show the paywall; agents should send Accept: application/json.

/api/ontology/lookup?system=rxnorm&code=198440

Full URL: https://api.magentlab.com/api/ontology/lookup?system=rxnorm&code=198440

Request

GET /api/ontology/lookup · x402 V2 · USDC on Base · $0.005 USDC

x402 V2 curl

Expect HTTP 402 and a PAYMENT-REQUIRED header until you retry with PAYMENT-SIGNATURE.

curl -i -H "Accept: application/json" "https://api.magentlab.com/api/ontology/lookup?system=rxnorm&code=198440"

Cursor mcp.json

Intended config for @magent/mcp. This is not npm @x402/fetch (a payment fetch wrapper).

{
  "mcpServers": {
    "magent": {
      "args": [
        "-y",
        "@magent/mcp"
      ],
      "command": "npx",
      "env": {
        "X402_PRIVATE_KEY": "0xYOUR_SPENDING_KEY"
      }
    }
  }
}

Query parameters

Name Type Required Description
system string required · rxnorm, icd10, loinc rxnorm, icd10 (ICD-10-CM), or loinc.
code string required Exact published identifier. ICD-10-CM accepts dotted or compact form (E11.9 or E119). Max 32 characters.

Success fields

Field Type Description
found boolean true when the code exists in the catalog
system string rxnorm, icd10, or loinc
code string Canonical catalog code when found
display string Preferred term, or null when not found
tty string Term type, or null when not found
status string current or equivalent catalog status
billable boolean ICD-10-CM billable flag; null otherwise
obsolete boolean true when the catalog marks the code obsolete
synonyms array Known synonyms; empty when not found
catalog object Seed vs ingested vs full coverage metadata
disclaimer string Not-a-device notice

Example

Frozen fixture. Not a live lookup.

{
  "code": "198440",
  "status": "current",
  "system": "rxnorm",
  "display": "acetaminophen 500 MG Oral Tablet",
  "tty": "SCD",
  "obsolete": false,
  "found": true,
  "disclaimer": "Not a medical device. Deterministic published-formula or coded-ontology output for autonomous agents. A licensed clinician remains responsible for patient care and billing submissions.",
  "catalog": {
    "coverage": "full",
    "icd10cm_fy": "FY2026-04",
    "license": {
      "icd10cm": "ICD-10-CM from CMS/NCHS. US claims codes, not WHO ICD-10.",
      "loinc": "This material contains content from LOINC (http://loinc.org). LOINC is copyright © Regenstrief Institute, Inc. and the Logical Observation Identifiers Names and Codes (LOINC) Committee and is available at no cost under the license at http://loinc.org/license. LOINC® is a registered United States trademark of Regenstrief Institute, Inc.",
      "rxnorm": "This product uses publicly available data courtesy of the U.S. National Library of Medicine (NLM), National Institutes of Health, Department of Health and Human Services; NLM is not responsible for the product and does not endorse or recommend this or any other product."
    },
    "loinc_version": "2.82",
    "notes": "ICD-10 entries are ICD-10-CM (US claims), not WHO ICD-10. RxNorm is Current Prescribable Content until a licensed full monthly ingest lands.",
    "rxnorm_release": "2026-08-03",
    "source": "postgres ingest",
    "systems": [
      "rxnorm",
      "icd10",
      "loinc"
    ],
    "version": "icd10:FY2026-04|loinc:2.82|rxnorm:2026-08-03"
  },
  "billable": null,
  "synonyms": [
    "acetaminophen 500 MG Oral Tablet",
    "APAP 500 MG Oral Tablet"
  ]
}

Payment

Unpaid requests return HTTP 402 with a base64 PAYMENT-REQUIRED header. Retry the same URL with PAYMENT-SIGNATURE. Settlement completes before the tool runs. Full handshake and shared payment errors: Payments.

Errors

HTTP Code When
400 invalid_system system must be rxnorm, icd10, or loinc
400 invalid_code code is required and must be 1-32 characters
402 payment_required Missing or invalid PAYMENT-SIGNATURE; decode the PAYMENT-REQUIRED header
409 payment_in_progress The same authorization nonce is already being settled; retry shortly
429 rate_limited Too many requests from this client
503 settlement_uncertain Settlement is unconfirmed; retry with the same PAYMENT-SIGNATURE
503 facilitator_unavailable Payment facilitator unavailable
503 facilitator_misconfigured Payment facilitator is not configured
503 facilitator_unauthorized Payment facilitator rejected credentials
503 ledger_unavailable Payment ledger unavailable
503 payment_unavailable Payment processing unavailable

Guarantees

  • Settlement finishes before the tool executes. Uncertain settlement fails closed (HTTP 503).
  • Lookups run on our nodes — no third-party data API wrappers.
  • Localhost, IP literals, and metadata hostnames are rejected.
  • Execution is timeout-bounded and concurrency-capped.