🗄️ CRUD Mock API

Crie, consulte, atualize e exclua registros em coleções dinâmicas. Simule um banco de dados real sem infraestrutura.

Base URL https://api.apicode.com.br
📌 Coleções dinâmicas — qualquer nome de coleção na URL é aceito: users, products, orders, tasks, etc. A collection é criada automaticamente no primeiro POST.

Listar registros

GET /api/mock/{collection} Retorna todos os registros da coleção

Parâmetros de consulta

ParâmetroTipoDescrição
searchstringBusca textual em todos os campos
pageintegerPágina atual (default: 1)
per_pageintegerItens por página (default: 20, max: 50)
sortstringCampo para ordenação
orderstringasc ou desc (default: asc)

Exemplo

// GET /api/mock/users?search=ana&page=1&per_page=10 { "success": true, "message": "Registros encontrados com sucesso.", "data": [ { "id": "usr_001", "name": "Ana Souza", "email": "ana@email.com", "created_at": "2026-06-28T16:00:00-03:00", "updated_at": "2026-06-28T16:00:00-03:00" } ], "meta": { "total": 1, "page": 1, "per_page": 20 } }

Consultar registro individual

GET /api/mock/{collection}/{id} Retorna um registro específico

Exemplo

// GET /api/mock/users/usr_001 { "success": true, "message": "Registro encontrado com sucesso.", "data": { "id": "usr_001", "name": "Ana Souza", "email": "ana@email.com", "created_at": "2026-06-28T16:00:00-03:00", "updated_at": "2026-06-28T16:00:00-03:00" } }

Criar registro

POST /api/mock/{collection} Cria um novo registro na coleção

Payload

{ "name": "Carlos Lima", "email": "carlos@email.com", "role": "admin" }

Resposta

{ "success": true, "message": "Registro criado com sucesso.", "data": { "id": "usr_002", "name": "Carlos Lima", "email": "carlos@email.com", "role": "admin", "created_at": "2026-06-28T16:00:00-03:00", "updated_at": "2026-06-28T16:00:00-03:00" } }
⚠️ IDs automáticos — os campos id, created_at e updated_at são gerados automaticamente. Não tente sobrescrevê-los.

Atualizar registro completo

PUT /api/mock/{collection}/{id} Substitui todos os campos do registro

Payload

{ "name": "Carlos Lima Atualizado", "email": "carlos.atualizado@email.com", "role": "editor" }

Resposta

{ "success": true, "message": "Registro atualizado com sucesso.", "data": { "id": "usr_002", "name": "Carlos Lima Atualizado", "email": "carlos.atualizado@email.com", "role": "editor", "created_at": "2026-06-28T16:00:00-03:00", "updated_at": "2026-06-28T16:10:00-03:00" } }

Atualizar parcialmente

PATCH /api/mock/{collection}/{id} Atualiza apenas os campos enviados

Payload

{ "role": "viewer" }

Resposta

{ "success": true, "message": "Registro atualizado parcialmente com sucesso.", "data": { "id": "usr_002", "name": "Carlos Lima Atualizado", "email": "carlos.atualizado@email.com", "role": "viewer", "created_at": "2026-06-28T16:00:00-03:00", "updated_at": "2026-06-28T16:15:00-03:00" } }

Excluir registro

DELETE /api/mock/{collection}/{id} Remove o registro da coleção

Resposta

{ "success": true, "message": "Registro excluído com sucesso.", "data": null }

Códigos de status

200
OK
201
Criado
204
Sem conteúdo
400
Payload inválido
401
Não autorizado
404
Não encontrado
405
Método não permitido
422
Erro de validação
429
Rate limit
500
Erro interno

Exemplos de uso

// Listar registros const response = await fetch('https://api.apicode.com.br/api/mock/users'); const data = await response.json(); console.log(data); // Criar registro const create = await fetch('https://api.apicode.com.br/api/mock/users', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ name: "Maria", email: "maria@email.com" }) }); // Atualizar const update = await fetch('https://api.apicode.com.br/api/mock/users/usr_001', { method: 'PUT', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ name: "Maria Updated", email: "maria@email.com" }) }); // Excluir const del = await fetch('https://api.apicode.com.br/api/mock/users/usr_001', { method: 'DELETE' });
// Listar registros const response = await axios.get('https://api.apicode.com.br/api/mock/users'); console.log(response.data); // Criar registro const create = await axios.post('https://api.apicode.com.br/api/mock/users', { name: "Maria", email: "maria@email.com" }); // Atualizar const update = await axios.put('https://api.apicode.com.br/api/mock/users/usr_001', { name: "Maria Updated", email: "maria@email.com" }); // Excluir const del = await axios.delete('https://api.apicode.com.br/api/mock/users/usr_001');
# Listar registros curl https://api.apicode.com.br/api/mock/users # Criar registro curl -X POST https://api.apicode.com.br/api/mock/users \ -H "Content-Type: application/json" \ -d '{"name":"Maria","email":"maria@email.com"}' # Atualizar curl -X PUT https://api.apicode.com.br/api/mock/users/usr_001 \ -H "Content-Type: application/json" \ -d '{"name":"Maria Updated","email":"maria@email.com"}' # Excluir curl -X DELETE https://api.apicode.com.br/api/mock/users/usr_001