Apache APISIX · Schema
Apache APISIX Service
A Service is an abstraction of an API and corresponds to an upstream service. It can be shared across routes.
ApacheAPI GatewayCloud NativeKubernetesLuaNGINXOpen SourceTraffic Management
Properties
| Name | Type | Description |
|---|---|---|
| name | string | Human-readable name for the service. |
| desc | string | Description of the service. |
| plugins | object | Plugin configuration. Key is the plugin name and value is the plugin config. |
| upstream | object | Inline upstream configuration. |
| upstream_id | string | ID of an existing upstream to use. |
| labels | object | Key-value pairs for categorization. |
| enable_websocket | boolean | Enable WebSocket proxying. |
| hosts | array | A list of hosts for the service. |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://github.com/api-evangelist/apache-apisix/blob/main/json-schema/service.json",
"title": "Apache APISIX Service",
"description": "A Service is an abstraction of an API and corresponds to an upstream service. It can be shared across routes.",
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Human-readable name for the service."
},
"desc": {
"type": "string",
"description": "Description of the service."
},
"plugins": {
"type": "object",
"description": "Plugin configuration. Key is the plugin name and value is the plugin config."
},
"upstream": {
"$ref": "upstream.json",
"description": "Inline upstream configuration."
},
"upstream_id": {
"type": "string",
"description": "ID of an existing upstream to use."
},
"labels": {
"type": "object",
"additionalProperties": {
"type": "string"
},
"description": "Key-value pairs for categorization."
},
"enable_websocket": {
"type": "boolean",
"description": "Enable WebSocket proxying."
},
"hosts": {
"type": "array",
"items": {
"type": "string"
},
"description": "A list of hosts for the service."
}
}
}