API Pública e CLI

Automatize a geração de mocks e ambientes de teste usando a ferramenta CLI oficial ou requests curl.

Criar um mock na mão tudo bem uma vez. Quando cada execução de CI, cada teste de integração e cada preview de branch quer o seu próprio endpoint descartável, você quer isso em script. A API pública é um único POST sem autenticação que devolve uma URL e um admin_token de uso único, e a CLI quickmock é uma casca fina sobre essa mesma chamada. Qualquer uma das duas transforma um mock em algo que o seu pipeline cria, usa e descarta sem ninguém abrir um navegador.

Como instalar a CLI?

A CLI é um único binário Go sem dependências de runtime. Instale com o toolchain do Go:

go install github.com/Deadsquirrel93/quickmock.dev/cmd/quickmock@latest

Isso coloca um executável quickmock em $(go env GOPATH)/bin. Acrescente esse diretório ao seu PATH se ele ainda não estiver lá — uma instalação nova do Go costuma deixá-lo de fora, e um command not found logo depois de um go install bem-sucedido é quase sempre isso e nada mais.

Não há nada a instalar do lado do servidor nem arquivo de configuração para escrever. Se você roda a sua própria instância do Quickmock em vez de usar o quickmock.dev, aponte a CLI para ela com -url; todas as outras flags se comportam igual.

O que a CLI faz de fato?

Todo o trabalho está em um subcomando. O create aceita os mesmos campos que a API, na forma de flags:

quickmock create -m POST -s 201 -c application/json \
  -H 'X-Request-Id: abc' \
  -b '{"status":"created"}'

Ele imprime duas linhas: a URL pública do mock e o seu admin_token de uso único. A URL é o que os seus testes vão chamar. O token é o que permite depois editar, estender ou excluir o mock e ler o seu log privado — ele aparece exatamente uma vez e não pode ser recuperado, então capture-o no mesmo passo que cria o mock, e não em um passo posterior.

Repita -H para cada cabeçalho de resposta que quiser, exatamente como faria com o curl. Um valor sem dois-pontos é rejeitado em vez de ignorado, de modo que um erro de digitação quebra o passo em vez de produzir silenciosamente um mock sem o cabeçalho.

Como criar um mock a partir de um pipeline?

Em um pipeline a CLI costuma ser uma dependência a mais, e a API é uma única requisição. Crie o mock em um passo de preparação, entregue a URL ao que vem depois e deixe o TTL limpar a sujeira por você:

MOCK=$(curl -s -X POST https://quickmock.dev/api/mocks \
  -H 'Content-Type: application/json' \
  -d '{"method":"GET","response_status":200,"ttl_seconds":3600}')
echo "MOCK_URL=$(echo "$MOCK" | jq -r .url)" >> "$GITHUB_ENV"

Defina ttl_seconds perto do tempo que o job realmente leva. Um mock criado com TTL de uma hora some sozinho, o que significa que um job cancelado ou que falhou não deixa nada para trás e você nunca precisa de um passo de limpeza que talvez nem rode.

E já que está nisso, mantenha o admin_token fora do log. curl -s passado por jq -r .url imprime só a URL; despejar o corpo inteiro da resposta grava uma credencial válida em um log de build que qualquer pessoa com acesso ao projeto consegue ler.

O que costuma dar errado?

  • Jogar fora o admin_token. Ele aparece na resposta de criação e em nenhum outro lugar. Sem ele você não consegue editar, excluir nem ler os logs privados do mock — só esperar ele expirar.
  • Um mock por caso de teste. O limite de mocks ativos por IP é real, e um runner de CI é um único IP. Crie um mock por job e separe os casos com variantes nomeadas ou com rotas.
  • Fixar o slug no código. Slugs são atribuídos, não escolhidos. Leia o campo url da resposta e repasse esse valor.
  • Sem TTL. Sem ttl_seconds o mock vive conforme o padrão do servidor, muito depois de terminar o job que precisava dele.

Quando usar isso

A criação manual é útil para prototipação, mas pipelines CI/CD exigem ambientes dinâmicos e reproduzíveis. A API e o CLI permitem que você codifique a criação, modificação e remoção de endpoints mock instantaneamente, alimentando as URLs geradas diretamente para suas suítes de teste.

Criar o mock

curl -X POST https://quickmock.dev/api/mocks \
  -H 'Content-Type: application/json' \
  -d '{
  "method": "POST",
  "response_status": 201,
  "response_body": "{\"status\":\"created\"}"
}'

Chamá-lo

curl -X POST https://quickmock.dev/m/<slug>

O que você obtém

{"status":"created"}

FAQ

Preciso de conta ou de chave de API?
Não. POST /api/mocks não exige autenticação: criar um mock não precisa de nada além da própria requisição. A autenticação entra depois — o admin_token que essa chamada devolve é o que protege a edição, a exclusão e o inspetor privado do mock que você acabou de criar.
Como excluo o mock quando o job termina?
Envie DELETE /api/mocks/<slug> com o admin_token em um cabeçalho Bearer. Na prática um ttl_seconds curto é mais confiável, porque a expiração também limpa depois dos jobs que falham ou são cancelados antes de chegar ao passo de limpeza.
Dá para usar a API em outra linguagem além de Go?
Sim. É HTTP e JSON comuns, então qualquer cliente serve — a CLI é apenas uma conveniência para shells e Makefiles, e nada na API depende dela. A referência da API lista todos os endpoints com um exemplo de curl pronto para rodar.

Construa o seu próprio

Criar um mock

Guias relacionados

← Todos os guias

Última atualização: 2026-10-17