API7 Enterprise Admin APIs (3.2.11.5)
Download OpenAPI specification:Download
API7 Enterprise Admin APIs are RESTful APIs that allow you to create and manage API7 resources.
Create a service.
Authorizations:
Request Body schema: application/json
non-emptyname required | string [ 1 .. 255 ] characters The object name. |
object | |
desc | string The object description. |
hosts | Array of strings [ 1 .. 32 ] items unique The hosts for the service to accept incoming requests. |
path_prefix | string [ 1 .. 4096 ] characters ^/ The listening path prefix of the service. |
strip_path_prefix | boolean Default: true Weather strip the path prefix or not when proxying the request to the upstream. |
plugins | object The key-value pairs which represent the plugins attached on the object. |
object The upstream contains necessary information for the gateway to proxy request to the backend service. |
Responses
Request samples
- Payload
{- "name": "string",
- "labels": {
- "property1": "string",
- "property2": "string"
}, - "desc": "string",
- "hosts": [
- "string"
], - "path_prefix": "string",
- "strip_path_prefix": true,
- "plugins": { },
- "upstream": {
- "name": "default",
- "scheme": "http",
- "desc": "string",
- "type": "roundrobin",
- "hash_on": "vars",
- "key": "string",
- "retries": 65535,
- "keepalive_pool": {
- "size": 320,
- "idle_timeout": 60,
- "requests": 1000
}, - "timeout": {
- "connect": 60,
- "send": 60,
- "read": 60
}, - "retry_timeout": 0,
- "pass_host": "pass",
- "upstream_host": "string",
- "nodes": [
- {
- "host": "string",
- "port": 1,
- "weight": 65535,
- "priority": 0
}
], - "service_name": "string",
- "discovery_type": "kubernetes",
- "discovery_args": {
- "metadata": {
- "idc": "shanghai"
}
}, - "tls": {
- "client_cert": "string",
- "client_key": "string"
}, - "checks": {
- "active": {
- "type": "http",
- "timeout": 1,
- "concurrency": 10,
- "host": "string",
- "port": 1,
- "http_path": "/",
- "https_verify_certificate": true,
- "req_headers": [
- "string"
], - "healthy": {
- "interval": 1,
- "http_statuses": [
- 200,
- 302
], - "successes": 2
}, - "unhealthy": {
- "interval": 1,
- "http_statuses": [
- 429,
- 404,
- 500,
- 501,
- 502,
- 503,
- 504,
- 505
], - "http_failures": 5,
- "tcp_failures": 2,
- "timeouts": 3
}
}, - "passive": {
- "type": "http",
- "healthy": {
- "http_statuses": [
- 200,
- 201,
- 202,
- 203,
- 204,
- 205,
- 206,
- 207,
- 208,
- 226,
- 300,
- 301,
- 302,
- 303,
- 304,
- 305,
- 306,
- 307,
- 308
], - "successes": 5
}, - "unhealthy": {
- "http_statuses": [
- 429,
- 500,
- 503
], - "tcp_failures": 2,
- "timeouts": 7,
- "http_failures": 5
}
}
}
}
}
Response samples
- 200
- 400
- default
{- "value": {
- "name": "string",
- "labels": {
- "property1": "string",
- "property2": "string"
}, - "desc": "string",
- "hosts": [
- "string"
], - "path_prefix": "string",
- "strip_path_prefix": true,
- "plugins": { },
- "upstream": {
- "name": "default",
- "scheme": "http",
- "desc": "string",
- "type": "roundrobin",
- "hash_on": "vars",
- "key": "string",
- "retries": 65535,
- "keepalive_pool": {
- "size": 320,
- "idle_timeout": 60,
- "requests": 1000
}, - "timeout": {
- "connect": 60,
- "send": 60,
- "read": 60
}, - "retry_timeout": 0,
- "pass_host": "pass",
- "upstream_host": "string",
- "nodes": [
- {
- "host": "string",
- "port": 1,
- "weight": 65535,
- "priority": 0
}
], - "service_name": "string",
- "discovery_type": "kubernetes",
- "discovery_args": {
- "metadata": {
- "idc": "shanghai"
}
}, - "tls": {
- "client_cert": "string",
- "client_key": "string"
}, - "checks": {
- "active": {
- "type": "http",
- "timeout": 1,
- "concurrency": 10,
- "host": "string",
- "port": 1,
- "http_path": "/",
- "https_verify_certificate": true,
- "req_headers": [
- "string"
], - "healthy": {
- "interval": 1,
- "http_statuses": [
- 200,
- 302
], - "successes": 2
}, - "unhealthy": {
- "interval": 1,
- "http_statuses": [
- 429,
- 404,
- 500,
- 501,
- 502,
- 503,
- 504,
- 505
], - "http_failures": 5,
- "tcp_failures": 2,
- "timeouts": 3
}
}, - "passive": {
- "type": "http",
- "healthy": {
- "http_statuses": [
- 200,
- 201,
- 202,
- 203,
- 204,
- 205,
- 206,
- 207,
- 208,
- 226,
- 300,
- 301,
- 302,
- 303,
- 304,
- 305,
- 306,
- 307,
- 308
], - "successes": 5
}, - "unhealthy": {
- "http_statuses": [
- 429,
- 500,
- 503
], - "tcp_failures": 2,
- "timeouts": 7,
- "http_failures": 5
}
}
}
}, - "id": "string",
- "last_published": 0,
- "published_gateway_groups_count": 0,
- "created_at": 0,
- "updated_at": 0
}, - "key": "string",
- "warning_msg": "string"
}
Get all services.
Authorizations:
query Parameters
page | integer <int64> >= 1 The page number, starting from 1. |
page_size | integer <int64> >= 1 The page size. It must be greater than 0. |
direction | string Default: "desc" Enum: "asc" "desc" It should be ascending or descending (case-insensitive). By default, it is set to descending. |
order_by | string Default: "updated_at" Enum: "created_at" "updated_at" "last_published" |
search | string The search keyword. |
object non-empty | |
gateway_group_id | string >= 1 |
last_publish_start_at | integer >= 0 |
last_publish_end_at | integer >= 0 |
is_permitted | boolean Default: false Filter the resources that the current user has permissions to operate on. |
Responses
Response samples
- 200
- 400
- default
{- "list": [
- {
- "name": "string",
- "labels": {
- "property1": "string",
- "property2": "string"
}, - "desc": "string",
- "hosts": [
- "string"
], - "path_prefix": "string",
- "strip_path_prefix": true,
- "plugins": { },
- "upstream": {
- "name": "default",
- "scheme": "http",
- "desc": "string",
- "type": "roundrobin",
- "hash_on": "vars",
- "key": "string",
- "retries": 65535,
- "keepalive_pool": {
- "size": 320,
- "idle_timeout": 60,
- "requests": 1000
}, - "timeout": {
- "connect": 60,
- "send": 60,
- "read": 60
}, - "retry_timeout": 0,
- "pass_host": "pass",
- "upstream_host": "string",
- "nodes": [
- {
- "host": "string",
- "port": 1,
- "weight": 65535,
- "priority": 0
}
], - "service_name": "string",
- "discovery_type": "kubernetes",
- "discovery_args": {
- "metadata": {
- "idc": "shanghai"
}
}, - "tls": {
- "client_cert": "string",
- "client_key": "string"
}, - "checks": {
- "active": {
- "type": "http",
- "timeout": 1,
- "concurrency": 10,
- "host": "string",
- "port": 1,
- "http_path": "/",
- "https_verify_certificate": true,
- "req_headers": [
- "string"
], - "healthy": {
- "interval": 1,
- "http_statuses": [
- 200,
- 302
], - "successes": 2
}, - "unhealthy": {
- "interval": 1,
- "http_statuses": [
- 429,
- 404,
- 500,
- 501,
- 502,
- 503,
- 504,
- 505
], - "http_failures": 5,
- "tcp_failures": 2,
- "timeouts": 3
}
}, - "passive": {
- "type": "http",
- "healthy": {
- "http_statuses": [
- 200,
- 201,
- 202,
- 203,
- 204,
- 205,
- 206,
- 207,
- 208,
- 226,
- 300,
- 301,
- 302,
- 303,
- 304,
- 305,
- 306,
- 307,
- 308
], - "successes": 5
}, - "unhealthy": {
- "http_statuses": [
- 429,
- 500,
- 503
], - "tcp_failures": 2,
- "timeouts": 7,
- "http_failures": 5
}
}
}
}, - "id": "string",
- "last_published": 0,
- "published_gateway_groups_count": 0,
- "created_at": 0,
- "updated_at": 0
}
], - "total": 0
}
Get a service by ID.
Authorizations:
path Parameters
service_id required | string^[a-zA-Z0-9-_.]+$ The unique identifier of the service. |
Responses
Response samples
- 200
- 400
- default
{- "value": {
- "name": "string",
- "labels": {
- "property1": "string",
- "property2": "string"
}, - "desc": "string",
- "hosts": [
- "string"
], - "path_prefix": "string",
- "strip_path_prefix": true,
- "plugins": { },
- "upstream": {
- "name": "default",
- "scheme": "http",
- "desc": "string",
- "type": "roundrobin",
- "hash_on": "vars",
- "key": "string",
- "retries": 65535,
- "keepalive_pool": {
- "size": 320,
- "idle_timeout": 60,
- "requests": 1000
}, - "timeout": {
- "connect": 60,
- "send": 60,
- "read": 60
}, - "retry_timeout": 0,
- "pass_host": "pass",
- "upstream_host": "string",
- "nodes": [
- {
- "host": "string",
- "port": 1,
- "weight": 65535,
- "priority": 0
}
], - "service_name": "string",
- "discovery_type": "kubernetes",
- "discovery_args": {
- "metadata": {
- "idc": "shanghai"
}
}, - "tls": {
- "client_cert": "string",
- "client_key": "string"
}, - "checks": {
- "active": {
- "type": "http",
- "timeout": 1,
- "concurrency": 10,
- "host": "string",
- "port": 1,
- "http_path": "/",
- "https_verify_certificate": true,
- "req_headers": [
- "string"
], - "healthy": {
- "interval": 1,
- "http_statuses": [
- 200,
- 302
], - "successes": 2
}, - "unhealthy": {
- "interval": 1,
- "http_statuses": [
- 429,
- 404,
- 500,
- 501,
- 502,
- 503,
- 504,
- 505
], - "http_failures": 5,
- "tcp_failures": 2,
- "timeouts": 3
}
}, - "passive": {
- "type": "http",
- "healthy": {
- "http_statuses": [
- 200,
- 201,
- 202,
- 203,
- 204,
- 205,
- 206,
- 207,
- 208,
- 226,
- 300,
- 301,
- 302,
- 303,
- 304,
- 305,
- 306,
- 307,
- 308
], - "successes": 5
}, - "unhealthy": {
- "http_statuses": [
- 429,
- 500,
- 503
], - "tcp_failures": 2,
- "timeouts": 7,
- "http_failures": 5
}
}
}
}, - "id": "string",
- "last_published": 0,
- "published_gateway_groups_count": 0,
- "created_at": 0,
- "updated_at": 0
}, - "key": "string",
- "warning_msg": "string"
}
Update a service by ID.
Authorizations:
path Parameters
service_id required | string^[a-zA-Z0-9-_.]+$ The unique identifier of the service. |
Request Body schema: application/json
non-emptyname required | string [ 1 .. 255 ] characters The object name. |
object | |
desc | string The object description. |
hosts | Array of strings [ 1 .. 32 ] items unique The hosts for the service to accept incoming requests. |
path_prefix | string [ 1 .. 4096 ] characters ^/ The listening path prefix of the service. |
strip_path_prefix | boolean Default: true Weather strip the path prefix or not when proxying the request to the upstream. |
plugins | object The key-value pairs which represent the plugins attached on the object. |
object The upstream contains necessary information for the gateway to proxy request to the backend service. |
Responses
Request samples
- Payload
{- "name": "string",
- "labels": {
- "property1": "string",
- "property2": "string"
}, - "desc": "string",
- "hosts": [
- "string"
], - "path_prefix": "string",
- "strip_path_prefix": true,
- "plugins": { },
- "upstream": {
- "name": "default",
- "scheme": "http",
- "desc": "string",
- "type": "roundrobin",
- "hash_on": "vars",
- "key": "string",
- "retries": 65535,
- "keepalive_pool": {
- "size": 320,
- "idle_timeout": 60,
- "requests": 1000
}, - "timeout": {
- "connect": 60,
- "send": 60,
- "read": 60
}, - "retry_timeout": 0,
- "pass_host": "pass",
- "upstream_host": "string",
- "nodes": [
- {
- "host": "string",
- "port": 1,
- "weight": 65535,
- "priority": 0
}
], - "service_name": "string",
- "discovery_type": "kubernetes",
- "discovery_args": {
- "metadata": {
- "idc": "shanghai"
}
}, - "tls": {
- "client_cert": "string",
- "client_key": "string"
}, - "checks": {
- "active": {
- "type": "http",
- "timeout": 1,
- "concurrency": 10,
- "host": "string",
- "port": 1,
- "http_path": "/",
- "https_verify_certificate": true,
- "req_headers": [
- "string"
], - "healthy": {
- "interval": 1,
- "http_statuses": [
- 200,
- 302
], - "successes": 2
}, - "unhealthy": {
- "interval": 1,
- "http_statuses": [
- 429,
- 404,
- 500,
- 501,
- 502,
- 503,
- 504,
- 505
], - "http_failures": 5,
- "tcp_failures": 2,
- "timeouts": 3
}
}, - "passive": {
- "type": "http",
- "healthy": {
- "http_statuses": [
- 200,
- 201,
- 202,
- 203,
- 204,
- 205,
- 206,
- 207,
- 208,
- 226,
- 300,
- 301,
- 302,
- 303,
- 304,
- 305,
- 306,
- 307,
- 308
], - "successes": 5
}, - "unhealthy": {
- "http_statuses": [
- 429,
- 500,
- 503
], - "tcp_failures": 2,
- "timeouts": 7,
- "http_failures": 5
}
}
}
}
}
Response samples
- 200
- 400
- default
{- "value": {
- "name": "string",
- "labels": {
- "property1": "string",
- "property2": "string"
}, - "desc": "string",
- "hosts": [
- "string"
], - "path_prefix": "string",
- "strip_path_prefix": true,
- "plugins": { },
- "upstream": {
- "name": "default",
- "scheme": "http",
- "desc": "string",
- "type": "roundrobin",
- "hash_on": "vars",
- "key": "string",
- "retries": 65535,
- "keepalive_pool": {
- "size": 320,
- "idle_timeout": 60,
- "requests": 1000
}, - "timeout": {
- "connect": 60,
- "send": 60,
- "read": 60
}, - "retry_timeout": 0,
- "pass_host": "pass",
- "upstream_host": "string",
- "nodes": [
- {
- "host": "string",
- "port": 1,
- "weight": 65535,
- "priority": 0
}
], - "service_name": "string",
- "discovery_type": "kubernetes",
- "discovery_args": {
- "metadata": {
- "idc": "shanghai"
}
}, - "tls": {
- "client_cert": "string",
- "client_key": "string"
}, - "checks": {
- "active": {
- "type": "http",
- "timeout": 1,
- "concurrency": 10,
- "host": "string",
- "port": 1,
- "http_path": "/",
- "https_verify_certificate": true,
- "req_headers": [
- "string"
], - "healthy": {
- "interval": 1,
- "http_statuses": [
- 200,
- 302
], - "successes": 2
}, - "unhealthy": {
- "interval": 1,
- "http_statuses": [
- 429,
- 404,
- 500,
- 501,
- 502,
- 503,
- 504,
- 505
], - "http_failures": 5,
- "tcp_failures": 2,
- "timeouts": 3
}
}, - "passive": {
- "type": "http",
- "healthy": {
- "http_statuses": [
- 200,
- 201,
- 202,
- 203,
- 204,
- 205,
- 206,
- 207,
- 208,
- 226,
- 300,
- 301,
- 302,
- 303,
- 304,
- 305,
- 306,
- 307,
- 308
], - "successes": 5
}, - "unhealthy": {
- "http_statuses": [
- 429,
- 500,
- 503
], - "tcp_failures": 2,
- "timeouts": 7,
- "http_failures": 5
}
}
}
}, - "id": "string",
- "last_published": 0,
- "published_gateway_groups_count": 0,
- "created_at": 0,
- "updated_at": 0
}, - "key": "string",
- "warning_msg": "string"
}
Update a service by ID.
Authorizations:
path Parameters
service_id required | string^[a-zA-Z0-9-_.]+$ The unique identifier of the service. |
query Parameters
dry-run | string Value: "all" The flag that indicates whether to run the operation in dry-run mode. |
Request Body schema: application/json
non-emptyname | string [ 1 .. 255 ] characters The object name. |
object | |
desc | string The object description. |
hosts | Array of strings [ 1 .. 32 ] items unique The hosts for the service to accept incoming requests. |
path_prefix | string [ 1 .. 4096 ] characters ^/ The listening path prefix of the service. |
strip_path_prefix | boolean Default: true Weather strip the path prefix or not when proxying the request to the upstream. |
plugins | object The key-value pairs which represent the plugins attached on the object. |
object The upstream contains necessary information for the gateway to proxy request to the backend service. |
Responses
Request samples
- Payload
{- "name": "string",
- "labels": {
- "property1": "string",
- "property2": "string"
}, - "desc": "string",
- "hosts": [
- "string"
], - "path_prefix": "string",
- "strip_path_prefix": true,
- "plugins": { },
- "upstream": {
- "name": "default",
- "scheme": "http",
- "desc": "string",
- "type": "roundrobin",
- "hash_on": "vars",
- "key": "string",
- "retries": 65535,
- "keepalive_pool": {
- "size": 320,
- "idle_timeout": 60,
- "requests": 1000
}, - "timeout": {
- "connect": 60,
- "send": 60,
- "read": 60
}, - "retry_timeout": 0,
- "pass_host": "pass",
- "upstream_host": "string",
- "nodes": [
- {
- "host": "string",
- "port": 1,
- "weight": 65535,
- "priority": 0
}
], - "service_name": "string",
- "discovery_type": "kubernetes",
- "discovery_args": {
- "metadata": {
- "idc": "shanghai"
}
}, - "tls": {
- "client_cert": "string",
- "client_key": "string"
}, - "checks": {
- "active": {
- "type": "http",
- "timeout": 1,
- "concurrency": 10,
- "host": "string",
- "port": 1,
- "http_path": "/",
- "https_verify_certificate": true,
- "req_headers": [
- "string"
], - "healthy": {
- "interval": 1,
- "http_statuses": [
- 200,
- 302
], - "successes": 2
}, - "unhealthy": {
- "interval": 1,
- "http_statuses": [
- 429,
- 404,
- 500,
- 501,
- 502,
- 503,
- 504,
- 505
], - "http_failures": 5,
- "tcp_failures": 2,
- "timeouts": 3
}
}, - "passive": {
- "type": "http",
- "healthy": {
- "http_statuses": [
- 200,
- 201,
- 202,
- 203,
- 204,
- 205,
- 206,
- 207,
- 208,
- 226,
- 300,
- 301,
- 302,
- 303,
- 304,
- 305,
- 306,
- 307,
- 308
], - "successes": 5
}, - "unhealthy": {
- "http_statuses": [
- 429,
- 500,
- 503
], - "tcp_failures": 2,
- "timeouts": 7,
- "http_failures": 5
}
}
}
}
}
Response samples
- 200
- 400
- default
{- "value": {
- "name": "string",
- "labels": {
- "property1": "string",
- "property2": "string"
}, - "desc": "string",
- "hosts": [
- "string"
], - "path_prefix": "string",
- "strip_path_prefix": true,
- "plugins": { },
- "upstream": {
- "name": "default",
- "scheme": "http",
- "desc": "string",
- "type": "roundrobin",
- "hash_on": "vars",
- "key": "string",
- "retries": 65535,
- "keepalive_pool": {
- "size": 320,
- "idle_timeout": 60,
- "requests": 1000
}, - "timeout": {
- "connect": 60,
- "send": 60,
- "read": 60
}, - "retry_timeout": 0,
- "pass_host": "pass",
- "upstream_host": "string",
- "nodes": [
- {
- "host": "string",
- "port": 1,
- "weight": 65535,
- "priority": 0
}
], - "service_name": "string",
- "discovery_type": "kubernetes",
- "discovery_args": {
- "metadata": {
- "idc": "shanghai"
}
}, - "tls": {
- "client_cert": "string",
- "client_key": "string"
}, - "checks": {
- "active": {
- "type": "http",
- "timeout": 1,
- "concurrency": 10,
- "host": "string",
- "port": 1,
- "http_path": "/",
- "https_verify_certificate": true,
- "req_headers": [
- "string"
], - "healthy": {
- "interval": 1,
- "http_statuses": [
- 200,
- 302
], - "successes": 2
}, - "unhealthy": {
- "interval": 1,
- "http_statuses": [
- 429,
- 404,
- 500,
- 501,
- 502,
- 503,
- 504,
- 505
], - "http_failures": 5,
- "tcp_failures": 2,
- "timeouts": 3
}
}, - "passive": {
- "type": "http",
- "healthy": {
- "http_statuses": [
- 200,
- 201,
- 202,
- 203,
- 204,
- 205,
- 206,
- 207,
- 208,
- 226,
- 300,
- 301,
- 302,
- 303,
- 304,
- 305,
- 306,
- 307,
- 308
], - "successes": 5
}, - "unhealthy": {
- "http_statuses": [
- 429,
- 500,
- 503
], - "tcp_failures": 2,
- "timeouts": 7,
- "http_failures": 5
}
}
}
}, - "id": "string",
- "last_published": 0,
- "published_gateway_groups_count": 0,
- "created_at": 0,
- "updated_at": 0
}, - "key": "string",
- "warning_msg": "string"
}
Publish a service.
Authorizations:
Request Body schema: application/json
non-emptycreate_new_version | boolean Whether to create a new service version for the updated service. |
gateway_group_id | string^[a-zA-Z0-9-_.]+$ The object ID. |
Array of objects non-empty [ items non-empty ] |
Responses
Request samples
- Payload
{- "create_new_version": true,
- "gateway_group_id": "string",
- "services": [
- {
- "name": "string",
- "labels": {
- "property1": "string",
- "property2": "string"
}, - "desc": "string",
- "hosts": [
- "string"
], - "path_prefix": "string",
- "strip_path_prefix": true,
- "plugins": { },
- "upstream": {
- "name": "default",
- "scheme": "http",
- "desc": "string",
- "type": "roundrobin",
- "hash_on": "vars",
- "key": "string",
- "retries": 65535,
- "keepalive_pool": {
- "size": 320,
- "idle_timeout": 60,
- "requests": 1000
}, - "timeout": {
- "connect": 60,
- "send": 60,
- "read": 60
}, - "retry_timeout": 0,
- "pass_host": "pass",
- "upstream_host": "string",
- "nodes": [
- {
- "host": "string",
- "port": 1,
- "weight": 65535,
- "priority": 0
}
], - "service_name": "string",
- "discovery_type": "kubernetes",
- "discovery_args": {
- "metadata": {
- "idc": "shanghai"
}
}, - "tls": {
- "client_cert": "string",
- "client_key": "string"
}, - "checks": {
- "active": {
- "type": "http",
- "timeout": 1,
- "concurrency": 10,
- "host": "string",
- "port": 1,
- "http_path": "/",
- "https_verify_certificate": true,
- "req_headers": [
- "string"
], - "healthy": {
- "interval": 1,
- "http_statuses": [
- 200,
- 302
], - "successes": 2
}, - "unhealthy": {
- "interval": 1,
- "http_statuses": [
- 429,
- 404,
- 500,
- 501,
- 502,
- 503,
- 504,
- 505
], - "http_failures": 5,
- "tcp_failures": 2,
- "timeouts": 3
}
}, - "passive": {
- "type": "http",
- "healthy": {
- "http_statuses": [
- 200,
- 201,
- 202,
- 203,
- 204,
- 205,
- 206,
- 207,
- 208,
- 226,
- 300,
- 301,
- 302,
- 303,
- 304,
- 305,
- 306,
- 307,
- 308
], - "successes": 5
}, - "unhealthy": {
- "http_statuses": [
- 429,
- 500,
- 503
], - "tcp_failures": 2,
- "timeouts": 7,
- "http_failures": 5
}
}
}
}, - "service_id": "string",
- "version": "string",
- "service_version_id": "string",
- "status": 0
}
]
}
Response samples
- 200
- 400
- default
{- "value": { },
- "key": "string",
- "warning_msg": "string"
}
Check service conflict.
Authorizations:
Request Body schema: application/json
non-emptycreate_new_version | boolean Whether to create a new service version for the updated service. |
gateway_group_id | string^[a-zA-Z0-9-_.]+$ The object ID. |
Array of objects non-empty |
Responses
Request samples
- Payload
{- "create_new_version": true,
- "gateway_group_id": "string",
- "services": [
- {
- "name": "string",
- "hosts": [
- "string"
], - "path_prefix": "string",
- "service_id": "string",
- "version": "string",
- "service_version_id": "string",
- "status": 0
}
]
}
Response samples
- 200
- 400
- default
{- "value": {
- "duplicate": [
- [
- {
- "service_id": "string",
- "service_name": "string",
- "route_id": "string",
- "route_name": "string",
- "url": "string"
}
]
], - "overlapping": [
- [
- {
- "service_id": "string",
- "service_name": "string",
- "route_id": "string",
- "route_name": "string",
- "url": "string"
}
]
]
}, - "key": "string",
- "warning_msg": "string"
}
Get all permitted users.
Authorizations:
path Parameters
service_id required | string^[a-zA-Z0-9-_.]+$ The unique identifier of the service. |
query Parameters
direction | string Default: "desc" Enum: "asc" "desc" It should be ascending or descending (case-insensitive). By default, it is set to descending. |
page_size | integer <int64> >= 1 The page size. It must be greater than 0. |
page | integer <int64> >= 1 The page number, starting from 1. |
order_by | string Default: "updated_at" Enum: "created_at" "updated_at" |
roles | Array of strings >= 1 |
Responses
Response samples
- 200
- default
{- "list": [
- {
- "id": "string",
- "email": "string",
- "last_name": "string",
- "first_name": "string",
- "username": "string",
- "created_at": 0,
- "updated_at": 0,
- "state": "string",
- "provider": "builtin",
- "roles": [
- {
- "id": "string",
- "name": "string",
- "org_id": "string",
- "permissions": [
- "string"
], - "scope_type": "gateway_group",
- "scopes": [
- {
- "id": "string",
- "name": "string"
}
], - "label_scopes": [
- {
- "property1": "string",
- "property2": "string"
}
]
}
]
}
], - "total": 0
}
Get published services by ID.
Authorizations:
path Parameters
service_id required | string^[a-zA-Z0-9-_.]+$ The unique identifier of the service. |
Responses
Response samples
- 200
- 400
- default
{- "list": [
- {
- "name": "string",
- "labels": {
- "property1": "string",
- "property2": "string"
}, - "desc": "string",
- "hosts": [
- "string"
], - "path_prefix": "string",
- "strip_path_prefix": true,
- "plugins": { },
- "upstream": {
- "name": "default",
- "scheme": "http",
- "desc": "string",
- "type": "roundrobin",
- "hash_on": "vars",
- "key": "string",
- "retries": 65535,
- "keepalive_pool": {
- "size": 320,
- "idle_timeout": 60,
- "requests": 1000
}, - "timeout": {
- "connect": 60,
- "send": 60,
- "read": 60
}, - "retry_timeout": 0,
- "pass_host": "pass",
- "upstream_host": "string",
- "nodes": [
- {
- "host": "string",
- "port": 1,
- "weight": 65535,
- "priority": 0
}
], - "service_name": "string",
- "discovery_type": "kubernetes",
- "discovery_args": {
- "metadata": {
- "idc": "shanghai"
}
}, - "tls": {
- "client_cert": "string",
- "client_key": "string"
}, - "checks": {
- "active": {
- "type": "http",
- "timeout": 1,
- "concurrency": 10,
- "host": "string",
- "port": 1,
- "http_path": "/",
- "https_verify_certificate": true,
- "req_headers": [
- "string"
], - "healthy": {
- "interval": 1,
- "http_statuses": [
- 200,
- 302
], - "successes": 2
}, - "unhealthy": {
- "interval": 1,
- "http_statuses": [
- 429,
- 404,
- 500,
- 501,
- 502,
- 503,
- 504,
- 505
], - "http_failures": 5,
- "tcp_failures": 2,
- "timeouts": 3
}
}, - "passive": {
- "type": "http",
- "healthy": {
- "http_statuses": [
- 200,
- 201,
- 202,
- 203,
- 204,
- 205,
- 206,
- 207,
- 208,
- 226,
- 300,
- 301,
- 302,
- 303,
- 304,
- 305,
- 306,
- 307,
- 308
], - "successes": 5
}, - "unhealthy": {
- "http_statuses": [
- 429,
- 500,
- 503
], - "tcp_failures": 2,
- "timeouts": 7,
- "http_failures": 5
}
}
}
}, - "id": "string",
- "service_id": "string",
- "version": "string",
- "created_at": 0,
- "gateway_group_name": "string",
- "gateway_group_id": "string",
- "unhealthy_nodes_count": 0,
- "status": 0
}
], - "total": 0
}
Get all secrets.
Authorizations:
query Parameters
page | integer <int64> >= 1 The page number, starting from 1. |
page_size | integer <int64> >= 1 The page size. It must be greater than 0. |
direction | string Default: "desc" Enum: "asc" "desc" It should be ascending or descending (case-insensitive). By default, it is set to descending. |
order_by | string Default: "updated_at" Enum: "created_at" "updated_at" |
search | string The search keyword. |
gateway_group_id required | string >= 1 |
Responses
Response samples
- 200
- 400
- default
{- "list": [
- {
- "uri": "string",
- "prefix": "string",
- "token": "string",
- "secret_id": "string",
- "created_at": 0,
- "updated_at": 0
}
], - "total": 0
}
Get a secret by ID.
Authorizations:
path Parameters
secret_manager required | string Value: "vault" |
secret_id required | string |
Responses
Response samples
- 200
- 400
- default
{- "value": {
- "uri": "string",
- "prefix": "string",
- "token": "string",
- "secret_id": "string",
- "created_at": 0,
- "updated_at": 0
}, - "key": "string",
- "warning_msg": "string"
}
Create or update a secret by ID.
Authorizations:
path Parameters
secret_manager required | string Value: "vault" |
secret_id required | string |
query Parameters
gateway_group_id required | string >= 1 |
Request Body schema: application/json
uri required | string^[^/]+://([\da-zA-Z.-]+|\[[\da-fA-F:]+\])(:\d... |
prefix required | string |
token required | string |
Responses
Request samples
- Payload
{- "uri": "string",
- "prefix": "string",
- "token": "string"
}
Response samples
- 200
- 400
- default
{- "value": {
- "uri": "string",
- "prefix": "string",
- "token": "string",
- "secret_id": "string",
- "created_at": 0,
- "updated_at": 0
}, - "key": "string",
- "warning_msg": "string"
}
Delete a secret by ID.
Authorizations:
path Parameters
secret_manager required | string Value: "vault" |
secret_id required | string |
query Parameters
gateway_group_id required | string >= 1 |
Responses
Response samples
- 200
- 400
- default
{- "value": { },
- "key": "string",
- "warning_msg": "string"
}
Generate an OpenAPI specification to export services.
Authorizations:
query Parameters
scope | string Enum: "partial" "all" The scope of the service, which can be partial or all. |
Request Body schema: application/json
service_ids | Array of strings The service ID list. |
required | object |
Array of objects |
Responses
Request samples
- Payload
{- "service_ids": [
- "string"
], - "info": {
- "title": "string",
- "version": "string",
- "description": "string"
}, - "servers": [
- {
- "url": "string",
- "description": "string"
}
]
}
Response samples
- 200
- 400
- default
{- "value": {
- "openapi": "3.0.1",
- "info": {
- "title": "string",
- "version": "string",
- "description": "string"
}, - "servers": [
- {
- "url": "string",
- "description": "string"
}
], - "paths": {
- "property1": {
- "get": {
- "responses": { }
}, - "put": {
- "responses": { }
}, - "post": {
- "responses": { }
}, - "delete": {
- "responses": { }
}, - "options": {
- "responses": { }
}, - "head": {
- "responses": { }
}, - "patch": {
- "responses": { }
}
}, - "property2": {
- "get": {
- "responses": { }
}, - "put": {
- "responses": { }
}, - "post": {
- "responses": { }
}, - "delete": {
- "responses": { }
}, - "options": {
- "responses": { }
}, - "head": {
- "responses": { }
}, - "patch": {
- "responses": { }
}
}
}
}, - "key": "string",
- "warning_msg": "string"
}
Import services based on OpenAPI Specification.
Authorizations:
Request Body schema: application/json
non-emptyArray of objects non-empty unique | |
name required | string [ 1 .. 255 ] characters The object name. |
object | |
desc | string The object description. |
hosts | Array of strings [ 1 .. 32 ] items unique The hosts for the service to accept incoming requests. |
path_prefix | string [ 1 .. 4096 ] characters ^/ The listening path prefix of the service. |
strip_path_prefix | boolean Default: true Weather strip the path prefix or not when proxying the request to the upstream. |
plugins | object The key-value pairs which represent the plugins attached on the object. |
object The upstream contains necessary information for the gateway to proxy request to the backend service. |
Responses
Request samples
- Payload
{- "routes": [
- {
- "name": "string",
- "labels": {
- "property1": "string",
- "property2": "string"
}, - "desc": "string",
- "methods": [
- "GET"
], - "paths": [
- "string"
], - "plugins": { },
- "enable_websocket": true
}
], - "name": "string",
- "labels": {
- "property1": "string",
- "property2": "string"
}, - "desc": "string",
- "hosts": [
- "string"
], - "path_prefix": "string",
- "strip_path_prefix": true,
- "plugins": { },
- "upstream": {
- "name": "default",
- "scheme": "http",
- "desc": "string",
- "type": "roundrobin",
- "hash_on": "vars",
- "key": "string",
- "retries": 65535,
- "keepalive_pool": {
- "size": 320,
- "idle_timeout": 60,
- "requests": 1000
}, - "timeout": {
- "connect": 60,
- "send": 60,
- "read": 60
}, - "retry_timeout": 0,
- "pass_host": "pass",
- "upstream_host": "string",
- "nodes": [
- {
- "host": "string",
- "port": 1,
- "weight": 65535,
- "priority": 0
}
], - "service_name": "string",
- "discovery_type": "kubernetes",
- "discovery_args": {
- "metadata": {
- "idc": "shanghai"
}
}, - "tls": {
- "client_cert": "string",
- "client_key": "string"
}, - "checks": {
- "active": {
- "type": "http",
- "timeout": 1,
- "concurrency": 10,
- "host": "string",
- "port": 1,
- "http_path": "/",
- "https_verify_certificate": true,
- "req_headers": [
- "string"
], - "healthy": {
- "interval": 1,
- "http_statuses": [
- 200,
- 302
], - "successes": 2
}, - "unhealthy": {
- "interval": 1,
- "http_statuses": [
- 429,
- 404,
- 500,
- 501,
- 502,
- 503,
- 504,
- 505
], - "http_failures": 5,
- "tcp_failures": 2,
- "timeouts": 3
}
}, - "passive": {
- "type": "http",
- "healthy": {
- "http_statuses": [
- 200,
- 201,
- 202,
- 203,
- 204,
- 205,
- 206,
- 207,
- 208,
- 226,
- 300,
- 301,
- 302,
- 303,
- 304,
- 305,
- 306,
- 307,
- 308
], - "successes": 5
}, - "unhealthy": {
- "http_statuses": [
- 429,
- 500,
- 503
], - "tcp_failures": 2,
- "timeouts": 7,
- "http_failures": 5
}
}
}
}
}
Response samples
- 200
- 400
- default
{- "value": {
- "name": "string",
- "labels": {
- "property1": "string",
- "property2": "string"
}, - "desc": "string",
- "hosts": [
- "string"
], - "path_prefix": "string",
- "strip_path_prefix": true,
- "plugins": { },
- "upstream": {
- "name": "default",
- "scheme": "http",
- "desc": "string",
- "type": "roundrobin",
- "hash_on": "vars",
- "key": "string",
- "retries": 65535,
- "keepalive_pool": {
- "size": 320,
- "idle_timeout": 60,
- "requests": 1000
}, - "timeout": {
- "connect": 60,
- "send": 60,
- "read": 60
}, - "retry_timeout": 0,
- "pass_host": "pass",
- "upstream_host": "string",
- "nodes": [
- {
- "host": "string",
- "port": 1,
- "weight": 65535,
- "priority": 0
}
], - "service_name": "string",
- "discovery_type": "kubernetes",
- "discovery_args": {
- "metadata": {
- "idc": "shanghai"
}
}, - "tls": {
- "client_cert": "string",
- "client_key": "string"
}, - "checks": {
- "active": {
- "type": "http",
- "timeout": 1,
- "concurrency": 10,
- "host": "string",
- "port": 1,
- "http_path": "/",
- "https_verify_certificate": true,
- "req_headers": [
- "string"
], - "healthy": {
- "interval": 1,
- "http_statuses": [
- 200,
- 302
], - "successes": 2
}, - "unhealthy": {
- "interval": 1,
- "http_statuses": [
- 429,
- 404,
- 500,
- 501,
- 502,
- 503,
- 504,
- 505
], - "http_failures": 5,
- "tcp_failures": 2,
- "timeouts": 3
}
}, - "passive": {
- "type": "http",
- "healthy": {
- "http_statuses": [
- 200,
- 201,
- 202,
- 203,
- 204,
- 205,
- 206,
- 207,
- 208,
- 226,
- 300,
- 301,
- 302,
- 303,
- 304,
- 305,
- 306,
- 307,
- 308
], - "successes": 5
}, - "unhealthy": {
- "http_statuses": [
- 429,
- 500,
- 503
], - "tcp_failures": 2,
- "timeouts": 7,
- "http_failures": 5
}
}
}
}, - "id": "string",
- "last_published": 0,
- "published_gateway_groups_count": 0,
- "created_at": 0,
- "updated_at": 0,
- "routes": [
- {
- "name": "string",
- "labels": {
- "property1": "string",
- "property2": "string"
}, - "desc": "string",
- "methods": [
- "GET"
], - "paths": [
- "string"
], - "plugins": { },
- "enable_websocket": true,
- "id": "string",
- "service_id": "string",
- "created_at": 0,
- "updated_at": 0
}
]
}, - "key": "string",
- "warning_msg": "string"
}
Convert OpenAPI Specification to service and route resources.
Authorizations:
Request Body schema: application/json
raw_openapi required | string The raw OpenAPI. |
Responses
Request samples
- Payload
{- "raw_openapi": "string"
}
Response samples
- 200
- 400
- default
{- "value": {
- "name": "string",
- "labels": {
- "property1": "string",
- "property2": "string"
}, - "desc": "string",
- "hosts": [
- "string"
], - "path_prefix": "string",
- "strip_path_prefix": true,
- "plugins": { },
- "upstream": {
- "name": "default",
- "scheme": "http",
- "desc": "string",
- "type": "roundrobin",
- "hash_on": "vars",
- "key": "string",
- "retries": 65535,
- "keepalive_pool": {
- "size": 320,
- "idle_timeout": 60,
- "requests": 1000
}, - "timeout": {
- "connect": 60,
- "send": 60,
- "read": 60
}, - "retry_timeout": 0,
- "pass_host": "pass",
- "upstream_host": "string",
- "nodes": [
- {
- "host": "string",
- "port": 1,
- "weight": 65535,
- "priority": 0
}
], - "service_name": "string",
- "discovery_type": "kubernetes",
- "discovery_args": {
- "metadata": {
- "idc": "shanghai"
}
}, - "tls": {
- "client_cert": "string",
- "client_key": "string"
}, - "checks": {
- "active": {
- "type": "http",
- "timeout": 1,
- "concurrency": 10,
- "host": "string",
- "port": 1,
- "http_path": "/",
- "https_verify_certificate": true,
- "req_headers": [
- "string"
], - "healthy": {
- "interval": 1,
- "http_statuses": [
- 200,
- 302
], - "successes": 2
}, - "unhealthy": {
- "interval": 1,
- "http_statuses": [
- 429,
- 404,
- 500,
- 501,
- 502,
- 503,
- 504,
- 505
], - "http_failures": 5,
- "tcp_failures": 2,
- "timeouts": 3
}
}, - "passive": {
- "type": "http",
- "healthy": {
- "http_statuses": [
- 200,
- 201,
- 202,
- 203,
- 204,
- 205,
- 206,
- 207,
- 208,
- 226,
- 300,
- 301,
- 302,
- 303,
- 304,
- 305,
- 306,
- 307,
- 308
], - "successes": 5
}, - "unhealthy": {
- "http_statuses": [
- 429,
- 500,
- 503
], - "tcp_failures": 2,
- "timeouts": 7,
- "http_failures": 5
}
}
}
}, - "routes": [
- {
- "name": "string",
- "labels": {
- "property1": "string",
- "property2": "string"
}, - "desc": "string",
- "methods": [
- "GET"
], - "paths": [
- "string"
], - "plugins": { },
- "enable_websocket": true
}
]
}, - "key": "string",
- "warning_msg": "string"
}
Response samples
- 200
- 400
- default
{- "value": {
- "customer": "API7",
- "effective_at": 1654012800,
- "expired_at": 1717171200,
- "max_dp_cores": 100,
- "feature_list": [
- "API7 Gateway"
], - "runtime": {
- "status": "dp_core_exceeded",
- "dp_core_exceeded_start_at": 0,
- "dp_core_exceeded_end_at": 0,
- "max_dp_cores": 0
}, - "status": "normal"
}, - "key": "string",
- "warning_msg": "string"
}
Import or update the API7 Enterprise license.
Authorizations:
query Parameters
dry-run | string Value: "all" The flag that indicates whether to run the operation in dry-run mode. |
Request Body schema: application/json
data required | string Encoded license data. |
Responses
Request samples
- Payload
{- "data": "“xxxx1N-tNaTpttX-NjOdXjyg\""
}
Response samples
- 200
- 400
- default
{- "value": {
- "customer": "API7",
- "effective_at": 1654012800,
- "expired_at": 1717171200,
- "max_dp_cores": 100,
- "feature_list": [
- "API7 Gateway"
]
}, - "key": "string",
- "warning_msg": "string"
}
Create a route.
Authorizations:
Request Body schema: application/json
name required | string [ 1 .. 255 ] characters The object name. |
object | |
desc | string The object description. |
methods | Array of strings [ 1 .. 9 ] items unique Items Enum: "GET" "POST" "PUT" "DELETE" "PATCH" "HEAD" "OPTIONS" "TRACE" The allowed HTTP methods to access the route. If empty, all HTTP methods are allowed. |
paths required | Array of strings [ 1 .. 64 ] items [ items [ 1 .. 4096 ] characters ^/ ] The URI paths that can be matched to the API. |
plugins | object The key-value pairs which represent the plugins attached on the object. |
enable_websocket | boolean Define whether to enable Websocket for the route. |
service_id required | string^[a-zA-Z0-9-_.]+$ The object ID. |
Responses
Request samples
- Payload
{- "name": "string",
- "labels": {
- "property1": "string",
- "property2": "string"
}, - "desc": "string",
- "methods": [
- "GET"
], - "paths": [
- "string"
], - "plugins": { },
- "enable_websocket": true,
- "service_id": "string"
}
Response samples
- 200
- 400
- default
{- "value": {
- "name": "string",
- "labels": {
- "property1": "string",
- "property2": "string"
}, - "desc": "string",
- "methods": [
- "GET"
], - "paths": [
- "string"
], - "plugins": { },
- "enable_websocket": true,
- "id": "string",
- "service_id": "string",
- "created_at": 0,
- "updated_at": 0
}, - "key": "string",
- "warning_msg": "string"
}
Get all routes.
Authorizations:
query Parameters
service_id | string^[a-zA-Z0-9-_.]+$ The unique identifier of the service. |
page | integer <int64> >= 1 The page number, starting from 1. |
page_size | integer <int64> >= 1 The page size. It must be greater than 0. |
direction | string Default: "desc" Enum: "asc" "desc" It should be ascending or descending (case-insensitive). By default, it is set to descending. |
order_by | string Default: "updated_at" Enum: "created_at" "updated_at" |
search | string The search keyword. |
object non-empty |
Responses
Response samples
- 200
- 400
- default
{- "list": [
- {
- "name": "string",
- "labels": {
- "property1": "string",
- "property2": "string"
}, - "desc": "string",
- "methods": [
- "GET"
], - "paths": [
- "string"
], - "plugins": { },
- "enable_websocket": true,
- "id": "string",
- "service_id": "string",
- "created_at": 0,
- "updated_at": 0
}
], - "total": 0
}
Get a route by ID.
Authorizations:
path Parameters
route_id required | string^[a-zA-Z0-9-_.]+$ The unique identifier of the route. |
query Parameters
object non-empty |
Responses
Response samples
- 200
- 400
- default
{- "value": {
- "name": "string",
- "labels": {
- "property1": "string",
- "property2": "string"
}, - "desc": "string",
- "methods": [
- "GET"
], - "paths": [
- "string"
], - "plugins": { },
- "enable_websocket": true,
- "id": "string",
- "service_id": "string",
- "created_at": 0,
- "updated_at": 0
}, - "key": "string",
- "warning_msg": "string"
}
Update a route by ID.
Authorizations:
path Parameters
route_id required | string^[a-zA-Z0-9-_.]+$ The unique identifier of the route. |
Request Body schema: application/json
name required | string [ 1 .. 255 ] characters The object name. |
object | |
desc | string The object description. |
methods | Array of strings [ 1 .. 9 ] items unique Items Enum: "GET" "POST" "PUT" "DELETE" "PATCH" "HEAD" "OPTIONS" "TRACE" The allowed HTTP methods to access the route. If empty, all HTTP methods are allowed. |
paths required | Array of strings [ 1 .. 64 ] items [ items [ 1 .. 4096 ] characters ^/ ] The URI paths that can be matched to the API. |
plugins | object The key-value pairs which represent the plugins attached on the object. |
enable_websocket | boolean Define whether to enable Websocket for the route. |
service_id | string^[a-zA-Z0-9-_.]+$|^$ The object ID. |
Responses
Request samples
- Payload
{- "name": "string",
- "labels": {
- "property1": "string",
- "property2": "string"
}, - "desc": "string",
- "methods": [
- "GET"
], - "paths": [
- "string"
], - "plugins": { },
- "enable_websocket": true,
- "service_id": "string"
}
Response samples
- 200
- 400
- default
{- "value": {
- "name": "string",
- "labels": {
- "property1": "string",
- "property2": "string"
}, - "desc": "string",
- "methods": [
- "GET"
], - "paths": [
- "string"
], - "plugins": { },
- "enable_websocket": true,
- "id": "string",
- "service_id": "string",
- "created_at": 0,
- "updated_at": 0
}, - "key": "string",
- "warning_msg": "string"
}
Update a route by ID.
Authorizations:
path Parameters
route_id required | string^[a-zA-Z0-9-_.]+$ The unique identifier of the route. |
Request Body schema: application/json
name | string [ 1 .. 255 ] characters The object name. |
object | |
desc | string The object description. |
methods | Array of strings [ 1 .. 9 ] items unique Items Enum: "GET" "POST" "PUT" "DELETE" "PATCH" "HEAD" "OPTIONS" "TRACE" The allowed HTTP methods to access the route. If empty, all HTTP methods are allowed. |
paths | Array of strings [ 1 .. 64 ] items [ items [ 1 .. 4096 ] characters ^/ ] The URI paths that can be matched to the API. |
plugins | object The key-value pairs which represent the plugins attached on the object. |
enable_websocket | boolean Define whether to enable Websocket for the route. |
Responses
Request samples
- Payload
{- "name": "string",
- "labels": {
- "property1": "string",
- "property2": "string"
}, - "desc": "string",
- "methods": [
- "GET"
], - "paths": [
- "string"
], - "plugins": { },
- "enable_websocket": true
}
Response samples
- 200
- 400
- default
{- "value": {
- "name": "string",
- "labels": {
- "property1": "string",
- "property2": "string"
}, - "desc": "string",
- "methods": [
- "GET"
], - "paths": [
- "string"
], - "plugins": { },
- "enable_websocket": true,
- "id": "string",
- "service_id": "string",
- "created_at": 0,
- "updated_at": 0
}, - "key": "string",
- "warning_msg": "string"
}
Create a SSL certificate.
Authorizations:
query Parameters
gateway_group_id required | string >= 1 |
Request Body schema: application/json
snis | Array of strings The SNI list for matching the SSL certificate. |
required | string or string |
Array of strings or strings [ 1 .. 16 ] items | |
object | |
type | string Enum: "server" "client" The SSL certificate purpose, either client (used for communicating with the upstream) or server (used for communicating with the client) |
object | |
status | integer Enum: 0 1 The object status. 0 means the object is active while 1 means it's inactive. |
required | string or string |
Array of strings or strings [ 1 .. 16 ] items |
Responses
Request samples
- Payload
{- "snis": [
- "string"
], - "cert": "string",
- "certs": [
- "string"
], - "client": {
- "ca": "string",
- "depth": 1
}, - "type": "server",
- "labels": {
- "property1": "string",
- "property2": "string"
}, - "status": 0,
- "key": "string",
- "keys": [
- "string"
]
}
Response samples
- 200
{- "value": {
- "snis": [
- "string"
], - "cert": "string",
- "certs": [
- "string"
], - "client": {
- "ca": "string",
- "depth": 1
}, - "type": "server",
- "labels": {
- "property1": "string",
- "property2": "string"
}, - "status": 0,
- "id": "string",
- "created_at": 0,
- "updated_at": 0,
- "exptime": 0,
- "validity_start": 0,
- "validity_end": 0
}, - "key": "string",
- "warning_msg": "string"
}
Get all SSL certificates.
Authorizations:
query Parameters
gateway_group_id required | string >= 1 |
page | integer <int64> >= 1 The page number, starting from 1. |
page_size | integer <int64> >= 1 The page size. It must be greater than 0. |
direction | string Default: "desc" Enum: "asc" "desc" It should be ascending or descending (case-insensitive). By default, it is set to descending. |
order_by | string Default: "updated_at" Enum: "created_at" "updated_at" |
search | string The search keyword. |
object non-empty |
Responses
Response samples
- 200
- 400
- default
{- "list": [
- {
- "snis": [
- "string"
], - "cert": "string",
- "certs": [
- "string"
], - "client": {
- "ca": "string",
- "depth": 1
}, - "type": "server",
- "labels": {
- "property1": "string",
- "property2": "string"
}, - "status": 0,
- "id": "string",
- "created_at": 0,
- "updated_at": 0,
- "exptime": 0,
- "validity_start": 0,
- "validity_end": 0
}
], - "total": 0
}
Get a SSL certificate by ID.
Authorizations:
path Parameters
ssl_id required | string^[a-zA-Z0-9-_.]+$ The unique identifier of the SSL object. |
Responses
Response samples
- 200
- 400
- default
{- "value": {
- "snis": [
- "string"
], - "cert": "string",
- "certs": [
- "string"
], - "client": {
- "ca": "string",
- "depth": 1
}, - "type": "server",
- "labels": {
- "property1": "string",
- "property2": "string"
}, - "status": 0,
- "id": "string",
- "created_at": 0,
- "updated_at": 0,
- "exptime": 0,
- "validity_start": 0,
- "validity_end": 0
}, - "key": "string",
- "warning_msg": "string"
}
Update a SSL certificate by ID.
Authorizations:
path Parameters
ssl_id required | string^[a-zA-Z0-9-_.]+$ The unique identifier of the SSL object. |
query Parameters
gateway_group_id | string >= 1 |
Request Body schema: application/json
snis | Array of strings The SNI list for matching the SSL certificate. |
required | string or string |
Array of strings or strings [ 1 .. 16 ] items | |
object | |
type | string Enum: "server" "client" The SSL certificate purpose, either client (used for communicating with the upstream) or server (used for communicating with the client) |
object | |
status | integer Enum: 0 1 The object status. 0 means the object is active while 1 means it's inactive. |
required | string or string |
Array of strings or strings [ 1 .. 16 ] items |
Responses
Request samples
- Payload
{- "snis": [
- "string"
], - "cert": "string",
- "certs": [
- "string"
], - "client": {
- "ca": "string",
- "depth": 1
}, - "type": "server",
- "labels": {
- "property1": "string",
- "property2": "string"
}, - "status": 0,
- "key": "string",
- "keys": [
- "string"
]
}
Response samples
- 200
- 400
- default
{- "value": {
- "snis": [
- "string"
], - "cert": "string",
- "certs": [
- "string"
], - "client": {
- "ca": "string",
- "depth": 1
}, - "type": "server",
- "labels": {
- "property1": "string",
- "property2": "string"
}, - "status": 0,
- "id": "string",
- "created_at": 0,
- "updated_at": 0,
- "exptime": 0,
- "validity_start": 0,
- "validity_end": 0
}, - "key": "string",
- "warning_msg": "string"
}
Create an consumer.
Authorizations:
query Parameters
gateway_group_id required | string >= 1 |
Request Body schema: application/json
username required | string [ 1 .. 100 ] characters ^[a-zA-Z0-9_\-]+$ The object name. |
plugins | object The key-value pairs which represent the plugins attached on the object. |
desc | string The object description. |
object |
Responses
Request samples
- Payload
{- "username": "string",
- "plugins": { },
- "desc": "string",
- "labels": {
- "property1": "string",
- "property2": "string"
}
}
Response samples
- 200
- 400
- default
{- "value": {
- "username": "string",
- "plugins": { },
- "desc": "string",
- "labels": {
- "property1": "string",
- "property2": "string"
}, - "id": "string",
- "created_at": 0,
- "updated_at": 0
}, - "key": "string",
- "warning_msg": "string"
}
Get all consumers.
Authorizations:
query Parameters
gateway_group_id required | string >= 1 |
page | integer <int64> >= 1 The page number, starting from 1. |
page_size | integer <int64> >= 1 The page size. It must be greater than 0. |
direction | string Default: "desc" Enum: "asc" "desc" It should be ascending or descending (case-insensitive). By default, it is set to descending. |
order_by | string Default: "updated_at" Enum: "created_at" "updated_at" |
search | string The search keyword. |
object non-empty |
Responses
Response samples
- 200
- 400
- default
{- "list": [
- {
- "username": "string",
- "plugins": { },
- "desc": "string",
- "labels": {
- "property1": "string",
- "property2": "string"
}, - "id": "string",
- "created_at": 0,
- "updated_at": 0
}
], - "total": 0
}
Get a consumer by ID.
Authorizations:
path Parameters
consumer_id required | string^[a-zA-Z0-9-_.]+$ The unique identifier of the consumer. |
Responses
Response samples
- 200
- 400
- default
{- "value": {
- "username": "string",
- "plugins": { },
- "desc": "string",
- "labels": {
- "property1": "string",
- "property2": "string"
}, - "id": "string",
- "created_at": 0,
- "updated_at": 0
}, - "key": "string",
- "warning_msg": "string"
}
Update a consumer by ID.
Authorizations:
path Parameters
consumer_id required | string^[a-zA-Z0-9-_.]+$ The unique identifier of the consumer. |
query Parameters
gateway_group_id | string >= 1 |
Request Body schema: application/json
username required | string [ 1 .. 100 ] characters ^[a-zA-Z0-9_\-]+$ The object name. |
plugins | object The key-value pairs which represent the plugins attached on the object. |
desc | string The object description. |
object |
Responses
Request samples
- Payload
{- "username": "string",
- "plugins": { },
- "desc": "string",
- "labels": {
- "property1": "string",
- "property2": "string"
}
}
Response samples
- 200
- 400
- default
{- "value": {
- "username": "string",
- "plugins": { },
- "desc": "string",
- "labels": {
- "property1": "string",
- "property2": "string"
}, - "id": "string",
- "created_at": 0,
- "updated_at": 0
}, - "key": "string",
- "warning_msg": "string"
}
Update a consumer by ID.
Authorizations:
path Parameters
consumer_id required | string^[a-zA-Z0-9-_.]+$ The unique identifier of the consumer. |
Request Body schema: application/json
username | string [ 1 .. 100 ] characters ^[a-zA-Z0-9_\-]+$ The object name. |
plugins | object The key-value pairs which represent the plugins attached on the object. |
desc | string The object description. |
object |
Responses
Request samples
- Payload
{- "username": "string",
- "plugins": { },
- "desc": "string",
- "labels": {
- "property1": "string",
- "property2": "string"
}
}
Response samples
- 200
- 400
- default
{- "value": {
- "name": "string",
- "labels": {
- "property1": "string",
- "property2": "string"
}, - "desc": "string",
- "methods": [
- "GET"
], - "paths": [
- "string"
], - "plugins": { },
- "enable_websocket": true,
- "id": "string",
- "service_id": "string",
- "created_at": 0,
- "updated_at": 0
}, - "key": "string",
- "warning_msg": "string"
}
Create a global rule.
Authorizations:
query Parameters
gateway_group_id required | string >= 1 |
Request Body schema: application/json
plugins required | object The key-value pairs which represent the plugins attached on the object. |
Responses
Request samples
- Payload
{- "plugins": { }
}
Response samples
- 200
- 400
- default
{- "value": {
- "plugins": { },
- "id": "string",
- "created_at": 0,
- "updated_at": 0
}, - "key": "string",
- "warning_msg": "string"
}
Get all global rules.
Authorizations:
query Parameters
gateway_group_id required | string >= 1 |
page | integer <int64> >= 1 The page number, starting from 1. |
page_size | integer <int64> >= 1 The page size. It must be greater than 0. |
direction | string Default: "desc" Enum: "asc" "desc" It should be ascending or descending (case-insensitive). By default, it is set to descending. |
order_by | string Default: "updated_at" Enum: "created_at" "updated_at" |
search | string The search keyword. |
Responses
Response samples
- 200
- 400
- default
{- "list": [
- {
- "plugins": { },
- "id": "string",
- "created_at": 0,
- "updated_at": 0
}
], - "total": 0
}
Get a global rule by ID.
Authorizations:
path Parameters
global_rule_id required | string^[a-zA-Z0-9-_.]+$ The unique identifier of the global rule. |
query Parameters
gateway_group_id required | string >= 1 |
Responses
Response samples
- 200
- 400
- default
{- "value": {
- "plugins": { },
- "id": "string",
- "created_at": 0,
- "updated_at": 0
}, - "key": "string",
- "warning_msg": "string"
}
Update a global rule by ID.
Authorizations:
path Parameters
global_rule_id required | string^[a-zA-Z0-9-_.]+$ The unique identifier of the global rule. |
query Parameters
gateway_group_id required | string >= 1 |
Request Body schema: application/json
plugins required | object The key-value pairs which represent the plugins attached on the object. |
Responses
Request samples
- Payload
{- "plugins": { }
}
Response samples
- 200
- 400
- default
{- "value": {
- "plugins": { },
- "id": "string",
- "created_at": 0,
- "updated_at": 0
}, - "key": "string",
- "warning_msg": "string"
}
Delete a global rule by ID.
Authorizations:
path Parameters
global_rule_id required | string^[a-zA-Z0-9-_.]+$ The unique identifier of the global rule. |
query Parameters
gateway_group_id required | string >= 1 |
Responses
Response samples
- 200
- 400
- default
{- "value": { },
- "key": "string",
- "warning_msg": "string"
}
Get the plugin metadata.
Authorizations:
path Parameters
plugin_name required | string [ 1 .. 64 ] characters |
query Parameters
gateway_group_id required | string >= 1 |
return_default | boolean Default: false When set to true, the default value is returned when plugin metadata is not found. |
Responses
Response samples
- 200
- 400
- default
{- "value": { },
- "key": "string",
- "warning_msg": "string"
}
Update the plugin metadata.
Authorizations:
path Parameters
plugin_name required | string [ 1 .. 64 ] characters |
query Parameters
gateway_group_id required | string >= 1 |
Request Body schema: application/json
The plugin metadata description.
Responses
Request samples
- Payload
{ }
Response samples
- 200
- 400
- default
{- "value": { },
- "key": "string",
- "warning_msg": "string"
}
Delete the plugin metadata.
Authorizations:
path Parameters
plugin_name required | string [ 1 .. 64 ] characters |
query Parameters
gateway_group_id required | string >= 1 |
Responses
Response samples
- 200
- 400
- default
{- "value": { },
- "key": "string",
- "warning_msg": "string"
}
Get schema definition of all plugins.
Authorizations:
path Parameters
plugin_name required | string [ 1 .. 64 ] characters |
query Parameters
scope | string Value: "all" The scope of the plugin. |
Responses
Response samples
- 200
- default
{- "value": { },
- "key": "string",
- "warning_msg": "string"
}
Get a Plugin Usage by Name.
Get a Plugin Usage by Name.
Authorizations:
path Parameters
plugin_name required | string [ 1 .. 64 ] characters |
Responses
Response samples
- 200
- default
{- "value": {
- "published_service": {
- "total": 12,
- "list": [
- {
- "name": "string",
- "id": "string",
- "gateway_group_id": "string",
- "gateway_group_name": "string"
}
]
}, - "consumer": {
- "total": 12,
- "list": [
- {
- "name": "string",
- "id": "string",
- "gateway_group_id": "string",
- "gateway_group_name": "string"
}
]
}, - "global_rule": {
- "total": 12,
- "list": [
- {
- "name": "string",
- "id": "string",
- "gateway_group_id": "string",
- "gateway_group_name": "string"
}
]
}
}, - "key": "string",
- "warning_msg": "string"
}
Get all gateway instances.
Authorizations:
query Parameters
gateway_group_id | string >= 1 |
order_by | string Default: "last_heartbeat_time" Enum: "created_at" "last_heartbeat_time" |
status | string Enum: "Healthy" "OutOfSync" "LostConnection" "Offline" The value of the instance status. |
direction | string Default: "desc" Enum: "asc" "desc" It should be ascending or descending (case-insensitive). By default, it is set to descending. |
page_size | integer <int64> >= 1 The page size. It must be greater than 0. |
page | integer <int64> >= 1 The page number, starting from 1. |
search | string The search keyword. |
Responses
Response samples
- 200
- default
{- "list": [
- {
- "id": "string",
- "hostname": "string",
- "ip": "string",
- "gateway_group_id": "string",
- "version": "string",
- "ports": [
- 0
], - "last_heartbeat_time": 0,
- "to_be_deleted_at": 0,
- "created_at": 0,
- "dataplane_certificate_expire_time": 0,
- "status": "Healthy",
- "cores": 0
}
], - "total": 0
}
Calculate the number of instances in different states.
Authorizations:
path Parameters
field required | string Value: "status" |
query Parameters
gateway_group_id | string >= 1 |
search | string The search keyword. |
Responses
Response samples
- 200
- default
{- "value": [
- {
- "key": "string",
- "count": 0
}
], - "key": "string",
- "warning_msg": "string"
}
Export the gateway instance core usage.
Authorizations:
query Parameters
begin_at required | integer <int64> The start time of gateway instance core usage. |
end_at required | integer <int64> The end time of gateway instance core usage. |
Responses
Response samples
- 400
{- "error_msg": "string"
}
Create a token for the gateway instance.
Authorizations:
path Parameters
gateway_group_id required | string >= 1 Example: 86fb9981-d9d2-4555-9df8-91ae92129335 |
query Parameters
only_token | boolean The response only contains a token string but not an encoded JSON Web Token (JWT). |
Responses
Response samples
- 200
- 400
- default
{- "value": {
- "id": "string",
- "token_plain_text": "string"
}, - "key": "string",
- "warning_msg": "string"
}
Get all users.
Authorizations:
query Parameters
direction | string Default: "desc" Enum: "asc" "desc" It should be ascending or descending (case-insensitive). By default, it is set to descending. |
page_size | integer <int64> >= 1 The page size. It must be greater than 0. |
page | integer <int64> >= 1 The page number, starting from 1. |
order_by | string Default: "updated_at" Enum: "created_at" "updated_at" |
roles | Array of strings >= 1 |
login_option_name | Array of strings >= 1 |
Responses
Response samples
- 200
- default
{- "list": [
- {
- "id": "string",
- "email": "string",
- "last_name": "string",
- "first_name": "string",
- "username": "string",
- "created_at": 0,
- "updated_at": 0,
- "state": "string",
- "provider": "builtin",
- "roles": [
- {
- "id": "string",
- "name": "string",
- "org_id": "string",
- "permissions": [
- "string"
], - "scope_type": "gateway_group",
- "scopes": [
- {
- "id": "string",
- "name": "string"
}
], - "label_scopes": [
- {
- "property1": "string",
- "property2": "string"
}
]
}
]
}
], - "total": 0
}
Get a user by ID.
Authorizations:
path Parameters
user_id required | string >= 1 Example: 86fb9981-d9d2-4555-9df8-91ae92129335 The user ID. |
Responses
Response samples
- 200
- default
{- "value": {
- "id": "string",
- "email": "string",
- "last_name": "string",
- "first_name": "string",
- "username": "string",
- "created_at": 0,
- "updated_at": 0,
- "state": "string",
- "provider": "builtin",
- "roles": [
- {
- "id": "string",
- "name": "string",
- "org_id": "string",
- "permissions": [
- "string"
], - "scope_type": "gateway_group",
- "scopes": [
- {
- "id": "string",
- "name": "string"
}
], - "label_scopes": [
- {
- "property1": "string",
- "property2": "string"
}
]
}
]
}, - "key": "string",
- "warning_msg": "string"
}
Reset the password to the default value.
Authorizations:
path Parameters
user_id required | string >= 1 Example: 86fb9981-d9d2-4555-9df8-91ae92129335 The user ID. |
Request Body schema: application/json
password required | string [ 1 .. 128 ] characters The password of the user. |
Responses
Request samples
- Payload
{- "password": "string"
}
Response samples
- 200
{- "value": { },
- "key": "string",
- "warning_msg": "string"
}
Response samples
- 200
- default
{- "value": {
- "id": "string",
- "email": "string",
- "last_name": "string",
- "first_name": "string",
- "username": "string",
- "created_at": 0,
- "updated_at": 0,
- "state": "string",
- "provider": "builtin",
- "roles": [
- {
- "id": "string",
- "name": "string",
- "org_id": "string",
- "permissions": [
- "string"
], - "scope_type": "gateway_group",
- "scopes": [
- {
- "id": "string",
- "name": "string"
}
], - "label_scopes": [
- {
- "property1": "string",
- "property2": "string"
}
]
}
]
}, - "key": "string",
- "warning_msg": "string"
}
Update a user.
Authorizations:
Request Body schema: application/json
first_name required | string [ 1 .. 150 ] characters |
last_name required | string [ 1 .. 150 ] characters |
Responses
Request samples
- Payload
{- "first_name": "string",
- "last_name": "string"
}
Response samples
- 200
- default
{- "value": { },
- "key": "string",
- "warning_msg": "string"
}
Invite a user.
Authorizations:
Request Body schema: application/json
username required | string [ 1 .. 128 ] characters The username of the user. |
password required | string [ 1 .. 128 ] characters The password of the user. |
Responses
Request samples
- Payload
{- "username": "string",
- "password": "string"
}
Response samples
- 200
- default
{- "value": {
- "id": "string",
- "email": "string",
- "last_name": "string",
- "first_name": "string",
- "username": "string",
- "created_at": 0,
- "updated_at": 0,
- "state": "string",
- "provider": "builtin",
- "roles": [
- {
- "id": "string",
- "name": "string",
- "org_id": "string",
- "permissions": [
- "string"
], - "scope_type": "gateway_group",
- "scopes": [
- {
- "id": "string",
- "name": "string"
}
], - "label_scopes": [
- {
- "property1": "string",
- "property2": "string"
}
]
}
], - "invitation_link": "string"
}, - "key": "string",
- "warning_msg": "string"
}
Update the user password.
Authorizations:
Request Body schema: application/json
old_password | string [ 1 .. 128 ] characters |
new_password required | string [ 1 .. 128 ] characters |
Responses
Request samples
- Payload
{- "old_password": "string",
- "new_password": "string"
}
Response samples
- 200
{- "value": { },
- "key": "string",
- "warning_msg": "string"
}
Log in to API7 Enterprise using the username and password.
Authorizations:
Request Body schema: application/json
username required | string [ 1 .. 128 ] characters The username of the user. |
password required | string [ 1 .. 128 ] characters The password of the user. |
Responses
Request samples
- Payload
{- "username": "string",
- "password": "string"
}
Response samples
- 200
- default
{- "value": { },
- "key": "string",
- "warning_msg": "string"
}
Analyze the impact of removing specified resource tags on RBAC.
Authorizations:
Request Body schema: application/json
id required | string^[a-zA-Z0-9-_.]+$ The object ID. |
required | object non-empty |
Responses
Request samples
- Payload
[- {
- "id": "string",
- "remove_labels": {
- "property1": "string",
- "property2": "string"
}
}
]
Response samples
- 200
- default
{- "list": [
- {
- "id": "string",
- "remove_label": {
- "property1": "string",
- "property2": "string"
}, - "revoked_users": [
- {
- "id": "string",
- "email": "string",
- "last_name": "string",
- "first_name": "string",
- "username": "string"
}
]
}
], - "total": 0
}
Update assigned roles for a specific user.
Authorizations:
path Parameters
user_id required | string >= 1 Example: 86fb9981-d9d2-4555-9df8-91ae92129335 The user ID. |
Request Body schema: application/json
Array of objects [ 1 .. 32 ] items | |||||||
Array ([ 1 .. 32 ] items)
|
Responses
Request samples
- Payload
{- "roles": [
- {
- "role_id": "string",
- "scopes": [
- "string"
], - "label_scopes": [
- {
- "property1": "string",
- "property2": "string"
}
]
}
]
}
Response samples
- 200
- default
{- "value": { },
- "key": "string",
- "warning_msg": "string"
}
Callback APIs from the identity server.
Authorizations:
query Parameters
state required | string The field of the OIDC protocol. |
code required | string The field of the OIDC protocol. |
Responses
Response samples
- default
{- "value": { },
- "key": "string",
- "warning_msg": "string"
}
Log in to API7 Enterprise using the username and password.
Authorizations:
path Parameters
login_option_id required | string |
Request Body schema: application/json
username required | string [ 1 .. 128 ] characters The username of the user. |
password required | string [ 1 .. 128 ] characters The password of the user. |
Responses
Request samples
- Payload
{- "username": "string",
- "password": "string"
}
Response samples
- 200
- default
{- "value": { },
- "key": "string",
- "warning_msg": "string"
}
Log in using the OIDC provider.
Authorizations:
path Parameters
login_option_id required | string |
query Parameters
state required | string The field of the OIDC protocol. |
code required | string The field of the OIDC protocol. |
Responses
Response samples
- default
{- "value": { },
- "key": "string",
- "warning_msg": "string"
}
SAML login, will redirect to IDP and callback to SP(dashboard)
Authorizations:
path Parameters
login_option_id required | string |
query Parameters
redirect_uri | string non-empty ^/ Path to be redirected after callback |
Responses
Response samples
- default
{- "value": { },
- "key": "string",
- "warning_msg": "string"
}
SAML Logout, will redirect to IDP and callback to SP(dashboard)
Authorizations:
path Parameters
login_option_id required | string |
query Parameters
redirect_uri | string non-empty ^/ Path to be redirected after callback |
Responses
Response samples
- default
{- "value": { },
- "key": "string",
- "warning_msg": "string"
}
SAML ACS/SLO callback, from IDP callback to SP(dashboard)
Authorizations:
path Parameters
login_option_id required | string |
Request Body schema: application/x-www-form-urlencoded
SAMLResponse required | string Base64 encoded SAML response |
RelayState | string State information to be relayed with the response |
Responses
Response samples
- default
{- "value": { },
- "key": "string",
- "warning_msg": "string"
}
SAML ACS/SLO callback, from IDP callback to SP(dashboard)
Authorizations:
path Parameters
login_option_id required | string |
query Parameters
SAMLResponse required | string Base64 encoded SAML response |
RelayState | string State information to be relayed with the response |
Responses
Response samples
- default
{- "value": { },
- "key": "string",
- "warning_msg": "string"
}
SAML ACS/SLO callback, from IDP callback to SP(dashboard)
Authorizations:
path Parameters
login_option_id required | string |
Request Body schema: application/x-www-form-urlencoded
SAMLResponse required | string Base64 encoded SAML response |
RelayState | string State information to be relayed with the response |
Responses
Response samples
- default
{- "value": { },
- "key": "string",
- "warning_msg": "string"
}
Get all roles.
Authorizations:
query Parameters
page | integer <int64> >= 1 The page number, starting from 1. |
page_size | integer <int64> >= 1 The page size. It must be greater than 0. |
direction | string Default: "desc" Enum: "asc" "desc" It should be ascending or descending (case-insensitive). By default, it is set to descending. |
order_by | string Default: "updated_at" Enum: "created_at" "updated_at" |
search | string The search keyword. |
Responses
Response samples
- 200
- default
{- "list": [
- {
- "id": "string",
- "name": "string",
- "desc": "string",
- "org_id": "string",
- "type": "built_in",
- "scope_type": "gateway_group",
- "permissions": [
- "string"
]
}
], - "total": 0
}
Create a role.
Authorizations:
Request Body schema: application/json
name required | string The role name. |
desc | string <= 256 characters The object description. |
permissions required | Array of strings The permission settings of the role. |
Responses
Request samples
- Payload
{- "name": "string",
- "desc": "string",
- "permissions": [
- "string"
]
}
Response samples
- 200
- 400
- default
{- "value": {
- "id": "string",
- "name": "string",
- "desc": "string",
- "org_id": "string",
- "type": "built_in",
- "scope_type": "gateway_group",
- "permissions": [
- "string"
]
}, - "key": "string",
- "warning_msg": "string"
}
Get details of a role by role ID.
Authorizations:
path Parameters
role_id required | string >= 1 |
Responses
Response samples
- 200
- default
{- "value": {
- "id": "string",
- "name": "string",
- "desc": "string",
- "org_id": "string",
- "type": "built_in",
- "scope_type": "gateway_group",
- "permissions": [
- "string"
]
}, - "key": "string",
- "warning_msg": "string"
}
Update a role by role ID.
Authorizations:
path Parameters
role_id required | string >= 1 |
Request Body schema: application/json
name | string The role name. |
desc | string <= 256 characters The object description. |
permissions | Array of strings The permission settings of the role. |
Responses
Request samples
- Payload
{- "name": "string",
- "desc": "string",
- "permissions": [
- "string"
]
}
Response samples
- 200
- 400
- default
{- "value": {
- "id": "string",
- "name": "string",
- "desc": "string",
- "org_id": "string",
- "type": "built_in",
- "scope_type": "gateway_group",
- "permissions": [
- "string"
]
}, - "key": "string",
- "warning_msg": "string"
}
Get data from Prometheus.
Authorizations:
path Parameters
prometheus_path required | string Example: api/v1/query_range?query=xxx&start=1684722195&end=1684723995&step=15 The path to the Prometheus API. |
Responses
Response samples
- 200
- default
{- "value": {
- "status": "success",
- "data": {
- "resultType": "matrix",
- "result": [
- {
- "metric": {
- "label": "xxx"
}, - "values": [
- [
- 1684740675,
- 1
], - [
- 1684740690,
- 2
]
]
}
]
}
}, - "key": "string",
- "warning_msg": "string"
}
Get data from Prometheus (with post).
Authorizations:
path Parameters
prometheus_path required | string Example: api/v1/query_range?query=xxx&start=1684722195&end=1684723995&step=15 The path to the Prometheus API. |
Request Body schema: application/x-www-form-urlencoded
property name* additional property | any |
Responses
Response samples
- 200
- default
{- "value": {
- "status": "success",
- "data": {
- "resultType": "matrix",
- "result": [
- {
- "metric": {
- "label": "xxx"
}, - "values": [
- [
- 1684740675,
- 1
], - [
- 1684740690,
- 2
]
]
}
]
}
}, - "key": "string",
- "warning_msg": "string"
}
Send a heartbeat to the data plane.
Authorizations:
Request Body schema: application/json
instance_id required | string^[a-zA-Z0-9-_.]+$ The gateway instance ID. |
hostname required | string The hostname of the gateway instance. |
ip | string The IP address of the gateway instance. |
version required | string The version of the gateway instance. |
ports required | Array of integers non-empty unique The listening ports of the gateway instance. |
conf_server_revision required | string The configuration version currently used by the data plane. |
cores | integer The number of DP cores. |
Responses
Request samples
- Payload
{- "instance_id": "string",
- "hostname": "string",
- "ip": "string",
- "version": "string",
- "ports": [
- 0
], - "conf_server_revision": "string",
- "cores": 0
}
Response samples
- default
{- "value": { },
- "key": "string",
- "warning_msg": "string"
}
Generate data plane metrics.
Authorizations:
Request Body schema: application/json
instance_id required | string^[a-zA-Z0-9-_.]+$ The gateway instance ID. |
truncated | boolean Whether to truncate the reported metrics due to exceeding the single report size limit. |
metrics required | string Format the text in Prometheus metric format. |
Responses
Request samples
- Payload
{- "instance_id": "string",
- "truncated": true,
- "metrics": "string"
}
Response samples
- default
{- "value": { },
- "key": "string",
- "warning_msg": "string"
}
Get all alert policies.
Authorizations:
query Parameters
order_by | string Default: "updated_at" Enum: "created_at" "updated_at" |
direction | string Default: "desc" Enum: "asc" "desc" It should be ascending or descending (case-insensitive). By default, it is set to descending. |
page_size | integer <int64> >= 1 The page size. It must be greater than 0. |
page | integer <int64> >= 1 The page number, starting from 1. |
search | string The search keyword. |
Responses
Response samples
- 200
- default
{- "list": [
- {
- "id": "string",
- "trigger_logical_operator": "All",
- "trigger_conditions": [
- {
- "event": "number_of_status_code",
- "event_config": {
- "duration": 1,
- "unit": "hour",
- "http_status_code": "string"
}, - "operator": "larger_equal",
- "value": 0
}
], - "created_at": 0,
- "updated_at": 0,
- "name": "string",
- "description": "string",
- "scope": [
- "string"
], - "enable": false,
- "title": "string",
- "detail": "string",
- "check_interval": 60,
- "severity": "high",
- "webhook_templates": [
- "string"
]
}
], - "total": 0
}
Create an alert policy.
Authorizations:
Request Body schema: application/json
name required | string The policy name. |
description | string [ 1 .. 1024 ] characters The policy description. |
severity | string Default: "medium" Enum: "high" "medium" "low" The alert severity level. |
scope required | Array of strings non-empty |
Responses
Request samples
- Payload
{- "name": "string",
- "description": "string",
- "severity": "high",
- "scope": [
- "string"
]
}
Response samples
- 200
- 400
- default
{- "value": {
- "id": "string"
}, - "key": "string",
- "warning_msg": "string"
}
Get an alert policy by ID.
Authorizations:
path Parameters
alert_policy_id required | string |
Responses
Response samples
- 200
- 400
- default
{- "value": {
- "id": "string",
- "trigger_logical_operator": "All",
- "trigger_conditions": [
- {
- "event": "number_of_status_code",
- "event_config": {
- "duration": 1,
- "unit": "hour",
- "http_status_code": "string"
}, - "operator": "larger_equal",
- "value": 0
}
], - "created_at": 0,
- "updated_at": 0,
- "name": "string",
- "description": "string",
- "scope": [
- "string"
], - "enable": false,
- "title": "string",
- "detail": "string",
- "check_interval": 60,
- "severity": "high",
- "webhook_templates": [
- "string"
]
}, - "key": "string",
- "warning_msg": "string"
}
Update an alert Policy by ID.
Authorizations:
path Parameters
alert_policy_id required | string |
Request Body schema: application/json
name | string The alert policy name. |
description | string [ 1 .. 1024 ] characters The alert policy description. |
scope | Array of strings non-empty |
enable | boolean Default: false Whether the alert policy is enabled. |
title | string [ 1 .. 128 ] characters The alert policy title. |
detail | string [ 1 .. 128 ] characters The alert policy details. |
check_interval | integer [ 60 .. 86400 ] The check interval for the alert policy. The unit is second. |
severity | string Default: "medium" Enum: "high" "medium" "low" The alert severity level. |
webhook_templates | Array of strings [ 0 .. 10 ] items The alert Webhook template refers. |
Responses
Request samples
- Payload
{- "name": "string",
- "description": "string",
- "scope": [
- "string"
], - "enable": false,
- "title": "string",
- "detail": "string",
- "check_interval": 60,
- "severity": "high",
- "webhook_templates": [
- "string"
]
}
Response samples
- 200
- 400
- default
{- "value": { },
- "key": "string",
- "warning_msg": "string"
}
Update an alert policy by ID.
Authorizations:
path Parameters
alert_policy_id required | string |
Request Body schema: application/json
name | string The alert policy name. |
description | string [ 1 .. 1024 ] characters The alert policy description. |
scope | Array of strings non-empty |
enable | boolean Default: false Whether the alert policy is enabled. |
title | string [ 1 .. 128 ] characters The alert policy title. |
detail | string [ 1 .. 128 ] characters The alert policy details. |
check_interval | integer [ 60 .. 86400 ] The check interval for the alert policy. The unit is second. |
severity | string Default: "medium" Enum: "high" "medium" "low" The alert severity level. |
webhook_templates | Array of strings [ 0 .. 10 ] items The alert Webhook template refers. |
Responses
Request samples
- Payload
{- "name": "string",
- "description": "string",
- "scope": [
- "string"
], - "enable": false,
- "title": "string",
- "detail": "string",
- "check_interval": 60,
- "severity": "high",
- "webhook_templates": [
- "string"
]
}
Response samples
- 200
- 400
- default
{- "value": { },
- "key": "string",
- "warning_msg": "string"
}
Update alert policy triggers by ID.
Authorizations:
path Parameters
alert_policy_id required | string |
Request Body schema: application/json
trigger_logical_operator | string Enum: "All" "Any" |
Array of objects or objects or objects [ 1 .. 64 ] items |
Responses
Request samples
- Payload
{- "trigger_logical_operator": "All",
- "trigger_conditions": [
- {
- "event": "number_of_status_code",
- "event_config": {
- "duration": 1,
- "unit": "hour",
- "http_status_code": "string"
}, - "operator": "larger_equal",
- "value": 0
}
]
}
Response samples
- 200
- 400
- default
{- "value": { },
- "key": "string",
- "warning_msg": "string"
}
Get all alert Webhook templates.
Authorizations:
query Parameters
order_by | string Default: "updated_at" Enum: "created_at" "updated_at" |
direction | string Default: "desc" Enum: "asc" "desc" It should be ascending or descending (case-insensitive). By default, it is set to descending. |
page_size | integer <int64> >= 1 The page size. It must be greater than 0. |
page | integer <int64> >= 1 The page number, starting from 1. |
search | string The search keyword. |
Responses
Response samples
- 200
- 400
- default
{- "list": [
- {
- "id": "string",
- "updated_at": 0,
- "created_at": 0,
- "name": "string",
- "description": "string",
- "url": "string",
- "method": "POST",
- "skip_tls_verify": false,
- "headers": [
- {
- "name": "string",
- "value": "string"
}
], - "template": "string"
}
], - "total": 0
}
Create an alert Webhook template.
Authorizations:
Request Body schema: application/json
name required | string [ 1 .. 20 ] characters |
description | string [ 0 .. 255 ] characters |
url required | string [ 1 .. 1024 ] characters The Webhook URL. |
method | string Default: "POST" Value: "POST" The HTTP method of the Webhook request. |
skip_tls_verify required | boolean Default: false Whether to skip TLS verification. |
Array of objects [ 1 .. 16 ] items Extra HTTP headers to take when sending requests. | |
template required | string The alert message template, which supports the Go syntax. |
Responses
Request samples
- Payload
{- "name": "string",
- "description": "string",
- "url": "string",
- "method": "POST",
- "skip_tls_verify": false,
- "headers": [
- {
- "name": "string",
- "value": "string"
}
], - "template": "string"
}
Response samples
- 200
- 400
- default
{- "value": {
- "id": "string"
}, - "key": "string",
- "warning_msg": "string"
}
Get an alert Webhook template by ID.
Authorizations:
path Parameters
webhook_template_id required | string |
Responses
Response samples
- 200
- 400
- default
{- "value": {
- "id": "string",
- "updated_at": 0,
- "created_at": 0,
- "name": "string",
- "description": "string",
- "url": "string",
- "method": "POST",
- "skip_tls_verify": false,
- "headers": [
- {
- "name": "string",
- "value": "string"
}
], - "template": "string"
}, - "key": "string",
- "warning_msg": "string"
}
Update an alert Webhook template by ID.
Authorizations:
path Parameters
webhook_template_id required | string |
Request Body schema: application/json
name required | string [ 1 .. 20 ] characters |
description | string [ 0 .. 255 ] characters |
url required | string [ 1 .. 1024 ] characters The Webhook URL. |
method | string Default: "POST" Value: "POST" The HTTP method of the Webhook request. |
skip_tls_verify required | boolean Default: false Whether to skip TLS verification. |
Array of objects [ 1 .. 16 ] items Extra HTTP headers to take when sending requests. | |
template required | string The alert message template, which supports the Go syntax. |
Responses
Request samples
- Payload
{- "name": "string",
- "description": "string",
- "url": "string",
- "method": "POST",
- "skip_tls_verify": false,
- "headers": [
- {
- "name": "string",
- "value": "string"
}
], - "template": "string"
}
Response samples
- 200
- 400
- default
{- "value": { },
- "key": "string",
- "warning_msg": "string"
}
Get all alert Webhook template refers.
Authorizations:
path Parameters
webhook_template_id required | string |
Responses
Response samples
- 200
- default
{- "list": [
- {
- "id": "string",
- "trigger_logical_operator": "All",
- "trigger_conditions": [
- {
- "event": "number_of_status_code",
- "event_config": {
- "duration": 1,
- "unit": "hour",
- "http_status_code": "string"
}, - "operator": "larger_equal",
- "value": 0
}
], - "created_at": 0,
- "updated_at": 0,
- "name": "string",
- "description": "string",
- "scope": [
- "string"
], - "enable": false,
- "title": "string",
- "detail": "string",
- "check_interval": 60,
- "severity": "high",
- "webhook_templates": [
- "string"
]
}
], - "total": 0
}
Get all alert history.
Authorizations:
query Parameters
order_by | string Default: "updated_at" Enum: "created_at" "updated_at" |
direction | string Default: "desc" Enum: "asc" "desc" It should be ascending or descending (case-insensitive). By default, it is set to descending. |
page_size | integer <int64> >= 1 The page size. It must be greater than 0. |
page | integer <int64> >= 1 The page number, starting from 1. |
search | string The search keyword. |
Responses
Response samples
- 200
- 400
- default
{- "list": [
- {
- "id": "string",
- "alert_policy_id": "string",
- "alert_webhook_template_id": "string",
- "gateway_group_id": "string",
- "alert_webhook_template_name": "string",
- "alert_policy_name": "string",
- "severity": "high",
- "description": "string",
- "created_at": 0,
- "status": 0,
- "http_request": "string",
- "http_response": "string"
}
], - "total": 0
}
Get all audit logs.
Authorizations:
query Parameters
event_type | string |
operator_id | string The user ID of the operator. |
resource_id | string |
start_at | integer |
end_at | integer |
order_by | string Default: "event_time" Value: "event_time" |
direction | string Default: "desc" Enum: "asc" "desc" It should be ascending or descending (case-insensitive). By default, it is set to descending. |
page_size | integer <int64> >= 1 The page size. It must be greater than 0. |
page | integer <int64> >= 1 The page number, starting from 1. |
Responses
Response samples
- 200
{- "list": [
- {
- "id": "string",
- "event_time": 0,
- "operator": {
- "id": "string",
- "email": "string",
- "last_name": "string",
- "first_name": "string",
- "username": "string"
}, - "source": "dashboard",
- "token_name": "string",
- "event_type": "string",
- "resource_id": "string",
- "ip_address": "string",
- "error_message": "string",
- "http_request": {
- "method": "string",
- "uri": "string",
- "body": { },
- "user_agent": "string"
}, - "http_response": {
- "status_code": 0,
- "body": { }
}
}
], - "total": 0
}
Create a token.
Authorizations:
Request Body schema: application/json
name required | string <= 40 characters The token name. |
expires_at required | integer <int64> The expiration time of the token. |
Responses
Request samples
- Payload
{- "name": "string",
- "expires_at": 0
}
Response samples
- 200
- 400
- default
{- "value": {
- "id": "string",
- "name": "string",
- "created_at": 0,
- "updated_at": 0,
- "expires_at": 0,
- "user_id": "string",
- "user_name": "string",
- "last_used_at": 0,
- "token": "string"
}, - "key": "string",
- "warning_msg": "string"
}
Get all tokens.
Authorizations:
query Parameters
order_by | string Default: "created_at" Enum: "created_at" "updated_at" "expires_at" |
direction | string Default: "desc" Enum: "asc" "desc" It should be ascending or descending (case-insensitive). By default, it is set to descending. |
page_size | integer <int64> >= 1 The page size. It must be greater than 0. |
page | integer <int64> >= 1 The page number, starting from 1. |
search | string The search keyword. |
Responses
Response samples
- 200
- 400
- default
{- "list": [
- {
- "id": "string",
- "name": "string",
- "created_at": 0,
- "updated_at": 0,
- "expires_at": 0,
- "user_id": "string",
- "user_name": "string",
- "last_used_at": 0
}
], - "total": 0
}
Get a token by ID.
Authorizations:
path Parameters
token_id required | string^[a-zA-Z0-9-_.]+$ The unique identifier of the token. |
Responses
Response samples
- 200
- 400
- default
{- "value": {
- "id": "string",
- "name": "string",
- "created_at": 0,
- "updated_at": 0,
- "expires_at": 0,
- "user_id": "string",
- "user_name": "string",
- "last_used_at": 0
}, - "key": "string",
- "warning_msg": "string"
}
Update a token by ID.
Authorizations:
path Parameters
token_id required | string^[a-zA-Z0-9-_.]+$ The unique identifier of the token. |
Request Body schema: application/json
name required | string <= 40 characters The token name. |
Responses
Request samples
- Payload
{- "name": "string"
}
Response samples
- 200
- 400
- default
{- "value": {
- "id": "string",
- "name": "string",
- "created_at": 0,
- "updated_at": 0,
- "expires_at": 0,
- "user_id": "string",
- "user_name": "string",
- "last_used_at": 0
}, - "key": "string",
- "warning_msg": "string"
}
Regenerate a token.
Authorizations:
path Parameters
token_id required | string^[a-zA-Z0-9-_.]+$ The unique identifier of the token. |
Request Body schema: application/json
expires_at required | integer <int64> The expiration time of the token. |
Responses
Request samples
- Payload
{- "expires_at": 0
}
Response samples
- 200
- 400
- default
{- "value": {
- "id": "string",
- "name": "string",
- "created_at": 0,
- "updated_at": 0,
- "expires_at": 0,
- "user_id": "string",
- "user_name": "string",
- "last_used_at": 0,
- "token": "string"
}, - "key": "string",
- "warning_msg": "string"
}
Get all gateway groups.
Authorizations:
query Parameters
direction | string Default: "desc" Enum: "asc" "desc" It should be ascending or descending (case-insensitive). By default, it is set to descending. |
page_size | integer <int64> >= 1 The page size. It must be greater than 0. |
page | integer <int64> >= 1 The page number, starting from 1. |
order_by | string Default: "updated_at" Enum: "created_at" "updated_at" |
search | string The search keyword. |
object non-empty | |
is_permitted | boolean Default: false Filter the resources that the current user has permissions to operate on. |
Responses
Response samples
- 200
- default
{- "list": [
- {
- "id": "string",
- "name": "string",
- "description": "string",
- "labels": {
- "property1": "string",
- "property2": "string"
}, - "created_at": 0,
- "updated_at": 0,
- "config": {
- "group_type": "API7EE_GATEWAY_3.2",
- "control_plane_key_prefix": "string",
- "control_plane_user": "string",
- "control_plane_password": "string",
- "image_tag": "string"
}
}
], - "total": 0
}
Create a gateway group.
Authorizations:
Request Body schema: application/json
name required | string [ 1 .. 255 ] characters The object name. |
description | string |
object |
Responses
Request samples
- Payload
{- "name": "string",
- "description": "string",
- "labels": {
- "property1": "string",
- "property2": "string"
}
}
Response samples
- 200
- default
{- "value": {
- "id": "string",
- "name": "string",
- "description": "string",
- "labels": {
- "property1": "string",
- "property2": "string"
}, - "created_at": 0,
- "updated_at": 0,
- "config": {
- "group_type": "API7EE_GATEWAY_3.2",
- "control_plane_key_prefix": "string",
- "control_plane_user": "string",
- "control_plane_password": "string",
- "image_tag": "string"
}
}, - "key": "string",
- "warning_msg": "string"
}
Count resources for the gateway group.
Authorizations:
path Parameters
resource_type required | string Enum: "ssl" "consumer" "gateway_instance" |
Responses
Response samples
- 200
- default
{- "list": [
- {
- "id": "string",
- "name": "string",
- "description": "string",
- "labels": {
- "property1": "string",
- "property2": "string"
}, - "created_at": 0,
- "updated_at": 0,
- "config": {
- "group_type": "API7EE_GATEWAY_3.2",
- "control_plane_key_prefix": "string",
- "control_plane_user": "string",
- "control_plane_password": "string",
- "image_tag": "string"
}, - "count": 0
}
], - "total": 0
}
Update a gateway group by ID.
Authorizations:
path Parameters
gateway_group_id required | string >= 1 Example: 86fb9981-d9d2-4555-9df8-91ae92129335 |
Request Body schema: application/json
name required | string [ 1 .. 255 ] characters The object name. |
description required | string |
object |
Responses
Request samples
- Payload
{- "name": "string",
- "description": "string",
- "labels": {
- "property1": "string",
- "property2": "string"
}
}
Response samples
- 200
- default
{- "value": {
- "id": "string",
- "name": "string",
- "description": "string",
- "labels": {
- "property1": "string",
- "property2": "string"
}, - "created_at": 0,
- "updated_at": 0,
- "config": {
- "group_type": "API7EE_GATEWAY_3.2",
- "control_plane_key_prefix": "string",
- "control_plane_user": "string",
- "control_plane_password": "string",
- "image_tag": "string"
}
}, - "key": "string",
- "warning_msg": "string"
}
Get a gateway group by ID.
Authorizations:
path Parameters
gateway_group_id required | string >= 1 Example: 86fb9981-d9d2-4555-9df8-91ae92129335 |
Responses
Response samples
- 200
- default
{- "value": {
- "id": "string",
- "name": "string",
- "description": "string",
- "labels": {
- "property1": "string",
- "property2": "string"
}, - "created_at": 0,
- "updated_at": 0,
- "config": {
- "group_type": "API7EE_GATEWAY_3.2",
- "control_plane_key_prefix": "string",
- "control_plane_user": "string",
- "control_plane_password": "string",
- "image_tag": "string"
}
}, - "key": "string",
- "warning_msg": "string"
}
Get all published services in Gateway Group.
Authorizations:
path Parameters
gateway_group_id required | string >= 1 Example: 86fb9981-d9d2-4555-9df8-91ae92129335 |
query Parameters
runtime_type | string Enum: "normal" "canary" |
unhealthy_nodes | Array of strings Items Enum: "unhealthy_nodes_exists" "no_unhealthy_nodes" |
direction | string Default: "desc" Enum: "asc" "desc" It should be ascending or descending (case-insensitive). By default, it is set to descending. |
page_size | integer <int64> >= 1 The page size. It must be greater than 0. |
page | integer <int64> >= 1 The page number, starting from 1. |
order_by | string Default: "updated_at" Enum: "created_at" "updated_at" "publish_time" |
search | string The search keyword. |
Responses
Response samples
- 200
- default
{- "list": [
- {
- "name": "string",
- "labels": {
- "property1": "string",
- "property2": "string"
}, - "desc": "string",
- "hosts": [
- "string"
], - "path_prefix": "string",
- "strip_path_prefix": true,
- "plugins": { },
- "upstream": {
- "name": "default",
- "scheme": "http",
- "desc": "string",
- "type": "roundrobin",
- "hash_on": "vars",
- "key": "string",
- "retries": 65535,
- "keepalive_pool": {
- "size": 320,
- "idle_timeout": 60,
- "requests": 1000
}, - "timeout": {
- "connect": 60,
- "send": 60,
- "read": 60
}, - "retry_timeout": 0,
- "pass_host": "pass",
- "upstream_host": "string",
- "nodes": [
- {
- "host": "string",
- "port": 1,
- "weight": 65535,
- "priority": 0
}
], - "service_name": "string",
- "discovery_type": "kubernetes",
- "discovery_args": {
- "metadata": {
- "idc": "shanghai"
}
}, - "tls": {
- "client_cert": "string",
- "client_key": "string"
}, - "checks": {
- "active": {
- "type": "http",
- "timeout": 1,
- "concurrency": 10,
- "host": "string",
- "port": 1,
- "http_path": "/",
- "https_verify_certificate": true,
- "req_headers": [
- "string"
], - "healthy": {
- "interval": 1,
- "http_statuses": [
- 200,
- 302
], - "successes": 2
}, - "unhealthy": {
- "interval": 1,
- "http_statuses": [
- 429,
- 404,
- 500,
- 501,
- 502,
- 503,
- 504,
- 505
], - "http_failures": 5,
- "tcp_failures": 2,
- "timeouts": 3
}
}, - "passive": {
- "type": "http",
- "healthy": {
- "http_statuses": [
- 200,
- 201,
- 202,
- 203,
- 204,
- 205,
- 206,
- 207,
- 208,
- 226,
- 300,
- 301,
- 302,
- 303,
- 304,
- 305,
- 306,
- 307,
- 308
], - "successes": 5
}, - "unhealthy": {
- "http_statuses": [
- 429,
- 500,
- 503
], - "tcp_failures": 2,
- "timeouts": 7,
- "http_failures": 5
}
}
}
}, - "id": "string",
- "service_id": "string",
- "version": "string",
- "created_at": 0,
- "gateway_group_name": "string",
- "gateway_group_id": "string",
- "unhealthy_nodes_count": 0,
- "status": 0
}
], - "total": 0
}
Get a published service by ID.
Authorizations:
path Parameters
gateway_group_id required | string >= 1 Example: 86fb9981-d9d2-4555-9df8-91ae92129335 |
service_id required | string^[a-zA-Z0-9-_.]+$ The unique identifier of the service. |
Responses
Response samples
- 200
- default
{- "value": {
- "name": "string",
- "labels": {
- "property1": "string",
- "property2": "string"
}, - "desc": "string",
- "hosts": [
- "string"
], - "path_prefix": "string",
- "strip_path_prefix": true,
- "plugins": { },
- "upstream": {
- "name": "default",
- "scheme": "http",
- "desc": "string",
- "type": "roundrobin",
- "hash_on": "vars",
- "key": "string",
- "retries": 65535,
- "keepalive_pool": {
- "size": 320,
- "idle_timeout": 60,
- "requests": 1000
}, - "timeout": {
- "connect": 60,
- "send": 60,
- "read": 60
}, - "retry_timeout": 0,
- "pass_host": "pass",
- "upstream_host": "string",
- "nodes": [
- {
- "host": "string",
- "port": 1,
- "weight": 65535,
- "priority": 0
}
], - "service_name": "string",
- "discovery_type": "kubernetes",
- "discovery_args": {
- "metadata": {
- "idc": "shanghai"
}
}, - "tls": {
- "client_cert": "string",
- "client_key": "string"
}, - "checks": {
- "active": {
- "type": "http",
- "timeout": 1,
- "concurrency": 10,
- "host": "string",
- "port": 1,
- "http_path": "/",
- "https_verify_certificate": true,
- "req_headers": [
- "string"
], - "healthy": {
- "interval": 1,
- "http_statuses": [
- 200,
- 302
], - "successes": 2
}, - "unhealthy": {
- "interval": 1,
- "http_statuses": [
- 429,
- 404,
- 500,
- 501,
- 502,
- 503,
- 504,
- 505
], - "http_failures": 5,
- "tcp_failures": 2,
- "timeouts": 3
}
}, - "passive": {
- "type": "http",
- "healthy": {
- "http_statuses": [
- 200,
- 201,
- 202,
- 203,
- 204,
- 205,
- 206,
- 207,
- 208,
- 226,
- 300,
- 301,
- 302,
- 303,
- 304,
- 305,
- 306,
- 307,
- 308
], - "successes": 5
}, - "unhealthy": {
- "http_statuses": [
- 429,
- 500,
- 503
], - "tcp_failures": 2,
- "timeouts": 7,
- "http_failures": 5
}
}
}
}, - "id": "string",
- "service_id": "string",
- "version": "string",
- "created_at": 0,
- "gateway_group_name": "string",
- "gateway_group_id": "string",
- "unhealthy_nodes_count": 0,
- "status": 0
}, - "key": "string",
- "warning_msg": "string"
}
Delete a published service by ID.
Authorizations:
path Parameters
gateway_group_id required | string >= 1 Example: 86fb9981-d9d2-4555-9df8-91ae92129335 |
service_id required | string^[a-zA-Z0-9-_.]+$ The unique identifier of the service. |
Responses
Response samples
- 200
- default
{- "value": { },
- "key": "string",
- "warning_msg": "string"
}
Get all permitted users for published service.
Authorizations:
path Parameters
gateway_group_id required | string >= 1 Example: 86fb9981-d9d2-4555-9df8-91ae92129335 |
service_id required | string^[a-zA-Z0-9-_.]+$ The unique identifier of the service. |
query Parameters
direction | string Default: "desc" Enum: "asc" "desc" It should be ascending or descending (case-insensitive). By default, it is set to descending. |
page_size | integer <int64> >= 1 The page size. It must be greater than 0. |
page | integer <int64> >= 1 The page number, starting from 1. |
order_by | string Default: "updated_at" Enum: "created_at" "updated_at" |
roles | Array of strings >= 1 |
Responses
Response samples
- 200
- default
{- "list": [
- {
- "id": "string",
- "email": "string",
- "last_name": "string",
- "first_name": "string",
- "username": "string",
- "created_at": 0,
- "updated_at": 0,
- "state": "string",
- "provider": "builtin",
- "roles": [
- {
- "id": "string",
- "name": "string",
- "org_id": "string",
- "permissions": [
- "string"
], - "scope_type": "gateway_group",
- "scopes": [
- {
- "id": "string",
- "name": "string"
}
], - "label_scopes": [
- {
- "property1": "string",
- "property2": "string"
}
]
}
]
}
], - "total": 0
}
Get all versions of published services by ID.
Authorizations:
path Parameters
gateway_group_id required | string >= 1 Example: 86fb9981-d9d2-4555-9df8-91ae92129335 |
service_id required | string^[a-zA-Z0-9-_.]+$ The unique identifier of the service. |
query Parameters
direction | string Default: "desc" Enum: "asc" "desc" It should be ascending or descending (case-insensitive). By default, it is set to descending. |
order_by | string Default: "publish_time" Value: "publish_time" |
Responses
Response samples
- 200
- default
{- "list": [
- {
- "name": "string",
- "labels": {
- "property1": "string",
- "property2": "string"
}, - "desc": "string",
- "hosts": [
- "string"
], - "path_prefix": "string",
- "strip_path_prefix": true,
- "plugins": { },
- "upstream": {
- "name": "default",
- "scheme": "http",
- "desc": "string",
- "type": "roundrobin",
- "hash_on": "vars",
- "key": "string",
- "retries": 65535,
- "keepalive_pool": {
- "size": 320,
- "idle_timeout": 60,
- "requests": 1000
}, - "timeout": {
- "connect": 60,
- "send": 60,
- "read": 60
}, - "retry_timeout": 0,
- "pass_host": "pass",
- "upstream_host": "string",
- "nodes": [
- {
- "host": "string",
- "port": 1,
- "weight": 65535,
- "priority": 0
}
], - "service_name": "string",
- "discovery_type": "kubernetes",
- "discovery_args": {
- "metadata": {
- "idc": "shanghai"
}
}, - "tls": {
- "client_cert": "string",
- "client_key": "string"
}, - "checks": {
- "active": {
- "type": "http",
- "timeout": 1,
- "concurrency": 10,
- "host": "string",
- "port": 1,
- "http_path": "/",
- "https_verify_certificate": true,
- "req_headers": [
- "string"
], - "healthy": {
- "interval": 1,
- "http_statuses": [
- 200,
- 302
], - "successes": 2
}, - "unhealthy": {
- "interval": 1,
- "http_statuses": [
- 429,
- 404,
- 500,
- 501,
- 502,
- 503,
- 504,
- 505
], - "http_failures": 5,
- "tcp_failures": 2,
- "timeouts": 3
}
}, - "passive": {
- "type": "http",
- "healthy": {
- "http_statuses": [
- 200,
- 201,
- 202,
- 203,
- 204,
- 205,
- 206,
- 207,
- 208,
- 226,
- 300,
- 301,
- 302,
- 303,
- 304,
- 305,
- 306,
- 307,
- 308
], - "successes": 5
}, - "unhealthy": {
- "http_statuses": [
- 429,
- 500,
- 503
], - "tcp_failures": 2,
- "timeouts": 7,
- "http_failures": 5
}
}
}
}, - "id": "string",
- "service_id": "string",
- "version": "string",
- "created_at": 0,
- "publish_time": "string"
}
], - "total": 0
}
Get all service runtime configurations by ID.
Authorizations:
path Parameters
gateway_group_id required | string >= 1 Example: 86fb9981-d9d2-4555-9df8-91ae92129335 |
service_id required | string^[a-zA-Z0-9-_.]+$ The unique identifier of the service. |
Responses
Response samples
- 200
- default
{- "value": {
- "hosts": [
- "string"
], - "path_prefix": "string",
- "strip_path_prefix": true,
- "upstreams": {
- "name": "default",
- "desc": "string",
- "nodes": [
- {
- "host": "string",
- "port": 1,
- "weight": 65535,
- "priority": 0
}
], - "service_name": "string",
- "discovery_type": "kubernetes",
- "discovery_args": {
- "metadata": {
- "idc": "shanghai"
}
}, - "tls": {
- "client_cert": "string",
- "client_key": "string",
- "client_cert_id": "string"
}
}, - "status": 0,
- "plugins": { }
}, - "key": "string",
- "warning_msg": "string"
}
Update service runtime configurations by ID.
Authorizations:
path Parameters
gateway_group_id required | string >= 1 Example: 86fb9981-d9d2-4555-9df8-91ae92129335 |
service_id required | string^[a-zA-Z0-9-_.]+$ The unique identifier of the service. |
query Parameters
dry-run | string Value: "all" The flag that indicates whether to run the operation in dry-run mode. |
Request Body schema: application/json
non-emptyhosts | Array of strings [ 1 .. 32 ] items unique The hosts for the service to accept incoming requests. |
path_prefix | string [ 1 .. 4096 ] characters ^/ The listening path prefix of the service. |
strip_path_prefix | boolean Default: true Weather strip the path prefix or not when proxying the request to the upstream. |
object | |
status | integer Enum: 0 1 The object status. 0 means the object is active while 1 means it's inactive. |
plugins | object The key-value pairs which represent the plugins attached on the object. |
Responses
Request samples
- Payload
{- "hosts": [
- "string"
], - "path_prefix": "string",
- "strip_path_prefix": true,
- "upstreams": {
- "name": "default",
- "desc": "string",
- "nodes": [
- {
- "host": "string",
- "port": 1,
- "weight": 65535,
- "priority": 0
}
], - "service_name": "string",
- "discovery_type": "kubernetes",
- "discovery_args": {
- "metadata": {
- "idc": "shanghai"
}
}, - "tls": {
- "client_cert": "string",
- "client_key": "string",
- "client_cert_id": "string"
}
}, - "status": 0,
- "plugins": { }
}
Response samples
- 200
- default
{- "value": {
- "hosts": [
- "string"
], - "path_prefix": "string",
- "strip_path_prefix": true,
- "upstreams": {
- "name": "default",
- "desc": "string",
- "nodes": [
- {
- "host": "string",
- "port": 1,
- "weight": 65535,
- "priority": 0
}
], - "service_name": "string",
- "discovery_type": "kubernetes",
- "discovery_args": {
- "metadata": {
- "idc": "shanghai"
}
}, - "tls": {
- "client_cert": "string",
- "client_key": "string",
- "client_cert_id": "string"
}
}, - "status": 0,
- "plugins": { }
}, - "key": "string",
- "warning_msg": "string"
}
Get all permitted users.
Authorizations:
path Parameters
gateway_group_id required | string >= 1 Example: 86fb9981-d9d2-4555-9df8-91ae92129335 |
query Parameters
direction | string Default: "desc" Enum: "asc" "desc" It should be ascending or descending (case-insensitive). By default, it is set to descending. |
page_size | integer <int64> >= 1 The page size. It must be greater than 0. |
page | integer <int64> >= 1 The page number, starting from 1. |
order_by | string Default: "updated_at" Enum: "created_at" "updated_at" |
roles | Array of strings >= 1 |
Responses
Response samples
- 200
- default
{- "list": [
- {
- "id": "string",
- "email": "string",
- "last_name": "string",
- "first_name": "string",
- "username": "string",
- "created_at": 0,
- "updated_at": 0,
- "state": "string",
- "provider": "builtin",
- "roles": [
- {
- "id": "string",
- "name": "string",
- "org_id": "string",
- "permissions": [
- "string"
], - "scope_type": "gateway_group",
- "scopes": [
- {
- "id": "string",
- "name": "string"
}
], - "label_scopes": [
- {
- "property1": "string",
- "property2": "string"
}
]
}
]
}
], - "total": 0
}
Issue a data plane certificate.
Authorizations:
path Parameters
gateway_group_id required | string >= 1 Example: 86fb9981-d9d2-4555-9df8-91ae92129335 |
Responses
Response samples
- 200
- default
{- "value": {
- "id": "string",
- "certificate": "string",
- "private_key": "string",
- "expiry": 0
}, - "key": "string",
- "warning_msg": "string"
}
Get all service registries.
Authorizations:
path Parameters
gateway_group_id required | string >= 1 Example: 86fb9981-d9d2-4555-9df8-91ae92129335 |
query Parameters
page | integer <int64> >= 1 The page number, starting from 1. |
page_size | integer <int64> >= 1 The page size. It must be greater than 0. |
direction | string Default: "desc" Enum: "asc" "desc" It should be ascending or descending (case-insensitive). By default, it is set to descending. |
order_by | string Default: "updated_at" Enum: "created_at" "updated_at" "last_connect_time" |
search | string The search keyword. |
Responses
Response samples
- 200
- default
{- "list": [
- {
- "name": "string",
- "description": "string",
- "health_check": {
- "probe_interval": 15,
- "probe_timeout": 5
}, - "type": "kubernetes",
- "kubernetes_config": {
- "service": {
- "schema": "http",
- "host": "string",
- "port": "6443"
}, - "namespace_selector": {
- "equal": "string",
- "not_equal": "string",
- "match": [
- "string"
], - "not_match": [
- "string"
]
}, - "label_selector": "string",
- "client": {
- "token_file": "string"
}
}, - "id": "string",
- "gateway_group_id": "string",
- "created_at": 0,
- "updated_at": 0,
- "status": "healthy",
- "last_connect_time": 0,
- "associated_services_count": 0
}
], - "total": 0
}
Create a service registry.
Authorizations:
path Parameters
gateway_group_id required | string >= 1 Example: 86fb9981-d9d2-4555-9df8-91ae92129335 |
Request Body schema: application/json
name | string [ 1 .. 255 ] characters The object name. |
description | string |
object | |
type required | string Value: "kubernetes" The kubernetes service type. |
required | object |
Responses
Request samples
- Payload
{- "name": "string",
- "description": "string",
- "health_check": {
- "probe_interval": 15,
- "probe_timeout": 5
}, - "type": "nacos",
- "nacos_config": {
- "hosts": [
- "string"
], - "prefix": "/nacos/v1",
- "default_weight": 100,
- "fetch_interval": 30,
- "timeout": {
- "connect": 2,
- "send": 2,
- "read": 5
}, - "auth": {
- "username": "string",
- "password": "string"
}
}
}
Response samples
- 200
- default
{- "value": {
- "name": "string",
- "description": "string",
- "health_check": {
- "probe_interval": 15,
- "probe_timeout": 5
}, - "type": "kubernetes",
- "kubernetes_config": {
- "service": {
- "schema": "http",
- "host": "string",
- "port": "6443"
}, - "namespace_selector": {
- "equal": "string",
- "not_equal": "string",
- "match": [
- "string"
], - "not_match": [
- "string"
]
}, - "label_selector": "string",
- "client": {
- "token_file": "string"
}
}, - "id": "string",
- "gateway_group_id": "string",
- "created_at": 0,
- "updated_at": 0,
- "status": "healthy",
- "last_connect_time": 0
}, - "key": "string",
- "warning_msg": "string"
}
Get details of a service registry by ID.
Authorizations:
path Parameters
service_registry_id required | string >= 1 Example: 86fb9981-d9d2-4555-9df8-91ae92129335 |
gateway_group_id required | string >= 1 Example: 86fb9981-d9d2-4555-9df8-91ae92129335 |
Responses
Response samples
- 200
- default
{- "value": {
- "name": "string",
- "description": "string",
- "health_check": {
- "probe_interval": 15,
- "probe_timeout": 5
}, - "type": "kubernetes",
- "kubernetes_config": {
- "service": {
- "schema": "http",
- "host": "string",
- "port": "6443"
}, - "namespace_selector": {
- "equal": "string",
- "not_equal": "string",
- "match": [
- "string"
], - "not_match": [
- "string"
]
}, - "label_selector": "string",
- "client": {
- "token_file": "string"
}
}, - "id": "string",
- "gateway_group_id": "string",
- "created_at": 0,
- "updated_at": 0,
- "status": "healthy",
- "last_connect_time": 0
}, - "key": "string",
- "warning_msg": "string"
}
Update a service registry by ID.
Authorizations:
path Parameters
service_registry_id required | string >= 1 Example: 86fb9981-d9d2-4555-9df8-91ae92129335 |
gateway_group_id required | string >= 1 Example: 86fb9981-d9d2-4555-9df8-91ae92129335 |
Request Body schema: application/json
name | string [ 1 .. 255 ] characters The object name. |
description | string |
object | |
type required | string Value: "kubernetes" The kubernetes service type. |
required | object |
Responses
Request samples
- Payload
{- "name": "string",
- "description": "string",
- "health_check": {
- "probe_interval": 15,
- "probe_timeout": 5
}, - "type": "nacos",
- "nacos_config": {
- "hosts": [
- "string"
], - "prefix": "/nacos/v1",
- "default_weight": 100,
- "fetch_interval": 30,
- "timeout": {
- "connect": 2,
- "send": 2,
- "read": 5
}, - "auth": {
- "username": "string",
- "password": "string"
}
}
}
Response samples
- 200
- default
{- "value": { },
- "key": "string",
- "warning_msg": "string"
}
Delete a service registry by ID.
Authorizations:
path Parameters
service_registry_id required | string >= 1 Example: 86fb9981-d9d2-4555-9df8-91ae92129335 |
gateway_group_id required | string >= 1 Example: 86fb9981-d9d2-4555-9df8-91ae92129335 |
Responses
Response samples
- 200
- default
{- "value": { },
- "key": "string",
- "warning_msg": "string"
}
Get all services connected to a service registry.
Authorizations:
path Parameters
service_registry_id required | string >= 1 Example: 86fb9981-d9d2-4555-9df8-91ae92129335 |
gateway_group_id required | string >= 1 Example: 86fb9981-d9d2-4555-9df8-91ae92129335 |
query Parameters
page | integer <int64> >= 1 The page number, starting from 1. |
page_size | integer <int64> >= 1 The page size. It must be greater than 0. |
direction | string Default: "desc" Enum: "asc" "desc" It should be ascending or descending (case-insensitive). By default, it is set to descending. |
order_by | string Default: "updated_at" Enum: "created_at" "updated_at" "publish_time" |
Responses
Response samples
- 200
- default
{- "list": [
- {
- "name": "string",
- "labels": {
- "property1": "string",
- "property2": "string"
}, - "desc": "string",
- "hosts": [
- "string"
], - "path_prefix": "string",
- "strip_path_prefix": true,
- "plugins": { },
- "upstream": {
- "name": "default",
- "scheme": "http",
- "desc": "string",
- "type": "roundrobin",
- "hash_on": "vars",
- "key": "string",
- "retries": 65535,
- "keepalive_pool": {
- "size": 320,
- "idle_timeout": 60,
- "requests": 1000
}, - "timeout": {
- "connect": 60,
- "send": 60,
- "read": 60
}, - "retry_timeout": 0,
- "pass_host": "pass",
- "upstream_host": "string",
- "nodes": [
- {
- "host": "string",
- "port": 1,
- "weight": 65535,
- "priority": 0
}
], - "service_name": "string",
- "discovery_type": "kubernetes",
- "discovery_args": {
- "metadata": {
- "idc": "shanghai"
}
}, - "tls": {
- "client_cert": "string",
- "client_key": "string"
}, - "checks": {
- "active": {
- "type": "http",
- "timeout": 1,
- "concurrency": 10,
- "host": "string",
- "port": 1,
- "http_path": "/",
- "https_verify_certificate": true,
- "req_headers": [
- "string"
], - "healthy": {
- "interval": 1,
- "http_statuses": [
- 200,
- 302
], - "successes": 2
}, - "unhealthy": {
- "interval": 1,
- "http_statuses": [
- 429,
- 404,
- 500,
- 501,
- 502,
- 503,
- 504,
- 505
], - "http_failures": 5,
- "tcp_failures": 2,
- "timeouts": 3
}
}, - "passive": {
- "type": "http",
- "healthy": {
- "http_statuses": [
- 200,
- 201,
- 202,
- 203,
- 204,
- 205,
- 206,
- 207,
- 208,
- 226,
- 300,
- 301,
- 302,
- 303,
- 304,
- 305,
- 306,
- 307,
- 308
], - "successes": 5
}, - "unhealthy": {
- "http_statuses": [
- 429,
- 500,
- 503
], - "tcp_failures": 2,
- "timeouts": 7,
- "http_failures": 5
}
}
}
}, - "id": "string",
- "service_id": "string",
- "version": "string",
- "created_at": 0,
- "gateway_group_name": "string",
- "gateway_group_id": "string",
- "unhealthy_nodes_count": 0,
- "status": 0
}
], - "total": 0
}
Get all internal services under a service registry (kubernetes).
Authorizations:
path Parameters
service_registry_id required | string >= 1 Example: 86fb9981-d9d2-4555-9df8-91ae92129335 |
gateway_group_id required | string >= 1 Example: 86fb9981-d9d2-4555-9df8-91ae92129335 |
Responses
Response samples
- 200
- default
{- "value": {
- "type": "kubernetes",
- "internal_services": {
- "default": [
- "service1",
- "service2"
], - "kube-system": [
- "kube-dns"
]
}
}, - "key": "string",
- "warning_msg": "string"
}
Get all Nacos namespaces.
Authorizations:
path Parameters
service_registry_id required | string >= 1 Example: 86fb9981-d9d2-4555-9df8-91ae92129335 |
gateway_group_id required | string >= 1 Example: 86fb9981-d9d2-4555-9df8-91ae92129335 |
Responses
Response samples
- 200
- default
{- "list": [
- {
- "namespace": "string",
- "namespace_show_name": "string"
}
], - "total": 0
}
Get all groups under a Nacos namespace.
Authorizations:
path Parameters
service_registry_id required | string >= 1 Example: 86fb9981-d9d2-4555-9df8-91ae92129335 |
gateway_group_id required | string >= 1 Example: 86fb9981-d9d2-4555-9df8-91ae92129335 |
nacos_namespace required | string >= 1 Example: public |
Responses
Response samples
- 200
- default
{- "list": [
- "string"
], - "total": 0
}
Get all services under a Nacos group.
Authorizations:
path Parameters
service_registry_id required | string >= 1 Example: 86fb9981-d9d2-4555-9df8-91ae92129335 |
gateway_group_id required | string >= 1 Example: 86fb9981-d9d2-4555-9df8-91ae92129335 |
nacos_namespace required | string >= 1 Example: public |
nacos_group required | string >= 1 Example: DEFAULT_GROUP |
Responses
Response samples
- 200
- default
{- "list": [
- "string"
], - "total": 0
}
Get all Nacos namespaces.
Authorizations:
path Parameters
service_registry_id required | string >= 1 Example: 86fb9981-d9d2-4555-9df8-91ae92129335 |
gateway_group_id required | string >= 1 Example: 86fb9981-d9d2-4555-9df8-91ae92129335 |
nacos_namespace required | string >= 1 Example: public |
nacos_group required | string >= 1 Example: DEFAULT_GROUP |
nacos_service required | string >= 1 Example: api7ee3-keycloak |
Responses
Response samples
- 200
- default
{- "list": [
- { }
], - "total": 0,
- "value": {
- "idc": [
- "beijing",
- "shanghai"
]
}
}
Get health check history of a service registry.
Authorizations:
path Parameters
service_registry_id required | string >= 1 Example: 86fb9981-d9d2-4555-9df8-91ae92129335 |
gateway_group_id required | string >= 1 Example: 86fb9981-d9d2-4555-9df8-91ae92129335 |
query Parameters
page | integer <int64> >= 1 The page number, starting from 1. |
page_size | integer <int64> >= 1 The page size. It must be greater than 0. |
direction | string Default: "desc" Enum: "asc" "desc" It should be ascending or descending (case-insensitive). By default, it is set to descending. |
order_by | string Default: "connect_time" Value: "connect_time" |
status | Array of strings Items Enum: "healthy" "lost_connection" |
search | string The search keyword. |
Responses
Response samples
- 200
- default
{- "list": [
- {
- "instance_id": "string",
- "service_registry_id": "string",
- "hostname": "string",
- "status": "healthy",
- "connect_time": 0
}
], - "total": 0
}
Get all service versions.
Authorizations:
path Parameters
service_version_id required | string^[a-zA-Z0-9-_.]+$ The unique identifier of the service version. |
Responses
Response samples
- 200
- default
{- "value": {
- "name": "string",
- "labels": {
- "property1": "string",
- "property2": "string"
}, - "desc": "string",
- "hosts": [
- "string"
], - "path_prefix": "string",
- "strip_path_prefix": true,
- "plugins": { },
- "upstream": {
- "name": "default",
- "scheme": "http",
- "desc": "string",
- "type": "roundrobin",
- "hash_on": "vars",
- "key": "string",
- "retries": 65535,
- "keepalive_pool": {
- "size": 320,
- "idle_timeout": 60,
- "requests": 1000
}, - "timeout": {
- "connect": 60,
- "send": 60,
- "read": 60
}, - "retry_timeout": 0,
- "pass_host": "pass",
- "upstream_host": "string",
- "nodes": [
- {
- "host": "string",
- "port": 1,
- "weight": 65535,
- "priority": 0
}
], - "service_name": "string",
- "discovery_type": "kubernetes",
- "discovery_args": {
- "metadata": {
- "idc": "shanghai"
}
}, - "tls": {
- "client_cert": "string",
- "client_key": "string"
}, - "checks": {
- "active": {
- "type": "http",
- "timeout": 1,
- "concurrency": 10,
- "host": "string",
- "port": 1,
- "http_path": "/",
- "https_verify_certificate": true,
- "req_headers": [
- "string"
], - "healthy": {
- "interval": 1,
- "http_statuses": [
- 200,
- 302
], - "successes": 2
}, - "unhealthy": {
- "interval": 1,
- "http_statuses": [
- 429,
- 404,
- 500,
- 501,
- 502,
- 503,
- 504,
- 505
], - "http_failures": 5,
- "tcp_failures": 2,
- "timeouts": 3
}
}, - "passive": {
- "type": "http",
- "healthy": {
- "http_statuses": [
- 200,
- 201,
- 202,
- 203,
- 204,
- 205,
- 206,
- 207,
- 208,
- 226,
- 300,
- 301,
- 302,
- 303,
- 304,
- 305,
- 306,
- 307,
- 308
], - "successes": 5
}, - "unhealthy": {
- "http_statuses": [
- 429,
- 500,
- 503
], - "tcp_failures": 2,
- "timeouts": 7,
- "http_failures": 5
}
}
}
}, - "id": "string",
- "service_id": "string",
- "version": "string",
- "created_at": 0
}, - "key": "string",
- "warning_msg": "string"
}
Get service versions for all routes.
Authorizations:
path Parameters
service_version_id required | string^[a-zA-Z0-9-_.]+$ The unique identifier of the service version. |
query Parameters
page | integer <int64> >= 1 The page number, starting from 1. |
page_size | integer <int64> >= 1 The page size. It must be greater than 0. |
direction | string Default: "desc" Enum: "asc" "desc" It should be ascending or descending (case-insensitive). By default, it is set to descending. |
order_by | string Default: "updated_at" Enum: "created_at" "updated_at" |
Responses
Response samples
- 200
- default
{- "list": [
- {
- "name": "string",
- "labels": {
- "property1": "string",
- "property2": "string"
}, - "desc": "string",
- "methods": [
- "GET"
], - "paths": [
- "string"
], - "plugins": { },
- "enable_websocket": true,
- "id": "string",
- "route_id": "string",
- "service_version_id": "string"
}
], - "total": 0
}
Get the service version for a specified route.
Authorizations:
path Parameters
service_version_id required | string^[a-zA-Z0-9-_.]+$ The unique identifier of the service version. |
route_version_id required | string^[a-zA-Z0-9-_.]+$ The unique identifier of the route version. |
Responses
Response samples
- 200
- default
{- "value": {
- "name": "string",
- "labels": {
- "property1": "string",
- "property2": "string"
}, - "desc": "string",
- "methods": [
- "GET"
], - "paths": [
- "string"
], - "plugins": { },
- "enable_websocket": true,
- "id": "string",
- "route_id": "string",
- "service_version_id": "string"
}, - "key": "string",
- "warning_msg": "string"
}
Get the service version name.
Authorizations:
path Parameters
service_id required | string^[a-zA-Z0-9-_.]+$ The unique identifier of the service. |
version required | string |
Responses
Response samples
- 200
- default
{- "value": {
- "name": "string",
- "labels": {
- "property1": "string",
- "property2": "string"
}, - "desc": "string",
- "hosts": [
- "string"
], - "path_prefix": "string",
- "strip_path_prefix": true,
- "plugins": { },
- "upstream": {
- "name": "default",
- "scheme": "http",
- "desc": "string",
- "type": "roundrobin",
- "hash_on": "vars",
- "key": "string",
- "retries": 65535,
- "keepalive_pool": {
- "size": 320,
- "idle_timeout": 60,
- "requests": 1000
}, - "timeout": {
- "connect": 60,
- "send": 60,
- "read": 60
}, - "retry_timeout": 0,
- "pass_host": "pass",
- "upstream_host": "string",
- "nodes": [
- {
- "host": "string",
- "port": 1,
- "weight": 65535,
- "priority": 0
}
], - "service_name": "string",
- "discovery_type": "kubernetes",
- "discovery_args": {
- "metadata": {
- "idc": "shanghai"
}
}, - "tls": {
- "client_cert": "string",
- "client_key": "string"
}, - "checks": {
- "active": {
- "type": "http",
- "timeout": 1,
- "concurrency": 10,
- "host": "string",
- "port": 1,
- "http_path": "/",
- "https_verify_certificate": true,
- "req_headers": [
- "string"
], - "healthy": {
- "interval": 1,
- "http_statuses": [
- 200,
- 302
], - "successes": 2
}, - "unhealthy": {
- "interval": 1,
- "http_statuses": [
- 429,
- 404,
- 500,
- 501,
- 502,
- 503,
- 504,
- 505
], - "http_failures": 5,
- "tcp_failures": 2,
- "timeouts": 3
}
}, - "passive": {
- "type": "http",
- "healthy": {
- "http_statuses": [
- 200,
- 201,
- 202,
- 203,
- 204,
- 205,
- 206,
- 207,
- 208,
- 226,
- 300,
- 301,
- 302,
- 303,
- 304,
- 305,
- 306,
- 307,
- 308
], - "successes": 5
}, - "unhealthy": {
- "http_statuses": [
- 429,
- 500,
- 503
], - "tcp_failures": 2,
- "timeouts": 7,
- "http_failures": 5
}
}
}
}, - "id": "string",
- "service_id": "string",
- "version": "string",
- "created_at": 0
}, - "key": "string",
- "warning_msg": "string"
}
Get all labels.
Authorizations:
path Parameters
resource_type required | string Enum: "gateway_group" "consumer" "ssl" "service" "route" |
Responses
Response samples
- 200
- default
{- "value": {
- "property1": [
- "string"
], - "property2": [
- "string"
]
}, - "key": "string",
- "warning_msg": "string"
}
Update system settings.
Authorizations:
Request Body schema: application/json
control_plane_address | Array of strings [ 0 .. 32 ] items unique |
enable_mtls | boolean Enable mtls between data plane and control plane. |
Responses
Request samples
- Payload
{- "control_plane_address": [
- "string"
], - "enable_mtls": true
}
Response samples
- 200
- 400
- default
{- "value": {
- "control_plane_address": [
- "string"
], - "enable_mtls": true
}, - "key": "string",
- "warning_msg": "string"
}
Update SCIM settings.
Authorizations:
Request Body schema: application/json
enable_scim | boolean Enable SCIM endpoint. |
Responses
Request samples
- Payload
{- "enable_scim": true
}
Response samples
- 200
- 400
- default
{- "value": {
- "enable_scim": true
}, - "key": "string",
- "warning_msg": "string"
}
Get a login option by ID.
Get a login option by ID.
Authorizations:
path Parameters
login_option_id required | string |
Responses
Response samples
- 200
- default
{- "value": {
- "name": "string",
- "logo": "string",
- "disable": false,
- "provider_type": "ldap",
- "oidc_config": {
- "client_id": "string",
- "client_secret": "string",
- "issuer": "string",
- "request_scopes": [
- "openid",
- "email",
- "profile"
], - "ssl_verify": true,
- "logout_url": "string",
- "attributes": {
- "property1": "string",
- "property2": "string"
}
}, - "saml_config": {
- "idp_metadata_url": "string",
- "sp_root_url": "string",
- "sp_acs_url": "string",
- "sp_slo_url": "string",
- "sp_metadata_url": "string",
- "sign_request": true,
- "certificate": "string",
- "entity_id": "string",
- "attributes": {
- "property1": "string",
- "property2": "string"
}
}, - "ldap_config": {
- "host": "string",
- "port": "string",
- "base_dn": "string",
- "bind_dn": "string",
- "bind_password": "string",
- "identifier": "cn",
- "attributes": {
- "username": "string",
- "property1": "string",
- "property2": "string"
}, - "timeout": 10,
- "use_ssl": false,
- "ssl_verify": true,
- "root_ca_cert": "string",
- "client_cert": "string",
- "client_key": "string"
}, - "cas_config": {
- "url": "string",
- "send_service": true,
- "ssl_verify": true
}, - "role_mapping": [
- {
- "role_id": "string",
- "role_attribute_key": "string",
- "operation": "exact_match",
- "role_attribute_value": "string",
- "scopes_key": "string",
- "label_scopes_key": "string"
}
]
}, - "key": "string",
- "warning_msg": "string"
}
Update a login option by ID.
Update a login option by ID.
Authorizations:
path Parameters
login_option_id required | string |
Request Body schema: application/json
name required | string |
logo | string The base64 logo image. |
disable | boolean Default: false Whether to disable the login option. |
provider_type | string Enum: "ldap" "oidc" "saml" "cas" "built_in" The login option type. |
object | |
object | |
object | |
object | |
Array of objects A list of role mappings defining operations and conditions under which roles are applied. |
Responses
Request samples
- Payload
{- "name": "string",
- "logo": "string",
- "disable": false,
- "provider_type": "ldap",
- "oidc_config": {
- "client_id": "string",
- "client_secret": "string",
- "issuer": "string",
- "request_scopes": [
- "openid",
- "email",
- "profile"
], - "ssl_verify": true,
- "attributes": {
- "username": "string",
- "property1": "string",
- "property2": "string"
}
}, - "saml_config": {
- "idp_metadata_url": "string",
- "sp_root_url": "string",
- "sign_request": true,
- "logout_idp_session": false,
- "private_key": "string",
- "certificate": "string",
- "entity_id": "string",
- "attributes": {
- "username": "string",
- "property1": "string",
- "property2": "string"
}
}, - "ldap_config": {
- "host": "string",
- "port": "string",
- "base_dn": "string",
- "bind_dn": "string",
- "bind_password": "string",
- "identifier": "cn",
- "attributes": {
- "username": "string",
- "property1": "string",
- "property2": "string"
}, - "timeout": 10,
- "use_ssl": false,
- "ssl_verify": true,
- "root_ca_cert": "string",
- "client_cert": "string",
- "client_key": "string"
}, - "cas_config": {
- "url": "string",
- "send_service": true,
- "ssl_verify": true
}, - "role_mapping": [
- {
- "role_id": "string",
- "role_attribute_key": "string",
- "operation": "exact_match",
- "role_attribute_value": "string",
- "scopes_key": "string",
- "label_scopes_key": "string"
}
]
}
Response samples
- 200
- default
{- "value": {
- "name": "string",
- "logo": "string",
- "disable": false,
- "provider_type": "ldap",
- "oidc_config": {
- "client_id": "string",
- "client_secret": "string",
- "issuer": "string",
- "request_scopes": [
- "openid",
- "email",
- "profile"
], - "ssl_verify": true,
- "logout_url": "string",
- "attributes": {
- "property1": "string",
- "property2": "string"
}
}, - "saml_config": {
- "idp_metadata_url": "string",
- "sp_root_url": "string",
- "sp_acs_url": "string",
- "sp_slo_url": "string",
- "sp_metadata_url": "string",
- "sign_request": true,
- "certificate": "string",
- "entity_id": "string",
- "attributes": {
- "property1": "string",
- "property2": "string"
}
}, - "ldap_config": {
- "host": "string",
- "port": "string",
- "base_dn": "string",
- "bind_dn": "string",
- "bind_password": "string",
- "identifier": "cn",
- "attributes": {
- "username": "string",
- "property1": "string",
- "property2": "string"
}, - "timeout": 10,
- "use_ssl": false,
- "ssl_verify": true,
- "root_ca_cert": "string",
- "client_cert": "string",
- "client_key": "string"
}, - "cas_config": {
- "url": "string",
- "send_service": true,
- "ssl_verify": true
}, - "role_mapping": [
- {
- "role_id": "string",
- "role_attribute_key": "string",
- "operation": "exact_match",
- "role_attribute_value": "string",
- "scopes_key": "string",
- "label_scopes_key": "string"
}
]
}, - "key": "string",
- "warning_msg": "string"
}
Update a login option by ID.
Update a login option by ID.
Authorizations:
path Parameters
login_option_id required | string |
Request Body schema: application/json
name required | string |
logo | string The base64 logo image. |
disable | boolean Default: false Whether to disable the login option. |
provider_type | string Enum: "ldap" "oidc" "saml" "cas" "built_in" The login option type. |
object | |
object | |
object | |
object | |
Array of objects A list of role mappings defining operations and conditions under which roles are applied. |
Responses
Request samples
- Payload
{- "name": "string",
- "logo": "string",
- "disable": false,
- "provider_type": "ldap",
- "oidc_config": {
- "client_id": "string",
- "client_secret": "string",
- "issuer": "string",
- "request_scopes": [
- "openid",
- "email",
- "profile"
], - "ssl_verify": true,
- "attributes": {
- "username": "string",
- "property1": "string",
- "property2": "string"
}
}, - "saml_config": {
- "idp_metadata_url": "string",
- "sp_root_url": "string",
- "sign_request": true,
- "logout_idp_session": false,
- "private_key": "string",
- "certificate": "string",
- "entity_id": "string",
- "attributes": {
- "username": "string",
- "property1": "string",
- "property2": "string"
}
}, - "ldap_config": {
- "host": "string",
- "port": "string",
- "base_dn": "string",
- "bind_dn": "string",
- "bind_password": "string",
- "identifier": "cn",
- "attributes": {
- "username": "string",
- "property1": "string",
- "property2": "string"
}, - "timeout": 10,
- "use_ssl": false,
- "ssl_verify": true,
- "root_ca_cert": "string",
- "client_cert": "string",
- "client_key": "string"
}, - "cas_config": {
- "url": "string",
- "send_service": true,
- "ssl_verify": true
}, - "role_mapping": [
- {
- "role_id": "string",
- "role_attribute_key": "string",
- "operation": "exact_match",
- "role_attribute_value": "string",
- "scopes_key": "string",
- "label_scopes_key": "string"
}
]
}
Response samples
- 200
- default
{- "value": {
- "name": "string",
- "logo": "string",
- "disable": false,
- "provider_type": "ldap",
- "oidc_config": {
- "client_id": "string",
- "client_secret": "string",
- "issuer": "string",
- "request_scopes": [
- "openid",
- "email",
- "profile"
], - "ssl_verify": true,
- "logout_url": "string",
- "attributes": {
- "property1": "string",
- "property2": "string"
}
}, - "saml_config": {
- "idp_metadata_url": "string",
- "sp_root_url": "string",
- "sp_acs_url": "string",
- "sp_slo_url": "string",
- "sp_metadata_url": "string",
- "sign_request": true,
- "certificate": "string",
- "entity_id": "string",
- "attributes": {
- "property1": "string",
- "property2": "string"
}
}, - "ldap_config": {
- "host": "string",
- "port": "string",
- "base_dn": "string",
- "bind_dn": "string",
- "bind_password": "string",
- "identifier": "cn",
- "attributes": {
- "username": "string",
- "property1": "string",
- "property2": "string"
}, - "timeout": 10,
- "use_ssl": false,
- "ssl_verify": true,
- "root_ca_cert": "string",
- "client_cert": "string",
- "client_key": "string"
}, - "cas_config": {
- "url": "string",
- "send_service": true,
- "ssl_verify": true
}, - "role_mapping": [
- {
- "role_id": "string",
- "role_attribute_key": "string",
- "operation": "exact_match",
- "role_attribute_value": "string",
- "scopes_key": "string",
- "label_scopes_key": "string"
}
]
}, - "key": "string",
- "warning_msg": "string"
}
Get all login options.
Get all login options.
Authorizations:
query Parameters
page | integer <int64> >= 1 The page number, starting from 1. |
page_size | integer <int64> >= 1 The page size. It must be greater than 0. |
direction | string Default: "desc" Enum: "asc" "desc" It should be ascending or descending (case-insensitive). By default, it is set to descending. |
order_by | string Default: "updated_at" Enum: "created_at" "updated_at" |
search | string The search keyword. |
name | string Name is the name of the resource. |
Responses
Response samples
- 200
- default
{- "list": [
- {
- "name": "string",
- "logo": "string",
- "disable": false,
- "provider_type": "ldap",
- "oidc_config": {
- "client_id": "string",
- "client_secret": "string",
- "issuer": "string",
- "request_scopes": [
- "openid",
- "email",
- "profile"
], - "ssl_verify": true,
- "logout_url": "string",
- "attributes": {
- "property1": "string",
- "property2": "string"
}
}, - "saml_config": {
- "idp_metadata_url": "string",
- "sp_root_url": "string",
- "sp_acs_url": "string",
- "sp_slo_url": "string",
- "sp_metadata_url": "string",
- "sign_request": true,
- "certificate": "string",
- "entity_id": "string",
- "attributes": {
- "property1": "string",
- "property2": "string"
}
}, - "ldap_config": {
- "host": "string",
- "port": "string",
- "base_dn": "string",
- "bind_dn": "string",
- "bind_password": "string",
- "identifier": "cn",
- "attributes": {
- "username": "string",
- "property1": "string",
- "property2": "string"
}, - "timeout": 10,
- "use_ssl": false,
- "ssl_verify": true,
- "root_ca_cert": "string",
- "client_cert": "string",
- "client_key": "string"
}, - "cas_config": {
- "url": "string",
- "send_service": true,
- "ssl_verify": true
}, - "role_mapping": [
- {
- "role_id": "string",
- "role_attribute_key": "string",
- "operation": "exact_match",
- "role_attribute_value": "string",
- "scopes_key": "string",
- "label_scopes_key": "string"
}
]
}
], - "total": 0
}
Create a login option.
Create a login option.
Authorizations:
Request Body schema: application/json
name required | string |
logo | string The base64 logo image. |
disable | boolean Default: false Whether to disable the login option. |
provider_type | string Enum: "ldap" "oidc" "saml" "cas" "built_in" The login option type. |
object | |
object | |
object | |
object | |
Array of objects A list of role mappings defining operations and conditions under which roles are applied. |
Responses
Request samples
- Payload
{- "name": "string",
- "logo": "string",
- "disable": false,
- "provider_type": "ldap",
- "oidc_config": {
- "client_id": "string",
- "client_secret": "string",
- "issuer": "string",
- "request_scopes": [
- "openid",
- "email",
- "profile"
], - "ssl_verify": true,
- "attributes": {
- "username": "string",
- "property1": "string",
- "property2": "string"
}
}, - "saml_config": {
- "idp_metadata_url": "string",
- "sp_root_url": "string",
- "sign_request": true,
- "logout_idp_session": false,
- "private_key": "string",
- "certificate": "string",
- "entity_id": "string",
- "attributes": {
- "username": "string",
- "property1": "string",
- "property2": "string"
}
}, - "ldap_config": {
- "host": "string",
- "port": "string",
- "base_dn": "string",
- "bind_dn": "string",
- "bind_password": "string",
- "identifier": "cn",
- "attributes": {
- "username": "string",
- "property1": "string",
- "property2": "string"
}, - "timeout": 10,
- "use_ssl": false,
- "ssl_verify": true,
- "root_ca_cert": "string",
- "client_cert": "string",
- "client_key": "string"
}, - "cas_config": {
- "url": "string",
- "send_service": true,
- "ssl_verify": true
}, - "role_mapping": [
- {
- "role_id": "string",
- "role_attribute_key": "string",
- "operation": "exact_match",
- "role_attribute_value": "string",
- "scopes_key": "string",
- "label_scopes_key": "string"
}
]
}
Response samples
- 200
- default
{- "list": [
- {
- "name": "string",
- "logo": "string",
- "disable": false,
- "provider_type": "ldap",
- "oidc_config": {
- "client_id": "string",
- "client_secret": "string",
- "issuer": "string",
- "request_scopes": [
- "openid",
- "email",
- "profile"
], - "ssl_verify": true,
- "logout_url": "string",
- "attributes": {
- "property1": "string",
- "property2": "string"
}
}, - "saml_config": {
- "idp_metadata_url": "string",
- "sp_root_url": "string",
- "sp_acs_url": "string",
- "sp_slo_url": "string",
- "sp_metadata_url": "string",
- "sign_request": true,
- "certificate": "string",
- "entity_id": "string",
- "attributes": {
- "property1": "string",
- "property2": "string"
}
}, - "ldap_config": {
- "host": "string",
- "port": "string",
- "base_dn": "string",
- "bind_dn": "string",
- "bind_password": "string",
- "identifier": "cn",
- "attributes": {
- "username": "string",
- "property1": "string",
- "property2": "string"
}, - "timeout": 10,
- "use_ssl": false,
- "ssl_verify": true,
- "root_ca_cert": "string",
- "client_cert": "string",
- "client_key": "string"
}, - "cas_config": {
- "url": "string",
- "send_service": true,
- "ssl_verify": true
}, - "role_mapping": [
- {
- "role_id": "string",
- "role_attribute_key": "string",
- "operation": "exact_match",
- "role_attribute_value": "string",
- "scopes_key": "string",
- "label_scopes_key": "string"
}
]
}
], - "total": 0
}
Create an APIProduct.
Authorizations:
Request Body schema: application/json
name required | string [ 1 .. 255 ] characters The object name. |
raw_openapi required | string non-empty The content of the openapi yaml file. |
server_url required | string non-empty The server url, if its not defines on the openapi file, the user should specified it. |
Responses
Request samples
- Payload
{- "name": "string",
- "raw_openapi": "string",
- "server_url": "string"
}
Response samples
- 200
- 400
- default
{- "value": {
- "name": "string",
- "raw_openapi": "string",
- "server_url": "string",
- "id": "string",
- "created_at": 0,
- "updated_at": 0
}, - "key": "string",
- "warning_msg": "string"
}
Get all APIProducts.
Authorizations:
query Parameters
page | integer <int64> >= 1 The page number, starting from 1. |
page_size | integer <int64> >= 1 The page size. It must be greater than 0. |
direction | string Default: "desc" Enum: "asc" "desc" It should be ascending or descending (case-insensitive). By default, it is set to descending. |
order_by | string Default: "updated_at" Enum: "created_at" "updated_at" |
search | string The search keyword. |
Responses
Response samples
- 200
- 400
- default
{- "value": { },
- "key": "string",
- "warning_msg": "string",
- "list": [
- {
- "name": "string",
- "raw_openapi": "string",
- "server_url": "string",
- "id": "string",
- "created_at": 0,
- "updated_at": 0
}
]
}
Get an APIProduct by ID.
Authorizations:
path Parameters
api_product_id required | string^[a-zA-Z0-9-_.]+$ the unique identifier of the api product. |
Responses
Response samples
- 200
- 400
- default
{- "value": { },
- "key": "string",
- "warning_msg": "string",
- "valve": {
- "name": "string",
- "raw_openapi": "string",
- "server_url": "string",
- "id": "string",
- "created_at": 0,
- "updated_at": 0
}
}
Update an APIProduct by ID.
Authorizations:
path Parameters
api_product_id required | string^[a-zA-Z0-9-_.]+$ the unique identifier of the api product. |
Request Body schema: application/json
name required | string [ 1 .. 255 ] characters The object name. |
raw_openapi required | string non-empty The content of the openapi yaml file. |
server_url required | string non-empty The server url, if its not defines on the openapi file, the user should specified it. |
Responses
Request samples
- Payload
{- "name": "string",
- "raw_openapi": "string",
- "server_url": "string"
}
Response samples
- 200
- 400
- default
{- "value": {
- "name": "string",
- "raw_openapi": "string",
- "server_url": "string",
- "id": "string",
- "created_at": 0,
- "updated_at": 0
}, - "key": "string",
- "warning_msg": "string"
}
Get all APIProducts.
Authorizations:
query Parameters
page | integer <int64> >= 1 The page number, starting from 1. |
page_size | integer <int64> >= 1 The page size. It must be greater than 0. |
direction | string Default: "desc" Enum: "asc" "desc" It should be ascending or descending (case-insensitive). By default, it is set to descending. |
order_by | string Default: "updated_at" Enum: "created_at" "updated_at" |
search | string The search keyword. |
Responses
Response samples
- 200
- 400
- default
{- "value": { },
- "key": "string",
- "warning_msg": "string",
- "list": [
- {
- "name": "string",
- "raw_openapi": "string",
- "server_url": "string",
- "id": "string",
- "created_at": 0,
- "updated_at": 0
}
]
}
Get an APIProduct by ID.
Authorizations:
path Parameters
api_product_id required | string^[a-zA-Z0-9-_.]+$ the unique identifier of the api product. |
Responses
Response samples
- 200
- 400
- default
{- "value": { },
- "key": "string",
- "warning_msg": "string",
- "valve": {
- "name": "string",
- "raw_openapi": "string",
- "server_url": "string",
- "id": "string",
- "created_at": 0,
- "updated_at": 0
}
}
Report the health check result data of each node based on the health check configuration of the gateway instance
Authorizations:
Request Body schema: application/json
instance_id required | string non-empty The gateway instance ID. |
Array of objects Item is a node healthcheck data. |
Responses
Request samples
- Payload
{- "instance_id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
- "data": [
- {
- "upstream_id": "uuu-ppp-sss-ttt-rrr-eee-aaa-mmm",
- "nodes": [
- {
- "host": "httpbin.org",
- "port": 80,
- "status": "healthy"
}
]
}
]
}
Response samples
- default
{- "value": { },
- "key": "string",
- "warning_msg": "string"
}
Get healthcheck status for the upstream which related to the service.
Authorizations:
path Parameters
gateway_group_id required | string >= 1 Example: 86fb9981-d9d2-4555-9df8-91ae92129335 |
service_id required | string^[a-zA-Z0-9-_.]+$ The unique identifier of the service. |
Responses
Response samples
- 200
- default
{- "value": {
- "httpbin.com:80": {
- "host": "httpbin.com",
- "port": 80,
- "total": 1,
- "healthy": 1,
- "unhealthy": 0,
- "unknown": 0,
- "updated_at": 0,
- "gateway_instances": [
- {
- "id": "xxx-yyy-zzz",
- "hostname": "api7ee3-apisix-699b68db7f-cxgcw",
- "status": "healthy",
- "created_at": 0,
- "updated_at": 0
}
]
}
}
}
List Custom Plugins
List Custom Plugins
Authorizations:
query Parameters
page | integer <int64> >= 1 The page number, starting from 1. |
page_size | integer <int64> >= 1 The page size. It must be greater than 0. |
direction | string Default: "desc" Enum: "asc" "desc" It should be ascending or descending (case-insensitive). By default, it is set to descending. |
order_by | string Default: "updated_at" Enum: "created_at" "updated_at" |
search | string The search keyword. |
name | string Name is the name of the resource. |
Responses
Response samples
- 200
- default
{- "list": [
- {
- "name": "string",
- "version": "string",
- "source_code": "string",
- "catalog": "string",
- "description": "string",
- "author": "string",
- "logo": "string",
- "created_at": 0,
- "updated_at": 0
}
], - "total": 0
}
Create a Custom Plugin.
Create a Custom Plugin.
Authorizations:
Request Body schema: application/json
source_code required | string The source code file for the plugin. |
catalog required | string The catalog to which the plugin belongs, such as 'Traffic' or 'Observability'. |
description required | string A brief description of the plugin. |
documentation_link required | string A link to the plugin's documentation. |
author required | string |
logo | string An optional logo for the plugin. |
Responses
Request samples
- Payload
{- "source_code": "string",
- "catalog": "string",
- "description": "string",
- "author": "string",
- "logo": "string"
}
Response samples
- 200
- default
{- "value": {
- "name": "string",
- "version": "string",
- "source_code": "string",
- "catalog": "string",
- "description": "string",
- "author": "string",
- "logo": "string",
- "created_at": 0,
- "updated_at": 0
}, - "key": "string",
- "warning_msg": "string"
}
Get a Custom Plugin by ID.
Get a Custom Plugin by ID.
Authorizations:
path Parameters
custom_plugin_id required | string |
Responses
Response samples
- 200
- default
{- "value": {
- "name": "string",
- "version": "string",
- "source_code": "string",
- "catalog": "string",
- "description": "string",
- "author": "string",
- "logo": "string",
- "created_at": 0,
- "updated_at": 0
}, - "key": "string",
- "warning_msg": "string"
}
Update a Custom Plugin by ID.
Update a Custom Plugin by ID.
Authorizations:
path Parameters
custom_plugin_id required | string |
Request Body schema: application/json
source_code required | string The source code file for the plugin. |
catalog required | string The catalog to which the plugin belongs, such as 'Traffic' or 'Observability'. |
description required | string A brief description of the plugin. |
documentation_link required | string A link to the plugin's documentation. |
author required | string |
logo | string An optional logo for the plugin. |
Responses
Request samples
- Payload
{- "source_code": "string",
- "catalog": "string",
- "description": "string",
- "author": "string",
- "logo": "string"
}
Response samples
- 200
- default
{- "value": {
- "name": "string",
- "version": "string",
- "source_code": "string",
- "catalog": "string",
- "description": "string",
- "author": "string",
- "logo": "string",
- "created_at": 0,
- "updated_at": 0
}, - "key": "string",
- "warning_msg": "string"
}
Parse Custom Plugin Code.
Parse Custom Plugin Code.
Authorizations:
Request Body schema: application/json
source_code | string The source code file for the plugin. |
Responses
Request samples
- Payload
{- "source_code": "string"
}
Response samples
- 200
- default
{- "value": {
- "name": "string",
- "version": "string"
}, - "key": "string",
- "warning_msg": "string"
}