🗄️ 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âmetro | Tipo | Descrição |
|---|---|---|
| search | string | Busca textual em todos os campos |
| page | integer | Página atual (default: 1) |
| per_page | integer | Itens por página (default: 20, max: 50) |
| sort | string | Campo para ordenação |
| order | string | asc 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