DotMock

Controlled environment for AI development

Run the whole loop.Break nothing real.

Mock every dependency around your backend so coding agents can integrate, retry, fail, and recover without touching production or spending against real providers.

DotDotMock guide
Ready to model

What should your agent test?

Describe a dependency, a state change, or the failure you need to reproduce.

A guided product demo · nothing is sent to a real provider

Mock third-party dependencies in development

Your app needs the dependency.Your dev loop doesn't.

Payment gateways, identity providers, CRMs, AI APIs, and partner services bring credentials, rate limits, costs, slow sandboxes, and unpredictable data into development. DotMock gives your application stable stand-ins shaped like the third-party APIs it already calls.

Replace a dependency in four moves

Keep your code. Swap the destination.

Your application still makes the same calls. In development, those calls go to a workspace you can shape, inspect, and reset.

Development routing controlled
01Your appunchanged client code
02DotMockprovider-shaped behavior
development.envPROVIDER_BASE_URL=DOTMOCK_WORKSPACE_URL

Change one environment value. Keep the integration path your application already uses.

01

Describe

Start with the contract your application already expects: operations, payloads, errors, and events.

02

Model

Add the behavior development needs—state, latency, retries, failures, streams, and webhook sequences.

03

Point

Swap the third-party base URL in your development or test configuration. Keep the application code.

04

Exercise

Run the real flow, inspect every exchange, and reset the dependency whenever you need a clean state.

Test the paths provider sandboxes skip

A 200 response is the beginning, not the mock.

Reproduce declined payments, expired tokens, rate limits, partial records, delayed webhooks, dropped streams, and recovery sequences on demand. Every developer and test run gets the behavior it needs without waiting for the provider to produce it.

Scenario library5 models
Card declined402
Expired token401
Rate limited429
Provider timeout504
Webhook delayedevent
Example failure modelPOST /v1/payments
402
ResponseState changeInspect
{
  "error": {
    "code": "card_declined",
    "message": "The card was declined.",
    "retryable": false
  }
}
request matched payment.failed webhook queued

Mock the dependency you actually use

Keep the contract. Control the behavior.

Third-party systems are more than REST endpoints. Preserve the interface your client expects while taking control of its data, timing, state, and failures.

Explore the docs

LLM APIs

OpenAI, Anthropic, Gemini, Bedrock, Azure OpenAI, Ollama, and Cohere routes with streaming, tool calls, usage, and failures.

REST

Payments, identity, shipping, CRM, and any OpenAPI-shaped service.

GraphQL

Queries, mutations, subscriptions, variables, and resolver errors.

SOAP

WSDL/XSD contracts, XML envelopes, enterprise operations, and faults.

gRPC

Protobuf services, metadata, status codes, and streaming behavior.

Realtime

WebSocket and SSE streams with scripted messages, timing, and recorded sessions.

Webhooks

Signed events, delayed delivery, retries, failure responses, and inspection.

Pricing is unavailable

The live billing catalog could not be verified. Checkout has not been started.

Stop waiting on someone else's environment

Make third-party behavior part of your test setup.
Not a source of surprise.

Build your first mock

Start in your terminal.

Install the official CLI and connect it to this browser in one command.

01  Install02  Authenticate

Install and connect

Run this in a terminal. The modal will continue as soon as the CLI checks in.

Creating a secure setup session…

The CLI stores a team-scoped key in ~/.dotmock/config.json. Never commit that file.