Skip to main content
Complete API documentation for the Agentic Browser Protocol.
This document contains the complete API documentation and TypeScript definitions for ABP.

window.abp Interface

Every ABP-compliant app MUST expose this interface:

Core Methods

initialize()

Start an ABP session.
Parameters:
Returns:
Example:

shutdown()

End an ABP session.
Parameters:
Example:

call()

Execute a capability.
Parameters:
  • capability — Capability name (e.g., "convert.markdownToHtml")
  • params — Capability-specific parameters
  • options — Call options
Returns:
Example:

Discovery Methods

listCapabilities()

List all available capabilities.
Returns: Array of Capability objects (see Types).

describeCapability()

Get detailed information about a specific capability.
Returns: Capability object or null if not found.

supports()

Quick check if a capability is supported and available.
Returns:
Example:

Communication Methods

notify()

Send a notification to the agent (app → agent).
Example:

notifyProgress()

Report progress for a long-running operation.
Parameters:
Example:

elicit()

Request input from the agent/user.
Parameters:
Returns:
Example:

cancel()

Cancel a long-running operation.
Returns:

Transport Message Format

The ABPMessage envelope type is used by postMessage and WebSocket transports:

Message Types

This envelope is used by postMessage and WebSocket transports. Puppeteer transport uses page.evaluate() directly.

Puppeteer Callback Function Names

Client implementations using Puppeteer/Playwright MUST use these function names for interoperability:

Types

Capability

Requirement

CapabilitySummary

Standard Error Codes

See Error Handling Guide for complete details.

Standard Elicitation Methods

See Elicitation Guide for details.

Complete TypeScript Definitions

For reference implementations, here are the complete TypeScript definitions for all ABP types:

Core ABP Interface

Identity Types

Lifecycle Types

Discovery Types

Capability Changes

Cancellation Types

Binary Data Types

Elicitation Method Types

JSON Schema (Simplified)

Window Declaration

For TypeScript projects, add this to your global declarations:

Next Steps

Protocol Overview

Full specification details

Building ABP Apps

Build your first ABP app

Examples & Tutorials

Working code examples