API
Buscar normas y preguntar con respuestas grounded y citadas.
Base URL: https://amicus.crafter.ing. Los reads (buscar/obtener) son públicos;
ask requiere una API key.
Auth
ask usa Bearer token:
Authorization: Bearer amicus_sk_...Consigue una key en amicus.crafter.ing. Cada llamada queda medida por key.
GET /api/norms
Busca el corpus (full-text). Público.
| Param | Tipo | Nota |
|---|---|---|
q | string | Términos de búsqueda |
jurisdiction | string | pe, pe-are, … |
rank | string | ley, decreto_supremo, … |
page | number | Paginación (20 por página) |
curl "https://amicus.crafter.ing/api/norms?q=prescripci%C3%B3n%20adquisitiva&jurisdiction=pe"Devuelve { norms: [...], total, page, pages }. Cada norma trae metadata (sin
cuerpo); usa GET /api/norms/:id para el texto completo.
GET /api/norms/:id
Una norma con su cuerpo completo. Público. El id es el path de corpus.
curl "https://amicus.crafter.ing/api/norms/pe/RM-0702-2026-IN"POST /api/v1/ask
Pregunta en lenguaje natural; respuesta grounded en el corpus, con citas a la fuente oficial (retrieval híbrido + una sola generación). Requiere key.
curl -X POST https://amicus.crafter.ing/api/v1/ask \
-H "Authorization: Bearer amicus_sk_..." \
-H "content-type: application/json" \
-d '{"query":"¿puedo quedarme con un terreno si lo ocupo varios años?"}'Respuesta:
{
"answer": "… con citas en Markdown a la fuente oficial …",
"sources": [{ "identifier": "...", "publication_date": "...", "url": "..." }],
"conversation_id": "...",
"model": "anthropic/claude-sonnet-4.5",
"usage": { "input_tokens": 1326, "output_tokens": 567 }
}No es asesoría legal. Verifica contra la fuente oficial.