Skip to documentation

DotMock documentation

Available

Build the behavior your client actually needs.

Start with a real protocol contract. Add matching, state, sequencing, failures, or delivery. Prove the result safely, then call the published runtime from your application.

Published runtime request

Call the configured mock
curl "$MOCK_URL/users/usr_123" \
  -H 'accept: application/json'

Expected result: the status, headers, and JSON body configured for the matching user scenario.

Start by task

One useful path at a time.

Each route below ends in observable behavior rather than a feature tour.

  1. 01Build the first mockCreate a REST workspace, store one resource, and prove both the success and missing-data branches.Open the quickstart
  2. 02Choose a native protocolStart from the contract your client speaks: OpenAPI, AsyncAPI, GraphQL SDL, protobuf, WSDL, or a provider-shaped LLM route.Compare protocols
  3. 03Add state, failures, or sequencingMove beyond static stubs with persistent data, ordered conditions, deterministic timelines, and explicit transport faults.Model behavior
  4. 04Connect the CLI or an agentInspect and author the same workspaces from a repository, CI job, or approval-aware MCP client.Automate a workflow
  5. 05Check the boundary before you depend on itUse the verified matrix for shipped behavior, constrained paths, and work that remains planned.Read the capability matrix

Runtime model

Request → match → state → response

RequestMethod, path, headers, body
MatchOperation, ordered condition
StateRead, mutate, or leave unchanged
ResponseTyped template, fault, or stream

Native protocols

Keep the contract your client speaks.

Behavior

Static examples are the starting point.

State

Persist maps, counters, queues, collections, sessions, TTLs, snapshots, and state machines.

Read the guide

Failure

Keep application errors, latency, malformed output, disconnects, and upstream failures explicit.

Read the guide

Sequencing

Use ordered branches, fixtures, or event timelines to make repeated calls deterministic.

Read the guide

Proof

Dry-run the real matcher and renderer in an isolated state overlay before a live request.

Read the guide

Verified July 24, 2026

Capability matrix and boundaries

Status comes from the current backend capability policy, protocol runtimes, CLI command definitions, MCP registry, and connected UI surfaces.

Implemented paths

11 capability groups verified

Available
  • REST runtime
  • Realtime text and JSON
  • GraphQL
  • gRPC
  • SOAP
  • Webhook delivery
  • State management and snapshots
  • Publication and rollback
  • CLI
  • MCP
  • LLM fixtures, provider routes, and streaming

Explicit boundaries

Constrained or gated paths stay separate from shipped behavior.

Binary WebSocket payloads

Limited

Binary application messages are rejected with WebSocket close code 1003.

Generic CLI LLM dry-run

Planned

The backend adapter remains gated until template conformance is complete.

“Available” means the described path is implemented on the cited current surfaces. It is not a promise that every protocol feature or third-party variation is supported.