Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we
store it to create your key and to recognise you if you sign in with another
provider. See our Privacy Policy and
Terms.
openapi: 3.2.0
info:
title: AimRank Health API
description: Ranking-as-a-Service API — Turn binary comparisons into calibrated rankings with Glicko-2, Bradley-Terry, TrueSkill, and cross-domain transfer learning. Includes webhooks, API keys, RLHF exports, and embeddable widgets.
version: 4.12.0
tags:
- name: Health
paths:
/:
get:
tags:
- Health
summary: Root
description: Health check endpoint.
operationId: root__get
responses:
'200':
description: Successful Response
content:
application/json:
schema: {}
/health:
get:
tags:
- Health
summary: Health Check
description: Detailed health check.
operationId: health_check_health_get
responses:
'200':
description: Successful Response
content:
application/json:
schema: {}
/health/live:
get:
tags:
- Health
summary: Liveness Probe
description: Kubernetes liveness probe - is the application running?
operationId: liveness_probe_health_live_get
responses:
'200':
description: Successful Response
content:
application/json:
schema: {}
/health/config:
get:
tags:
- Health
summary: Config Probe
description: 'Production config snapshot.
Returns the same checks the startup validator runs, JSON-serialised.
Used by the launch checklist (NEXT_STEPS §4.5) to verify Sentry,
Stripe price IDs, OAuth apps, and REGISTRATION_CLOSED in one call
against the deployed stack — without grepping ECS task definitions.
Returns 200 with `ok: false` when warnings are present and 503 only
on fatal misconfig (mirrors /health/ready semantics).'
operationId: config_probe_health_config_get
responses:
'200':
description: Successful Response
content:
application/json:
schema: {}
/health/ready:
get:
tags:
- Health
summary: Readiness Probe
description: 'Kubernetes / ECS readiness probe — is the app ready to serve traffic?
Probes BOTH dependencies that auth + state-mutating requests need:
- PostgreSQL (request bodies, persistent state)
- Redis (token blacklist, account lockout, OAuth CSRF state)
A Redis outage in particular is silent for read traffic but breaks
every login / refresh / OAuth flow — exactly the requests we want
the ALB to stop sending us until Redis recovers. Without this check,
the load balancer keeps pinning users to a degraded task.'
operationId: readiness_probe_health_ready_get
responses:
'200':
description: Successful Response
content:
application/json:
schema: {}
components:
securitySchemes:
APIKeyHeader:
type: apiKey
in: header
name: X-API-Key