Skip to main content

Overview

Agent Diff provides high-fidelity replicas of popular APIs. Each replica:
  • Behaves like the real API - Same endpoints, same response formats
  • Runs in isolation - Each test environment has its own data
  • Captures all changes - Full audit trail via database diff

Available Services

Service URLs

When you create an environment, each service gets a unique URL:
env = client.init_env(templateService="slack", templateName="slack_default")

# Service URL format:
# http://localhost:8000/api/env/{env_id}/services/{service}

print(env.environmentUrl)
# Output: http://localhost:8000/api/env/abc123/services/slack

URL Transformation

Code executors automatically transform production URLs:
Production URLAgent Diff URL
https://slack.com/api/*/api/env/{id}/services/slack/*
https://api.slack.com/api/*/api/env/{id}/services/slack/*
https://api.linear.app/*/api/env/{id}/services/linear/*

Service Comparison

FeatureSlackLinear
ProtocolRESTGraphQL
AuthenticationOAuth/API Key (mocked)API Key (mocked)
Real-time
Webhooks

Coming Soon

We’re working on adding more services:
  • GitHub - Issues, PRs, repos
  • Jira - Issues, projects, workflows
  • Notion - Pages, databases, blocks
  • Asana - Tasks, projects, teams
Want a specific service? Request it on GitHub →

Custom Services

You can add your own service replicas by:
  1. Creating a database schema (seed file)
  2. Implementing API endpoints that match the real service
  3. Registering the service with Agent Diff
See the Slack and Linear implementations for reference:
  • backend/src/services/slack/
  • backend/src/services/linear/

Next Steps