voice
Sprachmemo
A no-friction voice-notes app with on-device-grade automatic transcription. Tap the circle, talk, get text. Group recordings into notes, tag them, edit transcriptions inline, export anything. Auth-gated transcription runs on Vosk inside the same datacentre as your data.
Base URL
https://sprachmemo.deThree ways to connect to Sprachmemo - same data, same access rules, different path depending on the job.
Usage & billing
Fair API usage within the published rate limits is included on every plan - the integration shouldn't feel artificially constrained just because you're on a smaller tier. Enterprise customers get bespoke limits on request.
On-demand service is available, and our developer team builds custom integrations on request - reach out if your use case needs more than the standard hookup.
Quick start
- 1
Create a token
Open the Integrations menu in Sprachmemo, click *New token*, pick a name + scopes, and copy the
pat_…secret. It's shown exactly once. - 2
Make your first request
Pass the token as a Bearer header to any Sprachmemo endpoint your scopes allow. Pagination, filtering, and sorting are documented per model.
curl -H "Authorization: Bearer pat_…" \https://sprachmemo.de/xapi2/data/recording - 3
Subscribe to live updates
Open a single WebSocket and receive every create / update / delete event in real time - same access rules, same token. Skip polling entirely.
const ws = new WebSocket(`wss://${location.host}/xapi2/ch?token=${token}`)ws.onopen = () => ws.send(JSON.stringify({ op: "subscribe", id: "s1", dataType: "recording" }),)ws.onmessage = (e) => console.log(JSON.parse(e.data))
Navigate
These docs cover every endpoint the app exposes. Each model page carries concrete code samples in curl, JavaScript, TypeScript, and WebSocket.
JWT vs PAT, Bearer header.
Live events + CRUD over one socket.
Uniform error responses.
Per IP and per token.
3 data models available.
Native client for every endpoint - one line to install.
Plug Claude, Cursor & friends into your data.
Drop-in API wrappers for Python, TypeScript, Go, Java, Rust.
React to data changes in real time.
Data models
Production-grade, industry-standard data models. Every object is managed securely - validation, access rules, and audit run uniformly on every path - and the data is owned by the respective customer at all times. Export and deletion are first-class.
Arrows point from the referencing data model to the referenced one. Endpoint markers describe cardinality (e.g. * = any number, 1 = exactly one, 0..1 = optional). Click a node to open its model page.
recordingOne captured audio clip under a parent note. References an S3 blob via data.blob_id, knows its duration_seconds + sample_rate + mime, and carries a free-form transcriptions JSONB keyed by model name (vosk_small, vosk_large, future engines) so we can re-transcribe with a different engine later without losing the prior result. The active transcription is whichever key sits at data.primary_model; the FE renders that one by default but lets the user pick any past run.
voice_noteA voice note. Holds title + free-form body (the transcription, editable like any Samsung-style note) + tags + favourite + colour. Parent for one or many recording rows.
voice_tagUser-defined custom tag the user can attach to notes. Just a name + optional color - notes reference the slug via their data.tags array.