openapi: 3.2.0 info: title: Forem API V1 Health Checks API version: 1.0.0 description: Access Forem articles, users and other resources via API. servers: - url: https://dev.to description: Production server security: - api-key: [] - bearer_auth: [] tags: - name: health_checks paths: /api/health_checks/app: get: summary: Check app health tags: - health_checks security: [] description: 'Basic application liveness check. ### Usage Guidance: - Verifies that the Rails application process is running and responding to requests. - Does not check database or cache connectivity. - Typically used by load balancers, container orchestrators (like Kubernetes), or uptime checkers to verify container health.' parameters: - name: health-check-token in: header required: false description: Access token required if token-based security is enabled in settings for health checks. schema: type: string responses: '200': description: successful operationId: getApiHealthChecksApp x-operation-id-source: derived /api/health_checks/database: get: summary: Check database connection tags: - health_checks security: [] description: 'Database connection health check. ### Usage Guidance: - Verifies that the application can successfully query the primary PostgreSQL database. - Used to monitor database pool status and connection health.' parameters: - name: health-check-token in: header required: false description: Access token required if token-based security is enabled in settings for health checks. schema: type: string responses: '200': description: successful operationId: getApiHealthChecksDatabase x-operation-id-source: derived /api/health_checks/cache: get: summary: Check cache connection tags: - health_checks security: [] description: 'Cache connection health check. ### Usage Guidance: - Verifies that the application can successfully ping the Redis cache instance. - Used to monitor cache and background worker queue connection health.' parameters: - name: health-check-token in: header required: false description: Access token required if token-based security is enabled in settings for health checks. schema: type: string responses: '200': description: successful operationId: getApiHealthChecksCache x-operation-id-source: derived components: securitySchemes: api-key: type: apiKey name: api-key in: header description: "API Key authentication.\n\nAuthentication for some endpoints, like write operations on the\nArticles API require a DEV API key.\n\nAll authenticated endpoints are CORS disabled, the API key is intended for non-browser scripts.\n\n### Getting an API key\n\nTo obtain one, please follow these steps:\n\n - visit https://dev.to/settings/extensions\n - in the \"DEV API Keys\" section create a new key by adding a\n description and clicking on \"Generate API Key\"\n\n ![obtain a DEV API Key](https://user-images.githubusercontent.com/37842/172718105-bd93664e-76e0-477d-99c4-265dda0b06c5.png)\n\n - You'll see the newly generated key in the same view\n ![generated DEV API Key](https://user-images.githubusercontent.com/37842/172718151-e7fe26a0-9937-42e8-96c6-333acdab9e49.png)" bearer_auth: type: http scheme: bearer bearerFormat: JWT description: Short-lived RS256 RFC 9068 access token issued by the configured delegation service and verified against its configured JWKS. The issuer authorizes the client and requested operation before minting the token; Forem validates the token and resolves its subject and owner to a local user. An invalid token returns 401; an unavailable trust dependency with no usable cached key returns 503.