Automation
Fire a trigger now
Fire once now and return a Firing, subject to current state, catchup window and overlap rules.
Fire once now and return a Firing, subject to current state, catchup window and overlap rules. Run-launch failures are recorded in the firing error.
POST /automation/v1/triggers/{id}/fire
Authentication
Authorization: Bearer $PRAXIS_API_KEY
Request fields
| Parameter | Type | Description |
|---|---|---|
| path: id | string | required; Trigger ID (trg_). |
| header: Idempotency-Key | string | optional; Optional; 1–256 characters. Within 24 hours, the same key replays the first response with Idempotent-Replayed: true; a different request body returns 422; an in-flight request returns 409. minLength: 1; maxLength: 256 |
Examples
Set these environment variables to your own resources:
| Variable | Source |
|---|---|
| TRIGGER_ID | Trigger id; resume before sending a webhook |
: "${TRIGGER_ID:?Set TRIGGER_ID}"
curl --fail-with-body -X POST "https://api.deepraxis.ai/automation/v1/triggers/${TRIGGER_ID}/fire" \
-H "Authorization: Bearer $PRAXIS_API_KEY" \
-H "Content-Type: application/json" \
--data '{}'import { createAutomationClient } from '@deepraxis/sdk/automation';
function env(name: string): string {
const value = process.env[name];
if (!value) throw new Error(`Set ${name}`);
return value;
}
const automation = createAutomationClient({
apiKey: env('PRAXIS_API_KEY'),
baseUrl: 'https://api.deepraxis.ai',
maxRetries: 0,
timeoutMs: 90_000,
});
const result = await automation.triggers.fire({
"path": {
"id": env("TRIGGER_ID")
},
"body": {}
});
console.log(result);Response
HTTP 200
Success
| Header | Type | Description |
|---|---|---|
| Idempotent-Replayed | boolean | Present and true when replaying the first response for this key. |
application/json
| Field | Type | Description |
|---|---|---|
| id | string | required; Firing record id; records are kept for 30 days. |
| trigger_id | string | required; Id (trg_) of the trigger this firing belongs to. |
| scheduled_at | string | required; Planned firing time (RFC 3339 UTC); for webhooks, the time the request arrived. format: "date-time" |
| fired_at | string | required; Time the firing actually happened (RFC 3339 UTC). format: "date-time" |
| outcome | "accepted" / "started" / "skipped_overlap" / "missed" / "failed" / "deduped" | required; Firing outcome. accepted means persisted and awaiting processing; started means a run was created; skipped_overlap means skipped because the previous run was still active; missed means it was later than the catch-up window and was not run; failed means creating the run failed; deduped means it repeated a webhook-id seen within 24 hours. |
| run_id | string / null | required; Id (run_) of the run this firing created, or null if no run was created. |
| resolved_version | string / null | required; Exact version this firing resolved to; null when not yet resolved or when it failed before resolving. |
| error | object / null | required; Reason {code, message} when the firing failed; null otherwise. |
| error (variant 1).code | string | required; Error code of the failure. |
| error (variant 1).message | string | required; Message describing the failure. |
Measured response
HTTP 200
{
"id": "frg_00mv67n833fec8a47a90904782ac1a8f1fef264379",
"trigger_id": "trg_00mv67mzzqa0d63b98d72446dd9d1331051a3e100e",
"scheduled_at": "2026-10-13T04:58:20.215Z",
"fired_at": "2026-10-13T04:58:20.215Z",
"outcome": "started",
"run_id": "run_00mv67n8ao7de994212f453fdfe7def756b57ec5cdeb562a1222f554c6f3d9f428ec25480e",
"resolved_version": "1.0.0",
"error": null
}Errors
| HTTP | Codes and description |
|---|---|
| 400 | INVALID_PARAMS: Invalid request parameters, path, cursor, or body format. |
| 404 | TRIGGER_NOT_FOUND: The trigger does not exist or is inaccessible. Webhook authentication failures also use this code. |
| 409 | IDEMPOTENCY_IN_FLIGHT: A request with the same idempotency key is still in progress. RUN_INVALID_STATE: The current state does not allow this action. |
| 412 | PRECONDITION_FAILED: The revision, source digest, or concurrent write precondition does not match. |
| 422 | IDEMPOTENCY_KEY_MISMATCH: The idempotency key was already used for different request content. |
| default | RFC 9457 automation problem. 429 includes Retry-After. |
Authentication and common errors · Retain the X-Request-Id response header for troubleshooting.