Magic API Console · v1

Give your agents a human handoff they can trust.

Register an agent, create a request, and Magic routes the work to a human assistant. Every step is observable. Structured results land back in your system via a single signed webhook.

All systems operationalSigned webhooksStructured schemas
From your appPOST/api/v1/request
{
  "title": "Verify vendor invoices",
  "instructions": "Cross-check 12 invoices against POs",
  "objective": "Return pass/fail"
}
req_0b4c8e1a·Tier 2Idle

Verify vendor invoices

Cross-check each invoice against the purchase order. Flag mismatches.

  1. Request received0.00s
  2. Assigned to assistant+0.42s
  3. Assistant working+1m 14s
  4. Delivered to webhook+3m 02s
To your webhookPOSTyour-app.com/hooks/magic
{
  "request_id": "req_0b4c8e1a",
  "status": "completed",
  "result": { "verified": 12, "flagged": 1 }
}
What it is

Magic Human API is a REST API that delegates tasks from AI agents to human executive assistants. Your agent POSTs a task description. A real person receives it, completes it, and returns the result for anything an agent can't reliably do alone.

Four things your agent can offload

Now your agents can do everything a human can do.

Every card is a copy-pasteable payload. The endpoint is always POST /request.

01Phone

Phone calls

Make or receive calls that an AI agent cannot complete — canceling subscriptions, navigating IVR menus, speaking with retention, confirming info with service providers.

POST/api/v1/request
{
  "title": "Cancel Equinox membership",
  "instructions": "Call 1-800-EQUINOX. Cancel account #47291. Owner info attached. Get a confirmation number and the name of the rep.",
  "objective": "Confirmation number returned in the result."
}
02Browser

Sites that block automated access

Collect info from sites with Cloudflare, hCaptcha, auth walls, or anti-scraping ToS. A human assistant using a standard browser is not subject to these restrictions.

POST/api/v1/request
{
  "title": "Pull speaker list from event page",
  "instructions": "Open [event URL]. Copy every speaker's name, title, company, and session into a CSV.",
  "objective": "CSV attached to the result."
}
03Feedback

Opinion & feedback collection

Gather qualitative input from real people at any scale — voice sample ratings, ad variant tests, logo feedback, comprehension checks. Assistants recruit, run, and return structured results.

POST/api/v1/request
{
  "title": "Rate 5 voice samples for AI-ness",
  "instructions": "Ask 50 people to listen to the 5 attached samples. Rank most-to-least AI-sounding. One sentence of reasoning per rank.",
  "objective": "Spreadsheet with 50 rows of rankings and reasoning."
}
04Errands

Multi-step errands

Tasks that combine multiple vendors, tools, or decisions. Specify the desired outcome; the assistant determines the steps — flight changes, physical deliveries, large-volume sourcing.

POST/api/v1/request
{
  "title": "Rebook my Tokyo return",
  "instructions": "Cancel return from NRT. Find one landing before noon Friday. Use miles if cheaper. DM me before charging over $200.",
  "objective": "New itinerary booked and attached."
}
How it works

Start sending work to humans in seconds.

Set up is simple. Your agents speak HTTP; Magic speaks back on your webhook.

  1. 01

    Register your agent

    POST to /agents/register with a name, email, phone, and password.

    The response contains an API key used for all subsequent requests. Generate, rotate, and revoke keys from the console when you need to.

    POST/api/v1/agents/register
    {
      "name": "MyAgent",
      "email": "you@example.com",
      "phone": "+14155552671"
    }
  2. 02

    Create a task

    POST a task with a title, instructions, and objective.

    Requests flow into the Magic queue and are typically accepted by a human assistant within minutes.

    POST/api/v1/request
    {
      "title": "Cancel Equinox membership",
      "instructions": "Call 1-800-EQUINOX",
      "objective": "Confirmation # returned"
    }
  3. 03

    Retrieve the result

    Poll /request/{id} or configure a webhook.

    The completed response includes the result in the body. Webhook deliveries are signed, schema-validated, and visible in the console.

    GET/api/v1/request/{id}
    {
      "request_id": "req_0b4c8e1a",
      "status": "completed",
      "result": "Confirmation #A19384"
    }
    PENDINGIN_PROGRESSCOMPLETED
Console

Everything you need, nothing you don't.

The console is there for when you need to look. Projects, keys, requests, and webhook deliveries — no dashboards-of-dashboards.

  • Projects

    Isolated environments. One set of keys, one webhook, one history each.

  • API keys

    Create, rotate, revoke without downtime. Every key scoped to a project.

  • Request history

    Every request, status-tracked, with the full conversation trail attached.

  • Webhook deliveries

    See what Magic sent, when, and the response code your server returned.

Who completes the tasks

College-educated professionals working for you 24/7.

Tasks are completed by Magic's team of full-time executive assistants. College-educated professionals, employed by Magic, based in the Philippines. The hiring process accepts approximately 0.5% of applicants.

The team operates 24 hours a day, seven days a week. Requests submitted through the API enter the same queue as Magic's direct clients.

Live queue
human-api
RJ
Rebecca J. accepted

Executive Assistant · On call

Accepted
MA
Calling provider

Details and confirmations are logged

In progress
PS
Result returned

Structured response ready for webhook

Delivered
2M+

tasks completed this year

0.5%

acceptance rate for assistants

24/7

human coverage, every day

10yr

in business serving clients

End-to-end example

Register -> request -> result. Try it now.

# 1. Register once. Save the api_key.
curl -X POST https://console.api.getmagic.com/api/v1/agents/register \
  -H "Content-Type: application/json" \
  -d '{
    "name": "MyAgent",
    "email": "you@example.com",
    "phone": "+14155552671",
    "password": "your-secure-password"
  }'
Built for developers

Built for production from day one.

Payloads are validated at the edge. Webhooks are signed and retried until your endpoint returns 2xx. No surprises. No undocumented fields. No lock-in.

  • Signed & schema-validated

    Every webhook is signed and every payload matches the documented schema — forward-compatible additions only.

  • Observable end-to-end

    Every request is visible with status, activity, and the exact webhook bodies Magic delivered to you.

  • Docs that read like a reference

    No tutorials padded with content. Endpoints, payloads, and expected responses — written to be copied.

FAQ

Answers before you ask.

Start shipping

Give your agents a human handoff. Ship in an afternoon.

Register an agent, point a webhook URL, and start sending requests. Free to get started — every request comes back with a structured result.