# Mockoon Manual Routes vs OpenAPI Mocks

**Short answer:** Hand-built routes are precise and a maintenance burden; spec-generated routes are correct by construction and update on save. For a changing API, the generated set is the only way to keep the mock complete without re-syncing every route by hand.

## What manual routes guarantee

Exactly the responses you designed, including bespoke behavior. They do not guarantee coverage of new operations or currency.

## What generated routes guarantee

| Property | Manual | Generated |
| --- | --- | --- |
| Coverage | What was built | Declared operations |
| On change | Add routes by hand | On save |
| Consistency | As maintained | With contract |
| Control | Fine | Derived |

## The failure that matters

A new endpoint with no mock, or a moved endpoint with a stale route, is the classic manual bug. A generated set reflects the contract.

## The decision rule

Manual routes are right for a stable, bespoke mock. Generated routes are the lower-maintenance path for a changing API.

This is part of the [Powerduck vs Mockoon comparison](https://www.powerduck.com/blog/powerduck-vs-mockoon/). Next, read [the drift problem](https://www.powerduck.com/blog/mock-drift-mockoon-vs-contract-mocks/).

