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.

Baixar especificação OpenAPI 3.1

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