Skip to content
© 2026 Velvari support@velvari.ee

Reference

Synced endpoint reference grouped by tag. Expand an operation for parameters, request-body notes, responses, and auth.

How to use this page

Everything here is synced: the endpoint list below is generated from the committed OpenAPI snapshot.
Prefer canonical routes: This snapshot documents canonical endpoint paths only. Compatibility aliases are not listed as standalone operations.
Scan first, expand second: each row shows method, path, auth, and request-body hints before you open the full parameter and response tables.
Operations
17
Canonical
17
Auth required
14
Deprecated
0

Jump to a group

Meta

Public metadata, health, and raw contract delivery endpoints.

3 operations
GET / Runtime index Public

Lightweight public text endpoint that identifies the runtime host.

Security
No auth required
Operation ID
getRuntimeIndex
Permalink

Responses

Status Description Content types
200 Plain-text runtime identifier text/plain
GET /healthz Health check Public

Public liveness endpoint used by deployment and health-check tooling.

Security
No auth required
Operation ID
getHealthz
Permalink

Responses

Status Description Content types
200 Plain-text health response text/plain
GET /openapi.yaml Raw OpenAPI document Public

Returns the canonical OpenAPI specification from `docs/openapi.yaml` for humans and tooling.

Security
No auth required
Operation ID
getOpenAPIYAML

Responses

Status Description Content types
200 Canonical OpenAPI YAML document application/yaml, text/yaml

OpenRouteService

OpenRouteService proxy and normalized helper endpoints under `/v1/ors/*`.

6 operations
GET /v1/ors/autocomplete ORS autocomplete Auth required

Returns normalized address and place suggestions from OpenRouteService geocoding autocomplete.

Security
ApiKeyHeaderAuth, BearerApiKeyAuth
Operation ID
getORSAutocomplete

Query parameters

Name Type Required Description
text string Yes Not documented
size integer · default 5 No Not documented
focus_lat number · double No Not documented
focus_lng number · double No Not documented
country string No Country code forwarded to ORS boundary filtering.
layers string No Example: venue,address. Comma-separated ORS layers.

Responses

Status Description Content types
200 OK application/json
400 Invalid request application/json
401 Unauthorized application/json
404 No suggestions found application/json
429 Rate limited application/json
500 Server error application/json
503 Upstream unavailable or ORS is not configured application/json
POST /v1/ors/directions/{profile} ORS directions proxy Auth required Request body

Thin proxy to OpenRouteService directions v2. The request body and successful response payloads are passed through as JSON. If ORS returns an HTTP error response, that upstream JSON payload is also passed through with the upstream status code. Local auth, rate-limit, and request-validation failures still use the standard Velvari `ErrorResponse` envelope.

Security
ApiKeyHeaderAuth, BearerApiKeyAuth
Operation ID
postORSDirections
Request body
required · application/json · ORSPassthroughJSON

Path parameters

Name Type Required Description
profile string Yes Allowed: driving-car, driving-hgv, cycling-regular, cycling-road, cycling-mountain, cycling-electric, foot-walking, foot-hiking, wheelchair · Example: driving-car. Not documented

Responses

Status Description Content types
200 Upstream ORS directions JSON payload application/json
400 Invalid request or upstream ORS validation error payload application/json
401 Unauthorized application/json
404 Upstream ORS not-found payload application/json
429 Rate limited locally or by upstream ORS application/json
500 Server error or upstream ORS error payload application/json
503 Upstream unavailable, ORS not configured, or upstream ORS error payload application/json
GET /v1/ors/isochrones ORS isochrones Auth required

Thin GET wrapper over OpenRouteService isochrones. Successful responses and upstream HTTP error payloads are passed through as JSON when the request reaches ORS. Local auth, rate-limit, and validation failures use the standard Velvari `ErrorResponse` envelope.

Security
ApiKeyHeaderAuth, BearerApiKeyAuth
Operation ID
getORSIsochrones

Query parameters

Name Type Required Description
lng number · double Yes Not documented
lat number · double Yes Not documented
range string Yes Example: 300,600. Comma-separated integers forwarded to ORS `range`.
profile string · default driving-car No Not documented
range_type string · default time No Not documented
interval integer No Not documented

Responses

Status Description Content types
200 Upstream ORS GeoJSON payload application/json
400 Invalid request or upstream ORS validation error payload application/json
401 Unauthorized application/json
404 Upstream ORS not-found payload application/json
429 Rate limited locally or by upstream ORS application/json
500 Server error or upstream ORS error payload application/json
503 Upstream unavailable, ORS not configured, or upstream ORS error payload application/json
POST /v1/ors/matrix/{profile} ORS matrix proxy Auth required Request body

Thin proxy to OpenRouteService matrix v2. The request body and successful response payloads are passed through as JSON. If ORS returns an HTTP error response, that upstream JSON payload is also passed through with the upstream status code. Local auth, rate-limit, and request-validation failures still use the standard Velvari `ErrorResponse` envelope.

Security
ApiKeyHeaderAuth, BearerApiKeyAuth
Operation ID
postORSMatrix
Request body
required · application/json · ORSPassthroughJSON

Path parameters

Name Type Required Description
profile string Yes Allowed: driving-car, driving-hgv, cycling-regular, cycling-road, cycling-mountain, cycling-electric, foot-walking, foot-hiking, wheelchair · Example: driving-car. Not documented

Responses

Status Description Content types
200 Upstream ORS matrix JSON payload application/json
400 Invalid request or upstream ORS validation error payload application/json
401 Unauthorized application/json
404 Upstream ORS not-found payload application/json
429 Rate limited locally or by upstream ORS application/json
500 Server error or upstream ORS error payload application/json
503 Upstream unavailable, ORS not configured, or upstream ORS error payload application/json
GET /v1/ors/reverse ORS reverse geocode Auth required

Returns a human-readable address label for the given coordinates.

Security
ApiKeyHeaderAuth, BearerApiKeyAuth
Operation ID
getORSReverse

Query parameters

Name Type Required Description
lat number · double Yes Not documented
lng number · double Yes Not documented

Responses

Status Description Content types
200 OK application/json
400 Invalid request application/json
401 Unauthorized application/json
404 Result not found application/json
429 Rate limited application/json
500 Server error application/json
503 Upstream unavailable or ORS is not configured application/json
GET /v1/ors/route ORS route summary Auth required

Returns a compact route summary with normalized geometry for map rendering.

Security
ApiKeyHeaderAuth, BearerApiKeyAuth
Operation ID
getORSRoute

Query parameters

Name Type Required Description
start_lng number · double Yes Not documented
start_lat number · double Yes Not documented
end_lng number · double Yes Not documented
end_lat number · double Yes Not documented
profile string · default driving-car No Not documented

Responses

Status Description Content types
200 OK application/json
400 Invalid request application/json
401 Unauthorized application/json
404 Route not found application/json
429 Rate limited application/json
500 Server error application/json
503 Upstream unavailable or ORS is not configured application/json

Suno

Authenticated cached public Suno profile song index endpoints.

6 operations
GET /v1/suno/profiles/{handle}/songs Read cached public Suno profile songs Auth required

Reads the local JSON snapshot for an allowed public Suno profile handle and returns the normalized Songs-section snapshot. This endpoint does not fetch Suno live. Snapshot data comes from public Suno profile metadata and anonymous public unified feed pagination.

Security
ApiKeyHeaderAuth, BearerApiKeyAuth
Operation ID
listSunoProfileSongs

Path parameters

Name Type Required Description
handle string Yes Example: akaki. Public Suno profile handle without a leading `@`. Must be enabled by `SUNO_ALLOWED_HANDLES`.

Responses

Status Description Content types
200 Cached Suno profile song index application/json
400 Invalid handle format application/json
401 Unauthorized application/json
403 Handle is not allowed application/json
404 Snapshot not found application/json
429 Rate limited application/json
500 Server error application/json
GET /v1/suno/profiles/{handle}/stats Read cached Suno profile stats Auth required

Aggregates counters, model/style buckets, duration, and top songs from the cached Suno profile snapshot. This endpoint does not call Suno live.

Security
ApiKeyHeaderAuth, BearerApiKeyAuth
Operation ID
getSunoProfileStats

Path parameters

Name Type Required Description
handle string Yes Example: akaki. Public Suno profile handle without a leading `@`. Must be enabled by `SUNO_ALLOWED_HANDLES`.

Responses

Status Description Content types
200 Cached Suno profile stats application/json
400 Invalid handle format application/json
401 Unauthorized application/json
403 Handle is not allowed application/json
404 Snapshot not found application/json
429 Rate limited application/json
500 Server error application/json
POST /v1/suno/profiles/{handle}/sync Refresh cached public Suno profile songs Auth required

Reads allowed public Suno profile metadata, resolves the public target user ID, paginates anonymous public unified feed `user_songs` with a top-level cursor, extracts valid public song clips, then atomically writes a local JSON snapshot. The sync is bounded by configured page and timeout limits, deduplicates songs by ID, and prevents a warning-state partial result from overwriting a larger existing snapshot. No private Suno account token, Browser-Token, Device-Id, cookies, or login flow is required.

Security
ApiKeyHeaderAuth, BearerApiKeyAuth
Operation ID
syncSunoProfileSongs

Path parameters

Name Type Required Description
handle string Yes Example: akaki. Public Suno profile handle without a leading `@`. Must be enabled by `SUNO_ALLOWED_HANDLES`.

Responses

Status Description Content types
200 Refreshed Suno profile song index application/json
400 Invalid handle format application/json
401 Unauthorized application/json
403 Handle is not allowed application/json
429 Rate limited application/json
500 Snapshot write or internal error application/json
503 Suno public profile fetch, sync, or parser failure application/json
GET /v1/suno/songs/{id} Read a cached Suno song by ID Auth required

Searches allowed cached Suno profile snapshots for a public song UUID and returns the full normalized song item. This endpoint does not call Suno live.

Security
ApiKeyHeaderAuth, BearerApiKeyAuth
Operation ID
getSunoSongByID

Path parameters

Name Type Required Description
id string · uuid Yes Example: 132ec409-86b3-4587-87f8-a32ae30446d3. Public Suno song UUID.

Responses

Status Description Content types
200 Cached Suno song application/json
400 Invalid song ID application/json
401 Unauthorized application/json
404 Song not found in allowed cached snapshots application/json
429 Rate limited application/json
500 Server error application/json

Taxi Cards v2

Strict machine-friendly taxi-card contract for new integrations.

2 operations
GET /v2/cards/taxi Search taxi cards (v2) Auth required

Strict machine-friendly taxi-card contract for new integrations. Provide zero or one of `q`, `id`, `number`, `registration_mark`, or `vin`. The endpoint also accepts documented compatibility aliases for current clients. Use `valid` to filter MTR validity status. Runtime also accepts `kehtiv` and `validity_status`.

Security
ApiKeyHeaderAuth, BearerApiKeyAuth
Operation ID
searchTaxiCardsV2

Query parameters

Name Type Required Description
q string No Taxi-card holder/driver name search.
query string No Deprecated. Alias for `q`.
holder_name string No Deprecated. Alias for `q`.
id string No Taxi-card id, for example `mtr:taxi-card:number:TVSK037464`.
number string No Convenience alias mapped to `id=mtr:taxi-card:number:{number}`.
registration_mark string No Vehicle registration mark.
reg_mark string No Deprecated. Alias for `registration_mark`.
vin string No Not documented
valid string No Example: 5. MTR Kehtiv filter (English query name). 1 / kehtiv / Jah = Yes (valid / active) 2 / arhiveerimata / Kõik arhiveerimata kirjed sõltumata kehtivusest = All non-archived records regardless of validity 3 / esitatud / Tulevikus = In the future (not yet valid) 4 / peatatud / Ei (peatatud) = No (suspended) 5 / arhiveeritud / Ei (arhiveeritud) = No (archived) 6 / tahtajaline_loobumine / Ajutine loobumine = Temporary withdrawal 7 / tahtajatu_loobumine / Tähtajatu loobumine = Indefinite withdrawal 8 / 0 / Kõik = All statuses
kehtiv string No Deprecated. Alias for `valid`.
validity_status string No Deprecated. Alias for `valid`.
include_raw boolean · default false No Include raw upstream values for debugging/traceability.
include_vehicle boolean · default false No Enrich vehicle make/model/seats via an extra vehicle lookup (slower). Registration-mark searches already include enrichment by default.
limit integer · default 20 No Not documented
cursor string No Not documented

Responses

Status Description Content types
200 OK application/json
400 Invalid request application/json
401 Unauthorized application/json
429 Rate limited application/json
500 Server error application/json
503 Upstream unavailable application/json
GET /v2/cards/taxi/{id} Taxi card by id (v2) Auth required

Card-style lookup by taxi-card identifier using the v2 response contract.

Security
ApiKeyHeaderAuth, BearerApiKeyAuth
Operation ID
getTaxiCardV2

Path parameters

Name Type Required Description
id string Yes Not documented

Query parameters

Name Type Required Description
include_raw boolean · default false No Include raw upstream values for debugging/traceability.
include_vehicle boolean · default false No Enrich vehicle make/model/seats via an extra vehicle lookup (slower). Registration-mark searches already include enrichment by default.
limit integer · default 20 No Not documented
cursor string No Not documented

Responses

Status Description Content types
200 OK application/json
400 Invalid request application/json
401 Unauthorized application/json
429 Rate limited application/json
500 Server error application/json
503 Upstream unavailable application/json