# Yukta > A reactive, DAG-based workflow orchestration server. Define a workflow once as JSON; run it from REST, a web UI, a CLI or an AI agent. - [Introduction](https://yukta.infenia.com/index.md): Yukta is a reactive, DAG-based workflow orchestration server. Define a workflow once as JSON and run it from a script, a CI pipeline, a web UI or an AI agent. - [Quickstart](https://yukta.infenia.com/quickstart.md): Run the Yukta server and execute your first workflow in five minutes. - [Examples](https://yukta.infenia.com/examples.md): Ten ready-to-run workflows and the idea each one teaches. - [How Yukta works](https://yukta.infenia.com/concepts/how-it-works.md): The layers, the life of an execution and the principles behind the design. - [Sessions and workflows](https://yukta.infenia.com/concepts/sessions-and-workflows.md): How workflows are grouped, stored, versioned and addressed. - [Nodes, edges and ports](https://yukta.infenia.com/concepts/nodes-edges-ports.md): Node roles, how edges and output ports route messages, and how a node with several parents joins them. - [Messages](https://yukta.infenia.com/concepts/messages.md): The envelope every node receives and emits: payload, metadata, identity and routing. - [Executions](https://yukta.infenia.com/concepts/executions.md): The life of one run: its statuses, how they change, what you can read while it runs and what you get at the end. - [Delivery and back-pressure](https://yukta.infenia.com/concepts/delivery-and-backpressure.md): What Yukta guarantees about delivery, ordering and memory, and how a slow node affects the rest of the graph. - [Failure handling](https://yukta.infenia.com/concepts/failure-handling.md): Per-node retry, error routing, failure budgets and join rules, set with the engine object in a node's configuration. - [Time limits](https://yukta.infenia.com/concepts/time-limits.md): The five independent clocks that bound an execution, and how pausing and long-running work interact with them. - [Sub-workflows](https://yukta.infenia.com/concepts/sub-workflows.md): Run another stored workflow from inside a node, once per message. - [Defining a workflow](https://yukta.infenia.com/building/defining-a-workflow.md): The complete JSON shape of a session and its workflows, and how to build one step by step. - [Validation and versions](https://yukta.infenia.com/building/validation-and-versions.md): Check a workflow definition before it runs, and diff, annotate and roll back its saved versions. - [Variables and expressions](https://yukta.infenia.com/building/variables-and-expressions.md): Reference message data, settings and secrets inside node configuration without storing them in the workflow. - [Routing and branching](https://yukta.infenia.com/building/routing-and-branching.md): Patterns for sending messages down different paths: by exit code, HTTP status, expression, validation result, recipient list and error. - [Loops and retries](https://yukta.infenia.com/building/loops-and-retries.md): Repeat work until a condition holds, within bounds, and choose between a loop, an engine retry and a polling loop. - [Approvals and signals](https://yukta.infenia.com/building/approvals-and-signals.md): Hold a message until a person or another system sends a named signal, with a timeout and an accept or reject decision. - [Scheduling](https://yukta.infenia.com/building/scheduling.md): Run a workflow on a timer with SCHEDULE_TRIGGER, or start workflows from outside with REST, the CLI or MCP. - [AI and agents](https://yukta.infenia.com/building/ai-and-agents.md): Build model-driven workflows: chat with memory, tool-using agent loops, decisions, budgets and guardrails. - [Built-in plugins](https://yukta.infenia.com/plugins/overview.md): The 34 triggers, processors and terminals that ship with Yukta, and how a build chooses which ones to include. - [Triggers](https://yukta.infenia.com/plugins/triggers.md): API_TRIGGER, CONSTANT_SOURCE and SCHEDULE_TRIGGER: the plugins that start a workflow. - [Routing and flow](https://yukta.infenia.com/plugins/routing-and-flow.md): BRANCH, FILTER, SPLITTER, AGGREGATE, RECIPIENT_LIST, DELAY, LOOP_PREDICATE, LOOP_STREAM, SUB_WORKFLOW and WAIT_FOR_SIGNAL: plugins that decide where messages go and when. - [Transform](https://yukta.infenia.com/plugins/transform.md): MAPPER, VALIDATE and CONTENT-FILTER: plugins that reshape, check and trim payloads. - [External I/O](https://yukta.infenia.com/plugins/external-io.md): PROCESS_EXECUTOR, HTTP_REQUEST, SQL_QUERY, FILE_READ, FILE_WRITE and KV_STORE: plugins that reach outside the workflow. - [AI plugins](https://yukta.infenia.com/plugins/ai.md): LLM_CALL, MCP_LIST_TOOLS, MCP_TOOL_CALL and SESSION_MEMORY: call a model, give it tools and keep conversation history. - [Decision plugins](https://yukta.infenia.com/plugins/decisions.md): CLASSIFY, GATE, SCORE, ASK, ANOMALY and DEDUPE: constrained model decisions for routing and gating. - [Terminals](https://yukta.infenia.com/plugins/terminals.md): CONSOLE_TERMINAL and NOTIFY_TERMINAL: plugins that end a branch of a workflow. - [Writing a plugin](https://yukta.infenia.com/plugins/writing-a-plugin.md): The contract a trigger, processor or terminal fulfils: what it declares, how it handles messages and failures, and how Yukta picks it up. - [Run controls](https://yukta.infenia.com/running/run-controls.md): Pause, resume, step, set breakpoints, skip, stop, restart and retry a live execution through one ordered, audited command path. - [Admission and limits](https://yukta.infenia.com/running/admission-and-limits.md): Concurrency caps, queueing or refusing excess starts, priority, fairness between sessions, idempotent starts and live limit changes. - [Observability](https://yukta.infenia.com/running/observability.md): Progress, logs, results, the live event feed, metrics and tracing: how to see what an execution is doing and what it produced. - [Supervisors](https://yukta.infenia.com/running/supervisors.md): Programs that watch every execution and steer it, or veto commands before they run: a rule engine, an AI agent or your own code. - [Control planes](https://yukta.infenia.com/running/control-planes.md): Decision makers on the control bus that judge one event at a time, using rules, a small model, or rules first and a model as a fallback. - [Rule files](https://yukta.infenia.com/running/rule-files.md): The declarative JSON format used by the rule supervisor and the rule control plane: react to events and veto commands. - [Web UI](https://yukta.infenia.com/interfaces/web-ui.md): Browse sessions, build workflows with forms, run them and watch them live in the browser. - [MCP server](https://yukta.infenia.com/interfaces/mcp.md): Let an AI agent create sessions, run workflows, watch them and steer them through the Model Context Protocol. - [Command-line client](https://yukta.infenia.com/interfaces/cli.md): Use the yukta command to manage sessions, start and control runs, and watch them live from a terminal or a CI job. - [Configuration](https://yukta.infenia.com/operations/configuration.md): Every setting an operator can change, its default and what it controls, plus the per-node engine options. - [Security](https://yukta.infenia.com/operations/security.md): Expose the server safely, control who can do what, and limit what workflows may run. - [Persistence](https://yukta.infenia.com/operations/persistence.md): Keep sessions, the execution log and node outputs in memory, on disk or in PostgreSQL, and what survives a restart in each case. - [Checkpoints and resume](https://yukta.infenia.com/operations/checkpoints-and-resume.md): How Yukta records node outputs, restarts a run or one node, recovers after a restart and resumes an aborted run. - [High availability](https://yukta.infenia.com/operations/high-availability.md): Run several servers on one PostgreSQL database so that one admits runs and the others take over when it stops. - [Remote workers](https://yukta.infenia.com/operations/remote-workers.md): Run selected processor nodes on other machines, in named pools, while the control plane keeps orchestrating. - [Deployment](https://yukta.infenia.com/operations/deployment.md): Run Yukta from source, as an archive, as a native binary or in a container, with the profiles and build switches that shape it. - [Capacity and performance](https://yukta.infenia.com/operations/capacity-and-performance.md): The ceilings, bounded and unbounded memory, admission limits, every metric the server publishes, what to alert on and how to run the load tests. - [Troubleshooting](https://yukta.infenia.com/operations/troubleshooting.md): Common symptoms of a running Yukta server, their causes and the fix. - [Glossary](https://yukta.infenia.com/reference/glossary.md): Terms used across the Yukta documentation. - [Limits and defaults](https://yukta.infenia.com/reference/limits-and-defaults.md): Every ceiling and default value in one place, with the setting that changes it and the page that explains it. - [Status values](https://yukta.infenia.com/reference/status-values.md): Every execution and node status, and the enumerated values used by node options, limits and roles. - [REST API overview](https://yukta.infenia.com/api/overview.md): Base path, authentication, response envelope, paging, idempotency and stream conventions shared by every endpoint. - [Errors](https://yukta.infenia.com/api/errors.md): The error response shape, field errors and every HTTP status the REST API returns, with the cause and what to do. - [Sessions API](https://yukta.infenia.com/api/sessions.md): Apply, validate, list and read sessions and their configuration over REST. - [Workflows API](https://yukta.infenia.com/api/workflows.md): Read workflow definitions and graphs, manage saved versions, and start, stop and list runs of a workflow. - [Executions API](https://yukta.infenia.com/api/executions.md): Read the status and result of a run, search runs, stop, restart and recover them, and manage the execution queue. - [Control API](https://yukta.infenia.com/api/control.md): Pause, resume and steer a running execution and its nodes, send signals, and use the control bus and its audit log. - [Streams API](https://yukta.infenia.com/api/streams.md): Follow a run live over server-sent events: status, logs, results and the server-wide event feed. - [Catalogue API](https://yukta.infenia.com/api/catalogue.md): Discover the plugins a workflow can use, and see the supervisors and remote workers connected to the server. - [Stop a specific execution](https://yukta.infenia.com/api-reference/execution-api/stop-a-specific-execution.md): Legacy path: /api/workflow/executions/{executionId}/stop (deprecated) - [Stop a specific execution](https://yukta.infenia.com/api-reference/execution-api/stop-a-specific-execution-1.md): Legacy path: /api/workflow/executions/{executionId}/stop (deprecated) - [Restart a workflow execution from a node](https://yukta.infenia.com/api-reference/execution-api/restart-a-workflow-execution-from-a-node.md): Restarts from a node, replaying the last checkpoints of its parents. Legacy path: /api/workflow/executions/{executionId}/restart/{fromNodeId} (deprecated) - [Restart a workflow execution from a node](https://yukta.infenia.com/api-reference/execution-api/restart-a-workflow-execution-from-a-node-1.md): Restarts from a node, replaying the last checkpoints of its parents. Legacy path: /api/workflow/executions/{executionId}/restart/{fromNodeId} (deprecated) - [Restart a workflow execution](https://yukta.infenia.com/api-reference/execution-api/restart-a-workflow-execution.md): Stops the execution and restarts the workflow with the original trigger payload. Legacy path: /api/workflow/executions/{executionId}/restart (deprecated) - [Restart a workflow execution](https://yukta.infenia.com/api-reference/execution-api/restart-a-workflow-execution-1.md): Stops the execution and restarts the workflow with the original trigger payload. Legacy path: /api/workflow/executions/{executionId}/restart (deprecated) - [Stream workflow execution status](https://yukta.infenia.com/api-reference/execution-api/stream-workflow-execution-status.md): Streams progress via SSE. Legacy path: /api/workflow/{sessionId}/status/{executionId}/stream (deprecated) - [Stream workflow execution status](https://yukta.infenia.com/api-reference/execution-api/stream-workflow-execution-status-1.md): Streams progress via SSE. Legacy path: /api/workflow/{sessionId}/status/{executionId}/stream (deprecated) - [Get workflow execution status](https://yukta.infenia.com/api-reference/execution-api/get-workflow-execution-status.md): Legacy path: /api/workflow/{sessionId}/status/{executionId} (deprecated) - [Get workflow execution status](https://yukta.infenia.com/api-reference/execution-api/get-workflow-execution-status-1.md): Legacy path: /api/workflow/{sessionId}/status/{executionId} (deprecated) - [Resume a workflow execution](https://yukta.infenia.com/api-reference/execution-control-api/resume-a-workflow-execution.md): Resumes a specific paused workflow execution. Legacy path: /api/workflow/{sessionId}/{executionId}/resume (deprecated) - [Resume a workflow execution](https://yukta.infenia.com/api-reference/execution-control-api/resume-a-workflow-execution-1.md): Resumes a specific paused workflow execution. Legacy path: /api/workflow/{sessionId}/{executionId}/resume (deprecated) - [Recover an aborted workflow execution](https://yukta.infenia.com/api-reference/execution-control-api/recover-an-aborted-workflow-execution.md): Continues a run that a server restart aborted as a new run: nodes that finished are replayed from their recorded output, the rest run again. Needs the file execution log and checkpoint directories. Answers 409 if the run was not aborted, was already resumed or its workflow changed. - [Recover an aborted workflow execution](https://yukta.infenia.com/api-reference/execution-control-api/recover-an-aborted-workflow-execution-1.md): Continues a run that a server restart aborted as a new run: nodes that finished are replayed from their recorded output, the rest run again. Needs the file execution log and checkpoint directories. Answers 409 if the run was not aborted, was already resumed or its workflow changed. - [Pause a workflow execution](https://yukta.infenia.com/api-reference/execution-control-api/pause-a-workflow-execution.md): Pauses a specific workflow execution via global backpressure. Legacy path: /api/workflow/{sessionId}/{executionId}/pause (deprecated) - [Pause a workflow execution](https://yukta.infenia.com/api-reference/execution-control-api/pause-a-workflow-execution-1.md): Pauses a specific workflow execution via global backpressure. Legacy path: /api/workflow/{sessionId}/{executionId}/pause (deprecated) - [Stop a node](https://yukta.infenia.com/api-reference/execution-control-api/stop-a-node.md): Stops a single node, immediately or after draining inflight work. Legacy path: /api/workflow/{sessionId}/{executionId}/node/{nodeId}/stop (deprecated) - [Stop a node](https://yukta.infenia.com/api-reference/execution-control-api/stop-a-node-1.md): Stops a single node, immediately or after draining inflight work. Legacy path: /api/workflow/{sessionId}/{executionId}/node/{nodeId}/stop (deprecated) - [Enable step mode on a node](https://yukta.infenia.com/api-reference/execution-control-api/enable-step-mode-on-a-node.md): Enables step-through debug mode on a node. Legacy path: /api/workflow/{sessionId}/{executionId}/node/{nodeId}/step/enable (deprecated) - [Enable step mode on a node](https://yukta.infenia.com/api-reference/execution-control-api/enable-step-mode-on-a-node-1.md): Enables step-through debug mode on a node. Legacy path: /api/workflow/{sessionId}/{executionId}/node/{nodeId}/step/enable (deprecated) - [Disable step mode on a node](https://yukta.infenia.com/api-reference/execution-control-api/disable-step-mode-on-a-node.md): Disables step-through debug mode on a node. Legacy path: /api/workflow/{sessionId}/{executionId}/node/{nodeId}/step/disable (deprecated) - [Disable step mode on a node](https://yukta.infenia.com/api-reference/execution-control-api/disable-step-mode-on-a-node-1.md): Disables step-through debug mode on a node. Legacy path: /api/workflow/{sessionId}/{executionId}/node/{nodeId}/step/disable (deprecated) - [Step a node](https://yukta.infenia.com/api-reference/execution-control-api/step-a-node.md): Lets exactly one element through a node in step-through mode. Legacy path: /api/workflow/{sessionId}/{executionId}/node/{nodeId}/step (deprecated) - [Step a node](https://yukta.infenia.com/api-reference/execution-control-api/step-a-node-1.md): Lets exactly one element through a node in step-through mode. Legacy path: /api/workflow/{sessionId}/{executionId}/node/{nodeId}/step (deprecated) - [Skip or unskip a node](https://yukta.infenia.com/api-reference/execution-control-api/skip-or-unskip-a-node.md): Marks a node as skipped (passthrough) or not. Core currently rejects this for running executions.. Legacy path: /api/workflow/{sessionId}/{executionId}/node/{nodeId}/skip (deprecated) - [Skip or unskip a node](https://yukta.infenia.com/api-reference/execution-control-api/skip-or-unskip-a-node-1.md): Marks a node as skipped (passthrough) or not. Core currently rejects this for running executions.. Legacy path: /api/workflow/{sessionId}/{executionId}/node/{nodeId}/skip (deprecated) - [Resume a node](https://yukta.infenia.com/api-reference/execution-control-api/resume-a-node.md): Resumes a single paused node. Legacy path: /api/workflow/{sessionId}/{executionId}/node/{nodeId}/resume (deprecated) - [Resume a node](https://yukta.infenia.com/api-reference/execution-control-api/resume-a-node-1.md): Resumes a single paused node. Legacy path: /api/workflow/{sessionId}/{executionId}/node/{nodeId}/resume (deprecated) - [Pause a node](https://yukta.infenia.com/api-reference/execution-control-api/pause-a-node.md): Pauses a single node via backpressure. Legacy path: /api/workflow/{sessionId}/{executionId}/node/{nodeId}/pause (deprecated) - [Pause a node](https://yukta.infenia.com/api-reference/execution-control-api/pause-a-node-1.md): Pauses a single node via backpressure. Legacy path: /api/workflow/{sessionId}/{executionId}/node/{nodeId}/pause (deprecated) - [Change the execution limits](https://yukta.infenia.com/api-reference/execution-control-api/change-the-execution-limits.md) - [Change the priority of a queued execution](https://yukta.infenia.com/api-reference/execution-control-api/change-the-priority-of-a-queued-execution.md): Rejected unless the execution is waiting for a slot - [Send a signal to a waiting node](https://yukta.infenia.com/api-reference/execution-control-api/send-a-signal-to-a-waiting-node.md): Releases or rejects a node that waits for the named signal, for example a WAIT_FOR_SIGNAL approval step. Answers 409 if the node is not waiting for it. - [Retry a failed node](https://yukta.infenia.com/api-reference/execution-control-api/retry-a-failed-node.md): Restarts the execution from a node that failed. Returns the new execution. - [Set a breakpoint on a node](https://yukta.infenia.com/api-reference/execution-control-api/set-a-breakpoint-on-a-node.md): Pauses the node when the given payload field equals the given value, for example field=payload.status&equals=error - [Clear a breakpoint on a node](https://yukta.infenia.com/api-reference/execution-control-api/clear-a-breakpoint-on-a-node.md) - [List pending approvals](https://yukta.infenia.com/api-reference/execution-control-api/list-pending-approvals.md): Lists the nodes of the session that wait for a signal now (for example WAIT_FOR_SIGNAL approval steps), oldest first. Answer one with the signal endpoint of its execution. - [Stop all workflow executions](https://yukta.infenia.com/api-reference/workflow-api/stop-all-workflow-executions.md): Stops all active executions of a workflow and severs the trigger plugin input stream - [Start a workflow](https://yukta.infenia.com/api-reference/workflow-api/start-a-workflow.md): Starts the execution of a DAG workflow for a session. Answers 404 for an unknown session or workflow and 429 when the execution limit is reached. - [Get workflow history](https://yukta.infenia.com/api-reference/workflow-api/get-workflow-history.md): Lists the executions of a session, newest first. A further page is announced in the X-Next-Cursor header. Narrow it with workflowId, status, text (text in the execution id) and since/until (start time range, ISO date-time). - [List all sessions](https://yukta.infenia.com/api-reference/session-api/list-all-sessions.md): Lists session identifiers alphabetically. A further page is announced in the X-Next-Cursor header. - [Apply session configuration](https://yukta.infenia.com/api-reference/session-api/apply-session-configuration.md): Initializes a new session or updates an existing session's configuration at runtime, including its workflow definitions - [Validate a workflow](https://yukta.infenia.com/api-reference/session-api/validate-a-workflow.md): Checks a draft workflow with the same rules as execution, without saving it. A failing draft is a 200 with valid=false. Also returns each node's output ports for its configuration, so an editor can offer the right edge ports. - [Get session details](https://yukta.infenia.com/api-reference/session-api/get-session-details.md): Retrieves details of a specific session including workflow IDs - [Get workflow summaries for a session](https://yukta.infenia.com/api-reference/session-api/get-workflow-summaries-for-a-session.md): All workflows of a session with node/edge counts and the latest execution status - [Get workflow](https://yukta.infenia.com/api-reference/session-api/get-workflow.md): Retrieves the definition of a workflow - [Get session configuration](https://yukta.infenia.com/api-reference/session-api/get-session-configuration.md): The full configuration of a session including tag values and workflow definitions, so an editor can change it and send it back with POST /api/sessions - [List session summaries](https://yukta.infenia.com/api-reference/session-api/list-session-summaries.md): Lean per-session rows for table display, alphabetical by session ID. Only the requested page is loaded. A further page is announced in the X-Next-Cursor header. - [Write or clear the note on a saved version](https://yukta.infenia.com/api-reference/workflow-versions-api/write-or-clear-the-note-on-a-saved-version.md) - [Roll a workflow back to a saved version](https://yukta.infenia.com/api-reference/workflow-versions-api/roll-a-workflow-back-to-a-saved-version.md) - [List the saved versions of a workflow](https://yukta.infenia.com/api-reference/workflow-versions-api/list-the-saved-versions-of-a-workflow.md): Newest first; the newest 20 saves are kept - [Compare two versions of a workflow](https://yukta.infenia.com/api-reference/workflow-versions-api/compare-two-versions-of-a-workflow.md): Nodes added, removed or changed, and edges added or removed - [Send command to node in workflow](https://yukta.infenia.com/api-reference/control-bus-&-observability-api/send-command-to-node-in-workflow.md): Sends an administrative command to a specific node in a workflow - [Get active nodes in workflow](https://yukta.infenia.com/api-reference/control-bus-&-observability-api/get-active-nodes-in-workflow.md): Lists all nodes in a specific workflow currently registered on the Control Bus - [Get node heartbeat in workflow](https://yukta.infenia.com/api-reference/control-bus-&-observability-api/get-node-heartbeat-in-workflow.md): Retrieves the most recent heartbeat for a specific node in a workflow - [Get active nodes (global)](https://yukta.infenia.com/api-reference/control-bus-&-observability-api/get-active-nodes-global.md): Lists all nodes currently registered on the Control Bus across all workflows - [List workers](https://yukta.infenia.com/api-reference/workers-api/list-workers.md): Lists the workers that are connected and keep their lease, ordered by id, with the pools they serve, the plugin types they may run, their capacity and the slots in use at their last heartbeat - [List supervisors](https://yukta.infenia.com/api-reference/supervisors-api/list-supervisors.md): Lists the supervisors and control-plane plugins running on the control bus, in review order, with how many commands each applied, had refused, only recorded (dry-run) or dropped (rate limit) since startup - [Get the workflow DAG enriched with plugin metadata](https://yukta.infenia.com/api-reference/workflow-details-api/get-the-workflow-dag-enriched-with-plugin-metadata.md): Nodes and edges enriched with plugin category, description, UI design and config-aware output ports, plus the topological execution order - [Get the execution history for a workflow](https://yukta.infenia.com/api-reference/workflow-details-api/get-the-execution-history-for-a-workflow.md): Execution summaries of a single workflow, most recent first. An empty list means the workflow has never been executed. A further page is announced in the X-Next-Cursor header. - [Read the result of an execution](https://yukta.infenia.com/api-reference/execution-results-api/read-the-result-of-an-execution.md): Returns what the terminal nodes received so far; complete is true once the execution ended. Answers 404 for an unknown execution or one of another session. - [Stream structured execution log entries with history](https://yukta.infenia.com/api-reference/execution-logs-api/stream-structured-execution-log-entries-with-history.md): Streams stored structured entries first, then live ones. Stops when the execution reaches a terminal state. Answers 404 for an unknown execution or one of another session. - [Stream execution logs with history](https://yukta.infenia.com/api-reference/execution-logs-api/stream-execution-logs-with-history.md): Streams stored log lines first, then live ones. Stops when the execution reaches a terminal state. Answers 404 for an unknown execution or one of another session. - [List plugins](https://yukta.infenia.com/api-reference/plugin-api/list-plugins.md): Lists all registered workflow plugins. Response is non-blocking and returned asynchronously via Mono. - [Get plugin details](https://yukta.infenia.com/api-reference/plugin-api/get-plugin-details.md): Retrieves details of a specific plugin. Response is non-blocking and returned asynchronously via Mono. - [Search runs across sessions](https://yukta.infenia.com/api-reference/execution-search-api/search-runs-across-sessions.md): Lists the runs of all sessions (or of sessionId), newest first, narrowed by workflowId, status, text (in the execution id) and since/until (start time, ISO date-time). The history of each session is bounded by yukta.execution-log.retained-runs. - [Stream execution events](https://yukta.infenia.com/api-reference/events-api/stream-execution-events.md): Live node and workflow status changes, control command outcomes and log lines of all executions, each with a severity (INFO, WARN, ERROR) - [List control commands](https://yukta.infenia.com/api-reference/control-audit-api/list-control-commands.md): Lists the newest control commands recorded in the execution log (applied or refused), with the actor that sent them ## OpenAPI Specs - [openapi](/api/openapi.json) This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.