Skip to main content
Languages: every operation supports cURL, Node.js (TypeScript), Python, Go, Ruby, and PHP. The first 15 operations on this page show all six languages; the remaining 11 show cURL and TypeScript — the two most-used.

Public API

Public endpoints exposed by the Devotel CPaaS API Base path: /api/v1 Endpoint count: 26

List embed

GET /api/v1/public/analytics/dashboards/embed

Get callbacks

GET /api/v1/public/callbacks/{token}
string
required

List status

GET /api/v1/public/callbacks/{token}/status
string
required

List questions

GET /api/v1/public/community/questions

Get questions

GET /api/v1/public/community/questions/{id}
string
required

List transcript

GET /api/v1/public/conversations/{token}/transcript
string
required

List ideas

GET /api/v1/public/ideas

Get ideas

GET /api/v1/public/ideas/{id}
string
required

List roadmap

GET /api/v1/public/ideas/roadmap

List pages

GET /api/v1/public/pages

Get pages

GET /api/v1/public/pages/{slug}
string
required

Get recordings

GET /api/v1/public/recordings/{token}
string
required

List stale

GET /api/v1/public/stale

List confirm

GET /api/v1/public/subprocessor-subscriptions/confirm

List unsubscribe

GET /api/v1/public/subprocessor-subscriptions/unsubscribe

Submit a marketing lead

POST /api/v1/marketing-leads
Ingest a contact-form submission from the Devotel landing: marketing-leads ingest. Rejects unsigned or out-of-window submissions (401), malformed payloads (422 VALIDATION_ERROR), and Turnstile failures (422 TURNSTILE_REQUIRED) when the bot-protection gate is armed. On success the lead is persisted and the endpoint replies 201 with { data: { id, status: "received" }, meta }; rate-limited submissions return the standard 429 envelope. This is a public Devotel-property ingest — no caller API key is accepted, and the 503 SERVICE_UNAVAILABLE envelope is returned when the signing secret is not provisioned (the pipeline fails closed).
string
Stripe-style idempotency token. Pass a stable, client-generated value (1-255 chars) to dedupe retries on transient timeouts. The same key+credential+path replays the original response for 24h on 2xx (5min on 4xx, 30s on 5xx). Returns 409 if a concurrent request with the same key is already in flight; replayed responses include the Idempotency-Replay: true response header.
string (enum: true|false)
Sandbox opt-in for Clerk-session-authenticated requests. Set to true to route the call through the test-mode pipeline: no real provider delivery, no credits deducted, response meta.test_mode: true. Ignored for live API keys (dv_live_sk_*) — server-to-server clients must use a test-prefixed key (dv_test_sk_*) to exercise sandbox. Test-prefixed keys unconditionally enable sandbox regardless of this header.
string
Originating property — e.g. devotel.io-contact, landing-page.
string
The contact’s full name.
string
The contact’s email address.
string
Company or organization name (optional).
string
The contact’s message body.
object
UTM attribution captured from the landing session. Any subset of source, medium, campaign, term, content (each ≤ 200 chars).
string
Visitor user-agent captured at the form edge (optional).
string
Visitor referrer URL captured at the form edge (optional).
string
Cloudflare Turnstile token (cf-turnstile-response) solved by the landing form and forwarded inside the signed body. Required when the bot-protection gate is armed server-side; single-use, never persisted.

Create cancel

POST /api/v1/public/callbacks/{token}/cancel
string
required

Create reschedule

POST /api/v1/public/callbacks/{token}/reschedule
string
required

Create vote

POST /api/v1/public/community/answers/{id}/vote
string
required

Questions community

POST /api/v1/public/community/questions

Create answers

POST /api/v1/public/community/questions/{id}/answers
string
required

Create vote

POST /api/v1/public/community/questions/{id}/vote
string
required

Ideas public

POST /api/v1/public/ideas

Create comments

POST /api/v1/public/ideas/{id}/comments
string
required

Create vote

POST /api/v1/public/ideas/{id}/vote
string
required

Subprocessor-subscriptions public

POST /api/v1/public/subprocessor-subscriptions