Skip to main content
RelixQ
Menu

REST API reference

The endpoint map for the Enterprise REST API: authentication, tenancy, per-service endpoint tables, honest-empty semantics, and the internal endpoints you should never call directly.

Auth
JWT bearer or API key
Tenancy
Org-scoped, RLS-enforced
Committed specs
3 OpenAPI documents
Browse the Developer Guide

How to call the API

All paths below are relative to your tenant base URL — one host for the whole API. Client tooling reads it from RELIXQ_API_BASE_URL. Endpoints are grouped below by what they do, not by how the service is built internally.

JWT bearer token
Authorization: Bearer <access_token>. Tokens are validated against the auth service published JWKS at GET /auth/.well-known/jwks.json. Obtain them via POST /auth/login, the OIDC and SAML flows, or the device-code flow used by the CLI.
API keys
For long-lived programmatic access — CI, scripts, service accounts. Create and manage them under /api/v1/api-keys and present them as bearer credentials. The full key is shown once at creation; only a hash is stored.
Revocation
Enforced through a JTI blacklist. A revoked token or key is rejected immediately, even before its expiry.
Tenancy
The API design scopes every request to the active organization carried in the token and uses PostgreSQL row-level security as a database boundary. Switch the active organization with POST /api/v1/me/orgs/{orgId}/switch. Production control-verification status is published separately in the Trust Center.

Identity, organizations and API keys

MethodPathPurpose
POST/auth/signupCreate an account with email and password
POST/auth/verify-email[/resend]Verify an email address; resend the verification email
POST/auth/loginSign in; returns access and refresh tokens
POST/auth/refreshExchange a refresh token for a new access token
POST/auth/logoutEnd the session and blacklist the token JTI
POST/auth/password/forgot|reset|changePassword reset and change flows
POST/auth/email/change[/confirm]Two-step email-address change
GET/auth/loginBegin an OIDC SSO login (browser redirect)
GET/auth/callbackOIDC redirect callback
GET/auth/.well-known/jwks.jsonPublic signing keys for token verification
POST/auth/device/code|approve|tokenThe device-code flow used by the CLI
GET/POST/auth/saml/{orgSlug}/sso|acsSP-initiated SAML SSO and assertion consumer
POST/auth/mfa/totp/setup|verifyEnroll and verify a TOTP authenticator
POST/auth/mfa/webauthn/assertion|verifyWebAuthn assertion begin and verify
GET/POST/PUT/PATCH/DELETE/scim/v2/Users[/{id}]SCIM 2.0 provisioning from your identity provider
POST/GET/DELETE/api/v1/api-keys[/{id}]Create, list, and revoke API keys
GET/POST/api/v1/me/orgs[/{orgId}/switch]List your organizations; switch active context
POST/api/v1/orgsCreate an organization
GET/PATCH/DELETE/api/v1/orgs/{orgId}/members[/{userId}]List members, change a role, remove a member
POST/api/v1/orgs/{orgId}/transfer-ownershipTransfer organization ownership
POST/GET/DELETE/api/v1/orgs/{orgId}/invitations[/{id}]Invite, list, and revoke invitations
GET/POST/api/v1/invitations/{token}[/accept]Preview and accept an invitation

Projects, services and repositories

MethodPathPurpose
POST/GET/api/v1/projectsCreate a project; list projects in the active org
GET/PATCH/api/v1/projects/{id}Project detail; update project settings
POST/api/v1/projects/{id}/archive|delete|restoreArchive, soft-delete, and restore a project
GET/api/v1/projects/{id}/auditProject audit trail
GET/api/v1/orgs/{orgSlug}/projects[/{slug}]URL-friendly addressing by org and project slug
GET/POST/api/v1/projects/{projectId}/applicationsList and create applications
PATCH/DELETE/api/v1/applications/{appId}Update and delete an application
GET/POST/api/v1/applications/{appId}/servicesList and create services
PATCH/DELETE/api/v1/services/{serviceId}Update and delete a service
GET/POST/DELETE/api/v1/projects/{projectId}/repositoriesManage repository connections
GET/POST/PATCH/DELETE/api/v1/projects/{projectId}/membersManage project membership and roles
GET/POST/api/v1/projects/{projectId}/services/{serviceId}/data-assetsList and declare data assets a service handles — feeds QAST classification
GET/POST/PATCH/DELETE/api/v1/projects/{projectId}/saved-viewsManage saved finding views

Scans and schedules

MethodPathPurpose
POST/GET/api/v1/scansStart a scan run; list scan runs
GET/api/v1/scans/{id}Scan run detail with per-job status
POST/api/v1/scans/{id}/cancelCancel a running scan
POST/api/v1/scans/{id}/retry-failedRetry only the failed jobs of a run
GET/api/v1/scans/{id}/eventsLive progress stream (Server-Sent Events)
GET/PUT/api/v1/projects/{projectId}/schedulesRead and set the recurring scan schedule

Findings, scores, inventory and CBOM

MethodPathPurpose
GET/api/v1/scores/projects/{projectId}Project risk score summary
GET/api/v1/scores/projects/{projectId}/relixqProject RelixQ Score with its explanation envelope
GET/api/v1/scores/projects/{projectId}/agilityCrypto-agility scorecard
GET/api/v1/scores/projects/{projectId}/trendScore trend over time
GET/api/v1/scores/projects/{projectId}/pr/{prNumber}PR-scoped score delta
GET/api/v1/scores/services/{serviceId}[/relixq]Service risk score and RelixQ Score
GET/api/v1/scores/applications/{applicationId}/relixqApplication RelixQ Score
GET/api/v1/scores/organizations/{organizationId}/relixqOrganization RelixQ Score
GET/api/v1/projects/{projectId}/findingsList findings (filterable)
GET/api/v1/projects/{projectId}/findings/aggregateAggregates by severity, algorithm, language, service, or PQC readiness
GET/api/v1/findingsCross-project finding search, org-scoped
GET/PATCH/api/v1/findings/{id}Finding detail; update triage status
GET/api/v1/projects/{projectId}/cbomExport the Cryptographic Bill of Materials
GET/api/v1/projects/{projectId}/assets[/{assetId}]List crypto assets; asset detail
GET/api/v1/projects/{projectId}/assets/{assetId}/evidence|findingsEvidence ledger and linked findings
POST/api/v1/projects/{projectId}/assets/ingestIngest an externally produced asset inventory
GET/api/v1/projects/{projectId}/tls/endpointsHonest-empty. TLS endpoint posture
GET/api/v1/projects/{projectId}/tls/certificatesHonest-empty. Certificate inventory

Blast radius, attack paths and simulation

MethodPathPurpose
GET/api/v1/projects/{projectId}/graph/services/{sid}Graph neighbourhood of a service
GET/api/v1/projects/{projectId}/graph/findings/{fid}/blast-radiusTransitive impact of a finding
GET/api/v1/projects/{projectId}/graph/exposure-pathsPaths from public exposure to vulnerable cryptography
GET/api/v1/projects/{projectId}/graph/attack-pathsProjected quantum-attack paths
GET/api/v1/projects/{projectId}/graph/hndl-exposuresHarvest-now-decrypt-later exposure query
GET/api/v1/projects/{projectId}/graph/recommendationsMigration-order recommendations
GET/api/v1/projects/{projectId}/graph/vizGraph payload shaped for visualization
POST/api/v1/projects/{projectId}/graph/simulateWhat-if migration simulation

Quantum exposure assessment (QAST)

MethodPathPurpose
POST/GET/api/v1/projects/{projectId}/pentest/roe[/{id}]Record and read signed Rules of Engagement
POST/GET/api/v1/projects/{projectId}/pentest/runs[/{id}]Start a run; run detail and status
POST.../pentest/runs/{id}/halt|retestEmergency-halt a run; launch a retest
POST/GET.../pentest/runs/{id}/probe-resultsSubmit and list probe results
GET.../pentest/runs/{id}/auditRun audit trail — who consented, what was probed
GET.../pentest/runs/{id}/exposures|attack-paths|break-proofsClassifications, projections, and proofs from the run
GET.../pentest/runs/{id}/report[/download]Run report and file download
POST/GET/api/v1/projects/{projectId}/pentest/gatesEvaluate and list gate decisions
GET/POST/api/v1/projects/{projectId}/pentest/data-assetsList and declare HNDL-relevant data assets
POST/GET/api/v1/projects/{projectId}/reports[/{id}][/download]Generate, list, read, and download assessment reports
GET/POST/api/v1/projects/{projectId}/pentest/lab/pqcHonest-empty. List and ingest PQC lab results
POST/api/v1/projects/{projectId}/pentest/remediation/from-findingsCreate remediation items from findings
GET/api/v1/pentest/remediationList remediation items, org-scoped
POST/api/v1/pentest/remediation/{id}/{transition}Lifecycle transitions: assign, in-progress, waiting-vendor, fix, verify, request-exception, approve-exception, accept-risk, reopen

AI, egress, runtime and GitHub

What you want to doEndpoints
Explain a finding, suggest a fix, or generate a migration planPOST /api/v1/ai/explain, /suggest-fix, /migration-plan, /feedback; check remaining usage with GET /api/v1/ai/budget
Manage ticketing, chat and alert rulesThese paths are not /api/v1-prefixed: /integrations, /alerts/rules, /notifications/rules, PUT /notifications/rules/yaml, /notifications/unsubscribe
Manage SIEM and observability exportAlso not /api/v1-prefixed: /api/connections/catalog, /api/connections[/{id}], PATCH /api/connections/{id}/streams, POST /api/connections/{id}/test, GET /api/connections/{id}/deliveries, /api/projects/{projectId}/routes
Send runtime telemetry, and read what it correlated toIngest: POST /v1/otlp/traces, /v1/datadog/logs, /v1/logstreamHMAC-signed, not bearer auth. Read back: GET /api/v1/findings/{id}/runtime
Mint a short-lived GitHub installation tokenPOST /api/v1/tokens/{installationId}
Manage policies, exceptions and the audit chainDocumented in Governance

OpenAPI specifications

The tables on this page are an endpoint map, not a schema reference — they tell you what exists and what it is for, with one line per endpoint. For exact request and response shapes, authoritative OpenAPI documents are published for the scan lifecycle, the findings and scoring API, and the runtime telemetry API. Ask your account team for the current versions.

Webhook receivers you point providers at

These are not endpoints you call — they are addresses you configure in another product so it can notify RelixQ. Each verifies the provider signature before it changes anything. Setup is covered in Integrations.

EndpointConfigure it inWhat it does
POST /webhooks/githubThe RelixQ GitHub AppTriggers scans on push and pull request; keeps repository connections in sync
POST /webhooks/jiraJiraClosing a ticket updates the linked finding
POST /webhooks/azure-boardsAzure BoardsWork-item state sync
POST /webhooks/linearLinearIssue state sync
POST /webhooks/servicenowServiceNowIncident state sync
POST /slack/actionsYour Slack appHandles the action buttons on RelixQ notifications

Related pages