Chef

API do Chef

API REST em JSON. Leitura pública (CORS liberado); escrita exige uma chave gerada em Painel → API, enviada somente no cabeçalho Authorization: Bearer … (nunca na URL).

Limites: 600 leituras e 120 escritas por minuto por IP (veja os cabeçalhos RateLimit-Remaining e Retry-After); 20 importações por minuto; corpo JSON até 1 MB (20 MB na importação em lote); até 20 arquivos de 200 MB por envio.

Especificação OpenAPI: /api/v1/openapi.json

Exemplos

# Buscar por palavra-chave
curl "https://chef.jf.eng.br/api/v1/recipes?q=bolo&maxTime=60"

# Buscar por código
curl "https://chef.jf.eng.br/api/v1/recipes/code/K7M2QX"

# O que fazer com o que tenho em casa
curl "https://chef.jf.eng.br/api/v1/recipes?ingredients=ovo,tomate"

# Criar receita
curl -X POST "https://chef.jf.eng.br/api/v1/recipes" \
  -H "Authorization: Bearer SUA_CHAVE" -H "Content-Type: application/json" \
  -d '{"title":"Brigadeiro","ingredients":"1 lata de leite condensado\n1 colher (sopa) de manteiga\n4 colheres (sopa) de chocolate em pó","steps":"Misture tudo em fogo baixo.\nMexa por 10 minutos até desgrudar.","status":"published"}'

# Importar de uma URL (pré-visualizar ou salvar)
curl -X POST "https://chef.jf.eng.br/api/v1/import" \
  -H "Authorization: Bearer SUA_CHAVE" -H "Content-Type: application/json" \
  -d '{"url":"https://site.com/receita","save":true,"status":"draft"}'

# Enviar foto ou vídeo
curl -X POST "https://chef.jf.eng.br/api/v1/uploads" -H "Authorization: Bearer SUA_CHAVE" -F "[email protected]"

Endpoints

GET/api/v1/recipesLista/busca (q, code, category, tag, diet, maxTime, difficulty, ingredients, sort, page, perPage)
GET/api/v1/recipes/{id|código|slug}Detalhe
GET/api/v1/recipes/code/{código}Busca exata por código
POST/api/v1/recipesCriar 🔑
PUT/PATCH/api/v1/recipes/{ref}Atualizar 🔑
DELETE/api/v1/recipes/{ref}Remover 🔑
POST/api/v1/recipes/{ref}/duplicateDuplicar 🔑
GET/POST/api/v1/recipes/{ref}/commentsComentários e notas
GET/api/v1/search/suggest?q=Autocomplete
POST/api/v1/importImportar por URL 🔑
POST/api/v1/import/jsonImportar JSON em lote 🔑
GET/api/v1/exportBackup completo 🔑
POST/api/v1/uploadsFotos e vídeos 🔑
GET/POST/api/v1/categoriesCategorias
GET/api/v1/tagsTags
GET/POST/PUT/DELETE/api/v1/productsProdutos de afiliado 🔑
GET/POST/PUT/DELETE/api/v1/adsAnúncios 🔑
GET/PUT/api/v1/settingsConfigurações 🔑
GET/api/v1/statsEstatísticas 🔑
POST/api/v1/auth/logout-allSair de todos os aparelhos 🔑
DELETE/api/v1/uploads/{id}Remover arquivo 🔑
GET/api/v1/auditAuditoria (admin) 🔑