Human In Circuit DocsAPI v2 · Contract 2.0.0
Browse all documentation

Start

OverviewQuickstartConceptsReview playground

Build

AuthenticationAPI ReferenceCallbacksTroubleshooting

Integrations

n8nZapier

Interactive builder

Review playground

Start from a real use case, configure it visually or edit the same JSON body sent by n8n, and see the inbox card and full mobile review update immediately.

Review builderVisual controls synced to the API body
Review contentTitle and summary appear in the Inbox. Markdown provides the full reviewer context.
PriorityPriority controls Inbox order and, for urgent reviews, immediate email delivery.
Risk
Low is informational, medium adds caution, and high adds stronger confirmation cues.
AgentName the agent and workflow that produced the review. Model is optional and hidden when omitted.
Metadata pass-throughCaller-owned JSON returned unchanged by create, polling, and callback responses. It is not shown to reviewers.
CallbackAfter the decision is committed, Human In Circuit sends the complete result to this URL.
MethodPOSTContent typeapplication/json
See the exact callback request

Standard headers include Content-Type, X-Hic-Event-Id, X-Hic-Timestamp, and an HMAC X-Hic-Signature. A configured fixed authentication header is included as well.

{
  "api_version": "v1",
  "schema_version": "review.v1",
  "callback_version": "callback.v1",
  "event_id": "54f54df3-9823-44c6-aef8-02a816941d17",
  "type": "review.resolved",
  "review_id": "d835e7dc-1f8f-4a75-a57b-0f2bd5826a1f",
  "external_id": "ticket-1842",
  "project_key": "your-project-key",
  "metadata": {
    "ticket_id": "ticket-1842",
    "customer_id": "cus_9281"
  },
  "review": {
    "schema_version": "review.v1",
    "workflow_revision": 1,
    "title": "Approve customer reply",
    "summary": "A billing response is ready to send to Maya.",
    "details_markdown": "**Customer context:** Maya was charged twice for the same subscription renewal.",
    "priority": "high",
    "risk": "medium",
    "expires_at": null,
    "agent": {
      "name": "Support agent",
      "workflow": "Billing escalation",
      "tags": [
        "support",
        "billing"
      ]
    },
    "metadata": {
      "ticket_id": "ticket-1842",
      "customer_id": "cus_9281"
    },
    "fields": [
      {
        "key": "subject",
        "label": "Subject",
        "description": "This becomes the subject line sent to the customer.",
        "required": true,
        "type": "text",
        "maxLength": 120
      },
      {
        "key": "reply",
        "label": "Reply",
        "description": "Edit the response before approval.",
        "required": true,
        "type": "textarea"
      },
      {
        "key": "tone",
        "label": "Tone",
        "description": "Choose the voice the final reply should use.",
        "required": true,
        "type": "select",
        "options": [
          {
            "label": "Warm",
            "value": "warm"
          },
          {
            "label": "Direct",
            "value": "direct"
          },
          {
            "label": "Formal",
            "value": "formal"
          }
        ]
      }
    ],
    "initial_values": {
      "subject": "Your duplicate charge has been refunded",
      "reply": "Hi Maya,\n\nI’m sorry about the duplicate charge. I’ve issued a refund of $49.00, which should appear within 5–7 business days.\n\nBest,\nSupport",
      "tone": "warm"
    },
    "attachments": []
  },
  "outcome": "approved",
  "original_values": {
    "subject": "Your duplicate charge has been refunded",
    "reply": "Hi Maya,\n\nI’m sorry about the duplicate charge. I’ve issued a refund of $49.00, which should appear within 5–7 business days.\n\nBest,\nSupport",
    "tone": "warm"
  },
  "final_values": {
    "subject": "Your duplicate charge has been refunded",
    "reply": "Hi Maya,\n\nI’m sorry about the duplicate charge. I’ve issued a refund of $49.00, which should appear within 5–7 business days.\n\nBest,\nSupport",
    "tone": "warm"
  },
  "output": {
    "subject": "Your duplicate charge has been refunded",
    "reply": "Hi Maya,\n\nI’m sorry about the duplicate charge. I’ve issued a refund of $49.00, which should appear within 5–7 business days.\n\nBest,\nSupport",
    "tone": "warm"
  },
  "changes": [],
  "rejection_reasons": [],
  "note": "",
  "decided_at": "2026-07-25T10:35:00.000Z",
  "delivered_at": null
}
Review fieldsHelper text is sent as description and appears directly below the field for the reviewer.
Subjectsubject
Type
Replyreply
Type
Tonetone
Type

Switch to JSON for advanced constraints such as minLength, maxLength, min, max, and step.

Valid review body · preview updated
Mobile previewPreview only · no review is created
Review requestSupport agent
high
Playground projectWaiting just now

Approve customer reply

A billing response is ready to send to Maya.

Context

Customer context: Maya was charged twice for the same subscription renewal.

Review and edit
This becomes the subject line sent to the customer.
Edit the response before approval.
ToneRequired
Choose the voice the final reply should use.