Developer Platform

Insights via REST.

Same pipeline as the app. Generate a key in your dashboard, POST an audio file with a template slug, poll for results.

Bearer auth

Per-user API keys, bcrypt-hashed at rest. Revoke any time.

Rate limits

30 req/min, 1000 req/day per key. Easily raised on request.

Same 10 templates

Choose any built-in template by slug, or list available ones.

Endpoints.

Base URL: https://apps.aipromptora.com/api/v1 · Auth: Authorization: Bearer $KEY

POST /runs
multipart/form-data · audio=@file template_slug=<slug>
→ 202 { run_id, status, created_at }
GET /runs
?limit=20&offset=0&status=done&template_slug=<slug>
→ { runs[], pagination }
GET /runs/:id
→ { run, transcript, executive_summary, insights[] }
DELETE /runs/:id
→ 204 (removes run + audio if unreferenced)
GET /runs/:id/transcript
→ { transcript: { full_text, segments, language } }
GET /runs/:id/insights
→ { executive_summary, insights[] }
POST /runs/:id/reprocess
body: { template_slug? } — re-runs pipeline
→ 202 { run_id, status }
GET /templates
→ { templates: [{ slug, name, category, short_description, insight_schema }] }
GET /templates/:slug
→ { template } (full schema + system prompt)
Errors
4xx/5xx → { "error": { "code": string, "message": string } }
codes: missing_bearer · invalid_key · rate_limited_minute · rate_limited_day
       missing_audio · missing_template · file_too_large · template_not_found
       not_found · db_error · upload_failed