Skip to content

API Overview

Documentazione delle API REST di Queria.

Base URL

AmbienteURL
Developmenthttps://devadmin.queria.pro/api
Productionhttps://admin.queria.pro/api

Autenticazione

Due metodi di autenticazione supportati:

JWT Token (Utenti Web)

bash
Authorization: Bearer <jwt-token>

Ottenuto tramite login:

bash
POST /api/auth/login
{
  "email": "user@example.com",
  "password": "password"
}

API Key (Integrazioni)

bash
X-API-Key: qk_live_xxxxxxxxxxxxxxxx

Le API keys sono specifiche per azienda e si generano dalla dashboard.

Formato Risposte

Successo

json
{
  "success": true,
  "data": { ... }
}

Lista con Paginazione

json
{
  "success": true,
  "data": [ ... ],
  "pagination": {
    "page": 1,
    "limit": 20,
    "total": 150,
    "totalPages": 8
  }
}

Errore

json
{
  "success": false,
  "error": {
    "code": "VALIDATION_ERROR",
    "message": "Invalid input",
    "details": [ ... ]
  }
}

Codici di Stato

CodiceSignificato
200OK
201Created
400Bad Request
401Unauthorized
403Forbidden
404Not Found
422Validation Error
429Rate Limited
500Server Error

Rate Limiting

TipoLimite
API pubbliche60 req/min
API autenticate300 req/min
Upload documenti10 req/min
Chat streaming20 req/min

Headers di risposta:

X-RateLimit-Limit: 300
X-RateLimit-Remaining: 295
X-RateLimit-Reset: 1704067200

Endpoints Principali

Autenticazione

MetodoEndpointDescrizione
POST/auth/loginLogin utente
POST/auth/registerRegistrazione
POST/auth/refreshRefresh token
POST/auth/logoutLogout

Chat

MetodoEndpointDescrizione
GET/conversationsLista conversazioni
POST/conversationsNuova conversazione
POST/chat/messageInvia messaggio
POST/chat/streamChat streaming

Documenti

MetodoEndpointDescrizione
GET/documentsLista documenti
POST/documents/uploadUpload documento
GET/documents/:idDettaglio documento
PUT/documents/:idAggiorna documento
DELETE/documents/:idElimina documento

Topics

MetodoEndpointDescrizione
GET/topicsLista topics
POST/topicsCrea topic
PUT/topics/:idAggiorna topic
DELETE/topics/:idElimina topic

Aziende

MetodoEndpointDescrizione
GET/companiesLista aziende
GET/companies/:idDettaglio azienda
PUT/companies/:idAggiorna azienda

API Pubbliche (Widget)

Endpoint per widget embeddabili (richiedono API Key):

MetodoEndpointDescrizione
POST/public/chatChat non-streaming
POST/public/chat/streamChat streaming SSE
POST/public/search/webRicerca web
GET/public/topicsLista topics

Paginazione

Query parameters per liste:

ParametroDefaultDescrizione
page1Numero pagina
limit20Elementi per pagina (max 100)
sortcreatedAtCampo ordinamento
orderdescasc / desc

Esempio:

bash
GET /api/documents?page=2&limit=50&sort=name&order=asc

Filtri

Query parameters per filtri:

bash
# Documenti per status
GET /api/documents?status=VECTORIZED

# Documenti per topic
GET /api/documents?topicId=uuid

# Ricerca per nome
GET /api/documents?search=contratto

# Combinati
GET /api/documents?status=VECTORIZED&topicId=uuid&search=acme

Webhook (Coming Soon)

Webhook per eventi:

  • document.uploaded
  • document.vectorized
  • document.error
  • conversation.created

SDK

SDK ufficiali in sviluppo:

  • JavaScript/TypeScript
  • Python
  • PHP

Nel frattempo, usa le API REST direttamente.

Queria - Two-Tier Retrieval System