Getting started — Integrator API

Getting started — Integrator API

Base URL

EnvironmentAPI base
Local Composehttp://localhost:12020
Productionhttps://review.querytek.io/api (path prefix as deployed)

All routes below are relative to /v1.

Authentication

  • Send Authorization: Bearer <access_token> on every protected call (SPEC-003).
  • Tokens are issued by Keycloak (ADR-003).
  • Missing/invalid token → 401 with ADR-021 envelope.

Roles (typical integrator)

CapabilityRoles
POST /v1/intake/submitRoles accepted by the intake rate-limit dependency (includes client_admin / platform_admin; see OpenAPI)
POST /v1/intake/batch, status GETclient_admin | platform_admin
Webhook subscription CRUD / deliveriesclient_admin | platform_admin

Tenant scoping

  • tenant_id comes from the JWT (ADR-004).
  • platform_admin may pass optional ?tenant_id= on intake to act on a client tenant (effective-tenant resolution). Do not rely on client-supplied tenant IDs for ordinary integrators.

Contract artifacts

  1. OpenAPI subset: /developer/api/raw
  2. Drift check: python3 scripts/qa/validate_integrator_openapi.py
  3. Live drift (Compose): python3 scripts/qa/validate_integrator_openapi.py --live http://127.0.0.1:12020/openapi.json

What this pack is not

  • Not a published SDK
  • Not the full portal OpenAPI
  • Not WooCommerce / email / Box / Drive inbound webhooks