actionbox

Human approval API

A human approval API for automation that knows when to ask

Give scripts, AI agents, and production systems a safe pause point. A person decides in the ActionBox inbox, and your workflow continues with a typed, auditable result.

Start here

Install the CLImacOS or Linux · one command
curl -fsSL https://actionbox.cloud/install.sh | sh

What is a human approval API?

It is a server-authoritative API primitive for asking a person to approve, choose, review, or supply missing input before software continues. ActionBox owns the Action state, response, expiry, and audit trail.

How does an approval gate work?

Create an Action, deliver it to a web or mobile inbox, wait for a typed response, then verify the final state from your backend or a signed webhook. A disconnected worker can safely resume without guessing.

What can developers integrate?

Use REST, the CLI, Python or TypeScript clients, webhooks, or MCP. Gate deployments, data changes, customer-impacting messages, agent tool calls, and any workflow that needs a human boundary.

Why use ActionBox instead of building approval UI?

Source-scoped credentials, typed interactions, signed callbacks, expiration, and an audit trail are ready to integrate. Your system keeps the business logic while ActionBox handles durable human I/O.

How much does it cost?

The Developer plan includes 1,000 Actions per month for free. Start with one Source, validate the workflow, and scale to Pro, Team, or custom capacity when usage grows.

Quick start

From install to first decision in three steps.

Install the CLI, connect a Source from the dashboard, and ask a question from the same terminal that runs your workflow.

01

Install the CLI

Install the signed prebuilt binary with one command.

curl -fsSL https://actionbox.cloud/install.sh | sh
macOS + Linux · Windows installer available
02

Configure a Source

Create a Source in ActionBox, then verify the connection.

actionbox configure
actionbox doctor
Keys stay in your owner-only local config
03

Ask and wait

Pause until someone resolves the Action in the inbox.

actionbox ask "Deploy to production?" \
  --option approve=Approve \
  --option reject=Reject \
  --wait --timeout 30m
Ctrl+C stops waiting; the Action stays open

Use it in a real workflow

Put the decision exactly where side effects begin.

The final answer goes to stdout, so your existing shell logic can decide what happens next.

decision=$(actionbox ask "Deploy to production?" \
  --option approve --option reject --wait --quiet)

[ "$decision" = approve ] && ./deploy.sh

Python + PyPI

Bring the approval gate into your backend.

The typed Python client is published as actionbox-sdk and uses the same server-authoritative API as the CLI.

actionbox-sdk on PyPI ↗ CLI wrapper on PyPI ↗

pip install actionbox-sdk

import os
from actionbox import Actionbox

with Actionbox(os.environ["ACTIONBOX_API_KEY"]) as client:
    action = client.ask(
        title="Deploy to production?",
        options=["Approve", "Reject"],
    )
    decision = action.wait()
    print(decision)