API7 Cloud OpenAPI Specification (0.11.0)
Download OpenAPI specification:Download
The OpenAPI specification for API7 Cloud APIs. All APIs are built around Rest. They accept JSON-encoded request body (if necessary) and return JSON-encoded response. The actual API response payload is decorated with some metadata fields:
{
"status": {
"code": <ERROR CODE>,
"message": "<ERROR MESSAGE>"
},
"error": "ERROR DETAILS",
"payload": <SPECIFIC API RESPONSE>
}
The status
and error
fields indicate the error code and error message for this API call.
payload
field contains the specific API response and should be decoded according to the given
schema.
Create Organization
Authorizations:
Request Body schema: application/json
name required | string [ 1 .. 32 ] characters \S+ |
Responses
Request samples
- Payload
{- "name": "string"
}
Response samples
- 200
- default
{- "error": "string",
- "status": {
- "code": 0,
- "message": "OK"
}, - "payload": {
- "created_at": "2019-08-24T14:15:22Z",
- "id": "string",
- "name": "string",
- "owner_id": "string",
- "plan_expire_time": "2019-08-24T14:15:22Z",
- "plan_id": "string",
- "updated_at": "2019-08-24T14:15:22Z"
}
}
Get Organization Information
Authorizations:
path Parameters
id required | string non-empty ^[1-9][0-9]*$ ID is the organization id |
Responses
Response samples
- 200
- default
{- "error": "string",
- "status": {
- "code": 0,
- "message": "OK"
}, - "payload": {
- "created_at": "2019-08-24T14:15:22Z",
- "id": "string",
- "name": "string",
- "owner_id": "string",
- "plan_expire_time": "2019-08-24T14:15:22Z",
- "plan_id": "string",
- "updated_at": "2019-08-24T14:15:22Z"
}
}
Create a new subscription
Authorizations:
path Parameters
id required | string non-empty ^[1-9][0-9]*$ ID is the organization id |
Request Body schema: application/json
plan required | string non-empty |
Responses
Request samples
- Payload
{- "plan": "string"
}
Response samples
- 200
- default
{- "error": "string",
- "status": {
- "code": 0,
- "message": "OK"
},
}
Initialize Organization
Authorizations:
Request Body schema: application/json
name required | string [ 1 .. 32 ] characters \S+ |
Responses
Request samples
- Payload
{- "name": "string"
}
Response samples
- 200
{- "error": "string",
- "status": {
- "code": 0,
- "message": "OK"
}
}
List Available Plugins
Authorizations:
path Parameters
id required | string non-empty ^[1-9][0-9]*$ ID is the organization id |
Responses
Response samples
- 200
- default
{- "error": "string",
- "status": {
- "code": 0,
- "message": "OK"
}, - "payload": {
- "list": [
- {
- "plugin_name": "string",
- "apisix_plugin_name": "string",
- "description": "string",
- "type": "string"
}
]
}
}
List Clusters
Authorizations:
path Parameters
id required | string non-empty ^[1-9][0-9]*$ ID is the organization id |
query Parameters
order_by | string Default: "updated_at" Enum: "created_at" "updated_at" |
direction | string Default: "DESC" Enum: "ASC" "DESC" Direction should be ASC or DESC (case-insensitive). Default value is DESC. |
page_size | integer <int64> >= 1 Default: 10 PageSize is the page size. Must greater than 0. |
page | integer <int64> >= 1 Default: 1 Page is the page number, starting from 1. |
Responses
Response samples
- 200
- default
{- "error": "string",
- "status": {
- "code": 0,
- "message": "OK"
}, - "payload": {
- "count": 0,
- "list": [
- {
- "created_at": "2019-08-24T14:15:22Z",
- "domain": "example.com",
- "id": "string",
- "name": "string",
- "org_id": "string",
- "region_id": "string",
- "status": 1,
- "updated_at": "2019-08-24T14:15:22Z",
- "org_name": "string"
}
]
}
}
Create Cluster
Authorizations:
path Parameters
id required | string non-empty ^[1-9][0-9]*$ ID is the organization id |
Request Body schema: application/json
Responses
Request samples
- Payload
{ }
Response samples
- 200
- default
{- "error": "string",
- "status": {
- "code": 0,
- "message": "OK"
}, - "payload": {
- "created_at": "2019-08-24T14:15:22Z",
- "domain": "example.com",
- "id": "string",
- "name": "string",
- "org_id": "string",
- "region_id": "string",
- "status": 1,
- "updated_at": "2019-08-24T14:15:22Z",
- "settings": {
- "client_settings": {
- "client_real_ip": {
- "replace_from": {
- "position": "header",
- "name": "string"
}, - "trusted_addresses": [
- "192.168.0.1"
], - "enabled": true
}, - "maximum_request_body_size": 0
}, - "observability_settings": {
- "metrics": {
- "enabled": true
}, - "show_upstream_status_in_response_header": true,
- "access_log_rotate": {
- "enabled": true,
- "interval": 3600,
- "maximum_kept_log_entries": 168,
- "enable_compression": true
}
}, - "api_proxy_settings": {
- "enable_request_buffering": true,
- "server_header_customization": {
- "mode": "Rewrite",
- "new_server_header": "string"
}, - "url_handling_options": [
- "Delete Tail Slash"
]
}
}
}
}
Get Cluster Details
Authorizations:
path Parameters
cluster_id required | string non-empty ^[1-9][0-9]*$ ClusterID is the cluster id |
Responses
Response samples
- 200
- default
{- "error": "string",
- "status": {
- "code": 0,
- "message": "OK"
}, - "payload": {
- "created_at": "2019-08-24T14:15:22Z",
- "domain": "example.com",
- "id": "string",
- "name": "string",
- "org_id": "string",
- "region_id": "string",
- "status": 1,
- "updated_at": "2019-08-24T14:15:22Z",
- "settings": {
- "client_settings": {
- "client_real_ip": {
- "replace_from": {
- "position": "header",
- "name": "string"
}, - "trusted_addresses": [
- "192.168.0.1"
], - "enabled": true
}, - "maximum_request_body_size": 0
}, - "observability_settings": {
- "metrics": {
- "enabled": true
}, - "show_upstream_status_in_response_header": true,
- "access_log_rotate": {
- "enabled": true,
- "interval": 3600,
- "maximum_kept_log_entries": 168,
- "enable_compression": true
}
}, - "api_proxy_settings": {
- "enable_request_buffering": true,
- "server_header_customization": {
- "mode": "Rewrite",
- "new_server_header": "string"
}, - "url_handling_options": [
- "Delete Tail Slash"
]
}
}
}
}
Update Cluster
Authorizations:
path Parameters
cluster_id required | string non-empty ^[1-9][0-9]*$ ClusterID is the cluster id |
Request Body schema: application/json
object | |
object | |
object |
Responses
Request samples
- Payload
{- "client_settings": {
- "client_real_ip": {
- "replace_from": {
- "position": "header",
- "name": "string"
}, - "trusted_addresses": [
- "192.168.0.1"
], - "enabled": true
}, - "maximum_request_body_size": 0
}, - "observability_settings": {
- "metrics": {
- "enabled": true
}, - "show_upstream_status_in_response_header": true,
- "access_log_rotate": {
- "enabled": true,
- "interval": 3600,
- "maximum_kept_log_entries": 168,
- "enable_compression": true
}
}, - "api_proxy_settings": {
- "enable_request_buffering": true,
- "server_header_customization": {
- "mode": "Rewrite",
- "new_server_header": "string"
}, - "url_handling_options": [
- "Delete Tail Slash"
]
}
}
Response samples
- 200
- default
{- "error": "string",
- "status": {
- "code": 0,
- "message": "OK"
}
}
Update Cluster Plugins
Authorizations:
path Parameters
cluster_id required | string non-empty ^[1-9][0-9]*$ ClusterID is the cluster id |
Request Body schema: application/json
(object or object) | |
object LoggingPolicy is used to decide how to handle the access log of the gateway instance instances. | |
object or object or object or object or object AuthenticationPlugin is the definition of the authentication plugin. | |
property name* additional property | any |
Responses
Request samples
- Payload
{- "acl": {
- "run_mode": "allow",
- "reject_code": 403,
- "reject_msg": "The consumer is forbidden.",
- "disable": false,
- "consumer_list": [
- "string"
]
}, - "logging": {
- "log_collection_ids": [
- "string"
], - "disable": false
}, - "authentication": {
- "disable": false,
- "type": "basic_auth",
- "config": {
- "strip_credentials": true
}
}
}
Response samples
- 200
- default
{- "error": "string",
- "status": {
- "code": 0,
- "message": "OK"
}
}
Generate a client certificate for communicating with the cluster for the given cluster.
Authorizations:
path Parameters
cluster_id required | string non-empty ^[1-9][0-9]*$ ClusterID is the cluster id |
Responses
Response samples
- 200
- default
{- "error": "string",
- "status": {
- "code": 0,
- "message": "OK"
}, - "payload": {
- "ca_certificate": "string",
- "certificate": "string",
- "private_key": "string"
}
}
List Gateway Instances
Authorizations:
path Parameters
cluster_id required | string non-empty ^[1-9][0-9]*$ ClusterID is the cluster id |
Responses
Response samples
- 200
- default
{- "error": "string",
- "status": {
- "code": 0,
- "message": "OK"
}, - "payload": {
- "count": 0,
- "list": [
- {
- "api_calls": 0,
- "config_version": 0,
- "domain": "string",
- "etcd_reachable": true,
- "hostname": "string",
- "id": "string",
- "ip": "string",
- "version": "string",
- "last_seen_time": "2019-08-24T14:15:22Z",
- "register_time": "2019-08-24T14:15:22Z",
- "certificate_expire_time": "2019-08-24T14:15:22Z",
- "status": "Healthy"
}
]
}
}
Get Gateway Instance Configuration Template
Authorizations:
path Parameters
cluster_id required | string non-empty ^[1-9][0-9]*$ ClusterID is the cluster id |
config_type required | string Enum: "apisix" "helm" config_type is used to filter the config
|
Responses
Response samples
- 200
- default
{- "error": "string",
- "status": {
- "code": 0,
- "message": "OK"
}, - "payload": {
- "configuration": "string"
}
}
Get Cluster Metrics
Authorizations:
path Parameters
cluster_id required | string non-empty ^[1-9][0-9]*$ ClusterID is the cluster id |
metric_type required | string Enum: "api-requests" "api-failure-requests" "api-status-dist" "api-latency" "api-bandwidth" "api-connections" "api-qps" metrics_type is used to filter the metrics
|
query Parameters
start required | string <date-time> Example: start=2022-09-19T12:57:08.177Z Start time of query time range, the date-time notation as defined by RFC 3339. |
end required | string <date-time> Example: end=2022-09-19T12:57:08.177Z End time of query time range, the date-time notation as defined by RFC 3339. |
step required | integer <int64> Example: step=15 Query resolution step width in the number of seconds. |
api_id | string^[1-9][0-9]*$ api_id is used to filter by specific the api id |
app_id | string^[1-9][0-9]*$ app_id is used to filter by specific application id |
instance_id | string^[A-Za-z0-9_-]*$ instance_id is used to filter by specific instance id |
Responses
Response samples
- 200
- default
{- "error": "string",
- "status": {
- "code": 0,
- "message": "OK"
}, - "payload": {
- "count": 0,
- "list": [
- {
- "data": { },
- "key": "string",
- "type": "string"
}
]
}
}
Load Plugin
Authorizations:
path Parameters
cluster_id required | string non-empty ^[1-9][0-9]*$ ClusterID is the cluster id |
Request Body schema: application/json
plugin_management_id | string The id of the data. |
name required | string non-empty The name of the plugin. |
type | string The category of the plugin. |
object The metadata of the plugin in Apache APISIX |
Responses
Request samples
- Payload
{- "plugin_management_id": "string",
- "name": "string",
- "type": "string",
- "metadata": { }
}
Response samples
- 200
- default
{- "error": "string",
- "status": {
- "code": 0,
- "message": "OK"
}
}
List Loaded Plugins
Authorizations:
path Parameters
cluster_id required | string non-empty ^[1-9][0-9]*$ ClusterID is the cluster id |
query Parameters
order_by | string Default: "updated_at" Enum: "created_at" "updated_at" |
direction | string Default: "DESC" Enum: "ASC" "DESC" Direction should be ASC or DESC (case-insensitive). Default value is DESC. |
page_size | integer <int64> >= 1 Default: 10 PageSize is the page size. Must greater than 0. |
page | integer <int64> >= 1 Default: 1 Page is the page number, starting from 1. |
search | string search is used to filter the result |
Responses
Response samples
- 200
- default
{- "error": "string",
- "status": {
- "code": 0,
- "message": "OK"
}, - "payload": {
- "count": 0,
- "list": [
- {
- "name": "string",
- "description": "string",
- "type": "string",
- "metadata": { },
- "has_metadata": true
}
]
}
}
Update Loaded Plugin
Authorizations:
path Parameters
cluster_id required | string non-empty ^[1-9][0-9]*$ ClusterID is the cluster id |
plugin_management_id required | string non-empty PluginManagementId is the plugin management id |
Request Body schema: application/json
object The metadata of the plugin in Apache APISIX | |||
|
Responses
Request samples
- Payload
{- "metadata": { }
}
Response samples
- 200
- default
{- "error": "string",
- "status": {
- "code": 0,
- "message": "OK"
}
}
Delete Loaded Plugin
Authorizations:
path Parameters
cluster_id required | string non-empty ^[1-9][0-9]*$ ClusterID is the cluster id |
plugin_management_id required | string non-empty PluginManagementId is the plugin management id |
Responses
Response samples
- 200
- default
{- "error": "string",
- "status": {
- "code": 0,
- "message": "OK"
}
}
Get Plugin Reference
Authorizations:
path Parameters
cluster_id required | string non-empty ^[1-9][0-9]*$ ClusterID is the cluster id |
plugin_management_id required | string non-empty PluginManagementId is the plugin management id |
Responses
Response samples
- 200
- default
{- "error": "string",
- "status": {
- "code": 0,
- "message": "OK"
}, - "payload": {
- "associations": [
- {
- "resource_type": "APPLICATION",
- "resource_name": "string",
- "parent_id": "string",
- "resource_id": "string"
}
]
}
}
List Applications
Authorizations:
path Parameters
cluster_id required | string non-empty ^[1-9][0-9]*$ ClusterID is the cluster id |
query Parameters
order_by | string Enum: "created_at" "updated_at" "name" "path_prefix" |
direction | string Default: "DESC" Enum: "ASC" "DESC" Direction should be ASC or DESC (case-insensitive). Default value is DESC. |
page_size | integer <int64> >= 1 Default: 10 PageSize is the page size. Must greater than 0. |
page | integer <int64> >= 1 Default: 1 Page is the page number, starting from 1. |
search | string search is used to filter the result |
labels | Array of strings [ 0 .. 32 ] items [ items [ 1 .. 32 ] characters ^[0-9a-zA-Z-_]+$ ] Labels are used to filter the result |
active | string Default: "-1" Enum: "-1" "0" "1" Active is the status of the Application 0 stands for active 1 stands for inactive |
Responses
Response samples
- 200
- default
{- "error": "string",
- "status": {
- "code": 0,
- "message": "OK"
}, - "payload": {
- "count": 0,
- "list": [
- {
- "description": "string",
- "hosts": [
- "string"
], - "name": "string",
- "path_prefix": "string",
- "plugins": {
- "acl": {
- "run_mode": "allow",
- "reject_code": 403,
- "reject_msg": "The consumer is forbidden.",
- "disable": false,
- "consumer_list": [
- "string"
]
}, - "logging": {
- "log_collection_ids": [
- "string"
], - "disable": false
}, - "authentication": {
- "disable": false,
- "type": "basic_auth",
- "config": {
- "strip_credentials": true
}
}
}, - "protocol": "HTTP",
- "protocols": [
- "HTTP"
], - "upstreams": [
- {
- "upstream": {
- "scheme": "http",
- "lb_type": "roundrobin",
- "hash_key": "string",
- "retries": 65535,
- "checks": {
- "active": {
- "type": "http",
- "http": {
- "http_probe_path": null,
- "http_probe_host": null,
- "http_probe_headers": { },
- "probe_timeout": null,
- "concurrent_probes": null,
- "probe_target_port": null,
- "healthy": { },
- "unhealthy": { }
}
}, - "passive": {
- "type": "http",
- "http": {
- "healthy": { },
- "unhealthy": { }
}
}
}, - "timeout": {
- "connect": 0,
- "send": 0,
- "read": 0
}, - "upstream_host_mode": "reserve",
- "upstream_host": "string",
- "targets": [
- {
- "host": "string",
- "port": 1,
- "weight": 65535
}
]
}, - "version": "string",
- "client_cert_id": "string"
}
], - "default_upstream_version": "default",
- "labels": [
- "string"
], - "active": 0,
- "cluster_id": "string",
- "created_at": "2019-08-24T14:15:22Z",
- "id": "string",
- "status": 0,
- "updated_at": "2019-08-24T14:15:22Z",
- "canary_release_id": [
- "string"
], - "canary_upstream_version_list": [
- "string"
]
}
]
}
}
Create Application
Authorizations:
path Parameters
cluster_id required | string non-empty ^[1-9][0-9]*$ ClusterID is the cluster id |
Request Body schema: application/json
non-emptydescription | string <= 256 characters |
hosts required | Array of strings non-empty unique |
name required | string [ 1 .. 64 ] characters |
path_prefix required | string [ 1 .. 4096 ] characters ^/ The listening path prefix for this application |
object Plugins contains a collect of polices like CORS. | |
protocol | string Enum: "HTTP" "HTTPS" The API Protocol definition |
protocols | Array of strings [ 1 .. 2 ] items unique Items Enum: "HTTP" "HTTPS" |
required | Array of objects [ 1 .. 10 ] items unique Upstream settings for the Application |
default_upstream_version | string [ 0 .. 64 ] characters Default: "default" |
labels | Array of strings [ 0 .. 32 ] items unique [ items [ 1 .. 32 ] characters ^[0-9a-zA-Z-_]+$ ] Labels are used for resources classification and indexing |
active | integer Default: 0 Enum: 0 1 Active is the status of the Application 0 stands for active 1 stands for inactive |
Responses
Request samples
- Payload
{- "description": "string",
- "hosts": [
- "string"
], - "name": "string",
- "path_prefix": "string",
- "plugins": {
- "acl": {
- "run_mode": "allow",
- "reject_code": 403,
- "reject_msg": "The consumer is forbidden.",
- "disable": false,
- "consumer_list": [
- "string"
]
}, - "logging": {
- "log_collection_ids": [
- "string"
], - "disable": false
}, - "authentication": {
- "disable": false,
- "type": "basic_auth",
- "config": {
- "strip_credentials": true
}
}
}, - "protocol": "HTTP",
- "protocols": [
- "HTTP"
], - "upstreams": [
- {
- "upstream": {
- "scheme": "http",
- "lb_type": "roundrobin",
- "hash_key": "string",
- "retries": 65535,
- "checks": {
- "active": {
- "type": "http",
- "http": {
- "http_probe_path": "/",
- "http_probe_host": "string",
- "http_probe_headers": {
- "property1": "string",
- "property2": "string"
}, - "probe_timeout": 1,
- "concurrent_probes": 10,
- "probe_target_port": 1,
- "healthy": {
- "http_status_codes": [
- 200,
- 302
], - "targets_check_interval": 1,
- "successes": 2
}, - "unhealthy": {
- "http_status_codes": [
- 429,
- 404,
- 500,
- 501,
- 502,
- 503,
- 504,
- 505
], - "http_failures": 5,
- "targets_check_interval": 1,
- "timeouts": 3
}
}
}, - "passive": {
- "type": "http",
- "http": {
- "healthy": {
- "http_status_codes": [
- 200,
- 201,
- 202,
- 203,
- 204,
- 205,
- 206,
- 207,
- 208,
- 226,
- 300,
- 301,
- 302,
- 303,
- 304,
- 305,
- 306,
- 307,
- 308
]
}, - "unhealthy": {
- "http_status_codes": [
- 429,
- 500,
- 503
], - "http_failures": 5,
- "timeouts": 7
}
}
}
}, - "timeout": {
- "connect": 0,
- "send": 0,
- "read": 0
}, - "upstream_host_mode": "reserve",
- "upstream_host": "string",
- "targets": [
- {
- "host": "string",
- "port": 1,
- "weight": 65535
}
]
}, - "version": "string",
- "client_cert_id": "string"
}
], - "default_upstream_version": "default",
- "labels": [
- "string"
], - "active": 0
}
Response samples
- 200
- default
{- "error": "string",
- "status": {
- "code": 0,
- "message": "OK"
}, - "payload": {
- "description": "string",
- "hosts": [
- "string"
], - "name": "string",
- "path_prefix": "string",
- "plugins": {
- "acl": {
- "run_mode": "allow",
- "reject_code": 403,
- "reject_msg": "The consumer is forbidden.",
- "disable": false,
- "consumer_list": [
- "string"
]
}, - "logging": {
- "log_collection_ids": [
- "string"
], - "disable": false
}, - "authentication": {
- "disable": false,
- "type": "basic_auth",
- "config": {
- "strip_credentials": true
}
}
}, - "protocol": "HTTP",
- "protocols": [
- "HTTP"
], - "upstreams": [
- {
- "upstream": {
- "scheme": "http",
- "lb_type": "roundrobin",
- "hash_key": "string",
- "retries": 65535,
- "checks": {
- "active": {
- "type": "http",
- "http": {
- "http_probe_path": "/",
- "http_probe_host": "string",
- "http_probe_headers": {
- "property1": "string",
- "property2": "string"
}, - "probe_timeout": 1,
- "concurrent_probes": 10,
- "probe_target_port": 1,
- "healthy": {
- "http_status_codes": [
- 200,
- 302
], - "targets_check_interval": 1,
- "successes": 2
}, - "unhealthy": {
- "http_status_codes": [
- 429,
- 404,
- 500,
- 501,
- 502,
- 503,
- 504,
- 505
], - "http_failures": 5,
- "targets_check_interval": 1,
- "timeouts": 3
}
}
}, - "passive": {
- "type": "http",
- "http": {
- "healthy": {
- "http_status_codes": [
- 200,
- 201,
- 202,
- 203,
- 204,
- 205,
- 206,
- 207,
- 208,
- 226,
- 300,
- 301,
- 302,
- 303,
- 304,
- 305,
- 306,
- 307,
- 308
]
}, - "unhealthy": {
- "http_status_codes": [
- 429,
- 500,
- 503
], - "http_failures": 5,
- "timeouts": 7
}
}
}
}, - "timeout": {
- "connect": 0,
- "send": 0,
- "read": 0
}, - "upstream_host_mode": "reserve",
- "upstream_host": "string",
- "targets": [
- {
- "host": "string",
- "port": 1,
- "weight": 65535
}
]
}, - "version": "string",
- "client_cert_id": "string"
}
], - "default_upstream_version": "default",
- "labels": [
- "string"
], - "active": 0,
- "cluster_id": "string",
- "created_at": "2019-08-24T14:15:22Z",
- "id": "string",
- "status": 0,
- "updated_at": "2019-08-24T14:15:22Z",
- "canary_release_id": [
- "string"
], - "canary_upstream_version_list": [
- "string"
]
}
}
Delete All Applications
Authorizations:
path Parameters
cluster_id required | string non-empty ^[1-9][0-9]*$ ClusterID is the cluster id |
query Parameters
cascade | boolean Default: false |
Responses
Response samples
- 200
- default
{- "error": "string",
- "status": {
- "code": 0,
- "message": "OK"
}
}
Get Application Details
Authorizations:
path Parameters
cluster_id required | string non-empty ^[1-9][0-9]*$ ClusterID is the cluster id |
app_id required | string^[1-9][0-9]*$ The id of the pet to retrieve |
Responses
Response samples
- 200
- default
{- "error": "string",
- "status": {
- "code": 0,
- "message": "OK"
}, - "payload": {
- "description": "string",
- "hosts": [
- "string"
], - "name": "string",
- "path_prefix": "string",
- "plugins": {
- "acl": {
- "run_mode": "allow",
- "reject_code": 403,
- "reject_msg": "The consumer is forbidden.",
- "disable": false,
- "consumer_list": [
- "string"
]
}, - "logging": {
- "log_collection_ids": [
- "string"
], - "disable": false
}, - "authentication": {
- "disable": false,
- "type": "basic_auth",
- "config": {
- "strip_credentials": true
}
}
}, - "protocol": "HTTP",
- "protocols": [
- "HTTP"
], - "upstreams": [
- {
- "upstream": {
- "scheme": "http",
- "lb_type": "roundrobin",
- "hash_key": "string",
- "retries": 65535,
- "checks": {
- "active": {
- "type": "http",
- "http": {
- "http_probe_path": "/",
- "http_probe_host": "string",
- "http_probe_headers": {
- "property1": "string",
- "property2": "string"
}, - "probe_timeout": 1,
- "concurrent_probes": 10,
- "probe_target_port": 1,
- "healthy": {
- "http_status_codes": [
- 200,
- 302
], - "targets_check_interval": 1,
- "successes": 2
}, - "unhealthy": {
- "http_status_codes": [
- 429,
- 404,
- 500,
- 501,
- 502,
- 503,
- 504,
- 505
], - "http_failures": 5,
- "targets_check_interval": 1,
- "timeouts": 3
}
}
}, - "passive": {
- "type": "http",
- "http": {
- "healthy": {
- "http_status_codes": [
- 200,
- 201,
- 202,
- 203,
- 204,
- 205,
- 206,
- 207,
- 208,
- 226,
- 300,
- 301,
- 302,
- 303,
- 304,
- 305,
- 306,
- 307,
- 308
]
}, - "unhealthy": {
- "http_status_codes": [
- 429,
- 500,
- 503
], - "http_failures": 5,
- "timeouts": 7
}
}
}
}, - "timeout": {
- "connect": 0,
- "send": 0,
- "read": 0
}, - "upstream_host_mode": "reserve",
- "upstream_host": "string",
- "targets": [
- {
- "host": "string",
- "port": 1,
- "weight": 65535
}
]
}, - "version": "string",
- "client_cert_id": "string"
}
], - "default_upstream_version": "default",
- "labels": [
- "string"
], - "active": 0,
- "cluster_id": "string",
- "created_at": "2019-08-24T14:15:22Z",
- "id": "string",
- "status": 0,
- "updated_at": "2019-08-24T14:15:22Z",
- "canary_release_id": [
- "string"
], - "canary_upstream_version_list": [
- "string"
]
}
}
Update Application
Authorizations:
path Parameters
cluster_id required | string non-empty ^[1-9][0-9]*$ ClusterID is the cluster id |
app_id required | string^[1-9][0-9]*$ The id of the pet to retrieve |
Request Body schema: application/json
non-emptydescription | string <= 256 characters |
hosts required | Array of strings non-empty unique |
name required | string [ 1 .. 64 ] characters |
path_prefix required | string [ 1 .. 4096 ] characters ^/ The listening path prefix for this application |
object Plugins contains a collect of polices like CORS. | |
protocol | string Enum: "HTTP" "HTTPS" The API Protocol definition |
protocols | Array of strings [ 1 .. 2 ] items unique Items Enum: "HTTP" "HTTPS" |
required | Array of objects [ 1 .. 10 ] items unique Upstream settings for the Application |
default_upstream_version | string [ 0 .. 64 ] characters Default: "default" |
labels | Array of strings [ 0 .. 32 ] items unique [ items [ 1 .. 32 ] characters ^[0-9a-zA-Z-_]+$ ] Labels are used for resources classification and indexing |
active | integer Default: 0 Enum: 0 1 Active is the status of the Application 0 stands for active 1 stands for inactive |
Responses
Request samples
- Payload
{- "description": "string",
- "hosts": [
- "string"
], - "name": "string",
- "path_prefix": "string",
- "plugins": {
- "acl": {
- "run_mode": "allow",
- "reject_code": 403,
- "reject_msg": "The consumer is forbidden.",
- "disable": false,
- "consumer_list": [
- "string"
]
}, - "logging": {
- "log_collection_ids": [
- "string"
], - "disable": false
}, - "authentication": {
- "disable": false,
- "type": "basic_auth",
- "config": {
- "strip_credentials": true
}
}
}, - "protocol": "HTTP",
- "protocols": [
- "HTTP"
], - "upstreams": [
- {
- "upstream": {
- "scheme": "http",
- "lb_type": "roundrobin",
- "hash_key": "string",
- "retries": 65535,
- "checks": {
- "active": {
- "type": "http",
- "http": {
- "http_probe_path": "/",
- "http_probe_host": "string",
- "http_probe_headers": {
- "property1": "string",
- "property2": "string"
}, - "probe_timeout": 1,
- "concurrent_probes": 10,
- "probe_target_port": 1,
- "healthy": {
- "http_status_codes": [
- 200,
- 302
], - "targets_check_interval": 1,
- "successes": 2
}, - "unhealthy": {
- "http_status_codes": [
- 429,
- 404,
- 500,
- 501,
- 502,
- 503,
- 504,
- 505
], - "http_failures": 5,
- "targets_check_interval": 1,
- "timeouts": 3
}
}
}, - "passive": {
- "type": "http",
- "http": {
- "healthy": {
- "http_status_codes": [
- 200,
- 201,
- 202,
- 203,
- 204,
- 205,
- 206,
- 207,
- 208,
- 226,
- 300,
- 301,
- 302,
- 303,
- 304,
- 305,
- 306,
- 307,
- 308
]
}, - "unhealthy": {
- "http_status_codes": [
- 429,
- 500,
- 503
], - "http_failures": 5,
- "timeouts": 7
}
}
}
}, - "timeout": {
- "connect": 0,
- "send": 0,
- "read": 0
}, - "upstream_host_mode": "reserve",
- "upstream_host": "string",
- "targets": [
- {
- "host": "string",
- "port": 1,
- "weight": 65535
}
]
}, - "version": "string",
- "client_cert_id": "string"
}
], - "default_upstream_version": "default",
- "labels": [
- "string"
], - "active": 0
}
Response samples
- 200
- default
{- "error": "string",
- "status": {
- "code": 0,
- "message": "OK"
}, - "payload": {
- "description": "string",
- "hosts": [
- "string"
], - "name": "string",
- "path_prefix": "string",
- "plugins": {
- "acl": {
- "run_mode": "allow",
- "reject_code": 403,
- "reject_msg": "The consumer is forbidden.",
- "disable": false,
- "consumer_list": [
- "string"
]
}, - "logging": {
- "log_collection_ids": [
- "string"
], - "disable": false
}, - "authentication": {
- "disable": false,
- "type": "basic_auth",
- "config": {
- "strip_credentials": true
}
}
}, - "protocol": "HTTP",
- "protocols": [
- "HTTP"
], - "upstreams": [
- {
- "upstream": {
- "scheme": "http",
- "lb_type": "roundrobin",
- "hash_key": "string",
- "retries": 65535,
- "checks": {
- "active": {
- "type": "http",
- "http": {
- "http_probe_path": "/",
- "http_probe_host": "string",
- "http_probe_headers": {
- "property1": "string",
- "property2": "string"
}, - "probe_timeout": 1,
- "concurrent_probes": 10,
- "probe_target_port": 1,
- "healthy": {
- "http_status_codes": [
- 200,
- 302
], - "targets_check_interval": 1,
- "successes": 2
}, - "unhealthy": {
- "http_status_codes": [
- 429,
- 404,
- 500,
- 501,
- 502,
- 503,
- 504,
- 505
], - "http_failures": 5,
- "targets_check_interval": 1,
- "timeouts": 3
}
}
}, - "passive": {
- "type": "http",
- "http": {
- "healthy": {
- "http_status_codes": [
- 200,
- 201,
- 202,
- 203,
- 204,
- 205,
- 206,
- 207,
- 208,
- 226,
- 300,
- 301,
- 302,
- 303,
- 304,
- 305,
- 306,
- 307,
- 308
]
}, - "unhealthy": {
- "http_status_codes": [
- 429,
- 500,
- 503
], - "http_failures": 5,
- "timeouts": 7
}
}
}
}, - "timeout": {
- "connect": 0,
- "send": 0,
- "read": 0
}, - "upstream_host_mode": "reserve",
- "upstream_host": "string",
- "targets": [
- {
- "host": "string",
- "port": 1,
- "weight": 65535
}
]
}, - "version": "string",
- "client_cert_id": "string"
}
], - "default_upstream_version": "default",
- "labels": [
- "string"
], - "active": 0,
- "cluster_id": "string",
- "created_at": "2019-08-24T14:15:22Z",
- "id": "string",
- "status": 0,
- "updated_at": "2019-08-24T14:15:22Z",
- "canary_release_id": [
- "string"
], - "canary_upstream_version_list": [
- "string"
]
}
}
Patch Application
Authorizations:
path Parameters
cluster_id required | string non-empty ^[1-9][0-9]*$ ClusterID is the cluster id |
app_id required | string^[1-9][0-9]*$ The id of the pet to retrieve |
Request Body schema: application/json
non-emptydescription | string <= 256 characters |
hosts | Array of strings non-empty unique |
name | string [ 1 .. 64 ] characters |
path_prefix | string [ 1 .. 4096 ] characters ^/ The listening path prefix for this application |
object Plugins contains a collect of polices like CORS. | |
protocol | string Enum: "HTTP" "HTTPS" The API Protocol definition |
protocols | Array of strings [ 1 .. 2 ] items unique Items Enum: "HTTP" "HTTPS" |
Array of objects [ 1 .. 10 ] items unique Upstream settings for the Application | |
default_upstream_version | string [ 0 .. 64 ] characters Default: "default" |
labels | Array of strings [ 0 .. 32 ] items unique [ items [ 1 .. 32 ] characters ^[0-9a-zA-Z-_]+$ ] Labels are used for resources classification and indexing |
active | integer Default: 0 Enum: 0 1 Active is the status of the Application 0 stands for active 1 stands for inactive |
Responses
Request samples
- Payload
{- "description": "string",
- "hosts": [
- "string"
], - "name": "string",
- "path_prefix": "string",
- "plugins": {
- "acl": {
- "run_mode": "allow",
- "reject_code": 403,
- "reject_msg": "The consumer is forbidden.",
- "disable": false,
- "consumer_list": [
- "string"
]
}, - "logging": {
- "log_collection_ids": [
- "string"
], - "disable": false
}, - "authentication": {
- "disable": false,
- "type": "basic_auth",
- "config": {
- "strip_credentials": true
}
}
}, - "protocol": "HTTP",
- "protocols": [
- "HTTP"
], - "upstreams": [
- {
- "upstream": {
- "scheme": "http",
- "lb_type": "roundrobin",
- "hash_key": "string",
- "retries": 65535,
- "checks": {
- "active": {
- "type": "http",
- "http": {
- "http_probe_path": "/",
- "http_probe_host": "string",
- "http_probe_headers": {
- "property1": "string",
- "property2": "string"
}, - "probe_timeout": 1,
- "concurrent_probes": 10,
- "probe_target_port": 1,
- "healthy": {
- "http_status_codes": [
- 200,
- 302
], - "targets_check_interval": 1,
- "successes": 2
}, - "unhealthy": {
- "http_status_codes": [
- 429,
- 404,
- 500,
- 501,
- 502,
- 503,
- 504,
- 505
], - "http_failures": 5,
- "targets_check_interval": 1,
- "timeouts": 3
}
}
}, - "passive": {
- "type": "http",
- "http": {
- "healthy": {
- "http_status_codes": [
- 200,
- 201,
- 202,
- 203,
- 204,
- 205,
- 206,
- 207,
- 208,
- 226,
- 300,
- 301,
- 302,
- 303,
- 304,
- 305,
- 306,
- 307,
- 308
]
}, - "unhealthy": {
- "http_status_codes": [
- 429,
- 500,
- 503
], - "http_failures": 5,
- "timeouts": 7
}
}
}
}, - "timeout": {
- "connect": 0,
- "send": 0,
- "read": 0
}, - "upstream_host_mode": "reserve",
- "upstream_host": "string",
- "targets": [
- {
- "host": "string",
- "port": 1,
- "weight": 65535
}
]
}, - "version": "string",
- "client_cert_id": "string"
}
], - "default_upstream_version": "default",
- "labels": [
- "string"
], - "active": 0
}
Response samples
- 200
- default
{- "error": "string",
- "status": {
- "code": 0,
- "message": "OK"
}, - "payload": {
- "description": "string",
- "hosts": [
- "string"
], - "name": "string",
- "path_prefix": "string",
- "plugins": {
- "acl": {
- "run_mode": "allow",
- "reject_code": 403,
- "reject_msg": "The consumer is forbidden.",
- "disable": false,
- "consumer_list": [
- "string"
]
}, - "logging": {
- "log_collection_ids": [
- "string"
], - "disable": false
}, - "authentication": {
- "disable": false,
- "type": "basic_auth",
- "config": {
- "strip_credentials": true
}
}
}, - "protocol": "HTTP",
- "protocols": [
- "HTTP"
], - "upstreams": [
- {
- "upstream": {
- "scheme": "http",
- "lb_type": "roundrobin",
- "hash_key": "string",
- "retries": 65535,
- "checks": {
- "active": {
- "type": "http",
- "http": {
- "http_probe_path": "/",
- "http_probe_host": "string",
- "http_probe_headers": {
- "property1": "string",
- "property2": "string"
}, - "probe_timeout": 1,
- "concurrent_probes": 10,
- "probe_target_port": 1,
- "healthy": {
- "http_status_codes": [
- 200,
- 302
], - "targets_check_interval": 1,
- "successes": 2
}, - "unhealthy": {
- "http_status_codes": [
- 429,
- 404,
- 500,
- 501,
- 502,
- 503,
- 504,
- 505
], - "http_failures": 5,
- "targets_check_interval": 1,
- "timeouts": 3
}
}
}, - "passive": {
- "type": "http",
- "http": {
- "healthy": {
- "http_status_codes": [
- 200,
- 201,
- 202,
- 203,
- 204,
- 205,
- 206,
- 207,
- 208,
- 226,
- 300,
- 301,
- 302,
- 303,
- 304,
- 305,
- 306,
- 307,
- 308
]
}, - "unhealthy": {
- "http_status_codes": [
- 429,
- 500,
- 503
], - "http_failures": 5,
- "timeouts": 7
}
}
}
}, - "timeout": {
- "connect": 0,
- "send": 0,
- "read": 0
}, - "upstream_host_mode": "reserve",
- "upstream_host": "string",
- "targets": [
- {
- "host": "string",
- "port": 1,
- "weight": 65535
}
]
}, - "version": "string",
- "client_cert_id": "string"
}
], - "default_upstream_version": "default",
- "labels": [
- "string"
], - "active": 0,
- "cluster_id": "string",
- "created_at": "2019-08-24T14:15:22Z",
- "id": "string",
- "status": 0,
- "updated_at": "2019-08-24T14:15:22Z",
- "canary_release_id": [
- "string"
], - "canary_upstream_version_list": [
- "string"
]
}
}
Delete Application
Authorizations:
path Parameters
cluster_id required | string non-empty ^[1-9][0-9]*$ ClusterID is the cluster id |
app_id required | string^[1-9][0-9]*$ The id of the pet to retrieve |
query Parameters
cascade | boolean Default: false |
Responses
Response samples
- 200
- default
{- "error": "string",
- "status": {
- "code": 0,
- "message": "OK"
}
}
Create Application
Authorizations:
path Parameters
cluster_id required | string non-empty ^[1-9][0-9]*$ ClusterID is the cluster id |
Request Body schema: application/json
openapi required | string |
Responses
Request samples
- Payload
{- "openapi": "string"
}
Response samples
- 200
- default
{- "error": "string",
- "status": {
- "code": 0,
- "message": "OK"
}
}
List APIs
Authorizations:
path Parameters
app_id required | string^[1-9][0-9]*$ The id of the pet to retrieve |
query Parameters
order_by | string Default: "updated_at" Enum: "created_at" "updated_at" "name" |
direction | string Default: "DESC" Enum: "ASC" "DESC" Direction should be ASC or DESC (case-insensitive). Default value is DESC. |
page_size | integer <int64> >= 1 Default: 10 PageSize is the page size. Must greater than 0. |
page | integer <int64> >= 1 Default: 1 Page is the page number, starting from 1. |
search | string search is used to filter the result |
labels | Array of strings [ 0 .. 32 ] items [ items [ 1 .. 32 ] characters ^[0-9a-zA-Z-_]+$ ] Labels are used to filter the result |
Responses
Response samples
- 200
- default
{- "error": "string",
- "status": {
- "code": 0,
- "message": "OK"
}, - "payload": {
- "count": 0,
- "list": [
- {
- "active": 0,
- "description": "string",
- "methods": [
- "GET"
], - "name": "string",
- "paths": [
- {
- "path": "string",
- "path_type": "Exact"
}
], - "fine_grained_route_control": {
- "enabled": false,
- "logical_relationship": "All",
- "expressions": [
- {
- "subject": "header",
- "name": "string",
- "operator": "equal",
- "value": "string"
}
]
}, - "plugins": {
- "acl": {
- "run_mode": "allow",
- "reject_code": 403,
- "reject_msg": "The consumer is forbidden.",
- "disable": false,
- "consumer_list": [
- "string"
]
}, - "logging": {
- "log_collection_ids": [
- "string"
], - "disable": false
}, - "authentication": {
- "disable": false,
- "type": "basic_auth",
- "config": {
- "strip_credentials": true
}
}
}, - "strip_path_prefix": true,
- "labels": [
- "string"
], - "type": "Rest",
- "app_id": "string",
- "created_at": "2019-08-24T14:15:22Z",
- "id": "string",
- "status": 0,
- "updated_at": "2019-08-24T14:15:22Z"
}
]
}
}
Create API
Authorizations:
path Parameters
app_id required | string^[1-9][0-9]*$ The id of the pet to retrieve |
Request Body schema: application/json
non-emptyactive | integer <int64> Enum: 0 1 Active is the status of the API 0 stands for active 1 stands for inactive |
description | string <= 256 characters |
Array of strings or Array of strings Allowed HTTP methods to access this API, if absent, all HTTP methods are allowed | |
name required | string [ 1 .. 64 ] characters |
required | Array of objects [ 1 .. 64 ] items Which URI paths can be matched to this API |
object Fine grained route control settings. | |
object Plugins contains a collect of polices like CORS. | |
strip_path_prefix | boolean Whether to strip the path prefix (defined in the Application) |
labels | Array of strings [ 0 .. 32 ] items unique [ items [ 1 .. 32 ] characters ^[0-9a-zA-Z-_]+$ ] Labels are used for resources classification and indexing |
type | string Default: "Rest" Enum: "Rest" "WebSocket" Type is the type of the API Rest means this is a Rest API. WebSocket means this is a WebSocket API. |
Responses
Request samples
- Payload
{- "active": 0,
- "description": "string",
- "methods": [
- "GET"
], - "name": "string",
- "paths": [
- {
- "path": "string",
- "path_type": "Exact"
}
], - "fine_grained_route_control": {
- "enabled": false,
- "logical_relationship": "All",
- "expressions": [
- {
- "subject": "header",
- "name": "string",
- "operator": "equal",
- "value": "string"
}
]
}, - "plugins": {
- "acl": {
- "run_mode": "allow",
- "reject_code": 403,
- "reject_msg": "The consumer is forbidden.",
- "disable": false,
- "consumer_list": [
- "string"
]
}, - "logging": {
- "log_collection_ids": [
- "string"
], - "disable": false
}, - "authentication": {
- "disable": false,
- "type": "basic_auth",
- "config": {
- "strip_credentials": true
}
}
}, - "strip_path_prefix": true,
- "labels": [
- "string"
], - "type": "Rest"
}
Response samples
- 200
- default
{- "error": "string",
- "status": {
- "code": 0,
- "message": "OK"
}
}
Get API Details
Authorizations:
path Parameters
app_id required | string^[1-9][0-9]*$ The id of the pet to retrieve |
api_id required | string^[1-9][0-9]*$ APIID is the API id |
Responses
Response samples
- 200
- default
{- "error": "string",
- "status": {
- "code": 0,
- "message": "OK"
}, - "payload": {
- "active": 0,
- "description": "string",
- "methods": [
- "GET"
], - "name": "string",
- "paths": [
- {
- "path": "string",
- "path_type": "Exact"
}
], - "fine_grained_route_control": {
- "enabled": false,
- "logical_relationship": "All",
- "expressions": [
- {
- "subject": "header",
- "name": "string",
- "operator": "equal",
- "value": "string"
}
]
}, - "plugins": {
- "acl": {
- "run_mode": "allow",
- "reject_code": 403,
- "reject_msg": "The consumer is forbidden.",
- "disable": false,
- "consumer_list": [
- "string"
]
}, - "logging": {
- "log_collection_ids": [
- "string"
], - "disable": false
}, - "authentication": {
- "disable": false,
- "type": "basic_auth",
- "config": {
- "strip_credentials": true
}
}
}, - "strip_path_prefix": true,
- "labels": [
- "string"
], - "type": "Rest",
- "app_id": "string",
- "created_at": "2019-08-24T14:15:22Z",
- "id": "string",
- "status": 0,
- "updated_at": "2019-08-24T14:15:22Z"
}
}
Update API
Authorizations:
path Parameters
app_id required | string^[1-9][0-9]*$ The id of the pet to retrieve |
api_id required | string^[1-9][0-9]*$ APIID is the API id |
Request Body schema: application/json
non-emptyactive | integer <int64> Enum: 0 1 Active is the status of the API 0 stands for active 1 stands for inactive |
description | string <= 256 characters |
Array of strings or Array of strings Allowed HTTP methods to access this API, if absent, all HTTP methods are allowed | |
name required | string [ 1 .. 64 ] characters |
required | Array of objects [ 1 .. 64 ] items Which URI paths can be matched to this API |
object Fine grained route control settings. | |
object Plugins contains a collect of polices like CORS. | |
strip_path_prefix | boolean Whether to strip the path prefix (defined in the Application) |
labels | Array of strings [ 0 .. 32 ] items unique [ items [ 1 .. 32 ] characters ^[0-9a-zA-Z-_]+$ ] Labels are used for resources classification and indexing |
type | string Default: "Rest" Enum: "Rest" "WebSocket" Type is the type of the API Rest means this is a Rest API. WebSocket means this is a WebSocket API. |
Responses
Request samples
- Payload
{- "active": 0,
- "description": "string",
- "methods": [
- "GET"
], - "name": "string",
- "paths": [
- {
- "path": "string",
- "path_type": "Exact"
}
], - "fine_grained_route_control": {
- "enabled": false,
- "logical_relationship": "All",
- "expressions": [
- {
- "subject": "header",
- "name": "string",
- "operator": "equal",
- "value": "string"
}
]
}, - "plugins": {
- "acl": {
- "run_mode": "allow",
- "reject_code": 403,
- "reject_msg": "The consumer is forbidden.",
- "disable": false,
- "consumer_list": [
- "string"
]
}, - "logging": {
- "log_collection_ids": [
- "string"
], - "disable": false
}, - "authentication": {
- "disable": false,
- "type": "basic_auth",
- "config": {
- "strip_credentials": true
}
}
}, - "strip_path_prefix": true,
- "labels": [
- "string"
], - "type": "Rest"
}
Response samples
- 200
- default
{- "error": "string",
- "status": {
- "code": 0,
- "message": "OK"
}, - "payload": {
- "active": 0,
- "description": "string",
- "methods": [
- "GET"
], - "name": "string",
- "paths": [
- {
- "path": "string",
- "path_type": "Exact"
}
], - "fine_grained_route_control": {
- "enabled": false,
- "logical_relationship": "All",
- "expressions": [
- {
- "subject": "header",
- "name": "string",
- "operator": "equal",
- "value": "string"
}
]
}, - "plugins": {
- "acl": {
- "run_mode": "allow",
- "reject_code": 403,
- "reject_msg": "The consumer is forbidden.",
- "disable": false,
- "consumer_list": [
- "string"
]
}, - "logging": {
- "log_collection_ids": [
- "string"
], - "disable": false
}, - "authentication": {
- "disable": false,
- "type": "basic_auth",
- "config": {
- "strip_credentials": true
}
}
}, - "strip_path_prefix": true,
- "labels": [
- "string"
], - "type": "Rest",
- "app_id": "string",
- "created_at": "2019-08-24T14:15:22Z",
- "id": "string",
- "status": 0,
- "updated_at": "2019-08-24T14:15:22Z"
}
}
Patch API
Authorizations:
path Parameters
app_id required | string^[1-9][0-9]*$ The id of the pet to retrieve |
api_id required | string^[1-9][0-9]*$ APIID is the API id |
Request Body schema: application/json
non-emptyactive | integer <int64> Enum: 0 1 Active is the status of the API 0 stands for active 1 stands for inactive |
description | string <= 256 characters |
Array of strings or Array of strings Allowed HTTP methods to access this API, if absent, all HTTP methods are allowed | |
name | string [ 1 .. 64 ] characters |
Array of objects [ 1 .. 64 ] items Which URI paths can be matched to this API | |
object Fine grained route control settings. | |
object Plugins contains a collect of polices like CORS. | |
strip_path_prefix | boolean Whether to strip the path prefix (defined in the Application) |
labels | Array of strings [ 0 .. 32 ] items unique [ items [ 1 .. 32 ] characters ^[0-9a-zA-Z-_]+$ ] Labels are used for resources classification and indexing |
type | string Default: "Rest" Enum: "Rest" "WebSocket" Type is the type of the API Rest means this is a Rest API. WebSocket means this is a WebSocket API. |
Responses
Request samples
- Payload
{- "active": 0,
- "description": "string",
- "methods": [
- "GET"
], - "name": "string",
- "paths": [
- {
- "path": "string",
- "path_type": "Exact"
}
], - "fine_grained_route_control": {
- "enabled": false,
- "logical_relationship": "All",
- "expressions": [
- {
- "subject": "header",
- "name": "string",
- "operator": "equal",
- "value": "string"
}
]
}, - "plugins": {
- "acl": {
- "run_mode": "allow",
- "reject_code": 403,
- "reject_msg": "The consumer is forbidden.",
- "disable": false,
- "consumer_list": [
- "string"
]
}, - "logging": {
- "log_collection_ids": [
- "string"
], - "disable": false
}, - "authentication": {
- "disable": false,
- "type": "basic_auth",
- "config": {
- "strip_credentials": true
}
}
}, - "strip_path_prefix": true,
- "labels": [
- "string"
], - "type": "Rest"
}
Response samples
- 200
- default
{- "error": "string",
- "status": {
- "code": 0,
- "message": "OK"
}, - "payload": {
- "active": 0,
- "description": "string",
- "methods": [
- "GET"
], - "name": "string",
- "paths": [
- {
- "path": "string",
- "path_type": "Exact"
}
], - "fine_grained_route_control": {
- "enabled": false,
- "logical_relationship": "All",
- "expressions": [
- {
- "subject": "header",
- "name": "string",
- "operator": "equal",
- "value": "string"
}
]
}, - "plugins": {
- "acl": {
- "run_mode": "allow",
- "reject_code": 403,
- "reject_msg": "The consumer is forbidden.",
- "disable": false,
- "consumer_list": [
- "string"
]
}, - "logging": {
- "log_collection_ids": [
- "string"
], - "disable": false
}, - "authentication": {
- "disable": false,
- "type": "basic_auth",
- "config": {
- "strip_credentials": true
}
}
}, - "strip_path_prefix": true,
- "labels": [
- "string"
], - "type": "Rest",
- "app_id": "string",
- "created_at": "2019-08-24T14:15:22Z",
- "id": "string",
- "status": 0,
- "updated_at": "2019-08-24T14:15:22Z"
}
}
Search APIs in current cluster (also include their parent applications)
Authorizations:
path Parameters
cluster_id required | string non-empty ^[1-9][0-9]*$ ClusterID is the cluster id |
query Parameters
search | string search is used to filter the result |
order_by | string Default: "updated_at" Enum: "created_at" "updated_at" "name" |
direction | string Default: "DESC" Enum: "ASC" "DESC" Direction should be ASC or DESC (case-insensitive). Default value is DESC. |
page_size | integer <int64> >= 1 Default: 10 PageSize is the page size. Must greater than 0. |
page | integer <int64> >= 1 Default: 1 Page is the page number, starting from 1. |
Responses
Response samples
- 200
- default
{- "error": "string",
- "status": {
- "code": 0,
- "message": "OK"
}, - "payload": {
- "count": 0,
- "list": [
- {
- "api": {
- "active": 0,
- "description": "string",
- "methods": [
- "GET"
], - "name": "string",
- "paths": [
- {
- "path": "string",
- "path_type": "Exact"
}
], - "fine_grained_route_control": {
- "enabled": false,
- "logical_relationship": "All",
- "expressions": [
- {
- "subject": "header",
- "name": "string",
- "operator": "equal",
- "value": "string"
}
]
}, - "plugins": {
- "acl": {
- "run_mode": "allow",
- "reject_code": 403,
- "reject_msg": "The consumer is forbidden.",
- "disable": false,
- "consumer_list": [
- "string"
]
}, - "logging": {
- "log_collection_ids": [
- "string"
], - "disable": false
}, - "authentication": {
- "disable": false,
- "type": "basic_auth",
- "config": {
- "strip_credentials": true
}
}
}, - "strip_path_prefix": true,
- "labels": [
- "string"
], - "type": "Rest",
- "app_id": "string",
- "created_at": "2019-08-24T14:15:22Z",
- "id": "string",
- "status": 0,
- "updated_at": "2019-08-24T14:15:22Z"
}, - "application": {
- "id": "string",
- "name": "string"
}
}
]
}
}
List Consumers
Authorizations:
path Parameters
cluster_id required | string non-empty ^[1-9][0-9]*$ ClusterID is the cluster id |
query Parameters
direction | string Default: "DESC" Enum: "ASC" "DESC" Direction should be ASC or DESC (case-insensitive). Default value is DESC. |
page_size | integer <int64> >= 1 Default: 10 PageSize is the page size. Must greater than 0. |
page | integer <int64> >= 1 Default: 1 Page is the page number, starting from 1. |
order_by | string Default: "updated_at" Enum: "created_at" "updated_at" "name" |
search | string search is used to filter the result |
labels | Array of strings [ 0 .. 32 ] items [ items [ 1 .. 32 ] characters ^[0-9a-zA-Z-_]+$ ] Labels are used to filter the result |
Responses
Response samples
- 200
- default
{- "error": "string",
- "status": {
- "code": 0,
- "message": "OK"
}, - "payload": {
- "count": 0,
- "list": [
- {
- "description": "jack is the most important API consumer.",
- "name": "jack",
- "credentials": {
- "basic_auth": {
- "password": "string",
- "username": "string"
}, - "hmac_auth": {
- "access_key": "string",
- "algorithm": "hmac-sha1",
- "clock_skew": 0,
- "encode_uri_params": true,
- "max_req_body": 524288,
- "secret_key": "string",
- "signed_headers": [
- "string"
], - "validate_request_body": false
}, - "key_auth": {
- "key": "d41d8cd98f00b204e9800998ecf8427e"
}, - "jwt_auth": {
- "key": "user-key",
- "base_64_secret": true,
- "secret": "string",
- "algorithm": "HS256"
}, - "ldap_auth": {
- "user_dn": "string"
}
}, - "plugins": {
- "acl": {
- "run_mode": "allow",
- "reject_code": 403,
- "reject_msg": "The consumer is forbidden.",
- "disable": false,
- "consumer_list": [
- "string"
]
}, - "logging": {
- "log_collection_ids": [
- "string"
], - "disable": false
}
}, - "labels": [
- "string"
], - "cluster_id": "string",
- "created_at": "2019-08-24T14:15:22Z",
- "id": "string",
- "status": 0,
- "updated_at": "2019-08-24T14:15:22Z"
}
]
}
}
Create Consumer
Authorizations:
path Parameters
cluster_id required | string non-empty ^[1-9][0-9]*$ ClusterID is the cluster id |
Request Body schema: application/json
non-emptydescription | string <= 256 characters Description for this consumer. |
name required | string [ 1 .. 100 ] characters ^[a-zA-Z0-9_]+$ Name of the consumer, should be unique among all applications in the same cluster. |
object or null ConsumerCredentials contains a collect of policies can be configured on the consumer. | |
object Policies contains a collect of polices like CORS, but exclude authentication policy | |
labels | Array of strings [ 0 .. 32 ] items unique [ items [ 1 .. 32 ] characters ^[0-9a-zA-Z-_]+$ ] Labels are used for resources classification and indexing |
Responses
Request samples
- Payload
{- "description": "jack is the most important API consumer.",
- "name": "jack",
- "credentials": {
- "basic_auth": {
- "password": "string",
- "username": "string"
}, - "hmac_auth": {
- "access_key": "string",
- "algorithm": "hmac-sha1",
- "clock_skew": 0,
- "encode_uri_params": true,
- "max_req_body": 524288,
- "secret_key": "string",
- "signed_headers": [
- "string"
], - "validate_request_body": false
}, - "key_auth": {
- "key": "d41d8cd98f00b204e9800998ecf8427e"
}, - "jwt_auth": {
- "key": "user-key",
- "base_64_secret": true,
- "secret": "string",
- "algorithm": "HS256"
}, - "ldap_auth": {
- "user_dn": "string"
}
}, - "plugins": {
- "acl": {
- "run_mode": "allow",
- "reject_code": 403,
- "reject_msg": "The consumer is forbidden.",
- "disable": false,
- "consumer_list": [
- "string"
]
}, - "logging": {
- "log_collection_ids": [
- "string"
], - "disable": false
}
}, - "labels": [
- "string"
]
}
Response samples
- 200
- default
{- "error": "string",
- "status": {
- "code": 0,
- "message": "OK"
}, - "payload": {
- "description": "jack is the most important API consumer.",
- "name": "jack",
- "credentials": {
- "basic_auth": {
- "password": "string",
- "username": "string"
}, - "hmac_auth": {
- "access_key": "string",
- "algorithm": "hmac-sha1",
- "clock_skew": 0,
- "encode_uri_params": true,
- "max_req_body": 524288,
- "secret_key": "string",
- "signed_headers": [
- "string"
], - "validate_request_body": false
}, - "key_auth": {
- "key": "d41d8cd98f00b204e9800998ecf8427e"
}, - "jwt_auth": {
- "key": "user-key",
- "base_64_secret": true,
- "secret": "string",
- "algorithm": "HS256"
}, - "ldap_auth": {
- "user_dn": "string"
}
}, - "plugins": {
- "acl": {
- "run_mode": "allow",
- "reject_code": 403,
- "reject_msg": "The consumer is forbidden.",
- "disable": false,
- "consumer_list": [
- "string"
]
}, - "logging": {
- "log_collection_ids": [
- "string"
], - "disable": false
}
}, - "labels": [
- "string"
], - "cluster_id": "string",
- "created_at": "2019-08-24T14:15:22Z",
- "id": "string",
- "status": 0,
- "updated_at": "2019-08-24T14:15:22Z"
}
}
Get Consumer Details
Authorizations:
path Parameters
cluster_id required | string non-empty ^[1-9][0-9]*$ ClusterID is the cluster id |
consumer_id required | string non-empty ^[1-9][0-9]*$ ConsumerId is the consumer id |
Responses
Response samples
- 200
- default
{- "error": "string",
- "status": {
- "code": 0,
- "message": "OK"
}, - "payload": {
- "description": "jack is the most important API consumer.",
- "name": "jack",
- "credentials": {
- "basic_auth": {
- "password": "string",
- "username": "string"
}, - "hmac_auth": {
- "access_key": "string",
- "algorithm": "hmac-sha1",
- "clock_skew": 0,
- "encode_uri_params": true,
- "max_req_body": 524288,
- "secret_key": "string",
- "signed_headers": [
- "string"
], - "validate_request_body": false
}, - "key_auth": {
- "key": "d41d8cd98f00b204e9800998ecf8427e"
}, - "jwt_auth": {
- "key": "user-key",
- "base_64_secret": true,
- "secret": "string",
- "algorithm": "HS256"
}, - "ldap_auth": {
- "user_dn": "string"
}
}, - "plugins": {
- "acl": {
- "run_mode": "allow",
- "reject_code": 403,
- "reject_msg": "The consumer is forbidden.",
- "disable": false,
- "consumer_list": [
- "string"
]
}, - "logging": {
- "log_collection_ids": [
- "string"
], - "disable": false
}
}, - "labels": [
- "string"
], - "cluster_id": "string",
- "created_at": "2019-08-24T14:15:22Z",
- "id": "string",
- "status": 0,
- "updated_at": "2019-08-24T14:15:22Z"
}
}
Update Consumer
Authorizations:
path Parameters
cluster_id required | string non-empty ^[1-9][0-9]*$ ClusterID is the cluster id |
consumer_id required | string non-empty ^[1-9][0-9]*$ ConsumerId is the consumer id |
Request Body schema: application/json
non-emptydescription | string <= 256 characters Description for this consumer. |
name required | string [ 1 .. 100 ] characters ^[a-zA-Z0-9_]+$ Name of the consumer, should be unique among all applications in the same cluster. |
object or null ConsumerCredentials contains a collect of policies can be configured on the consumer. | |
object Policies contains a collect of polices like CORS, but exclude authentication policy | |
labels | Array of strings [ 0 .. 32 ] items unique [ items [ 1 .. 32 ] characters ^[0-9a-zA-Z-_]+$ ] Labels are used for resources classification and indexing |
Responses
Request samples
- Payload
{- "description": "jack is the most important API consumer.",
- "name": "jack",
- "credentials": {
- "basic_auth": {
- "password": "string",
- "username": "string"
}, - "hmac_auth": {
- "access_key": "string",
- "algorithm": "hmac-sha1",
- "clock_skew": 0,
- "encode_uri_params": true,
- "max_req_body": 524288,
- "secret_key": "string",
- "signed_headers": [
- "string"
], - "validate_request_body": false
}, - "key_auth": {
- "key": "d41d8cd98f00b204e9800998ecf8427e"
}, - "jwt_auth": {
- "key": "user-key",
- "base_64_secret": true,
- "secret": "string",
- "algorithm": "HS256"
}, - "ldap_auth": {
- "user_dn": "string"
}
}, - "plugins": {
- "acl": {
- "run_mode": "allow",
- "reject_code": 403,
- "reject_msg": "The consumer is forbidden.",
- "disable": false,
- "consumer_list": [
- "string"
]
}, - "logging": {
- "log_collection_ids": [
- "string"
], - "disable": false
}
}, - "labels": [
- "string"
]
}
Response samples
- 200
- default
{- "error": "string",
- "status": {
- "code": 0,
- "message": "OK"
}
}
Patch Consumer
Authorizations:
path Parameters
cluster_id required | string non-empty ^[1-9][0-9]*$ ClusterID is the cluster id |
consumer_id required | string non-empty ^[1-9][0-9]*$ ConsumerId is the consumer id |
Request Body schema: application/json
non-emptydescription | string <= 256 characters Description for this consumer. |
name | string [ 1 .. 100 ] characters ^[a-zA-Z0-9_]+$ Name of the consumer, should be unique among all applications in the same cluster. |
object or null ConsumerCredentials contains a collect of policies can be configured on the consumer. | |
object Policies contains a collect of polices like CORS, but exclude authentication policy | |
labels | Array of strings [ 0 .. 32 ] items unique [ items [ 1 .. 32 ] characters ^[0-9a-zA-Z-_]+$ ] Labels are used for resources classification and indexing |
Responses
Request samples
- Payload
{- "description": "jack is the most important API consumer.",
- "name": "jack",
- "credentials": {
- "basic_auth": {
- "password": "string",
- "username": "string"
}, - "hmac_auth": {
- "access_key": "string",
- "algorithm": "hmac-sha1",
- "clock_skew": 0,
- "encode_uri_params": true,
- "max_req_body": 524288,
- "secret_key": "string",
- "signed_headers": [
- "string"
], - "validate_request_body": false
}, - "key_auth": {
- "key": "d41d8cd98f00b204e9800998ecf8427e"
}, - "jwt_auth": {
- "key": "user-key",
- "base_64_secret": true,
- "secret": "string",
- "algorithm": "HS256"
}, - "ldap_auth": {
- "user_dn": "string"
}
}, - "plugins": {
- "acl": {
- "run_mode": "allow",
- "reject_code": 403,
- "reject_msg": "The consumer is forbidden.",
- "disable": false,
- "consumer_list": [
- "string"
]
}, - "logging": {
- "log_collection_ids": [
- "string"
], - "disable": false
}
}, - "labels": [
- "string"
]
}
Response samples
- 200
- default
{- "error": "string",
- "status": {
- "code": 0,
- "message": "OK"
}
}
Delete Consumer
Authorizations:
path Parameters
cluster_id required | string non-empty ^[1-9][0-9]*$ ClusterID is the cluster id |
consumer_id required | string non-empty ^[1-9][0-9]*$ ConsumerId is the consumer id |
Responses
Response samples
- 200
- default
{- "error": "string",
- "status": {
- "code": 0,
- "message": "OK"
}
}
Create an JSON Web Token
Authorizations:
path Parameters
cluster_id required | string non-empty ^[1-9][0-9]*$ ClusterID is the cluster id |
consumer_id required | string non-empty ^[1-9][0-9]*$ ConsumerId is the consumer id |
Request Body schema: application/json
ttl | integer <int64> >= 1 Default: 86400 TTL is the time to live of token. |
custom_payload | object non-empty CustomPayload contains some custom key-value fields. These fields will also be kept in the JSON Web Token. |
Responses
Request samples
- Payload
{- "ttl": 86400,
- "custom_payload": { }
}
Response samples
- 200
- default
{- "error": "string",
- "status": {
- "code": 0,
- "message": "OK"
}
}
List Certificates
Authorizations:
path Parameters
cluster_id required | string non-empty ^[1-9][0-9]*$ ClusterID is the cluster id |
query Parameters
direction | string Default: "DESC" Enum: "ASC" "DESC" Direction should be ASC or DESC (case-insensitive). Default value is DESC. |
page_size | integer <int64> >= 1 Default: 10 PageSize is the page size. Must greater than 0. |
page | integer <int64> >= 1 Default: 1 Page is the page number, starting from 1. |
order_by | string Default: "updated_at" Enum: "not_after" "created_at" "updated_at" |
labels | Array of strings [ 0 .. 32 ] items [ items [ 1 .. 32 ] characters ^[0-9a-zA-Z-_]+$ ] Labels are used to filter the result |
search | string search is used to filter the result |
Responses
Response samples
- 200
- default
{- "error": "string",
- "status": {
- "code": 0,
- "message": "OK"
}, - "payload": {
- "count": 0,
- "list": [
- {
- "extensions": {
- "property1": "string",
- "property2": "string"
}, - "issuer": "string",
- "not_after": "2019-08-24T14:15:22Z",
- "not_before": "2019-08-24T14:15:22Z",
- "serial_number": "string",
- "signature_algorithm": "string",
- "snis": [
- "string"
], - "subject": "string",
- "cluster_id": "string",
- "created_at": "2019-08-24T14:15:22Z",
- "id": "string",
- "status": 0,
- "updated_at": "2019-08-24T14:15:22Z",
- "ca_certificate": {
- "extensions": {
- "property1": "string",
- "property2": "string"
}, - "issuer": "string",
- "not_after": "2019-08-24T14:15:22Z",
- "not_before": "2019-08-24T14:15:22Z",
- "serial_number": "string",
- "signature_algorithm": "string",
- "snis": [
- "string"
], - "subject": "string"
}, - "labels": [
- "string"
], - "type": "Server"
}
]
}
}
Create Certificate
Authorizations:
path Parameters
cluster_id required | string non-empty ^[1-9][0-9]*$ ClusterID is the cluster id |
Request Body schema: application/json
certificate required | string [ 128 .. 65536 ] characters The certificate in PEM format. |
private_key required | string [ 128 .. 65536 ] characters The private key for the corresponding certificate in PEM format. |
ca_certificate | string [ 128 .. 65536 ] characters The client CA certificate in PEM format. |
labels | Array of strings [ 0 .. 32 ] items unique [ items [ 1 .. 32 ] characters ^[0-9a-zA-Z-_]+$ ] Labels are used for resources classification and indexing |
type | string Default: "Server" Enum: "Server" "Client" The certificate type. |
Responses
Request samples
- Payload
{- "certificate": "stringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringst",
- "private_key": "stringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringst",
- "ca_certificate": "stringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringst",
- "labels": [
- "string"
], - "type": "Server"
}
Response samples
- 200
- default
{- "error": "string",
- "status": {
- "code": 0,
- "message": "OK"
}, - "payload": {
- "extensions": {
- "property1": "string",
- "property2": "string"
}, - "issuer": "string",
- "not_after": "2019-08-24T14:15:22Z",
- "not_before": "2019-08-24T14:15:22Z",
- "serial_number": "string",
- "signature_algorithm": "string",
- "snis": [
- "string"
], - "subject": "string",
- "cluster_id": "string",
- "created_at": "2019-08-24T14:15:22Z",
- "id": "string",
- "status": 0,
- "updated_at": "2019-08-24T14:15:22Z",
- "ca_certificate": {
- "extensions": {
- "property1": "string",
- "property2": "string"
}, - "issuer": "string",
- "not_after": "2019-08-24T14:15:22Z",
- "not_before": "2019-08-24T14:15:22Z",
- "serial_number": "string",
- "signature_algorithm": "string",
- "snis": [
- "string"
], - "subject": "string"
}, - "labels": [
- "string"
], - "type": "Server"
}
}