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: Apache APISIX Control Health Check API
description: The Apache APISIX Control API provides internal status and health check endpoints for monitoring and introspecting the running APISIX instance. By default, the Control API listens on port 9090 and is only accessible from localhost. It exposes endpoints for health checking, schema retrieval, and runtime diagnostics.
version: 3.14.0
contact:
name: Apache APISIX
url: https://apisix.apache.org
license:
name: Apache 2.0
url: https://www.apache.org/licenses/LICENSE-2.0.html
servers:
- url: http://127.0.0.1:9090
description: Default local Control API server
tags:
- name: Health Check
description: Monitor the health status of upstream nodes.
paths:
/v1/healthcheck:
get:
operationId: getHealthCheck
summary: Apache APISIX Get All Health Check Statuses
description: Returns the health check status of all upstreams that have health checking enabled.
tags:
- Health Check
responses:
'200':
description: Successful response with health check information.
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/HealthCheckStatus'
/v1/healthcheck/upstreams/{upstream_id}:
get:
operationId: getUpstreamHealthCheck
summary: Apache APISIX Get Health Check for a Specific Upstream
description: Returns the health check status for a specific upstream by its ID.
tags:
- Health Check
parameters:
- name: upstream_id
in: path
required: true
description: The ID of the upstream resource.
schema:
type: string
responses:
'200':
description: Successful response with upstream health status.
content:
application/json:
schema:
$ref: '#/components/schemas/HealthCheckStatus'
'404':
description: Upstream not found or health check not configured.
/v1/healthcheck/routes/{route_id}:
get:
operationId: getRouteHealthCheck
summary: Apache APISIX Get Health Check for a Specific Route
description: Returns the health check status for a specific route by its ID.
tags:
- Health Check
parameters:
- name: route_id
in: path
required: true
description: The ID of the route resource.
schema:
type: string
responses:
'200':
description: Successful response with route health status.
content:
application/json:
schema:
$ref: '#/components/schemas/HealthCheckStatus'
'404':
description: Route not found or health check not configured.
/v1/healthcheck/services/{service_id}:
get:
operationId: getServiceHealthCheck
summary: Apache APISIX Get Health Check for a Specific Service
description: Returns the health check status for a specific service by its ID.
tags:
- Health Check
parameters:
- name: service_id
in: path
required: true
description: The ID of the service resource.
schema:
type: string
responses:
'200':
description: Successful response with service health status.
content:
application/json:
schema:
$ref: '#/components/schemas/HealthCheckStatus'
'404':
description: Service not found or health check not configured.
components:
schemas:
HealthCheckStatus:
type: object
description: Health check status for an upstream or route.
properties:
name:
type: string
description: Identifier of the health-checked resource.
type:
type: string
description: The source type (upstreams, routes, services).
nodes:
type: array
items:
type: object
properties:
ip:
type: string
description: IP address of the node.
port:
type: integer
description: Port number of the node.
status:
type: string
enum:
- healthy
- unhealthy
description: Current health status of the node.
counter:
type: object
properties:
success:
type: integer
description: Number of successful health checks.
http_failure:
type: integer
description: Number of HTTP health check failures.
tcp_failure:
type: integer
description: Number of TCP health check failures.
timeout_failure:
type: integer
description: Number of timeout failures.