Engineering13 min read

AI Agent APIs: How to Connect, Control, and Run Agents Programmatically

A practical, vendor-neutral guide to the API contract behind controllable agent runs, including lifecycle state, events, approvals, cancellation, observability, and auditability.

The OWASP API Security Top 10 puts broken object-level authorization first. That matters more, not less, when the caller can plan several steps and act across multiple systems.

An AI agent API is a programmatic interface for starting and controlling goal-directed agent work. Unlike a conventional model endpoint that usually returns one generated response, an agent API may manage a durable run involving tools, state changes, approvals, observable events, and recovery.

Picture a refund investigation. A support system submits a goal, receives a run ID, watches the agent collect evidence, pauses the run before money moves, records an authorized decision, and retrieves the final result. The API is the contract that makes that sequence controllable.

In this guide, you will learn:

  • The two meanings hidden inside the phrase “AI agent API”
  • The resources and endpoints a useful control contract needs
  • When to use synchronous, streaming, or asynchronous interaction
  • How to design approvals, cancellation, idempotency, and audit history
  • Where an operations layer fits without replacing an agent framework

What Is an AI Agent API?

The term is ambiguous. Teams use it for two different interfaces:

  1. Agent-facing APIs are called by an agent to read a CRM, search a database, browse a site, or perform a business action.
  2. Application-facing agent APIs are called by software and operators to create, observe, govern, and stop agent runs.

This article focuses on the second. Tool APIs still matter, but they sit inside the run. They do not define the control surface around it.

A production agent API is not just a model endpoint with tool calling. It is a lifecycle and control contract for work whose path cannot be fully predicted in advance.

Agent API vs model API

DimensionModel APIAgent API
InputPrompt or messagesGoal, context, policy, tools, limits
OutputGenerated responseRun record, events, artifacts, outcome
DurationUsually one request or streamSeconds, hours, or longer
StateOften conversation-orientedExplicit lifecycle and checkpoints
ActionsProposed calls or textGoverned execution across tools
ControlGenerate or cancel streamPause, resume, approve, reject, cancel, retry
ObservabilityTokens, latency, responseSteps, actions, costs, traces, business result

These are typical differences, not absolute rules. A model API can persist conversation state, and an agent API can expose a short synchronous convenience endpoint. The crucial question is whether the interface models the work as a controllable run.

Agent API vs SDK

An API is a network-accessible contract. An SDK is a language-specific developer interface. An SDK may wrap a remote API or run an agent inside your process. Neither term guarantees approvals, durable execution, monitoring, or an audit trail.

Agent API vs tool calling

Tool calling lets a model propose structured function arguments. It does not automatically provide authorization, retries, durable state, approval gates, audit history, or safe cancellation. Treat it as one execution primitive inside a larger system.

AI Agent Architecture Explained: Components, Patterns & Control Plane

AI Agent Architecture Explained: Components, Patterns & Control Plane

A practitioner's guide to AI agent architecture: the core components, the perceive-reason-act loop, single vs multi-agent patterns, and the production control plane most designs miss.

How an AI Agent API Works

1. The client submits a goal

A useful create-run request can carry the goal, structured input, context references, selected capability profile, allowed tools, execution limits, approval policy, tenant metadata, and an idempotency key.

Instructions and policy should be separate where possible. “Investigate order 456” describes the goal. “Never issue a refund above $500 without approval” describes a control that must survive prompt variation.

2. The service creates a durable run

The response normally returns a persistent run_id instead of keeping the client connected until everything finishes. A minimal lifecycle looks like this:

queued -> running -> waiting_for_input
                  -> waiting_for_approval
                  -> completed | failed | cancelled

Provider names vary, but their semantics should not. Every terminal state needs a reason, a timestamp, and an authoritative result or error.

3. The agent executes steps and calls tools

The runtime chooses or validates the next action, a tool performs it, and the observation returns to the reasoning loop. That repeats until the goal completes or a control stops execution.

This guide deliberately stays above framework internals. Our guides to agent frameworks, orchestration, and deployment cover those separate altitudes.

4. The client receives events

Clients typically use one or more mechanisms:

  • Poll a run endpoint for authoritative status
  • Receive live events over Server-Sent Events or WebSockets
  • Accept signed webhooks for durable background notification

A dropped stream must not erase run history. Live transport improves experience. Persisted events enable recovery.

5. The run reaches a controlled outcome

Completion should include more than generated prose. Return structured results, artifacts, actions performed, citations when relevant, usage, cost, and the termination reason. If the run fails, expose a machine-readable error and whether retry is safe.

Connect agent tools while preserving a governed operational layer

The Core Resources in an Agent API Contract

A clean resource model is more durable than a collection of vendor-specific helper methods.

Agent profiles

An agent profile identifies reusable configuration such as instructions, preferred models, capabilities, tool access, and default policy. Version it. A run should record which version it used, otherwise yesterday’s behavior cannot be reconstructed after a configuration change.

Runs

A run is one bounded attempt to complete a goal. Give it a stable ID, initiator, tenant, timestamps, current status, policy version, parent workflow reference, and terminal outcome.

Steps, actions, and events

These concepts are related but not interchangeable:

  • A step is a logical unit of progress.
  • An action is an attempted interaction with a tool or external system.
  • An event is an immutable occurrence emitted during execution.

A stable event envelope should include an event ID, type, sequence number, timestamp, run ID, and payload. The CloudEvents specification is a useful starting point for portable event metadata.

Inputs, context, and artifacts

Applications may supply messages, structured objects, files, and references. Large outputs such as reports, patches, exports, or recordings should usually become artifacts referenced by signed URLs, not binary blobs embedded in the main run record.

Approval requests

Approval deserves its own resource. It should contain the proposed action, structured arguments, readable explanation, risk reason, deadline, authorized approver scope, decision, timestamp, and comment.

The decision must bind to the exact proposal. If arguments change after approval, create a new request.

Errors and usage records

Use machine-readable error codes and indicate whether the failure is retryable. Track model usage, tool cost, compute time, and externally billed actions. Token totals are useful, but they are not a measure of whether the job succeeded.

The Minimum Endpoints a Useful Agent API Needs

A framework-neutral contract might begin here:

POST   /runs
GET    /runs/{run_id}
GET    /runs/{run_id}/events
POST   /runs/{run_id}/cancel
POST   /runs/{run_id}/input
POST   /approval-requests/{approval_id}/approve
POST   /approval-requests/{approval_id}/reject
GET    /runs/{run_id}/artifacts

The exact paths matter less than consistent semantics.

Starting a run

Framework-neutral create-run request
{
  "agent": "customer-refund-reviewer",
  "goal": "Investigate refund request RF-2048",
  "input": {
    "customer_id": "cus_123",
    "order_id": "ord_456"
  },
  "limits": {
    "max_runtime_seconds": 600,
    "max_cost_usd": 2
  },
  "approval_policy": "required_for_financial_actions",
  "idempotency_key": "refund-review-RF-2048-v1"
}

A response should return the run ID, status, creation time, and links or cursors for events. For create operations, an idempotency key prevents a client retry from launching duplicate work.

Reading state and events

The client must be able to answer five questions at any time:

  • What is the agent doing now?
  • What has it already done?
  • Is it blocked?
  • Does a person need to intervene?
  • Has anything changed since the last read?

Use cursor pagination for long histories. Make state snapshots authoritative and events replayable enough for diagnostics.

Supplying input or approval

Human participation is not an exception. A run can enter waiting_for_input or waiting_for_approval, expose the required response, and resume only after an authorized decision.

Cancelling and retrying safely

Cancellation should stop new steps and attempt to interrupt in-flight work. It cannot un-send an email or reverse a settled payment. Protect each consequential action with a separate idempotency key, and define compensating actions when reversal is possible.

“Cancel requested” and “cancelled” are different states. The first is an instruction. The second confirms that execution has reached a safe stop.

Synchronous, Streaming, and Asynchronous APIs

ModeBest forMain strengthMain risk
SynchronousShort, predictable, read-only tasksSimple client integrationTimeouts and lost progress
StreamingInteractive work needing live feedbackImmediate visibilityA stream is not durable state
AsynchronousLong, consequential, background workRecovery and lifecycle controlMore state to design

Synchronous requests

A synchronous call is reasonable when the task is brief, bounded, and safe to retry. The server can still create an internal run record so observability does not disappear for convenience.

Streaming sessions

Streaming is valuable when a user needs progress. Prefer structured execution events over a raw token stream. “Calling CRM lookup” is operationally meaningful. A sequence of partial words is not.

Asynchronous runs and webhooks

Long-running work needs durable identity. Sign webhook payloads, retry delivery with backoff, let consumers deduplicate by event ID, and keep a read endpoint as the source of truth.

For consequential work, the pragmatic pattern is an asynchronous run underneath, with optional synchronous and streaming interfaces layered on top.

AI Agent APIs vs Workflow Automation and Chatbots

All four categories can use AI, call APIs, and trigger business actions. The difference is the contract they expose around work.

CategoryPrimary interactionTypical execution modelOperational control
Zapier, Make, and n8nTrigger a designed workflowPredefined nodes and branches, including agentic stepsWorkflow runs, retries, credentials, and node history
ChatbotSend and receive messagesConversation advances when a person or system sends a messageSession history and response controls
Agent frameworkDefine reasoning and execution behaviorModel-driven loop chooses actions from contextFramework-specific callbacks, state, and tools
Agent API or control layerCreate and govern a durable runNondeterministic work behind a stable lifecycle contractState, events, approvals, cancellation, policy, and audit evidence

Zapier, Make, and n8n increasingly support agentic features. The point is not that they are “just flowcharts.” Their core abstraction starts with a designed workflow. An agent API starts with a goal and makes the resulting nondeterministic execution governable. A chatbot provides a conversational surface, but a chat transcript alone does not provide durable run state, scoped approval objects, safe cancellation, or business-outcome evidence.

A workflow tells software which branch comes next. An agent API tells the rest of the system how to control work when the next step is chosen at runtime.

How to Control an Agent Safely Through an API

Authenticate callers and authorize capabilities

A valid caller identity does not authorize every action an agent might attempt. Enforce scopes, tenant isolation, short-lived credentials, and least privilege at the tool boundary.

Classify capabilities by impact:

CapabilityExampleDefault control
Read-onlyRetrieve order historyLog and rate-limit
Reversible writeUpdate a CRM tagPolicy check and audit
Irreversible or high-impactSend funds or delete recordsExplicit approval and strict authorization

Apply limits at run and action level

A production contract should support runtime, step, token, monetary, and concurrency limits. It should also enforce tool allowlists, rate limits, data boundaries, and egress restrictions when needed.

The controls must apply no matter whether the run began in custom code, an agent framework, or an agentic step inside an automation platform.

Make approvals explicit and resumable

An approval sequence should be boring and inspectable:

  1. The agent proposes an action.
  2. Policy pauses the run.
  3. An authorized person reviews exact arguments and evidence.
  4. The person approves or rejects.
  5. The runtime records the decision and resumes or terminates.
Human approval checkpoint for a consequential agent action

Support cancellation and emergency intervention

Define separate controls for cancelling one run, disabling a tool, revoking a credential, and pausing a class of executions. Calling all of them a “kill switch” hides their different scopes.

Observability and Auditability

The NIST AI Risk Management Framework emphasizes governing, mapping, measuring, and managing risk. For agent APIs, that becomes concrete operational evidence.

Capture:

  • Requesting user or service
  • Input and policy versions
  • Model and agent configuration versions
  • State transitions and timestamps
  • Tool requests and results
  • Approval decisions
  • Errors, retries, usage, and cost
  • Artifacts and business outcome

Sensitive payloads may require redaction, encryption, regional storage, and retention controls. “Log everything forever” is not a governance strategy.

Logs, traces, and outcomes answer different questions

Logs show individual facts. Traces connect steps across a run. Metrics reveal patterns across many runs. Outcome records show whether the business task actually completed.

An agent that used few tokens but issued the wrong refund is not efficient. It is wrong.

Artificial Intelligence Risk Management Framework: Generative Artificial Intelligence ProfileArtificial Intelligence Risk Management Framework: Generative Artificial Intelligence ProfileThis document is a cross-sectoral profile of and companion resource for the AI Risk Management Framework (AI RMF 1.0) for Generative AI, pursuant to President BNIST

A complete control sequence

The following event sequence is the minimum useful implementation artifact for a consequential run:

{"type":"run.created","run_id":"run_789","status":"queued","sequence":1}
{"type":"run.started","run_id":"run_789","status":"running","sequence":2}
{"type":"action.proposed","action_id":"act_12","tool":"payments.refund","arguments":{"order_id":"ord_456","amount_usd":120},"sequence":3}
{"type":"approval.requested","approval_id":"apr_34","action_id":"act_12","status":"pending","sequence":4}
{"type":"approval.decided","approval_id":"apr_34","decision":"approved","approver":"user_17","sequence":5}
{"type":"action.completed","action_id":"act_12","idempotency_key":"ord_456-refund-v1","sequence":6}
{"type":"run.completed","run_id":"run_789","status":"completed","sequence":7}

If the client disconnects after event four, it can retrieve the run, verify the pending approval, and continue safely. If delivery repeats event six, the consumer deduplicates by event ID and the payment tool protects the side effect with its own idempotency key.

Production Checklist for an AI Agent API

Before choosing or designing an interface, verify that it can answer each item:

The right interface depends less on the number of supported models than on whether it gives applications predictable control over unpredictable execution.

Where Rerun Fits

Your execution framework or managed service owns the reasoning loop. Business APIs provide capabilities. Rerun adds a framework-agnostic operations layer for governance, observability, approvals, and intervention.

Rerun does not replace your framework, model provider, tool adapters, or hosting. It gives operators a consistent place to see what agents are doing, enforce controls around consequential actions, introduce human decisions, and retain an operational record across a mixed stack.

That separation matters. A framework answers, “How should this agent reason and execute?” An operations layer answers, “Who can start it, what may it do, when must it pause, and how do we prove what happened?”

For the security baseline behind those controls, continue with our guide to AI agent governance. For telemetry design, read AI agent observability.

The Contract Is the Control Surface

An AI agent API should turn uncertain execution into a predictable operating relationship. Give every run an identity. Keep its state durable. Expose meaningful events. Bind approvals to exact actions. Make cancellation honest about what it can and cannot reverse. Preserve evidence beyond a live stream.

A model can suggest the next action. A framework can execute the loop. The API contract is what lets the rest of your software remain in control.

Frequently asked questions

What is an AI agent API?

An AI agent API is a programmatic interface for starting and controlling goal-directed agent work. A production-ready API exposes run identity, lifecycle state, events, outputs, approvals, errors, and cancellation, rather than returning only one generated response.

How is an agent API different from a model API?

A model API usually generates text, structured data, or tool-call proposals from an input. An agent API manages a longer-lived unit of work that can span several model calls, tools, checkpoints, approvals, and state transitions.

Can an AI agent call any REST API?

An agent can call a REST API when an adapter exposes the operation and the runtime has valid authorization. Access to an API schema does not grant permission, so credentials, scopes, tenant boundaries, and action policies must still be enforced.

Does an agent API replace an agent framework?

No. An API can expose a framework, wrap a managed runtime, or sit above several frameworks. The framework controls how reasoning and execution happen, while the API defines how applications start, inspect, govern, and stop the work.

Should agent runs be synchronous or asynchronous?

Use synchronous requests for short, predictable, low-risk tasks. Use durable asynchronous runs for work that can take longer, produce side effects, require approval, or must recover after a client disconnects. Streaming can complement either model but should not be the only record of state.

How do you stop an AI agent through an API?

Send a cancellation request for the run, stop scheduling new steps, and revoke or disable capabilities when necessary. Cancellation cannot always reverse an external action that already committed, so consequential actions also need idempotency and compensating procedures.

How do you add human approval to an agent API?

Represent approval as a first-class resource. Pause the run, record the exact proposed action and arguments, identify the authorized approver, capture the decision and timestamp, then resume or terminate the run without allowing the proposal to change silently.

Clément Janssens

Written by

Clément Janssens

Related articles

Your first agent is
three minutes away

Start for free
Rerun

Run your work on agents. Build them, watch them work, and keep your eyes on everything.

Rerun - Build, monitor and share self-improving autonomous agents | Product Hunt

© 2026 Rerun. All rights reserved.