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

Slack

Web API for messaging, channels, reactions, and users

Linear

GraphQL API for issues, teams, projects, and workflows

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

Slack API

Explore Slack integration

Linear API

Explore Linear integration