User Guide

This guide covers the everyday Bifurc surfaces and how they fit together in practice.


Mappings#

Use mappings to bind friendly *.localhost domains to local services.

Typical flow#

  1. Open Mappings
  2. Add a domain such as api.localhost
  3. Set the target host and port
  4. Enable the mapping
  5. Route traffic through Bifurc and browse against the new hostname

Mappings work best together with:

  • Services for quick discovery
  • Capture for visibility
  • Proxy Rules for more advanced rewrites

Mocks#

Bifurc supports multiple mock workflows.

REST mocks#

  • match on method and URL
  • respond with status, headers, and body
  • support delays, binary payloads, and streaming patterns

GraphQL mocks#

  • match on endpoint
  • filter by operation type
  • optionally target a specific operation name

SOAP mocks#

  • match on endpoint pattern
  • match on SOAPAction
  • optionally match the SOAP operation in the request body

Requests#

Use the request panels to create stable, reusable API definitions.

REST requests#

  • import cURL
  • send JSON, XML, text, multipart, or binary payloads
  • run pre-request and post-response scripts

GraphQL requests#

  • save endpoints, queries, variables, and headers
  • introspect schemas
  • generate starter operations

SOAP requests#

  • fetch WSDLs
  • choose operations from the explorer
  • generate SOAP envelopes with namespace scaffolding

gRPC requests#

  • import proto files
  • discover methods with server reflection
  • invoke unary and streaming methods from one workspace

SSE requests#

  • open a text/event-stream connection
  • watch events in a searchable stream log

Socket.IO requests#

  • connect to a Socket.IO v3 or v4 server, with a namespace and optional auth payload
  • emit events, with acknowledgements
  • log only the events you choose to listen to

MCP requests#

  • connect over stdio or Streamable HTTP
  • browse the tools, prompts and resources the server declares
  • call a tool or prompt with arguments, or read a resource

See SSE, Socket.IO and MCP for details and bifurc examples.


Capture#

The capture surface is the fastest way to understand live system behavior.

Use it to:

  • inspect requests and responses
  • confirm whether traffic was mocked, proxied, or mapped
  • create a mock from a captured exchange
  • create a request from real traffic

Capture is especially useful immediately after configuring:

  • a browser proxy
  • the Bifurc extension
  • TLS interception
  • a new mapping or rule

WebSockets#

Create a WebSocket request under Requests for real-time connections that should be tested interactively. Save connection definitions, connect, send payloads, and inspect incoming messages. For one-way event streams use an SSE request, and for Socket.IO servers a Socket.IO request.


Environments and variables#

Use environments to keep request and mock definitions reusable across machines and stages.

You can reference:

  • base URLs
  • API keys
  • tokens
  • tenant IDs
  • test identities

Variable syntax uses {{VARIABLE_NAME}}, and Bifurc also provides built-in randomizer tokens for common generated values.

Secrets such as API keys belong in a vault, which keeps them encrypted and out of the files you sync:


Health checks#

Use the Health bar to monitor the endpoints you care about while developing.

Typical use cases:

  • local API readiness
  • mock-server reachability
  • staging or shared environment pings

Workspace history and sync#

Sync a change and see its historyVideo coming soon

Use publish and sync when your Bifurc configuration itself becomes part of your project workflow.

You can:

  • publish changes to the workspace repo
  • inspect entity history
  • review diffs
  • restore earlier versions
  • publish the workspace to a GitHub repository you own and import it on another machine
  • import any Bifurc workspace repository your GitHub account owns or was added to as a collaborator, with the access GitHub gives you (write or read-only)

Browser extension workflows#

The extension is ideal when browser traffic is your primary source of truth.

Use it to:

  • toggle proxy routing quickly
  • inspect traffic in DevTools
  • save requests to Bifurc
  • create mocks from actual browser exchanges
  • batch-capture flows into folders

Settings → Servers lists the extensions currently connected to the app, with each one's browser and operating system.

See browser-extension.md and workflows.md for the full operational guides.