Developer Reference

OpenQlik API

One unified REST surface for voice agents, speech, chat, vision, media, and knowledge base. Platform-managed infrastructure — sign up, mint a key, and ship in minutes.

99.95% uptime p95 < 220ms SOC2-aligned
Base URL
/api/v1
https://openqlik.lovable.app/api
Auth scheme
Bearer
oqk_live_… in Authorization header
Format
JSON
UTF-8 · gzip/brotli supported
Rate limit
60 / min
Per key · burst up to 120
Quick start

Make your first request in 30 seconds

Try it live
curl -X POST https://openqlik.lovable.app/api/v1/text-to-text \
  -H "Authorization: Bearer oqk_live_…" \
  -H "Content-Type: application/json" \
  -d '{
    "session_id": "sess_demo",
    "message": "Hello, world"
  }'

Authentication

Pass your key in the Authorization header. Rotate keys anytime — old keys are invalidated immediately.

Manage keys
Authorization: Bearer oqk_live_…
Content-Type: application/json
Reference

Endpoints

Auto-generated

Speech

POST
/v1/ttsText → Speech

Synthesize speech from text using a platform-managed voice.

POST
https://openqlik.lovable.app/api/v1/tts
POST
/v1/sttSpeech → Text

Transcribe an audio file. Send as multipart/form-data with field `file`.

POST
https://openqlik.lovable.app/api/v1/stt
POST
/v1/voice-changerVoice → Voice

Re-speak an audio clip in a different voice (speech-to-speech). Multipart form-data.

POST
https://openqlik.lovable.app/api/v1/voice-changer
POST
/v1/speech-to-speechSpeech → Reply (STT + LLM + TTS)

Unified voice pipeline: transcribe user audio, generate a reply via the AI gateway, and return spoken audio in one blocking call. Transcript, reply text, and per-stage latencies are returned via X-* response headers (CORS-exposed).

POST
https://openqlik.lovable.app/api/v1/speech-to-speech

Text & Vision

POST
/v1/text-to-textGenerate text

Send a prompt to the self-hosted AI gateway and receive the generated response.

POST
https://openqlik.lovable.app/api/v1/text-to-text
POST
/v1/images/generationsGenerate images

Image generation. Disabled in this deployment — the self-hosted AI gateway does not expose an image-generation endpoint.

POST
https://openqlik.lovable.app/api/v1/images/generations
POST
/v1/visionImage understanding

Image understanding. Disabled in this deployment — the self-hosted AI gateway does not expose a vision endpoint.

POST
https://openqlik.lovable.app/api/v1/vision

Media

POST
/v1/sfxSound effects

Generate a short sound effect from a text prompt.

POST
https://openqlik.lovable.app/api/v1/sfx
POST
/v1/musicMusic generation

Generate a music track from a text prompt.

POST
https://openqlik.lovable.app/api/v1/music
POST
/v1/isolatorVoice isolator

Strip background noise from an audio clip.

POST
https://openqlik.lovable.app/api/v1/isolator
POST
/v1/dubbingDub video/audio

Translate spoken audio to a target language while preserving voice.

POST
https://openqlik.lovable.app/api/v1/dubbing

Agents

GET
/v1/agentsList agents

List your tenant's agents, most recent first.

GET
https://openqlik.lovable.app/api/v1/agents
POST
/v1/agentsCreate agent

Create a new voice agent.

POST
https://openqlik.lovable.app/api/v1/agents
GET
/v1/agents/{agent_id}Get agent

Retrieve a single agent by id.

GET
https://openqlik.lovable.app/api/v1/agents/%7Bagent_id%7D
PATCH
/v1/agents/{agent_id}Update agent

Patch one or more fields on an existing agent. Omitted fields stay unchanged.

PATCH
https://openqlik.lovable.app/api/v1/agents/%7Bagent_id%7D
DELETE
/v1/agents/{agent_id}Delete agent

Permanently delete an agent. Returns 204 on success.

DELETE
https://openqlik.lovable.app/api/v1/agents/%7Bagent_id%7D
POST
/v1/agents/{agent_id}/converseConverse with agent

Full STT → LLM → TTS turn. Send JSON `{text}` for text-in, or multipart/form-data with `file` for audio-in.

POST
https://openqlik.lovable.app/api/v1/agents/%7Bagent_id%7D/converse

Knowledge Base

GET
/v1/kb/documentsList documents

List knowledge base documents. Pass `org_id` to scope to an organization (caller must be a member); omit it to list the API key owner's personal documents. Supports pagination via `limit`/`offset` and filename search via `q`.

GET
https://openqlik.lovable.app/api/v1/kb/documents
POST
/v1/kb/documentsCreate document

Add a knowledge base document. The body is chunked and indexed for `kb/search`.

POST
https://openqlik.lovable.app/api/v1/kb/documents
POST
/v1/kb/searchSemantic search

Search across the tenant's knowledge base. Pass `org_id` to search an organization's documents (caller must be a member); omit for personal documents. Supports pagination via `top_k` (page size) and `offset`.

POST
https://openqlik.lovable.app/api/v1/kb/search
GET
/v1/kb/documents/{document_id}Get document

Retrieve a single knowledge-base document, including its full content.

GET
https://openqlik.lovable.app/api/v1/kb/documents/%7Bdocument_id%7D
PATCH
/v1/kb/documents/{document_id}Update document

Patch fields on an existing document. Re-chunks when `content` is supplied.

PATCH
https://openqlik.lovable.app/api/v1/kb/documents/%7Bdocument_id%7D
DELETE
/v1/kb/documents/{document_id}Delete document

Permanently remove a knowledge-base document. Returns 204.

DELETE
https://openqlik.lovable.app/api/v1/kb/documents/%7Bdocument_id%7D

Content

POST
/v1/blog-postBlog post (async job)

Queue an SEO blog-generation job. Returns a `job_id` immediately; poll `GET /v1/blog-post/{job_id}` for the article. `session_id` is forwarded to the upstream gateway verbatim.

POST
https://openqlik.lovable.app/api/v1/blog-post
GET
/v1/blog-post/{job_id}Blog job status / result

Fetch the current status of a blog job. When `status = completed`, the generated article is included in the response body (fields vary by upstream — commonly `result`, `content`, or `article`).

GET
https://openqlik.lovable.app/api/v1/blog-post/%7Bjob_id%7D
GET
/v1/blog-post/queue-statsBlog queue statistics

Returns live blog-generation queue metrics from the upstream gateway: Redis queue length, per-state job counts, worker concurrency, and whether hard request limits are engaged.

GET
https://openqlik.lovable.app/api/v1/blog-post/queue-stats