Skip to content

Examples

The examples/ directory contains runnable examples for each feature. Each example is a self-contained directory with its own config and stubs.

Running examples

HTTP examples:

sh
apitwin --config examples/<name>

gRPC examples:

sh
apitwin --config examples/<name> --grpc-proto examples/<name>/<file>.proto

HTTP examples

ExampleWhat it demonstrates
examples/basicStatic stubs, named cases, hot reload
examples/conditionsBody / query / header condition routing
examples/cross-refsCross-endpoint references with {{ref:...}} syntax, filtering, templates, and dynamic refs in defaults
examples/directory-stubsDirectory-based CRUD — each resource as a separate JSON file
examples/dynamic-files{source.field} file path placeholders and named path parameters
examples/transitionsTime-based response transitions and state progression
examples/record-modeProxy + auto-record workflow
examples/openapi-generateGenerate config from OpenAPI spec (Petstore example)

gRPC examples

ExampleWhat it demonstrates
examples/grpc-mockgRPC unary mock — named cases, error codes, template tokens
examples/grpc-conditionsgRPC condition routing on request body fields
examples/grpc-proxygRPC selective mock + transparent upstream proxy fallthrough
examples/grpc-directory-persistgRPC directory-based CRUD — same as directory-stubs but for gRPC
examples/grpc-source-persistgRPC source extraction — persist only a nested sub-object, not the full request
examples/grpc-wrapgRPC response wrapping — flat stub files wrapped into proto message shape
examples/wrap-testHTTP response wrapping — same concept for REST APIs

Standalone example files

FileWhat it demonstrates
examples/named-params-example.tomlNamed path parameters demonstration
examples/dynamic-files-example.tomlDynamic file resolution patterns

Detailed usage

See examples/README.md for complete usage instructions including curl and grpcurl commands for each example.

Released under the MIT License.