développeurs · l'entrée · https://api.qdivision.ai/v1
Construisez sur le registre.
Une racine d'API, une clé, des bibliothèques standard. Chaque appel renvoie ce qu'il a fait, ce qu'il a lu et ce qu'il n'a pas pu faire. Ni dépôt, ni Docker, ni compte chez un fournisseur de modèles.
Cette page est la porte d'entrée. Un site développeurs dédié est en préparation ; jusqu'à son ouverture, la documentation et la référence de l'API ci-dessous en sont la totalité.

01
Documentation
Authentification, idempotence, approbations, diffusion, erreurs et le reste du contrat, chacun avec son comportement exact et ses limites.
ouverte
02
Référence de l'API
Chaque opération publique avec sa politique, ses portées, ses limites et sa disponibilité, générée depuis le registre même sur lequel le service tourne.
ouverte
03
SDK
Python et TypeScript, préparés en 1.1.0 et qualifiés localement. Tant que la version exacte n'est pas publiée, HTTP est la voie prise en charge.
préparés · publication à confirmer
le premier appel · en mouvement
Un appel entre. Un reçu sort.
01 · l'appel
La carte est la requête.
Elle porte la question, les portées de la clé et rien d'autre. La console est au repos et l'aiguille aussi.
1 · le premier appel
Un fichier, une réponse.
Définissez Q_API_BASE_URL et Q_API_KEY sur votre serveur. Enregistrez un fichier. Exécutez-le. La réponse porte le texte, ses sources, ses citations et un relevé de qualité.
Les clés restent sur le serveur. Un navigateur atteint Q par votre propre proxy, jamais avec la clé dans la page.
Un 401 signifie que l'identifiant demande attention. Un 403 peut signifier une portée, un droit ou une permission manquante. Une vraie requête peut entraîner des frais d'usage.
first_answer.py
import json, os, urllib.request
base = os.environ["Q_API_BASE_URL"].rstrip("/")
req = urllib.request.Request(
base + "/answer",
data=json.dumps({"query": "Which invoices are more than thirty days overdue?", "stream": False}).encode(),
headers={"Authorization": "Bearer " + os.environ["Q_API_KEY"], "Content-Type": "application/json"},
method="POST",
)
with urllib.request.urlopen(req, timeout=120) as response:
result = json.load(response)
print({k: result.get(k) for k in ("answer", "sources", "citations", "quality")})- answer
- chaîne
- sources
- tableau · provenance par élément
- citations
- tableau · passages reliés aux sources
- quality
- relevé · à lire avant affichage
le catalogue
Les pièces.
Douze surfaces sur lesquelles vous vous appuierez, avec la stabilité que le registre donne à chacune aujourd'hui.
01
bêta
Réponse
POST /v1/answer
Une réponse fondée avec sources, citations et relevé de qualité. Diffusion sur demande.
02
stable
Recherche
POST /v1/search
Recherche dans les limites de l'espace, sécurité au niveau des lignes imposée par la base, provenance par résultat.
03
bêta
Exécutions
POST /v1/agents/{agent_id}/runs
Une exécution durable avec un reçu dès la soumission. Interrogez-la, lisez ses événements, reprenez-la ou annulez-la.
04
bêta
Approbations
POST …/runs/{run_id}/tool-approval/{approval_id}
Décidez une action protégée avec la version en main. Liée, conservée, consommée une fois.
05
bêta
Diffusion
GET /v1/answer/streams/{run_id}
Diffusion versionnée des réponses par SSE, marqueurs de citation reliés à mesure qu'ils arrivent.
06
bêta
Connaissance
POST /v1/knowledge/retrieve
Indexez des documents privés et retrouvez-les sans interface, sans session de navigateur.
07
bêta
Webhooks
POST /v1/webhooks
Des livraisons avec enregistrement, un point de test et une relecture pour toute livraison.
08
bêta
MCP
POST /v1/mcp
Les outils de Q par le Model Context Protocol, et des serveurs enregistrés par espace.
09
stable
Plongements
POST /v1/embeddings
Des plongements du fournisseur configuré, le modèle nommé dans la réponse.
10
stable
Capacités
GET /v1/capabilities
Chaque opération publique avec sa politique, ses portées, ses limites et sa disponibilité. Le schéma dans openapi.public.json.
11
stable
État
GET /v1/status
État du service, incidents et flux, lisibles sans identifiant.
12
stable
Référence
GET /v1/reference
La référence de l'API, générée depuis le registre et servie par l'API elle-même.
La stabilité est le mot du registre lui-même, version 2026-10-12. Bêta signifie qualifiée localement, les portes de production restant à franchir.
les règles sur lesquelles vous vous appuyez
Cinq pages du contrat.
auth
Authentification
Identifiants à portée limitée et identité d'espace. Les clés restent sur le serveur.
idem
Idempotence
Clés conservées et issues incertaines. Examinez avant de réessayer.
appr
Approbations
Des décisions explicites, liées à une version, avant les actions protégées.
sse
Diffusion
SSE versionné, marqueurs de citation reliés à mesure qu'ils arrivent.
err
Erreurs
Des codes stables avec l'état qu'ils laissent. 409, 422, 503 ont chacun un seul sens.
le registre
Où en est-on.
- 8
- stables
- politiques que le registre marque stables
- 35
- bêta
- qualifiées localement, portes de production en attente
- 15
- alpha
- derrière des indicateurs ou pas encore implémentées
- 0 / 7
- portes de production
- aucune franchie, indiqué ici tant que cela ne change pas
Pas encore.
Les archives SDK pour Python (getq 1.1.0) et TypeScript (@getq/sdk 1.1.0) sont préparées et qualifiées localement, pas publiées. Confirmez la version exacte auprès de votre administrateur Q avant d'installer quoi que ce soit ; ne substituez pas un paquet sans rapport.
Le site développeurs dédié est en préparation. Cette page, la documentation et la référence de l'API sont les points d'entrée jusqu'à son ouverture.
Essayez le contrat sans identifiants.
Le dépôt fournit un bac à sable qui accepte un jeton fixe et renvoie des enregistrements synthétiques de recherche, de réponse et d'exécution. Il n'appelle aucun modèle, n'exécute aucun agent et n'atteint aucun espace. Il teste votre intégration HTTP et rien d'autre.
depuis un dépôt cloné
python3 examples/sandbox/server.py export Q_API_BASE_URL=http://127.0.0.1:8787/v1 export Q_API_KEY=q_local_sandbox sh examples/curl-quickstart/run.sh

