API reference (v1)

Base URL: https://tttkmbb.com/api/v1. All responses are JSON (UTF-8) with Access-Control-Allow-Origin: *. No authentication. Version is part of the path; field meanings never change within a version.

Endpoints

MethodPathoperationIdPurpose
GET/api/v1get_api_indexEndpoint index
GET/api/v1/statusget_service_statusService status, version, counts
GET/api/v1/categorieslist_calculator_categoriesCategories with counts
GET/api/v1/calculators?category=&query=list_calculatorsList calculators (optionally filtered)
GET/api/v1/search?query=search_calculatorsRanked search over names, tags and descriptions
GET/api/v1/calculators/{calculator_id}get_calculator_schemaFull definition: inputs, outputs, formula, sources, examples
GET/api/v1/calculate/{calculator_id}?…calculate_<id>Run a calculator with query parameters
POST/api/v1/calculate/{calculator_id}run_calculatorRun with JSON body {"inputs": {…}} (or a flat object)
GET/api/v1/convert?value=&from_unit=&to_unit=convert_unitsConvert between any two units of the same quantity
GET/api/v1/unitslist_unitsAll supported units by quantity
GET/api/v1/tasks/{task_id}get_taskRe-derive a completed calculation from a content-addressed task id

Parameters

Parameter names are descriptive snake_case with the unit in the name where relevant (weight_kg, annual_rate_percent). Percentages are plain percent numbers (6.5 means 6.5 %). Dates are ISO 8601 (2026-09-23). Lists are comma-separated in query strings (values=1,2,3) or JSON arrays in POST bodies. Unknown parameters are ignored and reported in warnings.

Content negotiation

Each calculator also exists as HTML (/{category}/{id}), Markdown (/{category}/{id}.md) and JSON definition (/{category}/{id}.json). Adding query parameters to the .json URL returns the calculation result.

Versioning

See also: response format, errors, rate limits, OpenAPI.

Markdown source: /docs/api.md