API Documentation
Programmatic access to the Measurand Taxonomy Catalog. All endpoints return JSON responses.
Endpoints
/api/taxonsList 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/api/taxons/[name]Get a specific taxon by name. The name should be URL-encoded.
Example Request
GET /api/taxons/Measure.Acceleration/api/disciplinesGet 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/api/quantitiesGet all quantity kinds with their M-Layer aspects and taxon counts.
/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/taxonsExample Request
GET /api/search?q=temperatureUsage 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.