Q for developers

Status and service objectives

Status and service objectives for Q integrations.

Q7.3 reports instance dependency readiness separately from provider availability and customer outcomes. Candidate objectives require production qualification; contractual commitments come from the applicable service agreement.

Base URL: https://api.qdivision.ai/v1

Health endpoint

GET /v1/status is unauthenticated. It runs bounded checks against the required database schema and, where required by deployment configuration, Redis and Temporal.

curl --fail-with-body https://api.qdivision.ai/v1/status

Example shape (the revision and required checks depend on the deployment):

{
  "status": "healthy",
  "version": "deployed-revision",
  "scope": "instance_dependencies",
  "services": {
    "database_schema": "healthy",
    "redis": "healthy",
    "temporal": "healthy",
    "llm_providers": "unknown"
  },
  "degraded_capabilities": [],
  "unverified_capabilities": ["answer", "embeddings", "agent"],
  "latency_ms": {"p50": null, "p95": null, "p99": null},
  "checked_at": "2026-10-12T00:00:00+00:00"
}

HTTP 200 / healthy means this instance's required dependency checks passed. HTTP 503 / unhealthy means at least one required dependency failed or timed out. Neither proves that providers, worker pollers, every replica or third-party receivers are available. Provider-backed capabilities remain unverified; latency percentiles are null because instance-local request logs cannot measure fleet latency. Detailed infrastructure probes and fleet metrics require privileged access.

A schema failure degrades search, embeddings, agents, webhooks and billing. Required Redis failure degrades capacity and caching; required Temporal failure degrades agents. Inspect the actual fields rather than assuming a fixed dependency list. Use owned run diagnostics to inspect execution, incomplete usage, spending, replay and delivery.

Status sub-endpoints

  • GET /v1/status/page provides an HTML view of the same instance dependency checks.
  • GET /v1/status/incidents returns the configured incident list. Incident publication is an operator integration; an empty list is not uptime evidence.
  • GET /v1/status/feed.xml provides a pollable RSS snapshot of those checks and configured incidents. It does not push notifications.

Rate-limit tiers

Rate limits apply per API key (or client IP when no key is present) using a sliding window. Exceeding a limit returns 429 with the rate_limited error code.

TierScopeRequestsWindowBurst
DefaultAll /v1 routes12060 s—
Test key/v1 routes with q_test_… keys2060 s—
Auth/v1/auth/*, /login2060 s—
EmbeddingsPOST /v1/embeddings60060 s200

Limits are configurable server-side and the live values are published in the OpenAPI spec's info.x-ratelimit extension at https://api.qdivision.ai/v1/openapi.public.json.

Rate-limit headers

HeaderDescription
Retry-AfterSeconds to wait before retrying (on 429 responses)
X-RateLimit-LimitMaximum requests allowed in the current window
X-RateLimit-RemainingRequests remaining in the current window
X-RateLimit-ResetUnix timestamp when the window resets

Honour Retry-After and back off with exponential delay plus jitter. Both SDKs do this automatically and raise QRateLimitError.


Candidate objectives

The operational service-objectives contract defines exact indicators, observation windows, denominators, exclusions and proposed targets: 99.9% public transport availability, 95% successful knowledge responses within 10 seconds, 99% owned durable-run completion and 95% first starts within 30 seconds. No eligible observations means unknown. HTTP 200 stream bodies may still contain application errors; check the machine outcome.

These are locally tested candidates, not a published SLA or measured production achievement. The historical 99.95% status-endpoint proposal has no qualified indicator. Production targets, representative traffic, replica scraping and notification delivery must be accepted before reporting contractual compliance. Status probes are excluded from the transport availability denominator.

On this page