Documentação da API Quickmock
Crie um endpoint ou um workspace de mock completo com várias rotas através da API JSON. Cada exemplo abaixo pode ser copiado e colado e usa o mesmo contrato que o construtor da web.
Criar um mock
POST /api/mocks retorna a URL pública e um admin_token de uso único. Guarde esse token: atualizações, exclusões e logs privados o requerem como um token Bearer.
curl -X POST https://quickmock.dev/api/mocks \
-H 'Content-Type: application/json' \
-d '{"method":"GET","response_status":200,"content_type":"application/json","response_body":"{\"ok\":true}","ttl_seconds":604800}'Variantes de resposta nomeadas
Variantes tornam casos extremos determinísticos. Selecione uma com X-Quickmock-Variant ou __quickmock_variant; um nome desconhecido volta ao matching normal.
"response_variants": [
{"name":"not-found","status":404,"body":"{\"error\":\"not found\"}"}
]
curl -H 'X-Quickmock-Variant: not-found' https://quickmock.dev/m/<slug>
curl 'https://quickmock.dev/m/<slug>?__quickmock_variant=not-found'Regras de resposta condicional
As regras são executadas em ordem e a primeira correspondência completa vence. Fontes: método, caminho, consulta, cabeçalho e caminhos do corpo JSON. Operadores: equals, not_equals, contains e exists.
"response_rules": [{
"name":"missing user",
"variant":"not-found",
"conditions":[{"source":"query","key":"id","operator":"equals","value":"missing"}]
}]Workspaces de múltiplas rotas
Um único slug pode expor até 50 rotas de método + caminho. Espaços reservados de caminho no estilo OpenAPI, como {id}, correspondem a um segmento.
"routes": [
{"method":"GET","path":"/users/{id}","response_status":200,"content_type":"application/json","response_body":"{\"id\":1}"},
{"method":"POST","path":"/users","response_status":201,"content_type":"application/json","response_body":"{\"created\":true}"}
]Privacidade do inspetor
Os logs de requisição são privados por padrão. Escolha se os corpos e IPs dos remetentes são retidos; cabeçalhos de credenciais comuns são sempre ocultados.
"logs_public": false,
"capture_body": true,
"capture_ip": false