API Documentation

Programmatic access to the Measurand Taxonomy Catalog. All endpoints return JSON responses.

Endpoints

GET/api/taxons

List taxons. By default returns active (non-deprecated) taxons only. Supports optional query parameters for filtering.

Query Parameters

disciplineFilter by discipline name (case-insensitive, trimmed)
deprecatedfalse (default) = active only; true = deprecated only; all = both. Invalid values → 400.

Example Response

{
  "taxons": [...],
  "count": 134,
  "total": 143
}

Example Request

GET /api/taxons?discipline=Electrical&deprecated=false
GET/api/taxons/[name]

Get a specific taxon by name. The name should be URL-encoded.

Example Request

GET /api/taxons/Measure.Acceleration
GET/api/disciplines

Get all disciplines with their taxon counts and metadata. Counts exclude deprecated taxons by default (same as /api/taxons).

Query Parameters

deprecatedfalse (default) / true / all — same semantics as /api/taxons
GET/api/quantities

Get all quantity kinds with their M-Layer aspects and taxon counts.

GET/api/search?q=...

Search taxons by name, definition, discipline, parameter, or quantity.

Query Parameters

qSearch query (required, min 2 characters)
deprecatedfalse (default) / true / all — same semantics as /api/taxons

Example Request

GET /api/search?q=temperature

Usage Examples

JavaScript/TypeScript

const response = await fetch('/api/taxons?discipline=Electrical');
const data = await response.json();
console.log(`Found ${data.count} taxons`);

cURL

curl "https://your-domain.com/api/taxons?discipline=Electrical"

Contract & operations

Machine-readable OpenAPI: GET /api/openapi. Health/readiness: GET /api/health.

Nested taxon fields keep XML PascalCase (Definition, Result, Parameter, Discipline) by design. Result.mLayer is optional.

Rate Limiting & caching

Public API routes are IP rate-limited (~60/min search, ~300/min other). Catalog responses use CDN caching (s-maxage=3600, stale-while-revalidate=86400) with ETags. For heavy external adoption, also enable Vercel Firewall.