Endpoints
The supported surface for integrations is the API Channel at https://api.diska.ai/v1, authenticated with API keys. It is versioned, documented endpoint by endpoint and covered by the GET /v1/openapi.json specification.
| Domain | Prefix | Authentication |
|---|---|---|
| API Channel | /v1 | API key (Authorization: Bearer dsk_…) |
| Outbound webhooks | — (Diska calls your endpoint) | X-Diska-Signature HMAC signature |
| Realtime | /api/v1/realtime + WebSocket | Session or public session credential |
Internal backoffice API
The rest of /api/v1 is the internal API serving the backoffice (app.diska.ai), authenticated with Better Auth sessions. It is referenced below for transparency, but it is not an integration contract: it can change without notice and does not accept API keys. If you need something that only exists here, talk to us — that is how the API Channel grows.
| Domain | Prefix |
|---|---|
| Organizations | /api/v1/organizations |
| Agent Templates | /api/v1/agent-templates |
| Agents | /api/v1/agents |
| Flows | /api/v1/agents/{agent_id}/flows |
| Knowledge | /api/v1/knowledge-bases |
| Agent Knowledge | /api/v1/agents/{agent_id}/knowledge-* |
| Actions | /api/v1/actions |
| Integrations | /api/v1/integrations |
| Providers | /api/v1/providers |
| Call History | /api/v1/call-sessions |
| Test Center | /api/v1/tests |
| Webhooks (inbound) | /api/v1/webhooks |
Actions
Prefix: /api/v1/actions
| Method | Path | Description |
|---|---|---|
| GET | /capabilities | Provider availability badges. |
| POST | /validate-phone | Validates a phone number. |
| POST | /validate-sip | Validates a SIP URI. |
| GET | /phone-books | Lists phone books. |
| POST | /phone-books | Creates a phone book. |
| GET | /phone-books/{book_id} | Gets a phone book. |
| PATCH | /phone-books/{book_id} | Updates a phone book. |
| DELETE | /phone-books/{book_id} | Deletes a phone book. |
| POST | /phone-books/{book_id}/entries | Adds an entry. |
| PUT | /phone-books/{book_id}/entries | Replaces entries. |
| PATCH | /phone-books/{book_id}/entries/{entry_id} | Updates an entry. |
| DELETE | /phone-books/{book_id}/entries/{entry_id} | Deletes an entry. |
| GET | /call-transfers | Lists transfers. |
| POST | /call-transfers | Creates a transfer. |
| GET | /call-transfers/{transfer_id} | Gets a transfer. |
| PATCH | /call-transfers/{transfer_id} | Updates a transfer. |
| DELETE | /call-transfers/{transfer_id} | Deletes a transfer. |
| POST | /call-transfers/{transfer_id}/duplicate | Duplicates a transfer. |
| POST | /call-transfers/{transfer_id}/simulate | Simulates a transfer. |
| POST | /call-transfers/{transfer_id}/execute | Executes a live transfer. |
| GET | /ivr | Lists IVRs. |
| POST | /ivr | Creates an IVR. |
| GET | /ivr/{ivr_id} | Gets an IVR. |
| PATCH | /ivr/{ivr_id} | Updates an IVR. |
| DELETE | /ivr/{ivr_id} | Deletes an IVR. |
| POST | /ivr/{ivr_id}/duplicate | Duplicates an IVR. |
| POST | /ivr/{ivr_id}/execute | Executes a DTMF IVR. |
| GET | /information-extractors | Lists extractors. |
| POST | /information-extractors | Creates an extractor. |
| GET | /information-extractors/{extractor_id} | Gets an extractor. |
| PATCH | /information-extractors/{extractor_id} | Updates an extractor. |
| DELETE | /information-extractors/{extractor_id} | Deletes an extractor. |
| POST | /information-extractors/{extractor_id}/duplicate | Duplicates an extractor. |
| POST | /information-extractors/{extractor_id}/simulate | Simulates an extractor. |
| POST | /information-extractors/{extractor_id}/rerun | Reruns an extractor. |
| GET | /custom-evaluations | Lists evaluations. |
| GET | /custom-evaluations/export.csv | Exports CSV. |
| POST | /custom-evaluations | Creates an evaluation. |
| GET | /custom-evaluations/{evaluation_id} | Gets an evaluation. |
| PATCH | /custom-evaluations/{evaluation_id} | Updates an evaluation. |
| DELETE | /custom-evaluations/{evaluation_id} | Deletes an evaluation. |
| POST | /custom-evaluations/{evaluation_id}/duplicate | Duplicates an evaluation. |
| POST | /custom-evaluations/{evaluation_id}/simulate | Simulates an evaluation. |
| GET | /post-call-sms | Lists post-call SMS. |
| POST | /post-call-sms | Creates a post-call SMS. |
| GET | /post-call-sms/{sms_id} | Gets a post-call SMS. |
| PATCH | /post-call-sms/{sms_id} | Updates a post-call SMS. |
| DELETE | /post-call-sms/{sms_id} | Deletes a post-call SMS. |
| POST | /post-call-sms/{sms_id}/duplicate | Duplicates a post-call SMS. |
| POST | /post-call-sms/{sms_id}/execute | Executes a post-call SMS. |
| POST | /post-call-sms/{sms_id}/dry-run | Dry-runs a post-call SMS. |
| GET | /during-call-sms | Lists during-call SMS. |
| POST | /during-call-sms | Creates a during-call SMS. |
| GET | /during-call-sms/{sms_id} | Gets a during-call SMS. |
| PATCH | /during-call-sms/{sms_id} | Updates a during-call SMS. |
| DELETE | /during-call-sms/{sms_id} | Deletes a during-call SMS. |
| POST | /during-call-sms/{sms_id}/duplicate | Duplicates a during-call SMS. |
| POST | /during-call-sms/{sms_id}/execute | Executes a during-call SMS. |
| POST | /during-call-sms/{sms_id}/simulate | Simulates a during-call SMS. |
| GET | /custom-actions | Lists custom actions. |
| POST | /custom-actions | Creates a custom action. |
| GET | /custom-actions/{action_id} | Gets a custom action. |
| PATCH | /custom-actions/{action_id} | Updates a custom action. |
| DELETE | /custom-actions/{action_id} | Deletes a custom action. |
| POST | /custom-actions/{action_id}/duplicate | Duplicates a custom action. |
| POST | /custom-actions/{action_id}/initialize | Initializes a custom action. |
| POST | /custom-actions/{action_id}/execute | Executes a custom action. |
| POST | /custom-actions/{action_id}/simulate | Simulates a custom action. |
| GET | /booking-actions | Lists booking actions. |
| POST | /booking-actions | Creates a booking action. |
| GET | /booking-actions/{action_id} | Gets a booking action. |
| PATCH | /booking-actions/{action_id} | Updates a booking action. |
| DELETE | /booking-actions/{action_id} | Deletes a booking action. |
| POST | /booking-actions/{action_id}/duplicate | Duplicates a booking action. |
Agents
Prefix: /api/v1/agents
| Method | Path | Description |
|---|---|---|
| POST | /from-template | Creates an agent from a template. |
| POST | / | Creates a blank agent. |
| POST | /import | Imports an agent from JSON. |
| GET | / | Lists agents. |
| GET | /{agent_id} | Gets an agent. |
| PATCH | /{agent_id} | Updates an agent. |
| POST | /{agent_id}/duplicate | Duplicates an agent. |
| POST | /{agent_id}/archive | Archives an agent. |
| POST | /{agent_id}/unarchive | Unarchives an agent. |
| GET | /{agent_id}/export | Exports an agent. |
| GET | /{agent_id}/versions | Lists versions. |
| POST | /{agent_id}/versions/publish | Publishes a version. |
| POST | /{agent_id}/versions/discard | Discards a draft. |
| POST | /{agent_id}/versions/{version}/restore | Restores a version. |
| POST | /{agent_id}/chat/test | Chat test. |
| GET | /{agent_id}/knowledge-bases | Assigned KBs. |
| PUT | /{agent_id}/knowledge-bases | Sets assigned KBs. |
| GET | /{agent_id}/knowledge-runtime | KB diagnostic. |
| POST | /{agent_id}/knowledge-retrieve | Retrieval preview. |
Agent Templates
Prefix: /api/v1/agent-templates
| Method | Path | Description |
|---|---|---|
| GET | / | Lists templates. |
| GET | /{template_id} | Gets a template. |
Flows
Prefix: /api/v1/agents/{agent_id}/flows
| Method | Path | Description |
|---|---|---|
| GET | / | Lists flows. |
| POST | / | Creates a subflow. |
| GET | /{flow_id} | Gets a flow. |
| PATCH | /{flow_id} | Updates a flow. |
| DELETE | /{flow_id} | Deletes a flow. |
| POST | /{flow_id}/duplicate | Duplicates a flow. |
| GET | /{flow_id}/validate | Validates a flow. |
| GET | /{flow_id}/compiled | Compiles a flow. |
| POST | /{flow_id}/publish | Publishes a flow. |
| POST | /publish-all | Publishes all flows. |
| GET | /{flow_id}/runtime/start | Starts runtime. |
| POST | /{flow_id}/runtime/advance | Advances runtime. |
| POST | /{flow_id}/runtime/simulate | Simulates runtime. |
Knowledge
Prefix: /api/v1/knowledge-bases
| Method | Path | Description |
|---|---|---|
| GET | / | Lists KBs. |
| POST | / | Creates a KB. |
| GET | /{id} | Gets a KB. |
| PATCH | /{id} | Updates a KB. |
| DELETE | /{id} | Deletes a KB. |
| GET | /{id}/documents | Lists documents. |
| POST | /{id}/documents/manual | Creates a manual document. |
| PATCH | /{id}/documents/{document_id} | Updates a manual document. |
| DELETE | /{id}/documents/{document_id} | Deletes a document. |
| POST | /{id}/documents/pdf | Uploads a PDF. |
| POST | /{id}/documents/url | Imports a URL. |
| POST | /{id}/documents/crawl | Crawls a URL. |
| GET | /{id}/documents/{document_id}/file | Downloads a PDF. |
| POST | /{id}/documents/{document_id}/reindex | Reindexes a document. |
| GET | /{id}/sync-sources | Sync sources. |
Integrations
Prefix: /api/v1/integrations
| Method | Path | Description |
|---|---|---|
| GET | / | Lists integrations. |
| GET | /calcom | Cal.com status. |
| GET | /calcom/events | Lists Cal.com events. |
| POST | /calcom/connect | Connects Cal.com. |
| DELETE | /calcom | Disconnects Cal.com. |
Test Center
Prefix: /api/v1/tests
| Method | Path | Description |
|---|---|---|
| GET | /scenario-presets | Scenario presets. |
| GET | /suites | Lists suites. |
| POST | /suites | Creates a suite. |
| GET | /suites/{suite_id} | Gets a suite. |
| PATCH | /suites/{suite_id} | Updates a suite. |
| DELETE | /suites/{suite_id} | Deletes a suite. |
| POST | /suites/{suite_id}/cases | Creates a case. |
| PATCH | /suites/{suite_id}/cases/{case_id} | Updates a case. |
| DELETE | /suites/{suite_id}/cases/{case_id} | Deletes a case. |
| POST | /suites/{suite_id}/generate-cases | Generates cases with AI. |
| POST | /suites/{suite_id}/execute | Executes a suite. |
| GET | /runs | Lists runs. |
| GET | /runs/{run_id} | Gets a run. |
Call History
Prefix: /api/v1/call-sessions
| Method | Path | Description |
|---|---|---|
| GET | / | Lists sessions. |
| GET | /{session_id} | Gets a session. |
Realtime
See Realtime.
Webhooks
See Webhooks.

