Skip to content

Troubleshooting & FAQ

The port is already in use. Either stop the other process or use a different port:

Terminal window
mimikos start --port 3000 petstore.yaml

Your spec likely has deeply nested or circular schemas. Increase the max depth:

Terminal window
mimikos start --max-depth 15 petstore.yaml

The default is 10. Circular schemas terminate at the depth limit with null for objects and [] for arrays.

”Endpoint will return an error” warning at startup

Section titled “”Endpoint will return an error” warning at startup”

The response schema for that endpoint failed to compile. The startup banner shows which endpoints are affected. Check the warning log for the specific compilation error — it usually points to an invalid $ref or unsupported schema construct.

If the spec defines a media-type example for that endpoint, the example will still be served despite the degraded schema.

In deterministic mode (the default), POST returns a generated response based on the spec schema. Your request body is validated but not echoed back.

Switch to stateful mode to get CRUD behavior where POST stores your data:

Terminal window
mimikos start --mode stateful petstore.yaml

In stateful mode, GET on a collection returns an empty array until you POST something. GET on an item returns 404 until that specific resource exists.

If you’re seeing generated data on GET, you’re in deterministic mode (the default).

Enable strict mode to surface validation failures:

Terminal window
mimikos start --strict petstore.yaml

In strict mode, any generated response that fails schema validation returns a 500 error with details about what went wrong. In default mode, validation failures are logged as warnings but the response is still sent.

macOS: “mimikos cannot be opened because it is from an unidentified developer”

Section titled “macOS: “mimikos cannot be opened because it is from an unidentified developer””

The pre-built binary may be blocked by macOS on first run. Remove the quarantine flag:

Terminal window
xattr -d com.apple.quarantine mimikos

Or install via go install to build from source:

Terminal window
go install github.com/mimikos-io/mimikos/cmd/mimikos@latest

OpenAPI 3.0 and 3.1. Both YAML and JSON spec formats. OpenAPI 2.0 (Swagger) is not supported.

During 0.x.y development, response output may change between releases. Pin a version that works for your tests. Starting from 1.0.0, output stability will be a versioning guarantee.

Yes. Deterministic mode is designed for CI — same request always returns the same response, no state to set up or tear down. Download a pre-built binary in your CI pipeline:

Terminal window
curl -L https://github.com/mimikos-io/mimikos/releases/latest/download/mimikos_linux_amd64.tar.gz | tar xz
./mimikos start petstore.yaml &
# Run your tests

One instance serves one spec. Run multiple instances on different ports for multiple specs:

Terminal window
mimikos start --port 8080 users-api.yaml &
mimikos start --port 8081 orders-api.yaml &

Mimikos reports degraded schemas in the startup banner so you know which endpoints are affected. The behavior depends on whether strict mode is enabled:

SituationDefault modeStrict mode
Response schema degradedEndpoint returns an error response explaining the issueSame
Request schema degradedEndpoint works but skips request body validationBody-bearing methods (POST, PUT, PATCH) return 500
Media-type example existsExample is served regardless of schema stateSame

Common causes: invalid $ref references, unsupported schema constructs, or circular schemas that can’t be resolved. Fix the issues reported in the startup banner to restore full behavior.

96.2% on a 344-endpoint corpus across 11 real-world specs (Stripe, GitHub, Asana, Spotify, and others). Unclassified endpoints fall back to generic behavior — they still return valid schema-based responses, they just don’t get CRUD-specific behavior in stateful mode.

GitHub Issues