Skip to main content
A mock is a fake external HTTP endpoint, hosted by Feather at a per-organization URL, that returns responses you define. Point a tool at a mock instead of a real API and you can test your assistant’s behavior deterministically — including error and edge cases — without side effects.

Create a mock

Each mock has a slug (unique per org) and a default response for unmatched requests.
Response
The public_url_path is the base URL you paste into a tool’s configuration. Prefix it with the sandbox host: https://api-sandbox.featherhq.com/mocks/<organization_id>/orders-api.

Add scenarios

A scenario is a match rule that returns a specific response when an incoming request matches it. Scenarios are evaluated by priority (lowest first); the first match wins, and unmatched requests fall back to the mock’s default.
Match on method, path pattern (Starlette syntax like /orders/{order_id}), headers, query, and JSON body. Reorder scenarios with POST /v1/mocks/{mock_id}/scenarios/reorder, or replace the whole set atomically with PUT /v1/mocks/{mock_id}/scenarios.

Inspect traffic

Every request that hits the mock is logged. Review recent traffic and drill into a single request:
Use the log to confirm your assistant sent the request you expected and matched the scenario you intended. Disable a mock at any time with POST /v1/mocks/{mock_id}/disable.

Next steps

Build your first assistant

Register a custom tool, then point its URL at a mock while you test.

Evaluations

Combine mocks with simulation suites for fully deterministic test runs.