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é.

Dessin à l'encre de l'établi : une console de terrain avec une fente à carte et une fente à bande, câblée à un appareil de mesure, sous une lampe articulée, un panneau d'outils derrière et un seul témoin ambre sur la console.
l'établi · où l'équipement est testé avant d'être remis · le témoin est le seul ambre
  1. 01

    Documentation

    Authentification, idempotence, approbations, diffusion, erreurs et le reste du contrat, chacun avec son comportement exact et ses limites.

    ouverte

  2. 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

  3. 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.

  1. 01

    bêta

    Réponse

    POST /v1/answer

    Une réponse fondée avec sources, citations et relevé de qualité. Diffusion sur demande.

  2. 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.

  3. 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.

  4. 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.

  5. 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.

  6. 06

    bêta

    Connaissance

    POST /v1/knowledge/retrieve

    Indexez des documents privés et retrouvez-les sans interface, sans session de navigateur.

  7. 07

    bêta

    Webhooks

    POST /v1/webhooks

    Des livraisons avec enregistrement, un point de test et une relecture pour toute livraison.

  8. 08

    bêta

    MCP

    POST /v1/mcp

    Les outils de Q par le Model Context Protocol, et des serveurs enregistrés par espace.

  9. 09

    stable

    Plongements

    POST /v1/embeddings

    Des plongements du fournisseur configuré, le modèle nommé dans la réponse.

  10. 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. 11

    stable

    État

    GET /v1/status

    État du service, incidents et flux, lisibles sans identifiant.

  12. 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.

  1. auth

    Authentification

    Identifiants à portée limitée et identité d'espace. Les clés restent sur le serveur.

  2. idem

    Idempotence

    Clés conservées et issues incertaines. Examinez avant de réessayer.

  3. appr

    Approbations

    Des décisions explicites, liées à une version, avant les actions protégées.

  4. sse

    Diffusion

    SSE versionné, marqueurs de citation reliés à mesure qu'ils arrivent.

  5. 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

Faites le premier appel.

Lisez le relevé de qualité.

Ouvrir la référence de l'API