# GetDialed ## Docs - [Mint a stream token](https://docs.getdialed.ai/api-reference/auth/mint-a-stream-token.md): Mints a short-lived (60s) HS256 token scoped to a single execution or job you own, for use with the SSE stream endpoints. A browser `EventSource` cannot send auth headers, so the token is passed via the `?token=` query parameter on the stream — see the [Stream executions guide](/guides/stream-execut… - [Get a platform](https://docs.getdialed.ai/api-reference/catalog/get-a-platform.md): Fetch a single catalog platform by id. No authentication required. - [Get a service](https://docs.getdialed.ai/api-reference/catalog/get-a-service.md): Fetch a single catalog service by id. No authentication required. - [Get an action](https://docs.getdialed.ai/api-reference/catalog/get-an-action.md): Fetch a single catalog action by id. No authentication required. - [List actions for a service](https://docs.getdialed.ai/api-reference/catalog/list-actions-for-a-service.md): List the catalog actions a service exposes. No authentication required. Returns an empty list for an unknown service. - [List platforms](https://docs.getdialed.ai/api-reference/catalog/list-platforms.md): List integration platforms in the public catalog. Filter by `status` and paginate with `limit`/`skip`. No authentication required. - [List services for a platform](https://docs.getdialed.ai/api-reference/catalog/list-services-for-a-platform.md): List the services a platform exposes. No authentication required. Returns an empty list for an unknown platform. - [Create a connection](https://docs.getdialed.ai/api-reference/connections/create-a-connection.md): Store per-organization credentials for a platform service. Admin only. Returns 201 with the created connection. - [Delete a connection](https://docs.getdialed.ai/api-reference/connections/delete-a-connection.md): Delete a connection and its stored secret. Admin only. Idempotent from the caller's perspective. Cross-tenant access returns 404. - [Get a connection](https://docs.getdialed.ai/api-reference/connections/get-a-connection.md): Fetch a single connection by id. Cross-tenant access returns 404. - [List connections](https://docs.getdialed.ai/api-reference/connections/list-connections.md): List the calling organization's connections. Filter by `status` and paginate with `limit`/`skip`. - [Test a saved connection](https://docs.getdialed.ai/api-reference/connections/test-a-saved-connection.md): Verify a saved connection's stored credentials. Admin only. Always returns HTTP 200 with a TestResult for every handler outcome; only an unknown connection id returns 404. On success, `last_verified` is refreshed. - [Test ad-hoc credentials](https://docs.getdialed.ai/api-reference/connections/test-ad-hoc-credentials.md): Verify a credentials dict without saving anything (the UI's test-before-save flow). Admin only. Always returns HTTP 200 with a TestResult — the `success`/`error` fields carry the outcome, including timeouts. - [Update a connection](https://docs.getdialed.ai/api-reference/connections/update-a-connection.md): Replace a connection's mutable fields. Admin only. Server-managed fields (`created_by`, `last_verified`) are preserved. Cross-tenant access returns 404. - [Create a definition](https://docs.getdialed.ai/api-reference/definitions/create-a-definition.md): Create a flow definition. Admin only. Expressions in the definition body are validated at creation time; malformed expressions return 422. - [Delete a definition](https://docs.getdialed.ai/api-reference/definitions/delete-a-definition.md): Delete a flow definition. Admin only. Cross-tenant access returns 404. - [Get a definition](https://docs.getdialed.ai/api-reference/definitions/get-a-definition.md): Fetch a single flow definition by id. Cross-tenant access returns 404. - [List definitions](https://docs.getdialed.ai/api-reference/definitions/list-definitions.md): List the calling organization's flow definitions. Filter by `status` and paginate with `limit`/`skip`. - [Trigger a definition](https://docs.getdialed.ai/api-reference/definitions/trigger-a-definition.md): Start a job from an active definition — one execution per record when `records` is supplied. Admin only. Only `active` definitions can be triggered (400 otherwise). Cross-tenant access returns 404. - [Update a definition](https://docs.getdialed.ai/api-reference/definitions/update-a-definition.md): Replace a flow definition's fields. Admin only. Cross-tenant access returns 404. - [Create an event subscription](https://docs.getdialed.ai/api-reference/event-subscriptions/create-an-event-subscription.md): Binds an exact internal event name to a Definition you own. When a matching event is emitted, the subscription's Definition auto-triggers. A missing or cross-tenant Definition returns 404, never 403. - [Delete an event subscription](https://docs.getdialed.ai/api-reference/event-subscriptions/delete-an-event-subscription.md): Deletes a subscription. Cross-tenant access returns 404, never 403. - [Get an event subscription](https://docs.getdialed.ai/api-reference/event-subscriptions/get-an-event-subscription.md): Fetches one subscription. Cross-tenant access returns 404, never 403. - [List event subscriptions](https://docs.getdialed.ai/api-reference/event-subscriptions/list-event-subscriptions.md): Lists the caller's event subscriptions with opaque cursor pagination. - [Get an execution](https://docs.getdialed.ai/api-reference/executions/get-an-execution.md): Fetch a single execution by id. Cross-tenant access returns 404. - [List executions for a job](https://docs.getdialed.ai/api-reference/executions/list-executions-for-a-job.md): List a job's per-record executions. Filter by `status` and paginate with `limit`/`skip`. Cross-tenant access returns 404. - [API introduction](https://docs.getdialed.ai/api-reference/introduction.md): Base URLs, conventions, authentication, pagination, and error shapes for the GetDialed Flows API - [Cancel a job](https://docs.getdialed.ai/api-reference/jobs/cancel-a-job.md): Cancel a pending or scheduled job and its underlying workflow. Admin only. Idempotent once cancelled. Only `pending`/`scheduled` jobs can be cancelled (409 otherwise). Cross-tenant access returns 404. - [Get a job](https://docs.getdialed.ai/api-reference/jobs/get-a-job.md): Fetch a single job by id. Cross-tenant access returns 404. - [List jobs for a definition](https://docs.getdialed.ai/api-reference/jobs/list-jobs-for-a-definition.md): List jobs produced by a definition. Filter by `status` and paginate with `limit`/`skip`. Cross-tenant access returns 404. - [Create a scheduled job](https://docs.getdialed.ai/api-reference/scheduled-jobs/create-a-scheduled-job.md): Creates a recurring trigger backed by a managed schedule. The cron expression is a 5-field UTC expression (aliases like `@hourly` are rejected). The record is written first, then the schedule — on a scheduling failure the record is rolled back and 503 is returned. - [Delete a scheduled job](https://docs.getdialed.ai/api-reference/scheduled-jobs/delete-a-scheduled-job.md): Deletes the backing schedule (idempotent — a missing schedule is swallowed) then the record. Any other scheduling failure returns 503 and retains the record. Cross-tenant access returns 404. - [Get a scheduled job](https://docs.getdialed.ai/api-reference/scheduled-jobs/get-a-scheduled-job.md): Fetches one scheduled job with a read-time `next_fire_at`. Cross-tenant access returns 404, never 403. - [List scheduled jobs](https://docs.getdialed.ai/api-reference/scheduled-jobs/list-scheduled-jobs.md): Lists the caller's scheduled jobs, newest first, with opaque cursor pagination. `next_fire_at` is computed at read time via croniter. - [Update a scheduled job](https://docs.getdialed.ai/api-reference/scheduled-jobs/update-a-scheduled-job.md): Partial update. Changing `cron_expression` re-times the backing schedule; toggling `enabled` pauses/unpauses it; other fields update the record only. `definition_id` is immutable. Cross-tenant access returns 404. - [Stream execution events (SSE)](https://docs.getdialed.ai/api-reference/streams/stream-execution-events-sse.md): Server-Sent Events stream of a single execution's lifecycle. Auth is a short-lived stream token passed via the `?token=` query parameter (a browser `EventSource` cannot send headers) — mint one with `POST /auth/stream-token`. This endpoint is long-lived and is not callable from the interactive playg… - [Stream job events (SSE)](https://docs.getdialed.ai/api-reference/streams/stream-job-events-sse.md): Server-Sent Events stream of a job plus its child executions' lifecycle (no step events). Auth is a short-lived stream token passed via the `?token=` query parameter (a browser `EventSource` cannot send headers) — mint one with `POST /auth/stream-token`. This endpoint is long-lived and is not callab… - [Get a template](https://docs.getdialed.ai/api-reference/templates/get-a-template.md): Fetch a single flow template by id. No authentication required. - [List templates](https://docs.getdialed.ai/api-reference/templates/list-templates.md): List reusable flow templates in the public catalog. Filter by `status`/`category` and paginate with `limit`/`skip`. No authentication required. - [Create a webhook](https://docs.getdialed.ai/api-reference/webhooks/create-a-webhook.md): Creates a webhook config bound to a Definition you own, mints an HMAC signing secret, and stores it in secure secret storage. The `signing_secret` is returned **exactly once** in this response — store it now, it is never shown again. On a secret-storage failure the record is rolled back and 503 is r… - [Delete a webhook](https://docs.getdialed.ai/api-reference/webhooks/delete-a-webhook.md): Deletes the webhook config, then best-effort scrubs the signing secret from secure secret storage. Cross-tenant access returns 404, never 403. - [Get a webhook](https://docs.getdialed.ai/api-reference/webhooks/get-a-webhook.md): Fetches one webhook config. Cross-tenant access returns 404, never 403. - [List webhook deliveries](https://docs.getdialed.ai/api-reference/webhooks/list-webhook-deliveries.md): Recent delivery records for one webhook — the status lifecycle view for debugging. Cross-tenant access returns 404, never 403. - [List webhooks](https://docs.getdialed.ai/api-reference/webhooks/list-webhooks.md): Lists the caller's webhook configs with opaque cursor pagination. The signing secret is never surfaced on the read model. - [Receive a webhook (called by your external system)](https://docs.getdialed.ai/api-reference/webhooks/receive-a-webhook-called-by-your-external-system.md): The public receiver endpoint your external system POSTs to. It carries **no API-key/JWT auth** — the trust boundary is the HMAC signature verified on the raw request body, and the tenant is resolved from the URL slug. An unknown slug or webhook returns 404 (never 401, to avoid leaking existence); a… - [Rotate a webhook signing secret](https://docs.getdialed.ai/api-reference/webhooks/rotate-a-webhook-signing-secret.md): Rotates the HMAC signing secret. The **previous secret stays valid for a 24-hour overlap window** so in-flight requests signed with the old secret still verify — update your sender within 24h. The new `signing_secret` is returned exactly once. Cross-tenant access returns 404. - [Update a webhook](https://docs.getdialed.ai/api-reference/webhooks/update-a-webhook.md): Partial update — enable/disable, rebind the Definition (ownership re-validated), or edit the input template. Secret rotation is a separate endpoint. Cross-tenant access returns 404, never 403. - [Authentication](https://docs.getdialed.ai/authentication.md): Authenticate API requests with an API key or a Clerk organization JWT - [How GetDialed works](https://docs.getdialed.ai/concepts/architecture.md): The core objects — definitions, triggers, jobs, and executions — and how a request flows through the platform - [Batched delivery](https://docs.getdialed.ai/concepts/batching.md): Converge records from many concurrent executions into bulk calls to a downstream system - [Integration catalog](https://docs.getdialed.ai/concepts/catalog.md): Browse the platforms, services, and actions your flows can call - [Connections](https://docs.getdialed.ai/concepts/connections.md): Store and verify per-organization credentials for platform integrations - [Event subscriptions](https://docs.getdialed.ai/concepts/event-subscriptions.md): Auto-trigger flow definitions from internal business events emitted inside your own flows - [Execution models](https://docs.getdialed.ai/concepts/execution-models.md): Control when each task runs: immediately, on a schedule, inside a time window, or on an external signal - [Execution streaming](https://docs.getdialed.ai/concepts/execution-streaming.md): Watch live workflow progress over Server-Sent Events instead of polling — the conceptual reference for the SSE stream - [Expressions](https://docs.getdialed.ai/concepts/expressions.md): Bind data between inputs, variables, and step outputs with the {{ }} expression language - [Flow definitions](https://docs.getdialed.ai/concepts/flow-definitions.md): The structure of a definition document: inputs, variables, steps, tasks, and exit conditions - [Jobs and executions](https://docs.getdialed.ai/concepts/jobs-and-executions.md): How triggers become jobs and executions, their status lifecycles, fan-out over records, and recurring schedules - [Scheduled jobs](https://docs.getdialed.ai/concepts/scheduled-jobs.md): Fire a flow definition on a recurring UTC cron schedule, backed by a managed schedule - [Webhooks](https://docs.getdialed.ai/concepts/webhooks.md): Let external systems trigger a flow definition by POSTing HMAC-signed deliveries to a per-customer receive URL - [Build your first flow](https://docs.getdialed.ai/guides/build-your-first-flow.md): Browse the catalog, connect Five9, and build a multi-step flow that chains step outputs with expressions - [Receive webhooks](https://docs.getdialed.ai/guides/receive-webhooks.md): Let an external system trigger a Definition — create a signed inbound webhook, copy its receive URL, and POST HMAC-signed deliveries - [Schedule a flow](https://docs.getdialed.ai/guides/schedule-a-flow.md): Fire a Definition on a recurring UTC cron schedule — create, list, pause, resume, and delete scheduled jobs - [Stream executions](https://docs.getdialed.ai/guides/stream-executions.md): Watch a live execution or job over Server-Sent Events — mint a stream token, connect an EventSource, and reconnect cleanly with the canonical wrapper - [Subscribe to events](https://docs.getdialed.ai/guides/subscribe-to-events.md): Auto-trigger a Definition from an internal business event — create an exact-match subscription and emit events from a flow - [Use templates](https://docs.getdialed.ai/guides/templates.md): Start a new flow from a pre-built template instead of a blank page - [Trigger with records](https://docs.getdialed.ai/guides/trigger-with-records.md): Fan one trigger out into an execution per record — load a whole contact list in a single API call - [Introduction](https://docs.getdialed.ai/index.md): Workflow automation for contact center operations - [Quickstart](https://docs.getdialed.ai/quickstart.md): Create, trigger, and observe your first flow in five minutes ## OpenAPI Specs - [openapi](https://docs.getdialed.ai/openapi.json)