steps, a trigger (manual, scheduled, event, or threshold), optional conditions and approvers, and per-execution input/output. Every execution is tracked in workflow_executions with per-step results.
All endpoints require authentication and a workspace context. Mutating endpoints are audit-logged.
List workflows
GET /api/workflows
certificate_renewal, certificate_request, certificate_revocation, or custom.manual, scheduled, event, threshold.Cron string for scheduled workflows, event filter for event-driven ones.
Ordered step definitions.
User IDs authorized to approve.
Create a workflow
POST /api/workflows
Maps to the DB
trigger column.Array of step objects. Shape is step-type-specific but each carries
{ id, type, config }.Update a workflow
PUT /api/workflows/:id
triggerConfig, adding a step, updating approvers.
Delete a workflow
DELETE /api/workflows/:id
Returns 204 No Content. Past executions are retained for audit.
Toggle enabled
PUT /api/workflows/:id/toggle
Execute a workflow
POST /api/workflows/:id/execute
Kicks off a manual run. Returns the created workflow_execution row with status=running.
Input parameters passed to the first step. Shape is workflow-specific.
POST /execute is one of the endpoints that does not use the { data: ... } envelope — the execution row is returned directly.404 NOT_FOUND if the workflow ID doesn’t exist. For workflows with requiresApproval=true, the execution is created in pending state and blocks on an approval request (see /api/approvals).
List executions
GET /api/workflows/executions
Filter to executions of a specific workflow.
pending, running, completed, failed, cancelled.manual, scheduled, event.User ID for manual runs.
Ordered per-step outcomes with
{ stepId, status, output, error, duration }.0-indexed current step for running executions.
Common step types
| Step type | What it does |
|---|---|
query_certificates | Selects a batch of certificates matching a filter |
renew_certificate | Runs the appropriate renewal method for the target CA |
revoke_certificate | Marks a certificate revoked and updates CRLs |
deploy_certificate | Dispatches a cert_deploy agent task |
send_notification | Fires a webhook or channel notification |
require_approval | Blocks until an approver acts |
http_request | Generic outbound HTTP call for custom integrations |
See also
- Certificates — the primary resource workflows act on
- Certificate authorities — CAs used by renewal steps
- Webhooks — outbound delivery targets for workflow events
- Agents — how deploy steps reach the field