Skip to main content

Getting started

Quickstart

Create your first readable receipt with one HTTP request from a workflow, script, cron job, or internal tool.

API first

Send summaries first

Start with safe example data and short summaries. Do not send full customer messages, private documents, secrets, API keys, or sensitive data unless you have a clear reason to store them.

Prerequisites

Access and an API key

Docs are public so you can review the flow before requesting access. After your account is active, create an API key in the app.

Request access

A workflow that can send JSON

Use n8n, Make, IFTTT, StackAI, Zapier, a custom script, a cron job, or an internal tool. Automation Receipts only needs an authenticated JSON request.

1. Create a run

A run is one workflow execution. The API key chooses the workspace, and the payload describes what happened.

Method
POST
URL
https://automationreceipts.com/api/v1/runs
Header
Authorization: Bearer aar_live_...
Required
automation_name, run_uid, and at least one summary field.

2. Send a JSON payload

This example logs a support reply draft that needs review. Replace the example values with dynamic values from your workflow when you are ready.

Create receipt request

curl -X POST "https://automationreceipts.com/api/v1/runs" \
  -H "Authorization: Bearer aar_live_REPLACE_ME" \
  -H "Content-Type: application/json" \
  -d '{
    "automation_name": "Support Reply Drafter",
    "run_uid": "support-demo-20260517-1042",
    "source_type": "n8n",
    "trigger_type": "new_support_email",
    "status": "needs_review",
    "risk_level": "medium",
    "input_summary": "Customer asked about refund options.",
    "output_summary": "AI drafted a polite refund-policy reply.",
    "model_used": "gpt-5.5",
    "approval_required": true,
    "approval_status": "pending",
    "final_action": "Draft created but not sent.",
    "events": [
      {
        "event_type": "trigger_received",
        "event_label": "Support email received",
        "event_summary": "A new support email triggered the workflow."
      },
      {
        "event_type": "model_called",
        "event_label": "Draft generated",
        "event_summary": "The workflow generated a suggested reply."
      },
      {
        "event_type": "approval_requested",
        "event_label": "Review requested",
        "event_summary": "The draft is waiting for review."
      }
    ]
  }'

Send booleans as real JSON booleans

Send false as false, not "false". The string "false" may be treated as truthy by the API and can make approval look required.

Optional review callback

If the original workflow should receive the review result later, add a callback_url to the create-run payload. Automation Receipts saves the review first, then POSTs a small review result payload to that URL. Callback failure does not undo the saved review.

3. Open the receipt

A successful create-run request returns HTTP 201. The receipt_url is the human-readable receipt page you can open in a browser or share with a teammate.

Create receipt response

201 Created
{
  "ok": true,
  "run_id": 123,
  "run_uid": "n8n-first-receipt-456",
  "receipt_url": "https://automationreceipts.com/runs/123"
}

4. Append events later

Use events when the workflow continues after the first receipt is created. The append-event URL uses run_uid, not the numeric run_id: /api/v1/runs/{run_uid}/events.

Append event request

curl -X POST "https://automationreceipts.com/api/v1/runs/support-demo-20260517-1042/events" \
  -H "Authorization: Bearer aar_live_REPLACE_ME" \
  -H "Content-Type: application/json" \
  -d '{
    "event_type": "action_taken",
    "event_label": "Reply sent",
    "event_summary": "The approved support reply was sent to the customer.",
    "occurred_at": "2026-05-17T10:45:00+12:00"
  }'

Successful append-event requests return:

Append event response

200 OK
{
  "ok": true,
  "message": "Event logged."
}

Useful notes

Events stay readable

Unknown event_type values are recorded as note. Missing event_label can be generated from event_type, but documented event types create clearer timelines.

Keep payloads focused

Request bodies over 131072 bytes are rejected. The events array on create-run is capped to 50 items.

Common responses

Status Meaning
400A valid JSON object is required.
401The bearer token is missing or invalid.
404The run was not found when appending an event.
409The run_uid already exists in the workspace.
413The request payload is too large.
422A required field is missing or a value did not validate.

Next steps