API ReferenceOverview

API Reference

Interactive REST API documentation auto-generated from the Agor daemon.

📚 Interactive API Docs

The Agor daemon serves live, interactive API documentation via Swagger UI:

Start your daemon:

agor daemon start

Then visit:

http://localhost:3030/docs/

Agor REST API interactive documentation with Swagger UI showing endpoints for sessions, worktrees, boards, and real-time collaboration

Features:

  • Always up-to-date - Generated from actual service definitions
  • Try it out - Execute API calls directly from the browser
  • Dark mode - Easy on the eyes
  • Full schema - Request/response models for all endpoints

Quick Reference

Base URL

http://localhost:3030

Authentication

Agor uses JWT-based authentication:

Authorization: Bearer <your-token>

Getting a Bearer Token

Use the CLI to authenticate and retrieve a token:

agor login

You’ll be prompted for your email and password. Your token is automatically saved to ~/.agor/cli-token and is valid for 7 days.

Using the token with cURL:

# 1. Get your token (already saved locally)
cat ~/.agor/cli-token
 
# 2. Use it in curl commands
curl -X GET http://localhost:3030/sessions \
  -H "Authorization: Bearer <your-token>"

Using the token in Swagger UI:

  1. Visit http://localhost:3030/docs/
  2. Click the “Authorize” button (🔒 icon in top-right)
  3. Paste your Bearer token in the input field
  4. Click “Authorize”
  5. Now all generated curl commands and “Try it out” buttons will automatically include your token

Anonymous Mode: For local development, anonymous authentication is enabled by default (no token required).

Core Services

  • /sessions - AI agent session management with genealogy (fork/spawn)
  • /tasks - Work units within sessions tracking prompts and execution
  • /messages - Conversation messages with streaming support
  • /repos - Git repository management and worktree operations
  • /boards - Spatial organization of sessions with zones and triggers
  • /worktrees - Git worktree isolation for sessions
  • /users - User account management and authentication
  • /mcp-servers - Model Context Protocol server configurations

Response Format

All FeathersJS endpoints return data in this format:

// Single resource
{
  data: { id: '...', ... }
}
 
// List of resources (paginated)
{
  data: [{ id: '...', ... }],
  total: 100,
  limit: 50,
  skip: 0
}

RESTful Conventions

All services follow standard REST patterns:

  • GET /service - List items (paginated)
  • GET /service/:id - Get single item
  • POST /service - Create new item
  • PATCH /service/:id - Update item (partial)
  • DELETE /service/:id - Delete item

WebSocket Events

Real-time updates via Socket.IO:

Source Code

For TypeScript type definitions and service implementations:

BSL 1.1 © 2025 Maxime Beauchemin