API7 Enterprise Admin APIs (3.3.2)
Download OpenAPI specification:Download
API7 Enterprise Admin APIs are RESTful APIs that allow you to create and manage API7 resources.
Create a published service on a gateway group.
IAM Action: gateway:CreatePublishedService, Resource: arn:api7:gateway:gatewaygroup/%s/publishedservice/*
Authorizations:
query Parameters
| gateway_group_id required | string >= 1 It's optional when client authenticate with gateway group admin key. |
Request Body schema: application/json
| name | string [ 1 .. 65536 ] characters The object name. |
object | |
| desc | string <= 65536 characters The object description. |
| plugins | object The key-value pairs which represent the plugins attached on the object. |
| type | string Default: "http" Enum: "http" "stream" |
| 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. |
object The upstream contains necessary information for the gateway to proxy request to the backend service. |
Responses
Request samples
- Payload
{- "name": "string",
- "labels": {
- "keyA": "valueA",
- "keyB": "valueB"
}, - "desc": "string",
- "plugins": { },
- "type": "stream",
- "upstream": {
- "name": "default",
- "scheme": "tcp",
- "desc": "string",
- "type": "roundrobin",
- "hash_on": "vars",
- "key": "string",
- "timeout": {
- "connect": 60,
- "send": 60,
- "read": 60
}, - "nodes": [
- {
- "host": "string",
- "port": 1,
- "weight": 65535,
- "priority": 0
}
], - "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": {
- "keyA": "valueA",
- "keyB": "valueB"
}, - "desc": "string",
- "plugins": { },
- "type": "http",
- "hosts": [
- "string"
], - "path_prefix": "string",
- "strip_path_prefix": true,
- "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
}, - "warning_msg": "string"
}List all published services on a gateway group.
IAM Action: gateway:GetPublishedService, Resource: arn:api7:gateway:gatewaygroup/%s/publishedservice/%s
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" "name" |
| search | string The search keyword. |
| gateway_group_id required | string >= 1 It's optional when client authenticate with gateway group admin key. |
| runtime_type | string Enum: "normal" "canary" |
| unhealthy_nodes | Array of strings Items Enum: "unhealthy_nodes_exists" "no_unhealthy_nodes" |
object non-empty | |
| hosts | Array of strings |
| type | Array of strings Items Enum: "http" "stream" |
Responses
Response samples
- 200
- 400
- default
{- "list": [
- {
- "name": "string",
- "labels": {
- "keyA": "valueA",
- "keyB": "valueB"
}, - "desc": "string",
- "plugins": { },
- "type": "http",
- "hosts": [
- "string"
], - "path_prefix": "string",
- "strip_path_prefix": true,
- "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 published service on a gateway group.
IAM Action: gateway:GetPublishedService, Resource: arn:api7:gateway:gatewaygroup/%s/publishedservice/%s
Authorizations:
path Parameters
| service_id required | string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$ The unique identifier of the published service. |
query Parameters
| gateway_group_id required | string >= 1 It's optional when client authenticate with gateway group admin key. |
Responses
Response samples
- 200
- 400
- default
{- "value": {
- "name": "string",
- "labels": {
- "keyA": "valueA",
- "keyB": "valueB"
}, - "desc": "string",
- "plugins": { },
- "type": "http",
- "hosts": [
- "string"
], - "path_prefix": "string",
- "strip_path_prefix": true,
- "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
}, - "warning_msg": "string"
}Updatea published service(without publishing).
IAM Action: gateway:UpdatePublishedService, Resource: arn:api7:gateway:gatewaygroup/%s/publishedservice/%s
Authorizations:
path Parameters
| service_id required | string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$ The unique identifier of the published service. |
query Parameters
| gateway_group_id required | string >= 1 It's optional when client authenticate with gateway group admin key. |
Request Body schema: application/json
| name | string [ 1 .. 65536 ] characters The object name. |
object | |
| desc | string <= 65536 characters The object description. |
| plugins | object The key-value pairs which represent the plugins attached on the object. |
| type | string Default: "http" Enum: "http" "stream" |
| 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. |
object The upstream contains necessary information for the gateway to proxy request to the backend service. |
Responses
Request samples
- Payload
{- "name": "string",
- "labels": {
- "keyA": "valueA",
- "keyB": "valueB"
}, - "desc": "string",
- "plugins": { },
- "type": "stream",
- "upstream": {
- "name": "default",
- "scheme": "tcp",
- "desc": "string",
- "type": "roundrobin",
- "hash_on": "vars",
- "key": "string",
- "timeout": {
- "connect": 60,
- "send": 60,
- "read": 60
}, - "nodes": [
- {
- "host": "string",
- "port": 1,
- "weight": 65535,
- "priority": 0
}
], - "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": {
- "keyA": "valueA",
- "keyB": "valueB"
}, - "desc": "string",
- "plugins": { },
- "type": "http",
- "hosts": [
- "string"
], - "path_prefix": "string",
- "strip_path_prefix": true,
- "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
}, - "warning_msg": "string"
}Patch a published service on a gateway group.
IAM Action: gateway:UpdatePublishedService, Resource: arn:api7:gateway:gatewaygroup/%s/publishedservice/%s
Authorizations:
path Parameters
| service_id required | string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$ The unique identifier of the published service. |
query Parameters
| gateway_group_id required | string >= 1 It's optional when client authenticate with gateway group admin key. |
Request Body schema: application/json
| op required | string Enum: "add" "replace" The operation to be performed |
| path required | string A JSON Pointer path to the value you wish to modify or add, see https://jsonpatch.com/#json-pointer for more information |
| value required | any The value to add or replace, can be any type |
Responses
Request samples
- Payload
[- {
- "op": "add",
- "path": "string",
- "value": null
}
]Response samples
- 200
- 400
- default
{- "value": {
- "name": "string",
- "labels": {
- "keyA": "valueA",
- "keyB": "valueB"
}, - "desc": "string",
- "plugins": { },
- "type": "http",
- "hosts": [
- "string"
], - "path_prefix": "string",
- "strip_path_prefix": true,
- "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
}, - "warning_msg": "string"
}Delete a published service on a gateway group.
IAM Action: gateway:DeletePublishedService, Resource: arn:api7:gateway:gatewaygroup/%s/publishedservice/%s
Authorizations:
path Parameters
| service_id required | string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$ The unique identifier of the published service. |
query Parameters
| gateway_group_id required | string >= 1 It's optional when client authenticate with gateway group admin key. |
Responses
Response samples
- 200
- 400
- default
{- "value": { },
- "warning_msg": "string"
}Import services based on OpenAPI Specification.
IAM Action: gateway:CreatePublishedService, Resource: arn:api7:gateway:gatewaygroup/%s/publishedservice/*
Authorizations:
query Parameters
| gateway_group_id required | string >= 1 It's optional when client authenticate with gateway group admin key. |
Request Body schema: application/json
| name | string [ 1 .. 65536 ] characters The object name. |
object | |
| desc | string <= 65536 characters The object description. |
| plugins | object The key-value pairs which represent the plugins attached on the object. |
| type | string Default: "http" Enum: "http" "stream" |
| 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. |
object The upstream contains necessary information for the gateway to proxy request to the backend service. | |
Array of objects non-empty unique |
Responses
Request samples
- Payload
{- "name": "string",
- "labels": {
- "keyA": "valueA",
- "keyB": "valueB"
}, - "desc": "string",
- "plugins": { },
- "type": "stream",
- "upstream": {
- "name": "default",
- "scheme": "tcp",
- "desc": "string",
- "type": "roundrobin",
- "hash_on": "vars",
- "key": "string",
- "timeout": {
- "connect": 60,
- "send": 60,
- "read": 60
}, - "nodes": [
- {
- "host": "string",
- "port": 1,
- "weight": 65535,
- "priority": 0
}
], - "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": {
- "keyA": "valueA",
- "keyB": "valueB"
}, - "desc": "string",
- "methods": [
- "GET"
], - "vars": [
- null
], - "paths": [
- "string"
], - "priority": 0,
- "plugins": { },
- "enable_websocket": true,
- "timeout": {
- "connect": 60,
- "send": 60,
- "read": 60
}
}
]
}Response samples
- 200
- 400
- default
{- "value": {
- "name": "string",
- "labels": {
- "keyA": "valueA",
- "keyB": "valueB"
}, - "desc": "string",
- "plugins": { },
- "type": "http",
- "hosts": [
- "string"
], - "path_prefix": "string",
- "strip_path_prefix": true,
- "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
}, - "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": {
- "keyA": "valueA",
- "keyB": "valueB"
}, - "desc": "string",
- "plugins": { },
- "type": "http",
- "hosts": [
- "string"
], - "path_prefix": "string",
- "strip_path_prefix": true,
- "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": {
- "keyA": "valueA",
- "keyB": "valueB"
}, - "desc": "string",
- "methods": [
- "GET"
], - "vars": [
- null
], - "paths": [
- "string"
], - "priority": 0,
- "plugins": { },
- "enable_websocket": true,
- "timeout": {
- "connect": 60,
- "send": 60,
- "read": 60
}
}
]
}, - "warning_msg": "string"
}Create a route in a published service on a gateway group.
IAM Action: gateway:UpdatePublishedService, Resource: arn:api7:gateway:gatewaygroup/%s/publishedservice/%s
Authorizations:
query Parameters
| gateway_group_id required | string >= 1 It's optional when client authenticate with gateway group admin key. |
Request Body schema: application/json
| name required | string [ 1 .. 65536 ] characters The object name. |
object | |
| desc | string <= 65536 characters 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. |
| vars | Array of any Matches based on the specified variables consistent with variables in Nginx. Takes the form [[var, operator, val], [var, operator, val], ...]]. Note that this is case sensitive when matching a cookie name. See https://github.com/api7/lua-resty-expr for more details. |
| paths required | Array of strings [ 1 .. 64 ] items [ items [ 1 .. 4096 ] characters ^/ ] The URI paths that can be matched to the API. |
| priority | integer Default: 0 If different Routes matches to the same uri, then the Route is matched based on its priority. A higher value corresponds to higher priority. |
| 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. |
object The timeout settings for connecting to, and sending and receiving messages to and from the upstream (in seconds). | |
| service_id required | string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$ The object ID. |
Responses
Request samples
- Payload
{- "name": "string",
- "labels": {
- "keyA": "valueA",
- "keyB": "valueB"
}, - "desc": "string",
- "methods": [
- "GET"
], - "vars": [
- null
], - "paths": [
- "string"
], - "priority": 0,
- "plugins": { },
- "enable_websocket": true,
- "timeout": {
- "connect": 60,
- "send": 60,
- "read": 60
}, - "service_id": "string"
}Response samples
- 200
- 400
- default
{- "value": {
- "name": "string",
- "labels": {
- "keyA": "valueA",
- "keyB": "valueB"
}, - "desc": "string",
- "methods": [
- "GET"
], - "vars": [
- null
], - "paths": [
- "string"
], - "priority": 0,
- "plugins": { },
- "enable_websocket": true,
- "timeout": {
- "connect": 60,
- "send": 60,
- "read": 60
}, - "id": "string",
- "service_id": "string",
- "created_at": 0,
- "updated_at": 0
}, - "warning_msg": "string"
}List all routes in a published service.
IAM Action: gateway:GetPublishedService, Resource: arn:api7:gateway:gatewaygroup/%s/publishedservice/%s
Authorizations:
query Parameters
| service_id | string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$ The unique identifier of the published 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. |
| gateway_group_id required | string >= 1 It's optional when client authenticate with gateway group admin key. |
Responses
Response samples
- 200
- 400
- default
{- "list": [
- {
- "name": "string",
- "labels": {
- "keyA": "valueA",
- "keyB": "valueB"
}, - "desc": "string",
- "methods": [
- "GET"
], - "vars": [
- null
], - "paths": [
- "string"
], - "priority": 0,
- "plugins": { },
- "enable_websocket": true,
- "timeout": {
- "connect": 60,
- "send": 60,
- "read": 60
}, - "id": "string",
- "service_id": "string",
- "created_at": 0,
- "updated_at": 0
}
], - "total": 0
}Get a route in a published servcie on a gateway group.
IAM Action: gateway:GetPublishedService, Resource: arn:api7:gateway:gatewaygroup/%s/publishedservice/%s
Authorizations:
path Parameters
| route_id required | string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$ The unique identifier of the published route. |
query Parameters
| gateway_group_id required | string >= 1 It's optional when client authenticate with gateway group admin key. |
Responses
Response samples
- 200
- 400
- default
{- "value": {
- "name": "string",
- "labels": {
- "keyA": "valueA",
- "keyB": "valueB"
}, - "desc": "string",
- "methods": [
- "GET"
], - "vars": [
- null
], - "paths": [
- "string"
], - "priority": 0,
- "plugins": { },
- "enable_websocket": true,
- "timeout": {
- "connect": 60,
- "send": 60,
- "read": 60
}, - "id": "string",
- "service_id": "string",
- "created_at": 0,
- "updated_at": 0
}, - "warning_msg": "string"
}Update a route in a published service on a gateway group.
IAM Action: gateway:UpdatePublishedService, Resource: arn:api7:gateway:gatewaygroup/%s/publishedservice/%s
Authorizations:
path Parameters
| route_id required | string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$ The unique identifier of the published route. |
query Parameters
| gateway_group_id required | string >= 1 It's optional when client authenticate with gateway group admin key. |
Request Body schema: application/json
| name required | string [ 1 .. 65536 ] characters The object name. |
object | |
| desc | string <= 65536 characters 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. |
| vars | Array of any Matches based on the specified variables consistent with variables in Nginx. Takes the form [[var, operator, val], [var, operator, val], ...]]. Note that this is case sensitive when matching a cookie name. See https://github.com/api7/lua-resty-expr for more details. |
| paths required | Array of strings [ 1 .. 64 ] items [ items [ 1 .. 4096 ] characters ^/ ] The URI paths that can be matched to the API. |
| priority | integer Default: 0 If different Routes matches to the same uri, then the Route is matched based on its priority. A higher value corresponds to higher priority. |
| 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. |
object The timeout settings for connecting to, and sending and receiving messages to and from the upstream (in seconds). | |
| service_id required | string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$ The object ID. |
Responses
Request samples
- Payload
{- "name": "string",
- "labels": {
- "keyA": "valueA",
- "keyB": "valueB"
}, - "desc": "string",
- "methods": [
- "GET"
], - "vars": [
- null
], - "paths": [
- "string"
], - "priority": 0,
- "plugins": { },
- "enable_websocket": true,
- "timeout": {
- "connect": 60,
- "send": 60,
- "read": 60
}, - "service_id": "string"
}Response samples
- 200
- 400
- default
{- "value": {
- "name": "string",
- "labels": {
- "keyA": "valueA",
- "keyB": "valueB"
}, - "desc": "string",
- "methods": [
- "GET"
], - "vars": [
- null
], - "paths": [
- "string"
], - "priority": 0,
- "plugins": { },
- "enable_websocket": true,
- "timeout": {
- "connect": 60,
- "send": 60,
- "read": 60
}, - "id": "string",
- "service_id": "string",
- "created_at": 0,
- "updated_at": 0
}, - "warning_msg": "string"
}Patch a route in a published service on a gateway group.
IAM Action: gateway:UpdatePublishedService, Resource: arn:api7:gateway:gatewaygroup/%s/publishedservice/%s
Authorizations:
path Parameters
| route_id required | string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$ The unique identifier of the published route. |
query Parameters
| gateway_group_id required | string >= 1 It's optional when client authenticate with gateway group admin key. |
Request Body schema: application/json
| op required | string Enum: "add" "replace" The operation to be performed |
| path required | string A JSON Pointer path to the value you wish to modify or add, see https://jsonpatch.com/#json-pointer for more information |
| value required | any The value to add or replace, can be any type |
Responses
Request samples
- Payload
[- {
- "op": "add",
- "path": "string",
- "value": null
}
]Response samples
- 200
- 400
- default
{- "value": {
- "name": "string",
- "labels": {
- "keyA": "valueA",
- "keyB": "valueB"
}, - "desc": "string",
- "methods": [
- "GET"
], - "vars": [
- null
], - "paths": [
- "string"
], - "priority": 0,
- "plugins": { },
- "enable_websocket": true,
- "timeout": {
- "connect": 60,
- "send": 60,
- "read": 60
}, - "id": "string",
- "service_id": "string",
- "created_at": 0,
- "updated_at": 0
}, - "warning_msg": "string"
}Delete a route in a published service on a gateway group.
IAM Action: gateway:UpdatePublishedService, Resource: arn:api7:gateway:gatewaygroup/%s/publishedservice/%s
Authorizations:
path Parameters
| route_id required | string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$ The unique identifier of the published route. |
query Parameters
| gateway_group_id required | string >= 1 It's optional when client authenticate with gateway group admin key. |
Responses
Response samples
- 200
- 400
- default
{- "value": { },
- "warning_msg": "string"
}Create a stream route in a published service on a gateway group.
IAM Action: gateway:UpdatePublishedService, Resource: arn:api7:gateway:gatewaygroup/%s/publishedservice/%s
Authorizations:
query Parameters
| gateway_group_id required | string >= 1 It's optional when client authenticate with gateway group admin key. |
Request Body schema: application/json
| name required | string [ 1 .. 65536 ] characters The object name. |
object | |
| desc | string <= 65536 characters The object description. |
| plugins | object The key-value pairs which represent the plugins attached on the object. |
IPv4 (string) or IPv4/CIDR (string) or IPv6 (string) or IPv6/CIDR (string) | |
(IPAddress (IPv4 (string) or IPv4/CIDR (string) or IPv6 (string) or IPv6/CIDR (string))) or Domain (string) | |
| server_port | integer <= 65535 |
| service_id required | string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$ The object ID. |
Responses
Request samples
- Payload
{- "name": "string",
- "labels": {
- "keyA": "valueA",
- "keyB": "valueB"
}, - "desc": "string",
- "plugins": { },
- "remote_addr": "127.0.0.1",
- "server_addr": "mysql",
- "server_port": 3306,
- "service_id": "string"
}Response samples
- 200
- 400
- default
{- "value": {
- "name": "string",
- "labels": {
- "keyA": "valueA",
- "keyB": "valueB"
}, - "desc": "string",
- "plugins": { },
- "remote_addr": "127.0.0.1",
- "server_addr": "mysql",
- "server_port": 3306,
- "id": "string",
- "service_id": "string",
- "created_at": 0,
- "updated_at": 0
}, - "warning_msg": "string"
}List all stream routes in a published service on a gateway group.
IAM Action: gateway:GetPublishedService, Resource: arn:api7:gateway:gatewaygroup/%s/publishedservice/%s
Authorizations:
query Parameters
| service_id | string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$ The unique identifier of the published 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. |
| gateway_group_id required | string >= 1 It's optional when client authenticate with gateway group admin key. |
Responses
Response samples
- 200
- 400
- default
{- "list": [
- {
- "name": "string",
- "labels": {
- "keyA": "valueA",
- "keyB": "valueB"
}, - "desc": "string",
- "plugins": { },
- "remote_addr": "127.0.0.1",
- "server_addr": "mysql",
- "server_port": 3306,
- "id": "string",
- "service_id": "string",
- "created_at": 0,
- "updated_at": 0
}
], - "total": 0
}Get a stream stream route in a published service on a gateway group.
IAM Action: gateway:GetPublishedService, Resource: arn:api7:gateway:gatewaygroup/%s/publishedservice/%s
Authorizations:
path Parameters
| stream_route_id required | string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$ The unique identifier of the published stream route. |
query Parameters
| gateway_group_id required | string >= 1 It's optional when client authenticate with gateway group admin key. |
Responses
Response samples
- 200
- 400
- default
{- "value": {
- "name": "string",
- "labels": {
- "keyA": "valueA",
- "keyB": "valueB"
}, - "desc": "string",
- "plugins": { },
- "remote_addr": "127.0.0.1",
- "server_addr": "mysql",
- "server_port": 3306,
- "id": "string",
- "service_id": "string",
- "created_at": 0,
- "updated_at": 0
}, - "warning_msg": "string"
}Update a stream route in a published service on a gateway group.
IAM Action: gateway:UpdatePublishedService, Resource: arn:api7:gateway:gatewaygroup/%s/publishedservice/%s
Authorizations:
path Parameters
| stream_route_id required | string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$ The unique identifier of the published stream route. |
query Parameters
| gateway_group_id required | string >= 1 It's optional when client authenticate with gateway group admin key. |
Request Body schema: application/json
| name required | string [ 1 .. 65536 ] characters The object name. |
object | |
| desc | string <= 65536 characters The object description. |
| plugins | object The key-value pairs which represent the plugins attached on the object. |
IPv4 (string) or IPv4/CIDR (string) or IPv6 (string) or IPv6/CIDR (string) | |
(IPAddress (IPv4 (string) or IPv4/CIDR (string) or IPv6 (string) or IPv6/CIDR (string))) or Domain (string) | |
| server_port | integer <= 65535 |
| service_id required | string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$ The object ID. |
Responses
Request samples
- Payload
{- "name": "string",
- "labels": {
- "keyA": "valueA",
- "keyB": "valueB"
}, - "desc": "string",
- "plugins": { },
- "remote_addr": "127.0.0.1",
- "server_addr": "mysql",
- "server_port": 3306,
- "service_id": "string"
}Response samples
- 200
- 400
- default
{- "value": {
- "name": "string",
- "labels": {
- "keyA": "valueA",
- "keyB": "valueB"
}, - "desc": "string",
- "plugins": { },
- "remote_addr": "127.0.0.1",
- "server_addr": "mysql",
- "server_port": 3306,
- "id": "string",
- "service_id": "string",
- "created_at": 0,
- "updated_at": 0
}, - "warning_msg": "string"
}Delete a stream route in a published service on a gateway group.
IAM Action: gateway:UpdatePublishedService, Resource: arn:api7:gateway:gatewaygroup/%s/publishedservice/%s
Authorizations:
path Parameters
| stream_route_id required | string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$ The unique identifier of the published stream route. |
query Parameters
| gateway_group_id required | string >= 1 It's optional when client authenticate with gateway group admin key. |
Responses
Response samples
- 200
- 400
- default
{- "value": { },
- "warning_msg": "string"
}List all published services in a gateway group. Deprecated
IAM Action: gateway:GetPublishedService, Resource: arn:api7:gateway:gatewaygroup/%s/publishedservice/%s Deprecated, you can use GET /apisix/admin/services for instead.
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" "name" |
| search | string The search keyword. |
object non-empty | |
| hosts | Array of strings |
| type | Array of strings Items Enum: "http" "stream" |
Responses
Response samples
- 200
- default
{- "list": [
- {
- "name": "string",
- "labels": {
- "keyA": "valueA",
- "keyB": "valueB"
}, - "desc": "string",
- "plugins": { },
- "type": "http",
- "hosts": [
- "string"
], - "path_prefix": "string",
- "strip_path_prefix": true,
- "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 on a gateway group.
IAM Action: gateway:GetPublishedService, Resource: arn:api7:gateway:gatewaygroup/%s/publishedservice/%s
Authorizations:
path Parameters
| gateway_group_id required | string >= 1 Example: 86fb9981-d9d2-4555-9df8-91ae92129335 |
| service_template_id required | string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$ The unique identifier of the service template. |
Responses
Response samples
- 200
- default
{- "value": {
- "name": "string",
- "labels": {
- "keyA": "valueA",
- "keyB": "valueB"
}, - "desc": "string",
- "plugins": { },
- "type": "http",
- "hosts": [
- "string"
], - "path_prefix": "string",
- "strip_path_prefix": true,
- "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
}, - "warning_msg": "string"
}Delete a published service on a gateway group.
IAM Action: gateway:DeletePublishedService, Resource: arn:api7:gateway:gatewaygroup/%s/publishedservice/%s
Authorizations:
path Parameters
| gateway_group_id required | string >= 1 Example: 86fb9981-d9d2-4555-9df8-91ae92129335 |
| service_template_id required | string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$ The unique identifier of the service template. |
Responses
Response samples
- 200
- default
{- "value": { },
- "warning_msg": "string"
}Get the OpenAPI Specification of a published service on a gateway group.
IAM Action: gateway:GetPublishedService, Resource: arn:api7:gateway:gatewaygroup/%s/publishedservice/%s
Authorizations:
path Parameters
| gateway_group_id required | string >= 1 Example: 86fb9981-d9d2-4555-9df8-91ae92129335 |
| service_template_id required | string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$ The unique identifier of the service template. |
Responses
Response samples
- 200
- default
{- "value": {
- "raw_openapi": "string",
- "api_count": 0,
- "api_desc": "string"
}, - "warning_msg": "string"
}Update the OpenAPI Specification of a published service on a gateway group.
IAM Action: gateway:UpdatePublishedService, Resource: arn:api7:gateway:gatewaygroup/%s/publishedservice/%s
Authorizations:
path Parameters
| gateway_group_id required | string >= 1 Example: 86fb9981-d9d2-4555-9df8-91ae92129335 |
| service_template_id required | string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$ The unique identifier of the service template. |
Request Body schema: application/json
| raw_openapi | string The raw OpenAPI specification of the service. |
Responses
Request samples
- Payload
{- "raw_openapi": "string"
}Response samples
- 200
- default
{- "value": {
- "raw_openapi": "string",
- "api_count": 0,
- "api_desc": "string"
}, - "warning_msg": "string"
}List all routes of published service on a gateway group.
IAM Action: gateway:GetPublishedService, Resource: arn:api7:gateway:gatewaygroup/%s/publishedservice/%s
Authorizations:
path Parameters
| gateway_group_id required | string >= 1 Example: 86fb9981-d9d2-4555-9df8-91ae92129335 |
| service_template_id required | string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$ The unique identifier of the service template. |
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": {
- "keyA": "valueA",
- "keyB": "valueB"
}, - "desc": "string",
- "methods": [
- "GET"
], - "vars": [
- null
], - "paths": [
- "string"
], - "priority": 0,
- "plugins": { },
- "enable_websocket": true,
- "timeout": {
- "connect": 60,
- "send": 60,
- "read": 60
}, - "id": "string",
- "route_id": "string",
- "service_version_id": "string"
}
], - "total": 0
}Get a route in a published service on a gateway group.
IAM Action: gateway:GetPublishedService, Resource: arn:api7:gateway:gatewaygroup/%s/publishedservice/%s
Authorizations:
path Parameters
| gateway_group_id required | string >= 1 Example: 86fb9981-d9d2-4555-9df8-91ae92129335 |
| service_template_id required | string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$ The unique identifier of the service template. |
| route_template_id required | string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$ The unique identifier of the route template. |
Responses
Response samples
- 200
- default
{- "value": {
- "name": "string",
- "labels": {
- "keyA": "valueA",
- "keyB": "valueB"
}, - "desc": "string",
- "methods": [
- "GET"
], - "vars": [
- null
], - "paths": [
- "string"
], - "priority": 0,
- "plugins": { },
- "enable_websocket": true,
- "timeout": {
- "connect": 60,
- "send": 60,
- "read": 60
}, - "id": "string",
- "route_id": "string",
- "service_version_id": "string"
}, - "warning_msg": "string"
}List all stream routes of a published service on a gateway group.
IAM Action: gateway:GetPublishedService, Resource: arn:api7:gateway:gatewaygroup/%s/publishedservice/%s
Authorizations:
path Parameters
| gateway_group_id required | string >= 1 Example: 86fb9981-d9d2-4555-9df8-91ae92129335 |
| service_template_id required | string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$ The unique identifier of the service template. |
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": {
- "keyA": "valueA",
- "keyB": "valueB"
}, - "desc": "string",
- "plugins": { },
- "remote_addr": "127.0.0.1",
- "server_addr": "mysql",
- "server_port": 3306,
- "id": "string",
- "stream_route_id": "string",
- "service_version_id": "string"
}
], - "total": 0
}Get a stream route in a published service on a gateway group.
IAM Action: gateway:GetPublishedService, Resource: arn:api7:gateway:gatewaygroup/%s/publishedservice/%s
Authorizations:
path Parameters
| gateway_group_id required | string >= 1 Example: 86fb9981-d9d2-4555-9df8-91ae92129335 |
| service_template_id required | string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$ The unique identifier of the service template. |
| stream_route_template_id required | string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$ The unique identifier of the stream route template. |
Responses
Response samples
- 200
- default
{- "value": {
- "name": "string",
- "labels": {
- "keyA": "valueA",
- "keyB": "valueB"
}, - "desc": "string",
- "plugins": { },
- "remote_addr": "127.0.0.1",
- "server_addr": "mysql",
- "server_port": 3306,
- "id": "string",
- "stream_route_id": "string",
- "service_version_id": "string"
}, - "warning_msg": "string"
}List all history versions of a published services on a gateway group by service ID.
IAM Action: gateway:GetPublishedService, Resource: arn:api7:gateway:gatewaygroup/%s/publishedservice/%s
Authorizations:
path Parameters
| gateway_group_id required | string >= 1 Example: 86fb9981-d9d2-4555-9df8-91ae92129335 |
| service_template_id required | string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$ The unique identifier of the service template. |
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": {
- "keyA": "valueA",
- "keyB": "valueB"
}, - "desc": "string",
- "plugins": { },
- "type": "http",
- "hosts": [
- "string"
], - "path_prefix": "string",
- "strip_path_prefix": true,
- "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
}Fetch service runtime configurations of a published service on a gateway group.
IAM Action: gateway:GetPublishedService, Resource: arn:api7:gateway:gatewaygroup/%s/publishedservice/%s
Authorizations:
path Parameters
| gateway_group_id required | string >= 1 Example: 86fb9981-d9d2-4555-9df8-91ae92129335 |
| service_template_id required | string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$ The unique identifier of the service template. |
Responses
Response samples
- 200
- default
{- "value": {
- "name": "string",
- "labels": {
- "keyA": "valueA",
- "keyB": "valueB"
}, - "desc": "string",
- "hosts": [
- "string"
], - "path_prefix": "string",
- "strip_path_prefix": true,
- "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
}
}
}
}, - "status": 0,
- "plugins": { }
}, - "warning_msg": "string"
}Update service runtime configurations of a published service on a gateway group.
IAM Action: gateway:UpdatePublishedService, Resource: arn:api7:gateway:gatewaygroup/%s/publishedservice/%s
Authorizations:
path Parameters
| gateway_group_id required | string >= 1 Example: 86fb9981-d9d2-4555-9df8-91ae92129335 |
| service_template_id required | string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$ The unique identifier of the service template. |
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
| op required | string Enum: "add" "replace" The operation to be performed |
| path required | string A JSON Pointer path to the value you wish to modify or add, see https://jsonpatch.com/#json-pointer for more information |
| value required | any The value to add or replace, can be any type |
Responses
Request samples
- Payload
[- {
- "op": "add",
- "path": "string",
- "value": null
}
]Response samples
- 200
- default
{- "value": {
- "name": "string",
- "labels": {
- "keyA": "valueA",
- "keyB": "valueB"
}, - "desc": "string",
- "hosts": [
- "string"
], - "path_prefix": "string",
- "strip_path_prefix": true,
- "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
}
}
}
}, - "status": 0,
- "plugins": { }
}, - "warning_msg": "string"
}Get healthcheck status for the upstream of a published service on a gateway group.
IAM Action: gateway:GetPublishedService, Resource: arn:api7:gateway:gatewaygroup/%s/publishedservice/%s
Authorizations:
path Parameters
| gateway_group_id required | string >= 1 Example: 86fb9981-d9d2-4555-9df8-91ae92129335 |
| service_template_id required | string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$ The unique identifier of the service template. |
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 all published services connected to a service registry.
IAM Action: gateway:GetServiceRegistry, Resource: arn:api7:gateway:gatewaygroup/%s
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" "name" |
Responses
Response samples
- 200
- default
{- "list": [
- {
- "name": "string",
- "labels": {
- "keyA": "valueA",
- "keyB": "valueB"
}, - "desc": "string",
- "plugins": { },
- "type": "http",
- "hosts": [
- "string"
], - "path_prefix": "string",
- "strip_path_prefix": true,
- "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
}Check service conflict.
Authorizations:
Request Body schema: application/json
non-empty| create_new_version | boolean Whether to create a new service version for the updated service. |
| gateway_group_id | string [ 1 .. 256 ] characters ^[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,
- "routes": [
- {
- "name": "string",
- "labels": {
- "keyA": "valueA",
- "keyB": "valueB"
}, - "desc": "string",
- "methods": [
- "GET"
], - "vars": [
- null
], - "paths": [
- "string"
], - "priority": 0,
- "plugins": { },
- "enable_websocket": true,
- "timeout": {
- "connect": 60,
- "send": 60,
- "read": 60
}, - "id": "string",
- "service_id": "string"
}
]
}
]
}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"
}
]
]
}, - "warning_msg": "string"
}Create a service template.
IAM Action: gateway:CreateServiceTemplate, Resource: arn:api7:gateway:servicetemplate/*
Authorizations:
Request Body schema: application/json
| name | string [ 1 .. 65536 ] characters The object name. |
object | |
| desc | string <= 65536 characters The object description. |
| plugins | object The key-value pairs which represent the plugins attached on the object. |
| type | string Default: "http" Enum: "http" "stream" |
| 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. |
object The upstream contains necessary information for the gateway to proxy request to the backend service. |
Responses
Request samples
- Payload
{- "name": "string",
- "labels": {
- "keyA": "valueA",
- "keyB": "valueB"
}, - "desc": "string",
- "plugins": { },
- "type": "stream",
- "upstream": {
- "name": "default",
- "scheme": "tcp",
- "desc": "string",
- "type": "roundrobin",
- "hash_on": "vars",
- "key": "string",
- "timeout": {
- "connect": 60,
- "send": 60,
- "read": 60
}, - "nodes": [
- {
- "host": "string",
- "port": 1,
- "weight": 65535,
- "priority": 0
}
], - "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": {
- "keyA": "valueA",
- "keyB": "valueB"
}, - "desc": "string",
- "plugins": { },
- "type": "http",
- "hosts": [
- "string"
], - "path_prefix": "string",
- "strip_path_prefix": true,
- "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
}, - "warning_msg": "string"
}Get all service templates.
IAM Action: gateway:GetServiceTemplate, Resource: arn:api7:gateway:servicetemplate/%s
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" "name" |
| 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 |
| type | string Enum: "http" "stream" Example: type=http |
Responses
Response samples
- 200
- 400
- default
{- "list": [
- {
- "name": "string",
- "labels": {
- "keyA": "valueA",
- "keyB": "valueB"
}, - "desc": "string",
- "plugins": { },
- "type": "http",
- "hosts": [
- "string"
], - "path_prefix": "string",
- "strip_path_prefix": true,
- "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 template by ID.
IAM Action: gateway:GetServiceTemplate, Resource: arn:api7:gateway:servicetemplate/%s
Authorizations:
path Parameters
| service_template_id required | string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$ The unique identifier of the service template. |
Responses
Response samples
- 200
- 400
- default
{- "value": {
- "name": "string",
- "labels": {
- "keyA": "valueA",
- "keyB": "valueB"
}, - "desc": "string",
- "plugins": { },
- "type": "http",
- "hosts": [
- "string"
], - "path_prefix": "string",
- "strip_path_prefix": true,
- "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
}, - "warning_msg": "string"
}Update a service template by ID.
IAM Action: gateway:UpdateServiceTemplate, Resource: arn:api7:gateway:servicetemplate/%s
Authorizations:
path Parameters
| service_template_id required | string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$ The unique identifier of the service template. |
Request Body schema: application/json
| name | string [ 1 .. 65536 ] characters The object name. |
object | |
| desc | string <= 65536 characters The object description. |
| plugins | object The key-value pairs which represent the plugins attached on the object. |
| type | string Default: "http" Enum: "http" "stream" |
| 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. |
object The upstream contains necessary information for the gateway to proxy request to the backend service. |
Responses
Request samples
- Payload
{- "name": "string",
- "labels": {
- "keyA": "valueA",
- "keyB": "valueB"
}, - "desc": "string",
- "plugins": { },
- "type": "stream",
- "upstream": {
- "name": "default",
- "scheme": "tcp",
- "desc": "string",
- "type": "roundrobin",
- "hash_on": "vars",
- "key": "string",
- "timeout": {
- "connect": 60,
- "send": 60,
- "read": 60
}, - "nodes": [
- {
- "host": "string",
- "port": 1,
- "weight": 65535,
- "priority": 0
}
], - "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": {
- "keyA": "valueA",
- "keyB": "valueB"
}, - "desc": "string",
- "plugins": { },
- "type": "http",
- "hosts": [
- "string"
], - "path_prefix": "string",
- "strip_path_prefix": true,
- "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
}, - "warning_msg": "string"
}Patch a service template by ID.
IAM Action: gateway:UpdateServiceTemplate, Resource: arn:api7:gateway:servicetemplate/%s
Authorizations:
path Parameters
| service_template_id required | string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$ The unique identifier of the service template. |
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
| op required | string Enum: "add" "replace" The operation to be performed |
| path required | string A JSON Pointer path to the value you wish to modify or add, see https://jsonpatch.com/#json-pointer for more information |
| value required | any The value to add or replace, can be any type |
Responses
Request samples
- Payload
[- {
- "op": "add",
- "path": "string",
- "value": null
}
]Response samples
- 200
- 400
- default
{- "value": {
- "name": "string",
- "labels": {
- "keyA": "valueA",
- "keyB": "valueB"
}, - "desc": "string",
- "plugins": { },
- "type": "http",
- "hosts": [
- "string"
], - "path_prefix": "string",
- "strip_path_prefix": true,
- "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
}, - "warning_msg": "string"
}Delete a service template.
IAM Action: gateway:DeleteServiceTemplate, Resource: arn:api7:gateway:servicetemplate/%s
Authorizations:
path Parameters
| service_template_id required | string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$ The unique identifier of the service template. |
Responses
Response samples
- 200
- 400
- default
{- "value": { },
- "warning_msg": "string"
}Get the OpenAPI Specification of a service template.
IAM Action: gateway:GetServiceTemplate, Resource: arn:api7:gateway:servicetemplate/%s
Authorizations:
path Parameters
| service_template_id required | string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$ The unique identifier of the service template. |
Responses
Response samples
- 200
- 400
- default
{- "value": {
- "raw_openapi": "string",
- "api_count": 0,
- "api_desc": "string"
}, - "warning_msg": "string"
}Update the OpenAPI Specification of a service template.
IAM Action: gateway:UpdateServiceTemplate, Resource: arn:api7:gateway:servicetemplate/%s
Authorizations:
path Parameters
| service_template_id required | string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$ The unique identifier of the service template. |
Request Body schema: application/json
| raw_openapi | string The raw OpenAPI specification of the service. |
Responses
Request samples
- Payload
{- "raw_openapi": "string"
}Response samples
- 200
- 400
- default
{- "value": {
- "raw_openapi": "string",
- "api_count": 0,
- "api_desc": "string"
}, - "warning_msg": "string"
}Generate an OpenAPI specification from service templates.
IAM Action: gateway:GetServiceTemplate, Resource: arn:api7:gateway:servicetemplate/%s
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[ items [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$ ] 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": { }
}
}
}
}, - "warning_msg": "string"
}Import service template based on OpenAPI Specification.
IAM Action: gateway:CreateServiceTemplate, Resource: arn:api7:gateway:servicetemplate/*
Authorizations:
Request Body schema: application/json
| name | string [ 1 .. 65536 ] characters The object name. |
object | |
| desc | string <= 65536 characters The object description. |
| plugins | object The key-value pairs which represent the plugins attached on the object. |
| type | string Default: "http" Enum: "http" "stream" |
| 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. |
object The upstream contains necessary information for the gateway to proxy request to the backend service. | |
Array of objects non-empty unique |
Responses
Request samples
- Payload
{- "name": "string",
- "labels": {
- "keyA": "valueA",
- "keyB": "valueB"
}, - "desc": "string",
- "plugins": { },
- "type": "stream",
- "upstream": {
- "name": "default",
- "scheme": "tcp",
- "desc": "string",
- "type": "roundrobin",
- "hash_on": "vars",
- "key": "string",
- "timeout": {
- "connect": 60,
- "send": 60,
- "read": 60
}, - "nodes": [
- {
- "host": "string",
- "port": 1,
- "weight": 65535,
- "priority": 0
}
], - "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": {
- "keyA": "valueA",
- "keyB": "valueB"
}, - "desc": "string",
- "methods": [
- "GET"
], - "vars": [
- null
], - "paths": [
- "string"
], - "priority": 0,
- "plugins": { },
- "enable_websocket": true,
- "timeout": {
- "connect": 60,
- "send": 60,
- "read": 60
}
}
]
}Response samples
- 200
- 400
- default
{- "value": {
- "name": "string",
- "labels": {
- "keyA": "valueA",
- "keyB": "valueB"
}, - "desc": "string",
- "plugins": { },
- "type": "http",
- "hosts": [
- "string"
], - "path_prefix": "string",
- "strip_path_prefix": true,
- "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": {
- "keyA": "valueA",
- "keyB": "valueB"
}, - "desc": "string",
- "methods": [
- "GET"
], - "vars": [
- null
], - "paths": [
- "string"
], - "priority": 0,
- "plugins": { },
- "enable_websocket": true,
- "timeout": {
- "connect": 60,
- "send": 60,
- "read": 60
}, - "id": "string",
- "service_id": "string",
- "created_at": 0,
- "updated_at": 0
}
]
}, - "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": {
- "keyA": "valueA",
- "keyB": "valueB"
}, - "desc": "string",
- "plugins": { },
- "type": "http",
- "hosts": [
- "string"
], - "path_prefix": "string",
- "strip_path_prefix": true,
- "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": {
- "keyA": "valueA",
- "keyB": "valueB"
}, - "desc": "string",
- "methods": [
- "GET"
], - "vars": [
- null
], - "paths": [
- "string"
], - "priority": 0,
- "plugins": { },
- "enable_websocket": true,
- "timeout": {
- "connect": 60,
- "send": 60,
- "read": 60
}
}
]
}, - "warning_msg": "string"
}Create a route in a service template.
IAM Action: gateway:UpdateServiceTemplate, Resource: arn:api7:gateway:servicetemplate/%s
Authorizations:
Request Body schema: application/json
| name required | string [ 1 .. 65536 ] characters The object name. |
object | |
| desc | string <= 65536 characters 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. |
| vars | Array of any Matches based on the specified variables consistent with variables in Nginx. Takes the form [[var, operator, val], [var, operator, val], ...]]. Note that this is case sensitive when matching a cookie name. See https://github.com/api7/lua-resty-expr for more details. |
| paths required | Array of strings [ 1 .. 64 ] items [ items [ 1 .. 4096 ] characters ^/ ] The URI paths that can be matched to the API. |
| priority | integer Default: 0 If different Routes matches to the same uri, then the Route is matched based on its priority. A higher value corresponds to higher priority. |
| 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. |
object The timeout settings for connecting to, and sending and receiving messages to and from the upstream (in seconds). | |
| service_id required | string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$ The object ID. |
Responses
Request samples
- Payload
{- "name": "string",
- "labels": {
- "keyA": "valueA",
- "keyB": "valueB"
}, - "desc": "string",
- "methods": [
- "GET"
], - "vars": [
- null
], - "paths": [
- "string"
], - "priority": 0,
- "plugins": { },
- "enable_websocket": true,
- "timeout": {
- "connect": 60,
- "send": 60,
- "read": 60
}, - "service_id": "string"
}Response samples
- 200
- 400
- default
{- "value": {
- "name": "string",
- "labels": {
- "keyA": "valueA",
- "keyB": "valueB"
}, - "desc": "string",
- "methods": [
- "GET"
], - "vars": [
- null
], - "paths": [
- "string"
], - "priority": 0,
- "plugins": { },
- "enable_websocket": true,
- "timeout": {
- "connect": 60,
- "send": 60,
- "read": 60
}, - "id": "string",
- "service_id": "string",
- "created_at": 0,
- "updated_at": 0
}, - "warning_msg": "string"
}Get all routes in a service template.
IAM Action: gateway:GetServiceTemplate, Resource: arn:api7:gateway:servicetemplate/%s
Authorizations:
query Parameters
| service_id required | string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$ The unique identifier of the service template. |
| 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": {
- "keyA": "valueA",
- "keyB": "valueB"
}, - "desc": "string",
- "methods": [
- "GET"
], - "vars": [
- null
], - "paths": [
- "string"
], - "priority": 0,
- "plugins": { },
- "enable_websocket": true,
- "timeout": {
- "connect": 60,
- "send": 60,
- "read": 60
}, - "id": "string",
- "service_id": "string",
- "created_at": 0,
- "updated_at": 0
}
], - "total": 0
}Get a route in all service templates.
IAM Action: gateway:GetServiceTemplate, Resource: arn:api7:gateway:servicetemplate/%s
Authorizations:
path Parameters
| route_template_id required | string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$ The unique identifier of the route template. |
Responses
Response samples
- 200
- 400
- default
{- "value": {
- "name": "string",
- "labels": {
- "keyA": "valueA",
- "keyB": "valueB"
}, - "desc": "string",
- "methods": [
- "GET"
], - "vars": [
- null
], - "paths": [
- "string"
], - "priority": 0,
- "plugins": { },
- "enable_websocket": true,
- "timeout": {
- "connect": 60,
- "send": 60,
- "read": 60
}, - "id": "string",
- "service_id": "string",
- "created_at": 0,
- "updated_at": 0
}, - "warning_msg": "string"
}Update a route in service template.
IAM Action: gateway:UpdateServiceTemplate, Resource: arn:api7:gateway:servicetemplate/%s
Authorizations:
path Parameters
| route_template_id required | string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$ The unique identifier of the route template. |
Request Body schema: application/json
| name required | string [ 1 .. 65536 ] characters The object name. |
object | |
| desc | string <= 65536 characters 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. |
| vars | Array of any Matches based on the specified variables consistent with variables in Nginx. Takes the form [[var, operator, val], [var, operator, val], ...]]. Note that this is case sensitive when matching a cookie name. See https://github.com/api7/lua-resty-expr for more details. |
| paths required | Array of strings [ 1 .. 64 ] items [ items [ 1 .. 4096 ] characters ^/ ] The URI paths that can be matched to the API. |
| priority | integer Default: 0 If different Routes matches to the same uri, then the Route is matched based on its priority. A higher value corresponds to higher priority. |
| 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. |
object The timeout settings for connecting to, and sending and receiving messages to and from the upstream (in seconds). | |
| service_id | string^[a-zA-Z0-9-_.]+$|^$ The object ID. |
Responses
Request samples
- Payload
{- "name": "string",
- "labels": {
- "keyA": "valueA",
- "keyB": "valueB"
}, - "desc": "string",
- "methods": [
- "GET"
], - "vars": [
- null
], - "paths": [
- "string"
], - "priority": 0,
- "plugins": { },
- "enable_websocket": true,
- "timeout": {
- "connect": 60,
- "send": 60,
- "read": 60
}, - "service_id": "string"
}Response samples
- 200
- 400
- default
{- "value": {
- "name": "string",
- "labels": {
- "keyA": "valueA",
- "keyB": "valueB"
}, - "desc": "string",
- "methods": [
- "GET"
], - "vars": [
- null
], - "paths": [
- "string"
], - "priority": 0,
- "plugins": { },
- "enable_websocket": true,
- "timeout": {
- "connect": 60,
- "send": 60,
- "read": 60
}, - "id": "string",
- "service_id": "string",
- "created_at": 0,
- "updated_at": 0
}, - "warning_msg": "string"
}Patch a route in service template.
IAM Action: gateway:UpdateServiceTemplate, Resource: arn:api7:gateway:servicetemplate/%s
Authorizations:
path Parameters
| route_template_id required | string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$ The unique identifier of the route template. |
Request Body schema: application/json
| op required | string Enum: "add" "replace" The operation to be performed |
| path required | string A JSON Pointer path to the value you wish to modify or add, see https://jsonpatch.com/#json-pointer for more information |
| value required | any The value to add or replace, can be any type |
Responses
Request samples
- Payload
[- {
- "op": "add",
- "path": "string",
- "value": null
}
]Response samples
- 200
- 400
- default
{- "value": {
- "name": "string",
- "labels": {
- "keyA": "valueA",
- "keyB": "valueB"
}, - "desc": "string",
- "methods": [
- "GET"
], - "vars": [
- null
], - "paths": [
- "string"
], - "priority": 0,
- "plugins": { },
- "enable_websocket": true,
- "timeout": {
- "connect": 60,
- "send": 60,
- "read": 60
}, - "id": "string",
- "service_id": "string",
- "created_at": 0,
- "updated_at": 0
}, - "warning_msg": "string"
}Delete a route in service template.
IAM Action: gateway:UpdateServiceTemplate, Resource: arn:api7:gateway:servicetemplate/%s
Authorizations:
path Parameters
| route_template_id required | string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$ The unique identifier of the route template. |
Responses
Response samples
- 200
- 400
- default
{- "value": { },
- "warning_msg": "string"
}Create a stream route in a service template.
IAM Action: gateway:UpdateServiceTemplate, Resource: arn:api7:gateway:servicetemplate/%s
Authorizations:
Request Body schema: application/json
| name required | string [ 1 .. 65536 ] characters The object name. |
object | |
| desc | string <= 65536 characters The object description. |
| plugins | object The key-value pairs which represent the plugins attached on the object. |
IPv4 (string) or IPv4/CIDR (string) or IPv6 (string) or IPv6/CIDR (string) | |
(IPAddress (IPv4 (string) or IPv4/CIDR (string) or IPv6 (string) or IPv6/CIDR (string))) or Domain (string) | |
| server_port | integer <= 65535 |
| service_id required | string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$ The object ID. |
Responses
Request samples
- Payload
{- "name": "string",
- "labels": {
- "keyA": "valueA",
- "keyB": "valueB"
}, - "desc": "string",
- "plugins": { },
- "remote_addr": "127.0.0.1",
- "server_addr": "mysql",
- "server_port": 3306,
- "service_id": "string"
}Response samples
- 200
- 400
- default
{- "value": {
- "name": "string",
- "labels": {
- "keyA": "valueA",
- "keyB": "valueB"
}, - "desc": "string",
- "plugins": { },
- "remote_addr": "127.0.0.1",
- "server_addr": "mysql",
- "server_port": 3306,
- "id": "string",
- "service_id": "string",
- "created_at": 0,
- "updated_at": 0
}, - "warning_msg": "string"
}List all stream routes in a service template.
IAM Action: gateway:GetServiceTemplate, Resource: arn:api7:gateway:servicetemplate/%s
Authorizations:
query Parameters
| service_id required | string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$ The unique identifier of the service template. |
| 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": {
- "keyA": "valueA",
- "keyB": "valueB"
}, - "desc": "string",
- "plugins": { },
- "remote_addr": "127.0.0.1",
- "server_addr": "mysql",
- "server_port": 3306,
- "id": "string",
- "service_id": "string",
- "created_at": 0,
- "updated_at": 0
}
], - "total": 0
}Get a stream route in a service template.
IAM Action: gateway:GetServiceTemplate, Resource: arn:api7:gateway:servicetemplate/%s
Authorizations:
path Parameters
| stream_route_template_id required | string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$ The unique identifier of the stream route template. |
Responses
Response samples
- 200
- 400
- default
{- "value": {
- "name": "string",
- "labels": {
- "keyA": "valueA",
- "keyB": "valueB"
}, - "desc": "string",
- "plugins": { },
- "remote_addr": "127.0.0.1",
- "server_addr": "mysql",
- "server_port": 3306,
- "id": "string",
- "service_id": "string",
- "created_at": 0,
- "updated_at": 0
}, - "warning_msg": "string"
}Update a stream route in a service template.
IAM Action: gateway:UpdateServiceTemplate, Resource: arn:api7:gateway:servicetemplate/%s
Authorizations:
path Parameters
| stream_route_template_id required | string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$ The unique identifier of the stream route template. |
Request Body schema: application/json
| name required | string [ 1 .. 65536 ] characters The object name. |
object | |
| desc | string <= 65536 characters The object description. |
| plugins | object The key-value pairs which represent the plugins attached on the object. |
IPv4 (string) or IPv4/CIDR (string) or IPv6 (string) or IPv6/CIDR (string) | |
(IPAddress (IPv4 (string) or IPv4/CIDR (string) or IPv6 (string) or IPv6/CIDR (string))) or Domain (string) | |
| server_port | integer <= 65535 |
| service_id | string^[a-zA-Z0-9-_.]+$|^$ The object ID. |
Responses
Request samples
- Payload
{- "name": "string",
- "labels": {
- "keyA": "valueA",
- "keyB": "valueB"
}, - "desc": "string",
- "plugins": { },
- "remote_addr": "127.0.0.1",
- "server_addr": "mysql",
- "server_port": 3306,
- "service_id": "string"
}Response samples
- 200
- 400
- default
{- "value": {
- "name": "string",
- "labels": {
- "keyA": "valueA",
- "keyB": "valueB"
}, - "desc": "string",
- "plugins": { },
- "remote_addr": "127.0.0.1",
- "server_addr": "mysql",
- "server_port": 3306,
- "id": "string",
- "service_id": "string",
- "created_at": 0,
- "updated_at": 0
}, - "warning_msg": "string"
}Delete a stream route in a service template.
IAM Action: gateway:UpdateServiceTemplate, Resource: arn:api7:gateway:servicetemplate/%s
Authorizations:
path Parameters
| stream_route_template_id required | string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$ The unique identifier of the stream route template. |
Responses
Response samples
- 200
- 400
- default
{- "value": { },
- "warning_msg": "string"
}Get the OpenAPI Specification of a service version.
IAM Action: gateway:GetServiceTemplate, Resource: arn:api7:gateway:servicetemplate/%s
Authorizations:
path Parameters
| service_version_id required | string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$ The unique identifier of the service version. |
Responses
Response samples
- 200
- default
{- "value": {
- "raw_openapi": "string",
- "api_count": 0,
- "api_desc": "string"
}, - "warning_msg": "string"
}Get a service version.
IAM Action: gateway:GetServiceTemplate, Resource: arn:api7:gateway:servicetemplate/%s
Authorizations:
path Parameters
| service_version_id required | string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$ The unique identifier of the service version. |
Responses
Response samples
- 200
- default
{- "value": {
- "name": "string",
- "labels": {
- "keyA": "valueA",
- "keyB": "valueB"
}, - "desc": "string",
- "plugins": { },
- "type": "http",
- "hosts": [
- "string"
], - "path_prefix": "string",
- "strip_path_prefix": true,
- "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
}, - "warning_msg": "string"
}Get all routes in a service version.
IAM Action: gateway:GetServiceTemplate, Resource: arn:api7:gateway:servicetemplate/%s
Authorizations:
path Parameters
| service_version_id required | string [ 1 .. 256 ] characters ^[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": {
- "keyA": "valueA",
- "keyB": "valueB"
}, - "desc": "string",
- "methods": [
- "GET"
], - "vars": [
- null
], - "paths": [
- "string"
], - "priority": 0,
- "plugins": { },
- "enable_websocket": true,
- "timeout": {
- "connect": 60,
- "send": 60,
- "read": 60
}, - "id": "string",
- "route_id": "string",
- "service_version_id": "string"
}
], - "total": 0
}Get a route in a service version.
IAM Action: gateway:GetServiceTemplate, Resource: arn:api7:gateway:servicetemplate/%s
Authorizations:
path Parameters
| service_version_id required | string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$ The unique identifier of the service version. |
| route_version_id required | string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$ The unique identifier of the route version. |
Responses
Response samples
- 200
- default
{- "value": {
- "name": "string",
- "labels": {
- "keyA": "valueA",
- "keyB": "valueB"
}, - "desc": "string",
- "methods": [
- "GET"
], - "vars": [
- null
], - "paths": [
- "string"
], - "priority": 0,
- "plugins": { },
- "enable_websocket": true,
- "timeout": {
- "connect": 60,
- "send": 60,
- "read": 60
}, - "id": "string",
- "route_id": "string",
- "service_version_id": "string"
}, - "warning_msg": "string"
}Get all stream routes in a service versions.
IAM Action: gateway:GetServiceTemplate, Resource: arn:api7:gateway:servicetemplate/%s
Authorizations:
path Parameters
| service_version_id required | string [ 1 .. 256 ] characters ^[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": {
- "keyA": "valueA",
- "keyB": "valueB"
}, - "desc": "string",
- "plugins": { },
- "remote_addr": "127.0.0.1",
- "server_addr": "mysql",
- "server_port": 3306,
- "id": "string",
- "stream_route_id": "string",
- "service_version_id": "string"
}
], - "total": 0
}Get a stream route in a service version.
IAM Action: gateway:GetServiceTemplate, Resource: arn:api7:gateway:servicetemplate/%s
Authorizations:
path Parameters
| service_version_id required | string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$ The unique identifier of the service version. |
| stream_route_version_id required | string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$ The unique identifier of the stream route version. |
Responses
Response samples
- 200
- default
{- "value": {
- "name": "string",
- "labels": {
- "keyA": "valueA",
- "keyB": "valueB"
}, - "desc": "string",
- "plugins": { },
- "remote_addr": "127.0.0.1",
- "server_addr": "mysql",
- "server_port": 3306,
- "id": "string",
- "stream_route_id": "string",
- "service_version_id": "string"
}, - "warning_msg": "string"
}Publish a service template to a gateway group.
IAM Action: gateway:PublishServices, Resource: arn:api7:gateway:gatewaygroup/%s/publishedservice/%s
Authorizations:
Request Body schema: application/json
non-empty| create_new_version | boolean Whether to create a new service version for the updated service. |
| gateway_group_id | string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$ The object ID. |
Array of objects or objects non-empty |
Responses
Request samples
- Payload
{- "create_new_version": true,
- "gateway_group_id": "string",
- "services": [
- {
- "name": "string",
- "labels": {
- "keyA": "valueA",
- "keyB": "valueB"
}, - "desc": "string",
- "plugins": { },
- "type": "http",
- "hosts": [
- "string"
], - "path_prefix": "string",
- "strip_path_prefix": true,
- "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": { },
- "warning_msg": "string"
}List all published version of a service template on multiple gateway groups.
IAM Action: gateway:GetPublishedService, Resource: arn:api7:gateway:gatewaygroup/%s/publishedservice/%s
Authorizations:
path Parameters
| service_template_id required | string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$ The unique identifier of the service template. |
Responses
Response samples
- 200
- 400
- default
{- "list": [
- {
- "name": "string",
- "labels": {
- "keyA": "valueA",
- "keyB": "valueB"
}, - "desc": "string",
- "plugins": { },
- "type": "http",
- "hosts": [
- "string"
], - "path_prefix": "string",
- "strip_path_prefix": true,
- "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 the service version name.
IAM Action: gateway:GetServiceTemplate, Resource: arn:api7:gateway:servicetemplate/%s
Authorizations:
path Parameters
| service_template_id required | string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$ The unique identifier of the service template. |
| version required | string |
Responses
Response samples
- 200
- default
{- "value": {
- "name": "string",
- "labels": {
- "keyA": "valueA",
- "keyB": "valueB"
}, - "desc": "string",
- "plugins": { },
- "type": "http",
- "hosts": [
- "string"
], - "path_prefix": "string",
- "strip_path_prefix": true,
- "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
}, - "warning_msg": "string"
}List all secret providers on a gateway group.
IAM Action: gateway:GetSecretProvider, Resource: arn:api7:gateway:gatewaygroup/%s/secret_provider/%s
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 It's optional when client authenticate with gateway group admin key. |
Responses
Response samples
- 200
- 400
- default
{- "list": [
- {
- "uri": "string",
- "prefix": "string",
- "token": "string",
- "namespace": "string",
- "kv_version": "kv-v1",
- "authentication_method": "token",
- "desc": "string",
- "labels": {
- "keyA": "valueA",
- "keyB": "valueB"
}, - "id": "string",
- "secret_manger": "string",
- "created_at": 0,
- "updated_at": 0
}
], - "total": 0
}Get a vault secret provider on a gateway group.
IAM Action: gateway:GetSecretProvider, Resource: arn:api7:gateway:gatewaygroup/%s/secret_provider/%s
Authorizations:
path Parameters
| secret_provider_id required | string |
query Parameters
| gateway_group_id required | string >= 1 It's optional when client authenticate with gateway group admin key. |
Responses
Response samples
- 200
- 400
- default
{- "value": {
- "uri": "string",
- "prefix": "string",
- "token": "string",
- "namespace": "string",
- "kv_version": "kv-v1",
- "authentication_method": "token",
- "desc": "string",
- "labels": {
- "keyA": "valueA",
- "keyB": "valueB"
}, - "id": "string",
- "secret_manger": "string",
- "created_at": 0,
- "updated_at": 0
}, - "warning_msg": "string"
}Delete a vault secret provider on a gateway group.
IAM Action: gateway:DeleteSecretProvider, Resource: arn:api7:gateway:gatewaygroup/%s/secret_provider/%s
Authorizations:
path Parameters
| secret_provider_id required | string |
query Parameters
| gateway_group_id required | string >= 1 It's optional when client authenticate with gateway group admin key. |
Responses
Response samples
- 200
- 400
- default
{- "value": { },
- "warning_msg": "string"
}Update a vault secret provider on a gateway group.
IAM Action: gateway:PutSecretProvider, Resource: arn:api7:gateway:gatewaygroup/%s/secret_provider/%s
Authorizations:
path Parameters
| secret_provider_id required | string |
query Parameters
| gateway_group_id required | string >= 1 It's optional when client authenticate with gateway group admin key. |
Request Body schema: application/json
| uri required | string^[^/]+://([\da-zA-Z.-]+|\[[\da-fA-F:]+\])(:\d... |
| prefix required | string |
| token required | string |
| namespace | string |
| kv_version | string Default: "kv-v1" Value: "kv-v1" |
| authentication_method | string Default: "token" Value: "token" |
| desc | string <= 65536 characters The object description. |
object |
Responses
Request samples
- Payload
{- "uri": "string",
- "prefix": "string",
- "token": "string",
- "namespace": "string",
- "kv_version": "kv-v1",
- "authentication_method": "token",
- "desc": "string",
- "labels": {
- "keyA": "valueA",
- "keyB": "valueB"
}
}Response samples
- 200
- 400
- default
{- "value": {
- "uri": "string",
- "prefix": "string",
- "token": "string",
- "namespace": "string",
- "kv_version": "kv-v1",
- "authentication_method": "token",
- "desc": "string",
- "labels": {
- "keyA": "valueA",
- "keyB": "valueB"
}, - "id": "string",
- "secret_manger": "string",
- "created_at": 0,
- "updated_at": 0
}, - "warning_msg": "string"
}Get a aws secret provider on a gateway group.
IAM Action: gateway:GetSecretProvider, Resource: arn:api7:gateway:gatewaygroup/%s/secret_provider/%s
Authorizations:
path Parameters
| secret_provider_id required | string |
query Parameters
| gateway_group_id required | string >= 1 It's optional when client authenticate with gateway group admin key. |
Responses
Response samples
- 200
- 400
- default
{- "value": {
- "uri": "string",
- "prefix": "string",
- "token": "string",
- "namespace": "string",
- "kv_version": "kv-v1",
- "authentication_method": "token",
- "desc": "string",
- "labels": {
- "keyA": "valueA",
- "keyB": "valueB"
}, - "id": "string",
- "secret_manger": "string",
- "created_at": 0,
- "updated_at": 0
}, - "warning_msg": "string"
}Delete a aws secret provider on a gateway group.
IAM Action: gateway:DeleteSecretProvider, Resource: arn:api7:gateway:gatewaygroup/%s/secret_provider/%s
Authorizations:
path Parameters
| secret_provider_id required | string |
query Parameters
| gateway_group_id required | string >= 1 It's optional when client authenticate with gateway group admin key. |
Responses
Response samples
- 200
- 400
- default
{- "value": { },
- "warning_msg": "string"
}Update a aws secret provider on a gateway group.
IAM Action: gateway:PutSecretProvider, Resource: arn:api7:gateway:gatewaygroup/%s/secret_provider/%s
Authorizations:
path Parameters
| secret_provider_id required | string |
query Parameters
| gateway_group_id required | string >= 1 It's optional when client authenticate with gateway group admin key. |
Request Body schema: application/json
| access_key_id required | string |
| secret_access_key required | string |
| session_token | string |
| region | string Default: "us-east-1" |
| endpoint_url | string^[^/]+://([\da-zA-Z.-]+|\[[\da-fA-F:]+\])(:\d... |
| desc | string <= 65536 characters The object description. |
object |
Responses
Request samples
- Payload
{- "access_key_id": "string",
- "secret_access_key": "string",
- "session_token": "string",
- "region": "us-east-1",
- "endpoint_url": "string",
- "desc": "string",
- "labels": {
- "keyA": "valueA",
- "keyB": "valueB"
}
}Response samples
- 200
- 400
- default
{- "value": {
- "uri": "string",
- "prefix": "string",
- "token": "string",
- "namespace": "string",
- "kv_version": "kv-v1",
- "authentication_method": "token",
- "desc": "string",
- "labels": {
- "keyA": "valueA",
- "keyB": "valueB"
}, - "id": "string",
- "secret_manger": "string",
- "created_at": 0,
- "updated_at": 0
}, - "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"
], - "free_trial": true,
- "is_test_env": true,
- "issuance_date": 0,
- "runtime": {
- "status": "dp_core_exceeded",
- "dp_core_exceeded_start_at": 0,
- "dp_core_exceeded_end_at": 0,
- "max_dp_cores": 0
}, - "status": "normal"
}, - "warning_msg": "string"
}Import or update the API7 Enterprise license.
IAM Action: iam:UpdateLicense, Resource: arn:api7:iam:organization/*
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"
], - "free_trial": true,
- "is_test_env": true,
- "issuance_date": 0
}, - "warning_msg": "string"
}Create a route in a published service on a gateway group.
IAM Action: gateway:UpdatePublishedService, Resource: arn:api7:gateway:gatewaygroup/%s/publishedservice/%s
Authorizations:
query Parameters
| gateway_group_id required | string >= 1 It's optional when client authenticate with gateway group admin key. |
Request Body schema: application/json
| name required | string [ 1 .. 65536 ] characters The object name. |
object | |
| desc | string <= 65536 characters 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. |
| vars | Array of any Matches based on the specified variables consistent with variables in Nginx. Takes the form [[var, operator, val], [var, operator, val], ...]]. Note that this is case sensitive when matching a cookie name. See https://github.com/api7/lua-resty-expr for more details. |
| paths required | Array of strings [ 1 .. 64 ] items [ items [ 1 .. 4096 ] characters ^/ ] The URI paths that can be matched to the API. |
| priority | integer Default: 0 If different Routes matches to the same uri, then the Route is matched based on its priority. A higher value corresponds to higher priority. |
| 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. |
object The timeout settings for connecting to, and sending and receiving messages to and from the upstream (in seconds). | |
| service_id required | string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$ The object ID. |
Responses
Request samples
- Payload
{- "name": "string",
- "labels": {
- "keyA": "valueA",
- "keyB": "valueB"
}, - "desc": "string",
- "methods": [
- "GET"
], - "vars": [
- null
], - "paths": [
- "string"
], - "priority": 0,
- "plugins": { },
- "enable_websocket": true,
- "timeout": {
- "connect": 60,
- "send": 60,
- "read": 60
}, - "service_id": "string"
}Response samples
- 200
- 400
- default
{- "value": {
- "name": "string",
- "labels": {
- "keyA": "valueA",
- "keyB": "valueB"
}, - "desc": "string",
- "methods": [
- "GET"
], - "vars": [
- null
], - "paths": [
- "string"
], - "priority": 0,
- "plugins": { },
- "enable_websocket": true,
- "timeout": {
- "connect": 60,
- "send": 60,
- "read": 60
}, - "id": "string",
- "service_id": "string",
- "created_at": 0,
- "updated_at": 0
}, - "warning_msg": "string"
}List all routes in a published service.
IAM Action: gateway:GetPublishedService, Resource: arn:api7:gateway:gatewaygroup/%s/publishedservice/%s
Authorizations:
query Parameters
| service_id | string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$ The unique identifier of the published 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. |
| gateway_group_id required | string >= 1 It's optional when client authenticate with gateway group admin key. |
Responses
Response samples
- 200
- 400
- default
{- "list": [
- {
- "name": "string",
- "labels": {
- "keyA": "valueA",
- "keyB": "valueB"
}, - "desc": "string",
- "methods": [
- "GET"
], - "vars": [
- null
], - "paths": [
- "string"
], - "priority": 0,
- "plugins": { },
- "enable_websocket": true,
- "timeout": {
- "connect": 60,
- "send": 60,
- "read": 60
}, - "id": "string",
- "service_id": "string",
- "created_at": 0,
- "updated_at": 0
}
], - "total": 0
}Get a route in a published servcie on a gateway group.
IAM Action: gateway:GetPublishedService, Resource: arn:api7:gateway:gatewaygroup/%s/publishedservice/%s
Authorizations:
path Parameters
| route_id required | string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$ The unique identifier of the published route. |
query Parameters
| gateway_group_id required | string >= 1 It's optional when client authenticate with gateway group admin key. |
Responses
Response samples
- 200
- 400
- default
{- "value": {
- "name": "string",
- "labels": {
- "keyA": "valueA",
- "keyB": "valueB"
}, - "desc": "string",
- "methods": [
- "GET"
], - "vars": [
- null
], - "paths": [
- "string"
], - "priority": 0,
- "plugins": { },
- "enable_websocket": true,
- "timeout": {
- "connect": 60,
- "send": 60,
- "read": 60
}, - "id": "string",
- "service_id": "string",
- "created_at": 0,
- "updated_at": 0
}, - "warning_msg": "string"
}Update a route in a published service on a gateway group.
IAM Action: gateway:UpdatePublishedService, Resource: arn:api7:gateway:gatewaygroup/%s/publishedservice/%s
Authorizations:
path Parameters
| route_id required | string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$ The unique identifier of the published route. |
query Parameters
| gateway_group_id required | string >= 1 It's optional when client authenticate with gateway group admin key. |
Request Body schema: application/json
| name required | string [ 1 .. 65536 ] characters The object name. |
object | |
| desc | string <= 65536 characters 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. |
| vars | Array of any Matches based on the specified variables consistent with variables in Nginx. Takes the form [[var, operator, val], [var, operator, val], ...]]. Note that this is case sensitive when matching a cookie name. See https://github.com/api7/lua-resty-expr for more details. |
| paths required | Array of strings [ 1 .. 64 ] items [ items [ 1 .. 4096 ] characters ^/ ] The URI paths that can be matched to the API. |
| priority | integer Default: 0 If different Routes matches to the same uri, then the Route is matched based on its priority. A higher value corresponds to higher priority. |
| 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. |
object The timeout settings for connecting to, and sending and receiving messages to and from the upstream (in seconds). | |
| service_id required | string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$ The object ID. |
Responses
Request samples
- Payload
{- "name": "string",
- "labels": {
- "keyA": "valueA",
- "keyB": "valueB"
}, - "desc": "string",
- "methods": [
- "GET"
], - "vars": [
- null
], - "paths": [
- "string"
], - "priority": 0,
- "plugins": { },
- "enable_websocket": true,
- "timeout": {
- "connect": 60,
- "send": 60,
- "read": 60
}, - "service_id": "string"
}Response samples
- 200
- 400
- default
{- "value": {
- "name": "string",
- "labels": {
- "keyA": "valueA",
- "keyB": "valueB"
}, - "desc": "string",
- "methods": [
- "GET"
], - "vars": [
- null
], - "paths": [
- "string"
], - "priority": 0,
- "plugins": { },
- "enable_websocket": true,
- "timeout": {
- "connect": 60,
- "send": 60,
- "read": 60
}, - "id": "string",
- "service_id": "string",
- "created_at": 0,
- "updated_at": 0
}, - "warning_msg": "string"
}Patch a route in a published service on a gateway group.
IAM Action: gateway:UpdatePublishedService, Resource: arn:api7:gateway:gatewaygroup/%s/publishedservice/%s
Authorizations:
path Parameters
| route_id required | string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$ The unique identifier of the published route. |
query Parameters
| gateway_group_id required | string >= 1 It's optional when client authenticate with gateway group admin key. |
Request Body schema: application/json
| op required | string Enum: "add" "replace" The operation to be performed |
| path required | string A JSON Pointer path to the value you wish to modify or add, see https://jsonpatch.com/#json-pointer for more information |
| value required | any The value to add or replace, can be any type |
Responses
Request samples
- Payload
[- {
- "op": "add",
- "path": "string",
- "value": null
}
]Response samples
- 200
- 400
- default
{- "value": {
- "name": "string",
- "labels": {
- "keyA": "valueA",
- "keyB": "valueB"
}, - "desc": "string",
- "methods": [
- "GET"
], - "vars": [
- null
], - "paths": [
- "string"
], - "priority": 0,
- "plugins": { },
- "enable_websocket": true,
- "timeout": {
- "connect": 60,
- "send": 60,
- "read": 60
}, - "id": "string",
- "service_id": "string",
- "created_at": 0,
- "updated_at": 0
}, - "warning_msg": "string"
}Delete a route in a published service on a gateway group.
IAM Action: gateway:UpdatePublishedService, Resource: arn:api7:gateway:gatewaygroup/%s/publishedservice/%s
Authorizations:
path Parameters
| route_id required | string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$ The unique identifier of the published route. |
query Parameters
| gateway_group_id required | string >= 1 It's optional when client authenticate with gateway group admin key. |
Responses
Response samples
- 200
- 400
- default
{- "value": { },
- "warning_msg": "string"
}Create a route in a service template.
IAM Action: gateway:UpdateServiceTemplate, Resource: arn:api7:gateway:servicetemplate/%s
Authorizations:
Request Body schema: application/json
| name required | string [ 1 .. 65536 ] characters The object name. |
object | |
| desc | string <= 65536 characters 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. |
| vars | Array of any Matches based on the specified variables consistent with variables in Nginx. Takes the form [[var, operator, val], [var, operator, val], ...]]. Note that this is case sensitive when matching a cookie name. See https://github.com/api7/lua-resty-expr for more details. |
| paths required | Array of strings [ 1 .. 64 ] items [ items [ 1 .. 4096 ] characters ^/ ] The URI paths that can be matched to the API. |
| priority | integer Default: 0 If different Routes matches to the same uri, then the Route is matched based on its priority. A higher value corresponds to higher priority. |
| 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. |
object The timeout settings for connecting to, and sending and receiving messages to and from the upstream (in seconds). | |
| service_id required | string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$ The object ID. |
Responses
Request samples
- Payload
{- "name": "string",
- "labels": {
- "keyA": "valueA",
- "keyB": "valueB"
}, - "desc": "string",
- "methods": [
- "GET"
], - "vars": [
- null
], - "paths": [
- "string"
], - "priority": 0,
- "plugins": { },
- "enable_websocket": true,
- "timeout": {
- "connect": 60,
- "send": 60,
- "read": 60
}, - "service_id": "string"
}Response samples
- 200
- 400
- default
{- "value": {
- "name": "string",
- "labels": {
- "keyA": "valueA",
- "keyB": "valueB"
}, - "desc": "string",
- "methods": [
- "GET"
], - "vars": [
- null
], - "paths": [
- "string"
], - "priority": 0,
- "plugins": { },
- "enable_websocket": true,
- "timeout": {
- "connect": 60,
- "send": 60,
- "read": 60
}, - "id": "string",
- "service_id": "string",
- "created_at": 0,
- "updated_at": 0
}, - "warning_msg": "string"
}Get all routes in a service template.
IAM Action: gateway:GetServiceTemplate, Resource: arn:api7:gateway:servicetemplate/%s
Authorizations:
query Parameters
| service_id required | string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$ The unique identifier of the service template. |
| 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": {
- "keyA": "valueA",
- "keyB": "valueB"
}, - "desc": "string",
- "methods": [
- "GET"
], - "vars": [
- null
], - "paths": [
- "string"
], - "priority": 0,
- "plugins": { },
- "enable_websocket": true,
- "timeout": {
- "connect": 60,
- "send": 60,
- "read": 60
}, - "id": "string",
- "service_id": "string",
- "created_at": 0,
- "updated_at": 0
}
], - "total": 0
}Get a route in all service templates.
IAM Action: gateway:GetServiceTemplate, Resource: arn:api7:gateway:servicetemplate/%s
Authorizations:
path Parameters
| route_template_id required | string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$ The unique identifier of the route template. |
Responses
Response samples
- 200
- 400
- default
{- "value": {
- "name": "string",
- "labels": {
- "keyA": "valueA",
- "keyB": "valueB"
}, - "desc": "string",
- "methods": [
- "GET"
], - "vars": [
- null
], - "paths": [
- "string"
], - "priority": 0,
- "plugins": { },
- "enable_websocket": true,
- "timeout": {
- "connect": 60,
- "send": 60,
- "read": 60
}, - "id": "string",
- "service_id": "string",
- "created_at": 0,
- "updated_at": 0
}, - "warning_msg": "string"
}Patch a route in service template.
IAM Action: gateway:UpdateServiceTemplate, Resource: arn:api7:gateway:servicetemplate/%s
Authorizations:
path Parameters
| route_template_id required | string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$ The unique identifier of the route template. |
Request Body schema: application/json
| op required | string Enum: "add" "replace" The operation to be performed |
| path required | string A JSON Pointer path to the value you wish to modify or add, see https://jsonpatch.com/#json-pointer for more information |
| value required | any The value to add or replace, can be any type |
Responses
Request samples
- Payload
[- {
- "op": "add",
- "path": "string",
- "value": null
}
]Response samples
- 200
- 400
- default
{- "value": {
- "name": "string",
- "labels": {
- "keyA": "valueA",
- "keyB": "valueB"
}, - "desc": "string",
- "methods": [
- "GET"
], - "vars": [
- null
], - "paths": [
- "string"
], - "priority": 0,
- "plugins": { },
- "enable_websocket": true,
- "timeout": {
- "connect": 60,
- "send": 60,
- "read": 60
}, - "id": "string",
- "service_id": "string",
- "created_at": 0,
- "updated_at": 0
}, - "warning_msg": "string"
}Delete a route in service template.
IAM Action: gateway:UpdateServiceTemplate, Resource: arn:api7:gateway:servicetemplate/%s
Authorizations:
path Parameters
| route_template_id required | string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$ The unique identifier of the route template. |
Responses
Response samples
- 200
- 400
- default
{- "value": { },
- "warning_msg": "string"
}Get a route in a published service on a gateway group.
IAM Action: gateway:GetPublishedService, Resource: arn:api7:gateway:gatewaygroup/%s/publishedservice/%s
Authorizations:
path Parameters
| gateway_group_id required | string >= 1 Example: 86fb9981-d9d2-4555-9df8-91ae92129335 |
| service_template_id required | string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$ The unique identifier of the service template. |
| route_template_id required | string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$ The unique identifier of the route template. |
Responses
Response samples
- 200
- default
{- "value": {
- "name": "string",
- "labels": {
- "keyA": "valueA",
- "keyB": "valueB"
}, - "desc": "string",
- "methods": [
- "GET"
], - "vars": [
- null
], - "paths": [
- "string"
], - "priority": 0,
- "plugins": { },
- "enable_websocket": true,
- "timeout": {
- "connect": 60,
- "send": 60,
- "read": 60
}, - "id": "string",
- "route_id": "string",
- "service_version_id": "string"
}, - "warning_msg": "string"
}Create a stream route in a published service on a gateway group.
IAM Action: gateway:UpdatePublishedService, Resource: arn:api7:gateway:gatewaygroup/%s/publishedservice/%s
Authorizations:
query Parameters
| gateway_group_id required | string >= 1 It's optional when client authenticate with gateway group admin key. |
Request Body schema: application/json
| name required | string [ 1 .. 65536 ] characters The object name. |
object | |
| desc | string <= 65536 characters The object description. |
| plugins | object The key-value pairs which represent the plugins attached on the object. |
IPv4 (string) or IPv4/CIDR (string) or IPv6 (string) or IPv6/CIDR (string) | |
(IPAddress (IPv4 (string) or IPv4/CIDR (string) or IPv6 (string) or IPv6/CIDR (string))) or Domain (string) | |
| server_port | integer <= 65535 |
| service_id required | string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$ The object ID. |
Responses
Request samples
- Payload
{- "name": "string",
- "labels": {
- "keyA": "valueA",
- "keyB": "valueB"
}, - "desc": "string",
- "plugins": { },
- "remote_addr": "127.0.0.1",
- "server_addr": "mysql",
- "server_port": 3306,
- "service_id": "string"
}Response samples
- 200
- 400
- default
{- "value": {
- "name": "string",
- "labels": {
- "keyA": "valueA",
- "keyB": "valueB"
}, - "desc": "string",
- "plugins": { },
- "remote_addr": "127.0.0.1",
- "server_addr": "mysql",
- "server_port": 3306,
- "id": "string",
- "service_id": "string",
- "created_at": 0,
- "updated_at": 0
}, - "warning_msg": "string"
}List all stream routes in a published service on a gateway group.
IAM Action: gateway:GetPublishedService, Resource: arn:api7:gateway:gatewaygroup/%s/publishedservice/%s
Authorizations:
query Parameters
| service_id | string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$ The unique identifier of the published 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. |
| gateway_group_id required | string >= 1 It's optional when client authenticate with gateway group admin key. |
Responses
Response samples
- 200
- 400
- default
{- "list": [
- {
- "name": "string",
- "labels": {
- "keyA": "valueA",
- "keyB": "valueB"
}, - "desc": "string",
- "plugins": { },
- "remote_addr": "127.0.0.1",
- "server_addr": "mysql",
- "server_port": 3306,
- "id": "string",
- "service_id": "string",
- "created_at": 0,
- "updated_at": 0
}
], - "total": 0
}Get a stream stream route in a published service on a gateway group.
IAM Action: gateway:GetPublishedService, Resource: arn:api7:gateway:gatewaygroup/%s/publishedservice/%s
Authorizations:
path Parameters
| stream_route_id required | string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$ The unique identifier of the published stream route. |
query Parameters
| gateway_group_id required | string >= 1 It's optional when client authenticate with gateway group admin key. |
Responses
Response samples
- 200
- 400
- default
{- "value": {
- "name": "string",
- "labels": {
- "keyA": "valueA",
- "keyB": "valueB"
}, - "desc": "string",
- "plugins": { },
- "remote_addr": "127.0.0.1",
- "server_addr": "mysql",
- "server_port": 3306,
- "id": "string",
- "service_id": "string",
- "created_at": 0,
- "updated_at": 0
}, - "warning_msg": "string"
}Update a stream route in a published service on a gateway group.
IAM Action: gateway:UpdatePublishedService, Resource: arn:api7:gateway:gatewaygroup/%s/publishedservice/%s
Authorizations:
path Parameters
| stream_route_id required | string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$ The unique identifier of the published stream route. |
query Parameters
| gateway_group_id required | string >= 1 It's optional when client authenticate with gateway group admin key. |
Request Body schema: application/json
| name required | string [ 1 .. 65536 ] characters The object name. |
object | |
| desc | string <= 65536 characters The object description. |
| plugins | object The key-value pairs which represent the plugins attached on the object. |
IPv4 (string) or IPv4/CIDR (string) or IPv6 (string) or IPv6/CIDR (string) | |
(IPAddress (IPv4 (string) or IPv4/CIDR (string) or IPv6 (string) or IPv6/CIDR (string))) or Domain (string) | |
| server_port | integer <= 65535 |
| service_id required | string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$ The object ID. |
Responses
Request samples
- Payload
{- "name": "string",
- "labels": {
- "keyA": "valueA",
- "keyB": "valueB"
}, - "desc": "string",
- "plugins": { },
- "remote_addr": "127.0.0.1",
- "server_addr": "mysql",
- "server_port": 3306,
- "service_id": "string"
}Response samples
- 200
- 400
- default
{- "value": {
- "name": "string",
- "labels": {
- "keyA": "valueA",
- "keyB": "valueB"
}, - "desc": "string",
- "plugins": { },
- "remote_addr": "127.0.0.1",
- "server_addr": "mysql",
- "server_port": 3306,
- "id": "string",
- "service_id": "string",
- "created_at": 0,
- "updated_at": 0
}, - "warning_msg": "string"
}Delete a stream route in a published service on a gateway group.
IAM Action: gateway:UpdatePublishedService, Resource: arn:api7:gateway:gatewaygroup/%s/publishedservice/%s
Authorizations:
path Parameters
| stream_route_id required | string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$ The unique identifier of the published stream route. |
query Parameters
| gateway_group_id required | string >= 1 It's optional when client authenticate with gateway group admin key. |
Responses
Response samples
- 200
- 400
- default
{- "value": { },
- "warning_msg": "string"
}Create a stream route in a service template.
IAM Action: gateway:UpdateServiceTemplate, Resource: arn:api7:gateway:servicetemplate/%s
Authorizations:
Request Body schema: application/json
| name required | string [ 1 .. 65536 ] characters The object name. |
object | |
| desc | string <= 65536 characters The object description. |
| plugins | object The key-value pairs which represent the plugins attached on the object. |
IPv4 (string) or IPv4/CIDR (string) or IPv6 (string) or IPv6/CIDR (string) | |
(IPAddress (IPv4 (string) or IPv4/CIDR (string) or IPv6 (string) or IPv6/CIDR (string))) or Domain (string) | |
| server_port | integer <= 65535 |
| service_id required | string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$ The object ID. |
Responses
Request samples
- Payload
{- "name": "string",
- "labels": {
- "keyA": "valueA",
- "keyB": "valueB"
}, - "desc": "string",
- "plugins": { },
- "remote_addr": "127.0.0.1",
- "server_addr": "mysql",
- "server_port": 3306,
- "service_id": "string"
}Response samples
- 200
- 400
- default
{- "value": {
- "name": "string",
- "labels": {
- "keyA": "valueA",
- "keyB": "valueB"
}, - "desc": "string",
- "plugins": { },
- "remote_addr": "127.0.0.1",
- "server_addr": "mysql",
- "server_port": 3306,
- "id": "string",
- "service_id": "string",
- "created_at": 0,
- "updated_at": 0
}, - "warning_msg": "string"
}List all stream routes in a service template.
IAM Action: gateway:GetServiceTemplate, Resource: arn:api7:gateway:servicetemplate/%s
Authorizations:
query Parameters
| service_id required | string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$ The unique identifier of the service template. |
| 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": {
- "keyA": "valueA",
- "keyB": "valueB"
}, - "desc": "string",
- "plugins": { },
- "remote_addr": "127.0.0.1",
- "server_addr": "mysql",
- "server_port": 3306,
- "id": "string",
- "service_id": "string",
- "created_at": 0,
- "updated_at": 0
}
], - "total": 0
}Get a stream route in a service template.
IAM Action: gateway:GetServiceTemplate, Resource: arn:api7:gateway:servicetemplate/%s
Authorizations:
path Parameters
| stream_route_template_id required | string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$ The unique identifier of the stream route template. |
Responses
Response samples
- 200
- 400
- default
{- "value": {
- "name": "string",
- "labels": {
- "keyA": "valueA",
- "keyB": "valueB"
}, - "desc": "string",
- "plugins": { },
- "remote_addr": "127.0.0.1",
- "server_addr": "mysql",
- "server_port": 3306,
- "id": "string",
- "service_id": "string",
- "created_at": 0,
- "updated_at": 0
}, - "warning_msg": "string"
}Update a stream route in a service template.
IAM Action: gateway:UpdateServiceTemplate, Resource: arn:api7:gateway:servicetemplate/%s
Authorizations:
path Parameters
| stream_route_template_id required | string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$ The unique identifier of the stream route template. |
Request Body schema: application/json
| name required | string [ 1 .. 65536 ] characters The object name. |
object | |
| desc | string <= 65536 characters The object description. |
| plugins | object The key-value pairs which represent the plugins attached on the object. |
IPv4 (string) or IPv4/CIDR (string) or IPv6 (string) or IPv6/CIDR (string) | |
(IPAddress (IPv4 (string) or IPv4/CIDR (string) or IPv6 (string) or IPv6/CIDR (string))) or Domain (string) | |
| server_port | integer <= 65535 |
| service_id | string^[a-zA-Z0-9-_.]+$|^$ The object ID. |
Responses
Request samples
- Payload
{- "name": "string",
- "labels": {
- "keyA": "valueA",
- "keyB": "valueB"
}, - "desc": "string",
- "plugins": { },
- "remote_addr": "127.0.0.1",
- "server_addr": "mysql",
- "server_port": 3306,
- "service_id": "string"
}Response samples
- 200
- 400
- default
{- "value": {
- "name": "string",
- "labels": {
- "keyA": "valueA",
- "keyB": "valueB"
}, - "desc": "string",
- "plugins": { },
- "remote_addr": "127.0.0.1",
- "server_addr": "mysql",
- "server_port": 3306,
- "id": "string",
- "service_id": "string",
- "created_at": 0,
- "updated_at": 0
}, - "warning_msg": "string"
}Delete a stream route in a service template.
IAM Action: gateway:UpdateServiceTemplate, Resource: arn:api7:gateway:servicetemplate/%s
Authorizations:
path Parameters
| stream_route_template_id required | string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$ The unique identifier of the stream route template. |
Responses
Response samples
- 200
- 400
- default
{- "value": { },
- "warning_msg": "string"
}List all stream routes of a published service on a gateway group.
IAM Action: gateway:GetPublishedService, Resource: arn:api7:gateway:gatewaygroup/%s/publishedservice/%s
Authorizations:
path Parameters
| gateway_group_id required | string >= 1 Example: 86fb9981-d9d2-4555-9df8-91ae92129335 |
| service_template_id required | string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$ The unique identifier of the service template. |
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": {
- "keyA": "valueA",
- "keyB": "valueB"
}, - "desc": "string",
- "plugins": { },
- "remote_addr": "127.0.0.1",
- "server_addr": "mysql",
- "server_port": 3306,
- "id": "string",
- "stream_route_id": "string",
- "service_version_id": "string"
}
], - "total": 0
}Get a stream route in a published service on a gateway group.
IAM Action: gateway:GetPublishedService, Resource: arn:api7:gateway:gatewaygroup/%s/publishedservice/%s
Authorizations:
path Parameters
| gateway_group_id required | string >= 1 Example: 86fb9981-d9d2-4555-9df8-91ae92129335 |
| service_template_id required | string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$ The unique identifier of the service template. |
| stream_route_template_id required | string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$ The unique identifier of the stream route template. |
Responses
Response samples
- 200
- default
{- "value": {
- "name": "string",
- "labels": {
- "keyA": "valueA",
- "keyB": "valueB"
}, - "desc": "string",
- "plugins": { },
- "remote_addr": "127.0.0.1",
- "server_addr": "mysql",
- "server_port": 3306,
- "id": "string",
- "stream_route_id": "string",
- "service_version_id": "string"
}, - "warning_msg": "string"
}Create a SSL certificate.
IAM Action: gateway:CreateSSLCertificate, Resource: arn:api7:gateway:gatewaygroup/%s
Authorizations:
query Parameters
| gateway_group_id required | string >= 1 It's optional when client authenticate with gateway group admin key. |
Request Body schema: application/json
| name | string [ 1 .. 65536 ] characters The object name. |
| desc | string <= 65536 characters The object description. |
| snis | Array of strings The SNI list for matching the SSL certificate. |
required | string or string |
Array of strings or strings = 1 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 | |
required | string or string |
Array of strings or strings = 1 items |
Responses
Request samples
- Payload
{- "name": "string",
- "desc": "string",
- "snis": [
- "string"
], - "cert": "string",
- "certs": [
- "string"
], - "client": {
- "ca": "string",
- "depth": 1
}, - "type": "server",
- "labels": {
- "keyA": "valueA",
- "keyB": "valueB"
}, - "key": "string",
- "keys": [
- "string"
]
}Response samples
- 200
{- "value": {
- "name": "string",
- "desc": "string",
- "snis": [
- "string"
], - "cert": "string",
- "certs": [
- "string"
], - "client": {
- "ca": "string",
- "depth": 1
}, - "type": "server",
- "labels": {
- "keyA": "valueA",
- "keyB": "valueB"
}, - "id": "string",
- "created_at": 0,
- "updated_at": 0,
- "exptime": 0,
- "validity_start": 0,
- "validity_end": 0
}, - "warning_msg": "string"
}List all SSL certificates on a gateway group.
IAM Action: gateway:GetSSLCertificate, Resource: arn:api7:gateway:gatewaygroup/%s
Authorizations:
query Parameters
| gateway_group_id required | string >= 1 It's optional when client authenticate with gateway group admin key. |
| 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 | |
| type | string Enum: "client" "server" |
Responses
Response samples
- 200
- 400
- default
{- "list": [
- {
- "name": "string",
- "desc": "string",
- "snis": [
- "string"
], - "cert": "string",
- "certs": [
- "string"
], - "client": {
- "ca": "string",
- "depth": 1
}, - "type": "server",
- "labels": {
- "keyA": "valueA",
- "keyB": "valueB"
}, - "id": "string",
- "created_at": 0,
- "updated_at": 0,
- "exptime": 0,
- "validity_start": 0,
- "validity_end": 0
}
], - "total": 0
}Get a SSL certificate on a gateway group.
IAM Action: gateway:GetSSLCertificate, Resource: arn:api7:gateway:gatewaygroup/%s
Authorizations:
path Parameters
| ssl_id required | string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$ The unique identifier of the SSL object. |
query Parameters
| gateway_group_id required | string >= 1 It's optional when client authenticate with gateway group admin key. |
Responses
Response samples
- 200
- 400
- default
{- "value": {
- "name": "string",
- "desc": "string",
- "snis": [
- "string"
], - "cert": "string",
- "certs": [
- "string"
], - "client": {
- "ca": "string",
- "depth": 1
}, - "type": "server",
- "labels": {
- "keyA": "valueA",
- "keyB": "valueB"
}, - "id": "string",
- "created_at": 0,
- "updated_at": 0,
- "exptime": 0,
- "validity_start": 0,
- "validity_end": 0
}, - "warning_msg": "string"
}Update a SSL certificate on a gateway group.
IAM Action: gateway:UpdateSSLCertificate, Resource: arn:api7:gateway:gatewaygroup/%s
Authorizations:
path Parameters
| ssl_id required | string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$ The unique identifier of the SSL object. |
query Parameters
| gateway_group_id required | string >= 1 It's optional when client authenticate with gateway group admin key. |
Request Body schema: application/json
| name | string [ 1 .. 65536 ] characters The object name. |
| desc | string <= 65536 characters The object description. |
| snis | Array of strings The SNI list for matching the SSL certificate. |
required | string or string |
Array of strings or strings = 1 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 | |
required | string or string |
Array of strings or strings = 1 items |
Responses
Request samples
- Payload
{- "name": "string",
- "desc": "string",
- "snis": [
- "string"
], - "cert": "string",
- "certs": [
- "string"
], - "client": {
- "ca": "string",
- "depth": 1
}, - "type": "server",
- "labels": {
- "keyA": "valueA",
- "keyB": "valueB"
}, - "key": "string",
- "keys": [
- "string"
]
}Response samples
- 200
- 400
- default
{- "value": {
- "name": "string",
- "desc": "string",
- "snis": [
- "string"
], - "cert": "string",
- "certs": [
- "string"
], - "client": {
- "ca": "string",
- "depth": 1
}, - "type": "server",
- "labels": {
- "keyA": "valueA",
- "keyB": "valueB"
}, - "id": "string",
- "created_at": 0,
- "updated_at": 0,
- "exptime": 0,
- "validity_start": 0,
- "validity_end": 0
}, - "warning_msg": "string"
}Delete a SSL certificate on a gateway group.
IAM Action: gateway:DeleteSSLCertificate, Resource: arn:api7:gateway:gatewaygroup/%s
Authorizations:
path Parameters
| ssl_id required | string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$ The unique identifier of the SSL object. |
query Parameters
| gateway_group_id required | string >= 1 It's optional when client authenticate with gateway group admin key. |
Responses
Response samples
- 200
- 400
- default
{- "value": { },
- "warning_msg": "string"
}Parse a SSL certificate
Authorizations:
Request Body schema: application/json
required | string or string |
One of string^\$(secret|env|ENV):// | |
Responses
Request samples
- Payload
{- "cert": "string"
}Response samples
- 200
- 400
- default
{- "value": {
- "snis": [
- "string"
], - "not_before": "2019-08-24T14:15:22Z",
- "not_after": "2019-08-24T14:15:22Z",
- "subject": "string",
- "issuer": "string",
- "serial_number": "string",
- "signature_algorithm": "string",
- "extensions": {
- "property1": "string",
- "property2": "string"
}
}, - "warning_msg": "string"
}Create a certificate.
IAM Action: gateway:CreateCertificate, Resource: arn:api7:gateway:gatewaygroup/%s
Authorizations:
query Parameters
| gateway_group_id required | string >= 1 It's optional when client authenticate with gateway group admin key. |
Request Body schema: application/json
| name | string [ 1 .. 65536 ] characters The object name. |
| desc | string <= 65536 characters The object description. |
required | string or string |
object | |
required | string or string |
Array of strings or strings = 1 items |
Responses
Request samples
- Payload
{- "name": "string",
- "desc": "string",
- "cert": "string",
- "labels": {
- "keyA": "valueA",
- "keyB": "valueB"
}, - "key": "string",
- "keys": [
- "string"
]
}Response samples
- 200
{- "value": {
- "name": "string",
- "desc": "string",
- "cert": "string",
- "labels": {
- "keyA": "valueA",
- "keyB": "valueB"
}, - "id": "string",
- "created_at": 0,
- "updated_at": 0,
- "exptime": 0,
- "validity_start": 0,
- "validity_end": 0
}, - "warning_msg": "string"
}List all certificates on a gateway group.
IAM Action: gateway:GetCertificate, Resource: arn:api7:gateway:gatewaygroup/%s
Authorizations:
query Parameters
| gateway_group_id required | string >= 1 It's optional when client authenticate with gateway group admin key. |
| 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",
- "desc": "string",
- "cert": "string",
- "labels": {
- "keyA": "valueA",
- "keyB": "valueB"
}, - "id": "string",
- "created_at": 0,
- "updated_at": 0,
- "exptime": 0,
- "validity_start": 0,
- "validity_end": 0
}
], - "total": 0
}Get a certificate on a gateway group.
IAM Action: gateway:GetCertificate, Resource: arn:api7:gateway:gatewaygroup/%s
Authorizations:
path Parameters
| certificate_id required | string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$ The unique identifier of the Certificate object. |
query Parameters
| gateway_group_id required | string >= 1 It's optional when client authenticate with gateway group admin key. |
Responses
Response samples
- 200
- 400
- default
{- "value": {
- "name": "string",
- "desc": "string",
- "cert": "string",
- "labels": {
- "keyA": "valueA",
- "keyB": "valueB"
}, - "id": "string",
- "created_at": 0,
- "updated_at": 0,
- "exptime": 0,
- "validity_start": 0,
- "validity_end": 0
}, - "warning_msg": "string"
}Update a certificate on a gateway group.
IAM Action: gateway:UpdateCertificate, Resource: arn:api7:gateway:gatewaygroup/%s
Authorizations:
path Parameters
| certificate_id required | string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$ The unique identifier of the Certificate object. |
query Parameters
| gateway_group_id required | string >= 1 It's optional when client authenticate with gateway group admin key. |
Request Body schema: application/json
| name | string [ 1 .. 65536 ] characters The object name. |
| desc | string <= 65536 characters The object description. |
required | string or string |
object | |
required | string or string |
Array of strings or strings = 1 items |
Responses
Request samples
- Payload
{- "name": "string",
- "desc": "string",
- "cert": "string",
- "labels": {
- "keyA": "valueA",
- "keyB": "valueB"
}, - "key": "string",
- "keys": [
- "string"
]
}Response samples
- 200
- 400
- default
{- "value": {
- "name": "string",
- "desc": "string",
- "cert": "string",
- "labels": {
- "keyA": "valueA",
- "keyB": "valueB"
}, - "id": "string",
- "created_at": 0,
- "updated_at": 0,
- "exptime": 0,
- "validity_start": 0,
- "validity_end": 0
}, - "warning_msg": "string"
}Delete a certificate on a gateway group.
IAM Action: gateway:DeleteCertificate, Resource: arn:api7:gateway:gatewaygroup/%s
Authorizations:
path Parameters
| certificate_id required | string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$ The unique identifier of the Certificate object. |
query Parameters
| gateway_group_id required | string >= 1 It's optional when client authenticate with gateway group admin key. |
Responses
Response samples
- 200
- 400
- default
{- "value": { },
- "warning_msg": "string"
}Create a CA certificate.
IAM Action: gateway:CreateCACertificate, Resource: arn:api7:gateway:gatewaygroup/%s
Authorizations:
query Parameters
| gateway_group_id required | string >= 1 It's optional when client authenticate with gateway group admin key. |
Request Body schema: application/json
| name | string [ 1 .. 65536 ] characters The object name. |
| desc | string <= 65536 characters The object description. |
required | string or string |
object |
Responses
Request samples
- Payload
{- "name": "string",
- "desc": "string",
- "cert": "string",
- "labels": {
- "keyA": "valueA",
- "keyB": "valueB"
}
}Response samples
- 200
{- "value": {
- "name": "string",
- "desc": "string",
- "cert": "string",
- "labels": {
- "keyA": "valueA",
- "keyB": "valueB"
}, - "id": "string",
- "created_at": 0,
- "updated_at": 0,
- "exptime": 0,
- "validity_start": 0,
- "validity_end": 0
}, - "warning_msg": "string"
}List all CA certificates on a gateway group.
IAM Action: gateway:GetCACertificate, Resource: arn:api7:gateway:gatewaygroup/%s
Authorizations:
query Parameters
| gateway_group_id required | string >= 1 It's optional when client authenticate with gateway group admin key. |
| 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",
- "desc": "string",
- "cert": "string",
- "labels": {
- "keyA": "valueA",
- "keyB": "valueB"
}, - "id": "string",
- "created_at": 0,
- "updated_at": 0,
- "exptime": 0,
- "validity_start": 0,
- "validity_end": 0
}
], - "total": 0
}Get a CA certificate on a gateway group.
IAM Action: gateway:GetCACertificate, Resource: arn:api7:gateway:gatewaygroup/%s
Authorizations:
path Parameters
| ca_certificate_id required | string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$ The unique identifier of the Certificate object. |
query Parameters
| gateway_group_id required | string >= 1 It's optional when client authenticate with gateway group admin key. |
Responses
Response samples
- 200
- 400
- default
{- "value": {
- "name": "string",
- "desc": "string",
- "cert": "string",
- "labels": {
- "keyA": "valueA",
- "keyB": "valueB"
}, - "id": "string",
- "created_at": 0,
- "updated_at": 0,
- "exptime": 0,
- "validity_start": 0,
- "validity_end": 0
}, - "warning_msg": "string"
}Update a CA certificate on a gateway group.
IAM Action: gateway:UpdateCACertificate, Resource: arn:api7:gateway:gatewaygroup/%s
Authorizations:
path Parameters
| ca_certificate_id required | string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$ The unique identifier of the Certificate object. |
query Parameters
| gateway_group_id required | string >= 1 It's optional when client authenticate with gateway group admin key. |
Request Body schema: application/json
| name | string [ 1 .. 65536 ] characters The object name. |
| desc | string <= 65536 characters The object description. |
required | string or string |
object |
Responses
Request samples
- Payload
{- "name": "string",
- "desc": "string",
- "cert": "string",
- "labels": {
- "keyA": "valueA",
- "keyB": "valueB"
}
}Response samples
- 200
- 400
- default
{- "value": {
- "name": "string",
- "desc": "string",
- "cert": "string",
- "labels": {
- "keyA": "valueA",
- "keyB": "valueB"
}, - "id": "string",
- "created_at": 0,
- "updated_at": 0,
- "exptime": 0,
- "validity_start": 0,
- "validity_end": 0
}, - "warning_msg": "string"
}Delete a CA certificate on a gateway group.
IAM Action: gateway:DeleteCACertificate, Resource: arn:api7:gateway:gatewaygroup/%s
Authorizations:
path Parameters
| ca_certificate_id required | string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$ The unique identifier of the Certificate object. |
query Parameters
| gateway_group_id required | string >= 1 It's optional when client authenticate with gateway group admin key. |
Responses
Response samples
- 200
- 400
- default
{- "value": { },
- "warning_msg": "string"
}Create a sni.
IAM Action: gateway:CreateSNI, Resource: arn:api7:gateway:gatewaygroup/%s
Authorizations:
query Parameters
| gateway_group_id required | string >= 1 It's optional when client authenticate with gateway group admin key. |
Request Body schema: application/json
| name | string [ 1 .. 65536 ] characters The object name. |
| desc | string <= 65536 characters The object description. |
| certificate_id | Array of strings non-empty [ items [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$ ] |
| ca_certificate_id | Array of strings[ items [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$ ] |
object |
Responses
Request samples
- Payload
{- "name": "string",
- "desc": "string",
- "certificate_id": [
- "string"
], - "ca_certificate_id": [
- "string"
], - "labels": {
- "keyA": "valueA",
- "keyB": "valueB"
}
}Response samples
- 200
{- "value": {
- "name": "string",
- "desc": "string",
- "certificate_id": [
- "string"
], - "ca_certificate_id": [
- "string"
], - "labels": {
- "keyA": "valueA",
- "keyB": "valueB"
}, - "id": "string",
- "created_at": 0,
- "updated_at": 0,
- "exptime": 0,
- "validity_start": 0,
- "validity_end": 0
}, - "warning_msg": "string"
}List all snis on a gateway group.
IAM Action: gateway:GetSNI, Resource: arn:api7:gateway:gatewaygroup/%s
Authorizations:
query Parameters
| gateway_group_id required | string >= 1 It's optional when client authenticate with gateway group admin key. |
| 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",
- "desc": "string",
- "certificate_id": [
- "string"
], - "ca_certificate_id": [
- "string"
], - "labels": {
- "keyA": "valueA",
- "keyB": "valueB"
}, - "id": "string",
- "created_at": 0,
- "updated_at": 0,
- "exptime": 0,
- "validity_start": 0,
- "validity_end": 0
}
], - "total": 0
}Get a sni on a gateway group.
IAM Action: gateway:GetSNI, Resource: arn:api7:gateway:gatewaygroup/%s
Authorizations:
path Parameters
| sni_id required | string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$ The unique identifier of the SNI object. |
query Parameters
| gateway_group_id required | string >= 1 It's optional when client authenticate with gateway group admin key. |
Responses
Response samples
- 200
- 400
- default
{- "value": {
- "name": "string",
- "desc": "string",
- "certificate_id": [
- "string"
], - "ca_certificate_id": [
- "string"
], - "labels": {
- "keyA": "valueA",
- "keyB": "valueB"
}, - "id": "string",
- "created_at": 0,
- "updated_at": 0,
- "exptime": 0,
- "validity_start": 0,
- "validity_end": 0
}, - "warning_msg": "string"
}Update a sni on a gateway group.
IAM Action: gateway:UpdateSNI, Resource: arn:api7:gateway:gatewaygroup/%s
Authorizations:
path Parameters
| sni_id required | string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$ The unique identifier of the SNI object. |
query Parameters
| gateway_group_id required | string >= 1 It's optional when client authenticate with gateway group admin key. |
Request Body schema: application/json
| name | string [ 1 .. 65536 ] characters The object name. |
| desc | string <= 65536 characters The object description. |
| certificate_id | Array of strings non-empty [ items [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$ ] |
| ca_certificate_id | Array of strings[ items [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$ ] |
object |
Responses
Request samples
- Payload
{- "name": "string",
- "desc": "string",
- "certificate_id": [
- "string"
], - "ca_certificate_id": [
- "string"
], - "labels": {
- "keyA": "valueA",
- "keyB": "valueB"
}
}Response samples
- 200
- 400
- default
{- "value": {
- "name": "string",
- "desc": "string",
- "certificate_id": [
- "string"
], - "ca_certificate_id": [
- "string"
], - "labels": {
- "keyA": "valueA",
- "keyB": "valueB"
}, - "id": "string",
- "created_at": 0,
- "updated_at": 0,
- "exptime": 0,
- "validity_start": 0,
- "validity_end": 0
}, - "warning_msg": "string"
}Delete a sni on a gateway group.
IAM Action: gateway:DeleteSNI, Resource: arn:api7:gateway:gatewaygroup/%s
Authorizations:
path Parameters
| sni_id required | string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$ The unique identifier of the SNI object. |
query Parameters
| gateway_group_id required | string >= 1 It's optional when client authenticate with gateway group admin key. |
Responses
Response samples
- 200
- 400
- default
{- "value": { },
- "warning_msg": "string"
}Create a consumer on a gateway group.
IAM Action: gateway:CreateConsumer, Resource: arn:api7:gateway:gatewaygroup/%s/consumer/*
Authorizations:
query Parameters
| gateway_group_id required | string >= 1 It's optional when client authenticate with gateway group admin key. |
Request Body schema: application/json
| username required | string [ 1 .. 512 ] characters ^[a-zA-Z0-9_\-]+$ |
| plugins | object The key-value pairs which represent the plugins attached on the object. |
| desc | string <= 65536 characters The object description. |
object |
Responses
Request samples
- Payload
{- "username": "string",
- "plugins": { },
- "desc": "string",
- "labels": {
- "keyA": "valueA",
- "keyB": "valueB"
}
}Response samples
- 200
- 400
- default
{- "value": {
- "username": "string",
- "plugins": { },
- "desc": "string",
- "labels": {
- "keyA": "valueA",
- "keyB": "valueB"
}, - "created_at": 0,
- "updated_at": 0
}, - "warning_msg": "string"
}List all consumers on a gateway group.
IAM Action: gateway:GetConsumer, Resource: arn:api7:gateway:gatewaygroup/%s/consumer/%s
Authorizations:
query Parameters
| gateway_group_id required | string >= 1 It's optional when client authenticate with gateway group admin key. |
| 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" "username" |
| search | string The search keyword. |
object non-empty |
Responses
Response samples
- 200
- 400
- default
{- "list": [
- {
- "username": "string",
- "plugins": { },
- "desc": "string",
- "labels": {
- "keyA": "valueA",
- "keyB": "valueB"
}, - "created_at": 0,
- "updated_at": 0
}
], - "total": 0
}Get a consumer on a gateway group.
IAM Action: gateway:GetConsumer, Resource: arn:api7:gateway:gatewaygroup/%s/consumer/%s
Authorizations:
path Parameters
| username required | string [ 1 .. 512 ] characters ^[a-zA-Z0-9_\-]+$ The unique identifier of the consumer. |
query Parameters
| gateway_group_id required | string >= 1 It's optional when client authenticate with gateway group admin key. |
Responses
Response samples
- 200
- 400
- default
{- "value": {
- "username": "string",
- "plugins": { },
- "desc": "string",
- "labels": {
- "keyA": "valueA",
- "keyB": "valueB"
}, - "created_at": 0,
- "updated_at": 0
}, - "warning_msg": "string"
}Create or update a consumer on a gateway group.
IAM Action: gateway:UpdateConsumer, Resource: arn:api7:gateway:gatewaygroup/%s/consumer/%s
Authorizations:
path Parameters
| username required | string [ 1 .. 512 ] characters ^[a-zA-Z0-9_\-]+$ The unique identifier of the consumer. |
query Parameters
| gateway_group_id required | string >= 1 It's optional when client authenticate with gateway group admin key. |
Request Body schema: application/json
| username required | string [ 1 .. 512 ] characters ^[a-zA-Z0-9_\-]+$ |
| plugins | object The key-value pairs which represent the plugins attached on the object. |
| desc | string <= 65536 characters The object description. |
object |
Responses
Request samples
- Payload
{- "username": "string",
- "plugins": { },
- "desc": "string",
- "labels": {
- "keyA": "valueA",
- "keyB": "valueB"
}
}Response samples
- 200
- 400
- default
{- "value": {
- "username": "string",
- "plugins": { },
- "desc": "string",
- "labels": {
- "keyA": "valueA",
- "keyB": "valueB"
}, - "created_at": 0,
- "updated_at": 0
}, - "warning_msg": "string"
}Delete a consumer.
IAM Action: gateway:DeleteConsumer, Resource: arn:api7:gateway:gatewaygroup/%s/consumer/%s
Authorizations:
path Parameters
| username required | string [ 1 .. 512 ] characters ^[a-zA-Z0-9_\-]+$ The unique identifier of the consumer. |
query Parameters
| gateway_group_id required | string >= 1 It's optional when client authenticate with gateway group admin key. |
Responses
Response samples
- 200
- 400
- default
{- "value": { },
- "warning_msg": "string"
}Update a consumer on a gateway group.
IAM Action: gateway:UpdateConsumer, Resource: arn:api7:gateway:gatewaygroup/%s/consumer/%s
Authorizations:
path Parameters
| username required | string [ 1 .. 512 ] characters ^[a-zA-Z0-9_\-]+$ The unique identifier of the consumer. |
query Parameters
| gateway_group_id required | string >= 1 It's optional when client authenticate with gateway group admin key. |
Request Body schema: application/json
| op required | string Enum: "add" "replace" The operation to be performed |
| path required | string A JSON Pointer path to the value you wish to modify or add, see https://jsonpatch.com/#json-pointer for more information |
| value required | any The value to add or replace, can be any type |
Responses
Request samples
- Payload
[- {
- "op": "add",
- "path": "string",
- "value": null
}
]Response samples
- 200
- 400
- default
{- "value": {
- "username": "string",
- "plugins": { },
- "desc": "string",
- "labels": {
- "keyA": "valueA",
- "keyB": "valueB"
}, - "created_at": 0,
- "updated_at": 0
}, - "warning_msg": "string"
}Create a consumer credential on a gateway group.
IAM Action: gateway:CreateConsumerCredential, Resource: arn:api7:gateway:gatewaygroup/%s/consumer/%s
Authorizations:
path Parameters
| username required | string [ 1 .. 512 ] characters ^[a-zA-Z0-9_\-]+$ The unique identifier of the consumer. |
query Parameters
| gateway_group_id required | string >= 1 It's optional when client authenticate with gateway group admin key. |
Request Body schema: application/json
| name required | string [ 1 .. 100 ] characters The object name. |
required | object or object or object or object |
| desc | string <= 65536 characters The object description. |
object |
Responses
Request samples
- Payload
{- "name": "string",
- "plugins": {
- "key-auth": { },
- "basic-auth": { },
- "hmac-auth": { },
- "jwt-auth": { }
}, - "desc": "string",
- "labels": {
- "keyA": "valueA",
- "keyB": "valueB"
}
}Response samples
- 200
- 400
- default
{- "value": {
- "name": "string",
- "plugins": {
- "key-auth": { },
- "basic-auth": { },
- "hmac-auth": { },
- "jwt-auth": { }
}, - "desc": "string",
- "labels": {
- "keyA": "valueA",
- "keyB": "valueB"
}, - "id": "string",
- "created_at": 0,
- "updated_at": 0
}, - "warning_msg": "string"
}List all consumer credentials on a gateway group.
IAM Action: gateway:GetConsumerCredential, Resource: arn:api7:gateway:gatewaygroup/%s/consumer/%s
Authorizations:
path Parameters
| username required | string [ 1 .. 512 ] characters ^[a-zA-Z0-9_\-]+$ The unique identifier of the consumer. |
query Parameters
| plugin_name | string [ 1 .. 100 ] characters the plugin name of the consumer credential. |
| gateway_group_id required | string >= 1 It's optional when client authenticate with gateway group admin key. |
| 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" "name" |
| search | string The search keyword. |
object non-empty |
Responses
Response samples
- 200
- 400
- default
{- "list": [
- {
- "name": "string",
- "plugins": {
- "key-auth": { },
- "basic-auth": { },
- "hmac-auth": { },
- "jwt-auth": { }
}, - "desc": "string",
- "labels": {
- "keyA": "valueA",
- "keyB": "valueB"
}, - "id": "string",
- "created_at": 0,
- "updated_at": 0
}
], - "total": 0
}Get a consumer credential on a gateway group.
IAM Action: gateway:GetConsumerCredential, Resource: arn:api7:gateway:gatewaygroup/%s/consumer/%s
Authorizations:
path Parameters
| username required | string [ 1 .. 512 ] characters ^[a-zA-Z0-9_\-]+$ The unique identifier of the consumer. |
| credential_id required | string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$ The unique identifier of the consumer credential. |
query Parameters
| gateway_group_id required | string >= 1 It's optional when client authenticate with gateway group admin key. |
Responses
Response samples
- 200
- 400
- default
{- "value": {
- "name": "string",
- "plugins": {
- "key-auth": { },
- "basic-auth": { },
- "hmac-auth": { },
- "jwt-auth": { }
}, - "desc": "string",
- "labels": {
- "keyA": "valueA",
- "keyB": "valueB"
}, - "id": "string",
- "created_at": 0,
- "updated_at": 0
}, - "warning_msg": "string"
}Create or update a consumer credential on a gateway group.
IAM Action: gateway:UpdateConsumerCredential, Resource: arn:api7:gateway:gatewaygroup/%s/consumer/%s
Authorizations:
path Parameters
| username required | string [ 1 .. 512 ] characters ^[a-zA-Z0-9_\-]+$ The unique identifier of the consumer. |
| credential_id required | string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$ The unique identifier of the consumer credential. |
query Parameters
| gateway_group_id required | string >= 1 It's optional when client authenticate with gateway group admin key. |
Request Body schema: application/json
| name required | string [ 1 .. 100 ] characters The object name. |
required | object or object or object or object |
| desc | string <= 65536 characters The object description. |
object |
Responses
Request samples
- Payload
{- "name": "string",
- "plugins": {
- "key-auth": { },
- "basic-auth": { },
- "hmac-auth": { },
- "jwt-auth": { }
}, - "desc": "string",
- "labels": {
- "keyA": "valueA",
- "keyB": "valueB"
}
}Response samples
- 200
- 400
- default
{- "value": {
- "name": "string",
- "plugins": {
- "key-auth": { },
- "basic-auth": { },
- "hmac-auth": { },
- "jwt-auth": { }
}, - "desc": "string",
- "labels": {
- "keyA": "valueA",
- "keyB": "valueB"
}, - "id": "string",
- "created_at": 0,
- "updated_at": 0
}, - "warning_msg": "string"
}Delete a consumer credential.
IAM Action: gateway:DeleteConsumerCredential, Resource: arn:api7:gateway:gatewaygroup/%s/consumer/%s
Authorizations:
path Parameters
| username required | string [ 1 .. 512 ] characters ^[a-zA-Z0-9_\-]+$ The unique identifier of the consumer. |
| credential_id required | string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$ The unique identifier of the consumer credential. |
query Parameters
| gateway_group_id required | string >= 1 It's optional when client authenticate with gateway group admin key. |
Responses
Response samples
- 200
- 400
- default
{- "value": { },
- "warning_msg": "string"
}Create an API product in Provider Portal.
IAM Action: portal:CreateAPIProduct, Resource: arn:api7:portal:apiproduct/*
Authorizations:
Request Body schema: application/json
| type required | string Default: "external" Value: "external" |
| name required | string [ 1 .. 100 ] 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. |
| status | string Default: "draft" Enum: "draft" "published" |
| visibility | string Default: "public" Enum: "public" "logged_in" The visibility of the API product in the API hub. Public means visible to all users, logged_in means only visible to logged in developers. |
Responses
Request samples
- Payload
{- "type": "external",
- "name": "string",
- "raw_openapi": "string",
- "server_url": "string",
- "status": "draft",
- "visibility": "public"
}Response samples
- 200
- 400
- default
{- "value": {
- "type": "gateway",
- "name": "string",
- "logo": "string",
- "desc": "string",
- "labels": {
- "keyA": "valueA",
- "keyB": "valueB"
}, - "auth": {
- "key-auth": {
- "hide_credentials": false,
- "query": "apikey",
- "header": "apikey"
}
}, - "linked_gateway_services": [
- {
- "gateway_group_id": "string",
- "service_id": "string",
- "gateway_group_name": "string",
- "name": "string",
- "version": "string",
- "status": 0,
- "hosts": [
- "string"
], - "updated_at": 0,
- "openapi_title": "string"
}
], - "status": "draft",
- "subscription_auto_approval": false,
- "can_view_unsubscribed": true,
- "visibility": "public",
- "id": "string",
- "created_at": 0,
- "updated_at": 0,
- "notifications": [
- {
- "type": "email",
- "email_subject": "string",
- "content": "string",
- "id": "string",
- "event": "subscription_approval_created",
- "contact_point_ids": [
- "string"
]
}
]
}, - "warning_msg": "string"
}List all API products in Provider Portal.
IAM Action: portal:GetAPIProduct, Resource: arn:api7:portal:apiproduct/%s
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. |
| service_id | string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$ The unique identifier of the service template. |
Responses
Response samples
- 200
- 400
- default
{- "list": [
- {
- "type": "gateway",
- "name": "string",
- "logo": "string",
- "desc": "string",
- "labels": {
- "keyA": "valueA",
- "keyB": "valueB"
}, - "auth": {
- "key-auth": {
- "hide_credentials": false,
- "query": "apikey",
- "header": "apikey"
}
}, - "linked_gateway_services": [
- {
- "gateway_group_id": "string",
- "service_id": "string",
- "gateway_group_name": "string",
- "name": "string",
- "version": "string",
- "status": 0,
- "hosts": [
- "string"
], - "updated_at": 0,
- "openapi_title": "string"
}
], - "status": "draft",
- "subscription_auto_approval": false,
- "can_view_unsubscribed": true,
- "visibility": "public",
- "id": "string",
- "created_at": 0,
- "updated_at": 0
}
], - "total": 0
}Get an API product in Provider Portal.
IAM Action: portal:GetAPIProduct, Resource: arn:api7:portal:apiproduct/%s
Authorizations:
path Parameters
| api_product_id required | string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$ the unique identifier of the api product. |
Responses
Response samples
- 200
- 400
- default
{- "value": {
- "type": "gateway",
- "name": "string",
- "logo": "string",
- "desc": "string",
- "labels": {
- "keyA": "valueA",
- "keyB": "valueB"
}, - "auth": {
- "key-auth": {
- "hide_credentials": false,
- "query": "apikey",
- "header": "apikey"
}
}, - "linked_gateway_services": [
- {
- "gateway_group_id": "string",
- "service_id": "string",
- "gateway_group_name": "string",
- "name": "string",
- "version": "string",
- "status": 0,
- "hosts": [
- "string"
], - "updated_at": 0,
- "openapi_title": "string"
}
], - "status": "draft",
- "subscription_auto_approval": false,
- "can_view_unsubscribed": true,
- "visibility": "public",
- "id": "string",
- "created_at": 0,
- "updated_at": 0,
- "notifications": [
- {
- "type": "email",
- "email_subject": "string",
- "content": "string",
- "id": "string",
- "event": "subscription_approval_created",
- "contact_point_ids": [
- "string"
]
}
]
}, - "warning_msg": "string"
}Update an API product in Provider Portal.
IAM Action: portal:UpdateAPIProduct, Resource: arn:api7:portal:apiproduct/%s
Authorizations:
path Parameters
| api_product_id required | string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$ the unique identifier of the api product. |
Request Body schema: application/json
| type required | string Default: "external" Value: "external" |
| name required | string [ 1 .. 100 ] 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. |
| status | string Default: "draft" Enum: "draft" "published" |
| visibility | string Default: "public" Enum: "public" "logged_in" The visibility of the API product in the API hub. Public means visible to all users, logged_in means only visible to logged in developers. |
Responses
Request samples
- Payload
{- "type": "external",
- "name": "string",
- "raw_openapi": "string",
- "server_url": "string",
- "status": "draft",
- "visibility": "public"
}Response samples
- 200
- 400
- default
{- "value": {
- "type": "gateway",
- "name": "string",
- "logo": "string",
- "desc": "string",
- "labels": {
- "keyA": "valueA",
- "keyB": "valueB"
}, - "auth": {
- "key-auth": {
- "hide_credentials": false,
- "query": "apikey",
- "header": "apikey"
}
}, - "linked_gateway_services": [
- {
- "gateway_group_id": "string",
- "service_id": "string",
- "gateway_group_name": "string",
- "name": "string",
- "version": "string",
- "status": 0,
- "hosts": [
- "string"
], - "updated_at": 0,
- "openapi_title": "string"
}
], - "status": "draft",
- "subscription_auto_approval": false,
- "can_view_unsubscribed": true,
- "visibility": "public",
- "id": "string",
- "created_at": 0,
- "updated_at": 0,
- "notifications": [
- {
- "type": "email",
- "email_subject": "string",
- "content": "string",
- "id": "string",
- "event": "subscription_approval_created",
- "contact_point_ids": [
- "string"
]
}
]
}, - "warning_msg": "string"
}Patch an API product in Provider Portal.
IAM Action: portal:UpdateAPIProduct, Resource: arn:api7:portal:apiproduct/%s
Authorizations:
path Parameters
| api_product_id required | string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$ the unique identifier of the api product. |
Request Body schema: application/json
| op required | string Enum: "add" "replace" The operation to be performed |
| path required | string A JSON Pointer path to the value you wish to modify or add, see https://jsonpatch.com/#json-pointer for more information |
| value required | any The value to add or replace, can be any type |
Responses
Request samples
- Payload
[- {
- "op": "add",
- "path": "string",
- "value": null
}
]Response samples
- 200
- 400
- default
{- "value": {
- "type": "gateway",
- "name": "string",
- "logo": "string",
- "desc": "string",
- "labels": {
- "keyA": "valueA",
- "keyB": "valueB"
}, - "auth": {
- "key-auth": {
- "hide_credentials": false,
- "query": "apikey",
- "header": "apikey"
}
}, - "linked_gateway_services": [
- {
- "gateway_group_id": "string",
- "service_id": "string",
- "gateway_group_name": "string",
- "name": "string",
- "version": "string",
- "status": 0,
- "hosts": [
- "string"
], - "updated_at": 0,
- "openapi_title": "string"
}
], - "status": "draft",
- "subscription_auto_approval": false,
- "can_view_unsubscribed": true,
- "visibility": "public",
- "id": "string",
- "created_at": 0,
- "updated_at": 0,
- "notifications": [
- {
- "type": "email",
- "email_subject": "string",
- "content": "string",
- "id": "string",
- "event": "subscription_approval_created",
- "contact_point_ids": [
- "string"
]
}
]
}, - "warning_msg": "string"
}Delete an API product in Provider Portal.
IAM Action: portal:DeleteAPIProduct, Resource: arn:api7:portal:apiproduct/%s
Authorizations:
path Parameters
| api_product_id required | string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$ the unique identifier of the api product. |
Responses
Response samples
- 200
- 400
- default
{- "value": { },
- "warning_msg": "string"
}List all subscriptions in Provider Portal for an API product.
IAM Action: portal:GetAPIProduct, Resource: arn:api7:portal:apiproduct/%s
Authorizations:
path Parameters
| api_product_id required | string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$ the unique identifier of the api product. |
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: "subscribed_at" Enum: "developer_name" "subscribed_at" |
| search | string The search keyword. |
object non-empty |
Responses
Response samples
- 200
- 400
- default
{- "list": [
- {
- "id": "string",
- "developer_id": "string",
- "developer_name": "string",
- "subscribed_at": 0
}
], - "total": 0
}Cancel a subscription in Provider Portal for an API product.
IAM Action: portal:UpdateAPIProduct, Resource: arn:api7:portal:apiproduct/%s
Authorizations:
path Parameters
| api_product_id required | string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$ the unique identifier of the api product. |
| subscription_id required | string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$ the unique identifier of the subscription. |
Responses
Response samples
- 200
- 400
- default
{- "value": { },
- "warning_msg": "string"
}List all notification histories for api_product.
IAM Action: portal:GetAPIProduct, Resource: arn:api7:portal:apiproduct/%s
Authorizations:
path Parameters
| api_product_id required | string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$ the unique identifier of the api product. |
query Parameters
| notification_type | string Enum: "email" "webhook" The type of the notification. |
| event | string Enum: "subscription_approval_created" "subscription_approval_accepted" "subscription_approval_rejected" "subscription_cancelled" The event type of the notification. |
| contact_point_id | string The contact point ids of the notification. |
| 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: "notified_at" Value: "notified_at" |
Responses
Response samples
- 200
- default
{- "list": [
- {
- "id": "string",
- "created_at": 0,
- "updated_at": 0,
- "notified_at": 0,
- "notification": {
- "id": "string",
- "type": "email",
- "event": "subscription_approval_created",
- "contact_points": [
- {
- "id": "string",
- "name": "string"
}
], - "subject": "string",
- "content": "string",
- "message": "string"
}, - "developer_id": "string",
- "developer_name": "string",
- "application_id": "string",
- "application_name": "string",
- "approval_id": "string",
- "subscription_id": "string",
- "notification_logs": [
- {
- "id": "string",
- "created_at": 0,
- "updated_at": 0,
- "contact_point_name": "string",
- "resource_type": "alert_policy",
- "resource_id": "string",
- "resource_name": "string",
- "status": "string",
- "send_time": 0,
- "request": "string",
- "response": "string"
}
], - "resource_id": "string",
- "resource_name": "string"
}
], - "total": 0
}List Developers.
IAM Action: portal:GetDeveloper, Resource: arn:api7:portal:developer/%s
Authorizations:
query Parameters
object non-empty | |
| 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: "last_active_at" Enum: "last_active_at" "created_at" |
| search | string The search keyword. |
Responses
Response samples
- 200
- 400
- default
{- "list": [
- {
- "username": "string",
- "name": "string",
- "desc": "string",
- "labels": {
- "keyA": "valueA",
- "keyB": "valueB"
}, - "last_active_at": 0,
- "email": "string",
- "email_verified": true,
- "id": "string",
- "created_at": 0,
- "updated_at": 0,
- "state": "Pending"
}
], - "total": 0
}Invite a developer to join the portal.
IAM Action: portal:InviteDeveloper, Resource: arn:api7:portal:developer/*
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. |
| name | string [ 1 .. 128 ] characters The name of the user. |
Responses
Request samples
- Payload
{- "username": "string",
- "password": "string",
- "name": "string"
}Response samples
- 200
- default
{- "value": {
- "username": "string",
- "name": "string",
- "desc": "string",
- "labels": {
- "keyA": "valueA",
- "keyB": "valueB"
}, - "last_active_at": 0,
- "email": "string",
- "email_verified": true,
- "id": "string",
- "created_at": 0,
- "updated_at": 0,
- "state": "Pending"
}, - "warning_msg": "string"
}Create a global rule on a gateway group.
IAM Action: gateway:CreateGlobalPluginRule, Resource: arn:api7:gateway:gatewaygroup/%s
Authorizations:
query Parameters
| gateway_group_id required | string >= 1 It's optional when client authenticate with gateway group admin key. |
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
}, - "warning_msg": "string"
}List all global rules on a gateway group.
IAM Action: gateway:GetGlobalPluginRule, Resource: arn:api7:gateway:gatewaygroup/%s
Authorizations:
query Parameters
| gateway_group_id required | string >= 1 It's optional when client authenticate with gateway group admin key. |
| 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 on a gateway group.
IAM Action: gateway:GetGlobalPluginRule, Resource: arn:api7:gateway:gatewaygroup/%s
Authorizations:
path Parameters
| global_rule_id required | string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$ The unique identifier of the global rule. |
query Parameters
| gateway_group_id required | string >= 1 It's optional when client authenticate with gateway group admin key. |
Responses
Response samples
- 200
- 400
- default
{- "value": {
- "plugins": { },
- "id": "string",
- "created_at": 0,
- "updated_at": 0
}, - "warning_msg": "string"
}Update a global rule on a gateway group.
IAM Action: gateway:UpdateGlobalPluginRule, Resource: arn:api7:gateway:gatewaygroup/%s
Authorizations:
path Parameters
| global_rule_id required | string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$ The unique identifier of the global rule. |
query Parameters
| gateway_group_id required | string >= 1 It's optional when client authenticate with gateway group admin key. |
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
}, - "warning_msg": "string"
}Delete a global rule on a gateway group.
IAM Action: gateway:DeleteGlobalPluginRule, Resource: arn:api7:gateway:gatewaygroup/%s
Authorizations:
path Parameters
| global_rule_id required | string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$ The unique identifier of the global rule. |
query Parameters
| gateway_group_id required | string >= 1 It's optional when client authenticate with gateway group admin key. |
Responses
Response samples
- 200
- 400
- default
{- "value": { },
- "warning_msg": "string"
}List all plugin metadata on a gateway group.
IAM Action: gateway:GetPluginMetadata, Resource: arn:api7:gateway:gatewaygroup/%s
Authorizations:
query Parameters
| gateway_group_id required | string >= 1 It's optional when client authenticate with gateway group admin key. |
Responses
Response samples
- 200
- 400
- default
{- "value": {
- "property1": { },
- "property2": { }
}, - "warning_msg": "string"
}Get a plugin metadata on a gateway group.
IAM Action: gateway:GetPluginMetadata, Resource: arn:api7:gateway:gatewaygroup/%s
Authorizations:
path Parameters
| plugin_name required | string [ 1 .. 64 ] characters |
query Parameters
| gateway_group_id required | string >= 1 It's optional when client authenticate with gateway group admin key. |
| 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": { },
- "warning_msg": "string"
}Update a plugin metadata on a gateway group.
IAM Action: gateway:UpdatePluginMetadata, Resource: arn:api7:gateway:gatewaygroup/%s
Authorizations:
path Parameters
| plugin_name required | string [ 1 .. 64 ] characters |
query Parameters
| gateway_group_id required | string >= 1 It's optional when client authenticate with gateway group admin key. |
Request Body schema: application/json
The plugin metadata description.
Responses
Request samples
- Payload
{ }Response samples
- 200
- 400
- default
{- "value": { },
- "warning_msg": "string"
}Delete a plugin metadata on a gateway group.
IAM Action: gateway:DeletePluginMetadata, Resource: arn:api7:gateway:gatewaygroup/%s
Authorizations:
path Parameters
| plugin_name required | string [ 1 .. 64 ] characters |
query Parameters
| gateway_group_id required | string >= 1 It's optional when client authenticate with gateway group admin key. |
Responses
Response samples
- 200
- 400
- default
{- "value": { },
- "warning_msg": "string"
}List all gateway instances on a gateway group.
IAM Action: gateway:GetGatewayInstance, Resource: arn:api7:gateway:gatewaygroup/%s
Authorizations:
path Parameters
| gateway_group_id required | string >= 1 Example: 86fb9981-d9d2-4555-9df8-91ae92129335 |
query Parameters
| 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,
- "last_retrieve_config_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 of a gateway group.
IAM Action: gateway:GetGatewayInstance, Resource: arn:api7:gateway:gatewaygroup/%s
Authorizations:
path Parameters
| field required | string Value: "status" |
query Parameters
| gateway_group_id required | string >= 1 It's optional when client authenticate with gateway group admin key. |
| search | string The search keyword. |
Responses
Response samples
- 200
- default
{- "value": [
- {
- "key": "string",
- "count": 0
}
], - "warning_msg": "string"
}Export the gateway instance core usage.
IAM Action: gateway:GetGatewayInstanceCore, Resource: arn:api7:gateway:gatewaygroup/*
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"
}List all gateway groups.
IAM Action: gateway:GetGatewayGroup, Resource: arn:api7:gateway:gatewaygroup/%s
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 |
Responses
Response samples
- 200
- default
{- "list": [
- {
- "id": "string",
- "type": "api7_gateway",
- "name": "string",
- "description": "string",
- "labels": {
- "property1": "string",
- "property2": "string"
}, - "enforce_service_publishing": true,
- "created_at": 0,
- "updated_at": 0,
- "config": {
- "control_plane_key_prefix": "string",
- "control_plane_user": "string",
- "control_plane_password": "string",
- "image_tag": "string"
}
}
], - "total": 0
}Create a gateway group.
IAM Action: gateway:CreateGatewayGroup, Resource: arn:api7:gateway:gatewaygroup/%s
Authorizations:
Request Body schema: application/json
| type | string Default: "api7_gateway" Enum: "api7_gateway" "api7_ingress_controller" |
| name required | string [ 1 .. 100 ] characters The object name. |
| description | string |
object | |
| enforce_service_publishing | boolean Updating services directly on a gateway group bypass version control and rollback capabilities. |
Responses
Request samples
- Payload
{- "type": "api7_gateway",
- "name": "string",
- "description": "string",
- "labels": {
- "keyA": "valueA",
- "keyB": "valueB"
}, - "enforce_service_publishing": true
}Response samples
- 200
- default
{- "value": {
- "id": "string",
- "type": "api7_gateway",
- "name": "string",
- "description": "string",
- "labels": {
- "property1": "string",
- "property2": "string"
}, - "enforce_service_publishing": true,
- "created_at": 0,
- "updated_at": 0,
- "config": {
- "control_plane_key_prefix": "string",
- "control_plane_user": "string",
- "control_plane_password": "string",
- "image_tag": "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",
- "type": "api7_gateway",
- "name": "string",
- "description": "string",
- "labels": {
- "property1": "string",
- "property2": "string"
}, - "enforce_service_publishing": true,
- "created_at": 0,
- "updated_at": 0,
- "config": {
- "control_plane_key_prefix": "string",
- "control_plane_user": "string",
- "control_plane_password": "string",
- "image_tag": "string"
}, - "count": 0
}
], - "total": 0
}List SSL Usage in a gateway group
IAM Action: gateway:GetSSLCertificate, Resource: arn:api7:gateway:gatewaygroup/%s
Authorizations:
path Parameters
| gateway_group_id required | string >= 1 Example: 86fb9981-d9d2-4555-9df8-91ae92129335 |
| ssl_id required | string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$ The unique identifier of the SSL object. |
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
- 400
- default
{- "list": [
- {
- "service_id": "string",
- "service_name": "string",
- "gateway_group_id": "string",
- "upstream_name": "string",
- "ssl_id": "string",
- "created_at": 0,
- "updated_at": 0
}
], - "total": 0
}List Secret Provider Usage in a gateway group
IAM Action: gateway:GetSecretProvider, Resource: arn:api7:gateway:gatewaygroup/%s
Authorizations:
path Parameters
| gateway_group_id required | string >= 1 Example: 86fb9981-d9d2-4555-9df8-91ae92129335 |
| secret_manager required | string Enum: "vault" "aws" |
| secret_provider_id required | string |
query Parameters
| resource_type | string Enum: "consumer" "service" "route" "ssl" "global_rule" "consumer_credential" |
| 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
- 400
- default
{- "list": [
- {
- "parent_id": "string",
- "resource_type": "string",
- "resource_id": "string",
- "resource_name": "string",
- "gateway_group_id": "string",
- "field": "string",
- "id": "string",
- "secret_manager": "string",
- "created_at": 0,
- "updated_at": 0
}
], - "total": 0
}Delete a gateway group.
IAM Action: gateway:DeleteGatewayGroup, Resource: arn:api7:gateway:gatewaygroup/%s
Authorizations:
path Parameters
| gateway_group_id required | string >= 1 Example: 86fb9981-d9d2-4555-9df8-91ae92129335 |
Responses
Response samples
- 200
- default
{- "value": { },
- "warning_msg": "string"
}Update a gateway group.
IAM Action: gateway:UpdateGatewayGroup, Resource: arn:api7:gateway:gatewaygroup/%s
Authorizations:
path Parameters
| gateway_group_id required | string >= 1 Example: 86fb9981-d9d2-4555-9df8-91ae92129335 |
Request Body schema: application/json
| name required | string [ 1 .. 100 ] 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",
- "type": "api7_gateway",
- "name": "string",
- "description": "string",
- "labels": {
- "property1": "string",
- "property2": "string"
}, - "enforce_service_publishing": true,
- "created_at": 0,
- "updated_at": 0,
- "config": {
- "control_plane_key_prefix": "string",
- "control_plane_user": "string",
- "control_plane_password": "string",
- "image_tag": "string"
}
}, - "warning_msg": "string"
}Get a gateway group.
IAM Action: gateway:GetGatewayGroup, Resource: arn:api7:gateway:gatewaygroup/%s
Authorizations:
path Parameters
| gateway_group_id required | string >= 1 Example: 86fb9981-d9d2-4555-9df8-91ae92129335 |
Responses
Response samples
- 200
- default
{- "value": {
- "id": "string",
- "type": "api7_gateway",
- "name": "string",
- "description": "string",
- "labels": {
- "property1": "string",
- "property2": "string"
}, - "enforce_service_publishing": true,
- "created_at": 0,
- "updated_at": 0,
- "config": {
- "control_plane_key_prefix": "string",
- "control_plane_user": "string",
- "control_plane_password": "string",
- "image_tag": "string"
}
}, - "warning_msg": "string"
}Generate an admin key for a gateway group.
IAM Action: gateway:UpdateGatewayGroup, Resource: arn:api7:gateway:gatewaygroup/%s
Authorizations:
path Parameters
| gateway_group_id required | string >= 1 Example: 86fb9981-d9d2-4555-9df8-91ae92129335 |
Responses
Response samples
- 200
- 400
- default
{- "value": {
- "key": "string"
}, - "warning_msg": "string"
}Generate script to install the gateway instance by Docker.
IAM Action: gateway:CreateGatewayInstance, Resource: arn:api7:gateway:gatewaygroup/%s
Authorizations:
path Parameters
| gateway_group_id required | string >= 1 Example: 86fb9981-d9d2-4555-9df8-91ae92129335 |
query Parameters
| control_plane_address | string non-empty |
| image | string non-empty |
| http_port | integer Default: 9080 |
| https_port | integer Default: 9443 |
| name | string non-empty |
| extra_args[] | Array of strings[ items non-empty ] Additional docker run arguments. |
Responses
Response samples
- 400
- default
{- "error_msg": "string"
}Generate script to install the gateway instance by Helm in Kubernetes.
IAM Action: gateway:CreateGatewayInstance, Resource: arn:api7:gateway:gatewaygroup/%s
Authorizations:
path Parameters
| gateway_group_id required | string >= 1 Example: 86fb9981-d9d2-4555-9df8-91ae92129335 |
query Parameters
| control_plane_address | string non-empty |
| name required | string |
| namespace required | string |
| service_account | string |
| replicas | integer Default: 1 |
| workers | integer |
| cpu_limit | string |
| memory_limit | string |
| extra_values[] | Array of strings extra values to be passed to the helm chart, in the form of key=value |
Responses
Response samples
- 400
- default
{- "error_msg": "string"
}Generate values.yaml to install the gateway instance by Helm in Kubernetes.
IAM Action: gateway:CreateGatewayInstance, Resource: arn:api7:gateway:gatewaygroup/%s
Authorizations:
path Parameters
| gateway_group_id required | string >= 1 Example: 86fb9981-d9d2-4555-9df8-91ae92129335 |
query Parameters
| control_plane_address | string non-empty |
| name required | string |
| namespace required | string |
| service_account | string |
| replicas | integer Default: 1 |
| workers | integer |
| cpu_limit | string |
| memory_limit | string |
Responses
Response samples
- 400
- default
{- "error_msg": "string"
}Issue a data plane certificate on a gateway group.
IAM Action: gateway:CreateGatewayInstance, Resource: arn:api7:gateway:gatewaygroup/%s
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
}, - "warning_msg": "string"
}List all published services in a gateway group. Deprecated
IAM Action: gateway:GetPublishedService, Resource: arn:api7:gateway:gatewaygroup/%s/publishedservice/%s Deprecated, you can use GET /apisix/admin/services for instead.
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" "name" |
| search | string The search keyword. |
object non-empty | |
| hosts | Array of strings |
| type | Array of strings Items Enum: "http" "stream" |
Responses
Response samples
- 200
- default
{- "list": [
- {
- "name": "string",
- "labels": {
- "keyA": "valueA",
- "keyB": "valueB"
}, - "desc": "string",
- "plugins": { },
- "type": "http",
- "hosts": [
- "string"
], - "path_prefix": "string",
- "strip_path_prefix": true,
- "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 on a gateway group.
IAM Action: gateway:GetPublishedService, Resource: arn:api7:gateway:gatewaygroup/%s/publishedservice/%s
Authorizations:
path Parameters
| gateway_group_id required | string >= 1 Example: 86fb9981-d9d2-4555-9df8-91ae92129335 |
| service_template_id required | string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$ The unique identifier of the service template. |
Responses
Response samples
- 200
- default
{- "value": {
- "name": "string",
- "labels": {
- "keyA": "valueA",
- "keyB": "valueB"
}, - "desc": "string",
- "plugins": { },
- "type": "http",
- "hosts": [
- "string"
], - "path_prefix": "string",
- "strip_path_prefix": true,
- "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
}, - "warning_msg": "string"
}Delete a published service on a gateway group.
IAM Action: gateway:DeletePublishedService, Resource: arn:api7:gateway:gatewaygroup/%s/publishedservice/%s
Authorizations:
path Parameters
| gateway_group_id required | string >= 1 Example: 86fb9981-d9d2-4555-9df8-91ae92129335 |
| service_template_id required | string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$ The unique identifier of the service template. |
Responses
Response samples
- 200
- default
{- "value": { },
- "warning_msg": "string"
}Get the OpenAPI Specification of a published service on a gateway group.
IAM Action: gateway:GetPublishedService, Resource: arn:api7:gateway:gatewaygroup/%s/publishedservice/%s
Authorizations:
path Parameters
| gateway_group_id required | string >= 1 Example: 86fb9981-d9d2-4555-9df8-91ae92129335 |
| service_template_id required | string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$ The unique identifier of the service template. |
Responses
Response samples
- 200
- default
{- "value": {
- "raw_openapi": "string",
- "api_count": 0,
- "api_desc": "string"
}, - "warning_msg": "string"
}Update the OpenAPI Specification of a published service on a gateway group.
IAM Action: gateway:UpdatePublishedService, Resource: arn:api7:gateway:gatewaygroup/%s/publishedservice/%s
Authorizations:
path Parameters
| gateway_group_id required | string >= 1 Example: 86fb9981-d9d2-4555-9df8-91ae92129335 |
| service_template_id required | string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$ The unique identifier of the service template. |
Request Body schema: application/json
| raw_openapi | string The raw OpenAPI specification of the service. |
Responses
Request samples
- Payload
{- "raw_openapi": "string"
}Response samples
- 200
- default
{- "value": {
- "raw_openapi": "string",
- "api_count": 0,
- "api_desc": "string"
}, - "warning_msg": "string"
}List all routes of published service on a gateway group.
IAM Action: gateway:GetPublishedService, Resource: arn:api7:gateway:gatewaygroup/%s/publishedservice/%s
Authorizations:
path Parameters
| gateway_group_id required | string >= 1 Example: 86fb9981-d9d2-4555-9df8-91ae92129335 |
| service_template_id required | string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$ The unique identifier of the service template. |
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": {
- "keyA": "valueA",
- "keyB": "valueB"
}, - "desc": "string",
- "methods": [
- "GET"
], - "vars": [
- null
], - "paths": [
- "string"
], - "priority": 0,
- "plugins": { },
- "enable_websocket": true,
- "timeout": {
- "connect": 60,
- "send": 60,
- "read": 60
}, - "id": "string",
- "route_id": "string",
- "service_version_id": "string"
}
], - "total": 0
}Get a route in a published service on a gateway group.
IAM Action: gateway:GetPublishedService, Resource: arn:api7:gateway:gatewaygroup/%s/publishedservice/%s
Authorizations:
path Parameters
| gateway_group_id required | string >= 1 Example: 86fb9981-d9d2-4555-9df8-91ae92129335 |
| service_template_id required | string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$ The unique identifier of the service template. |
| route_template_id required | string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$ The unique identifier of the route template. |
Responses
Response samples
- 200
- default
{- "value": {
- "name": "string",
- "labels": {
- "keyA": "valueA",
- "keyB": "valueB"
}, - "desc": "string",
- "methods": [
- "GET"
], - "vars": [
- null
], - "paths": [
- "string"
], - "priority": 0,
- "plugins": { },
- "enable_websocket": true,
- "timeout": {
- "connect": 60,
- "send": 60,
- "read": 60
}, - "id": "string",
- "route_id": "string",
- "service_version_id": "string"
}, - "warning_msg": "string"
}List all stream routes of a published service on a gateway group.
IAM Action: gateway:GetPublishedService, Resource: arn:api7:gateway:gatewaygroup/%s/publishedservice/%s
Authorizations:
path Parameters
| gateway_group_id required | string >= 1 Example: 86fb9981-d9d2-4555-9df8-91ae92129335 |
| service_template_id required | string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$ The unique identifier of the service template. |
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": {
- "keyA": "valueA",
- "keyB": "valueB"
}, - "desc": "string",
- "plugins": { },
- "remote_addr": "127.0.0.1",
- "server_addr": "mysql",
- "server_port": 3306,
- "id": "string",
- "stream_route_id": "string",
- "service_version_id": "string"
}
], - "total": 0
}Get a stream route in a published service on a gateway group.
IAM Action: gateway:GetPublishedService, Resource: arn:api7:gateway:gatewaygroup/%s/publishedservice/%s
Authorizations:
path Parameters
| gateway_group_id required | string >= 1 Example: 86fb9981-d9d2-4555-9df8-91ae92129335 |
| service_template_id required | string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$ The unique identifier of the service template. |
| stream_route_template_id required | string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$ The unique identifier of the stream route template. |
Responses
Response samples
- 200
- default
{- "value": {
- "name": "string",
- "labels": {
- "keyA": "valueA",
- "keyB": "valueB"
}, - "desc": "string",
- "plugins": { },
- "remote_addr": "127.0.0.1",
- "server_addr": "mysql",
- "server_port": 3306,
- "id": "string",
- "stream_route_id": "string",
- "service_version_id": "string"
}, - "warning_msg": "string"
}List all history versions of a published services on a gateway group by service ID.
IAM Action: gateway:GetPublishedService, Resource: arn:api7:gateway:gatewaygroup/%s/publishedservice/%s
Authorizations:
path Parameters
| gateway_group_id required | string >= 1 Example: 86fb9981-d9d2-4555-9df8-91ae92129335 |
| service_template_id required | string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$ The unique identifier of the service template. |
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": {
- "keyA": "valueA",
- "keyB": "valueB"
}, - "desc": "string",
- "plugins": { },
- "type": "http",
- "hosts": [
- "string"
], - "path_prefix": "string",
- "strip_path_prefix": true,
- "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
}Fetch service runtime configurations of a published service on a gateway group.
IAM Action: gateway:GetPublishedService, Resource: arn:api7:gateway:gatewaygroup/%s/publishedservice/%s
Authorizations:
path Parameters
| gateway_group_id required | string >= 1 Example: 86fb9981-d9d2-4555-9df8-91ae92129335 |
| service_template_id required | string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$ The unique identifier of the service template. |
Responses
Response samples
- 200
- default
{- "value": {
- "name": "string",
- "labels": {
- "keyA": "valueA",
- "keyB": "valueB"
}, - "desc": "string",
- "hosts": [
- "string"
], - "path_prefix": "string",
- "strip_path_prefix": true,
- "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
}
}
}
}, - "status": 0,
- "plugins": { }
}, - "warning_msg": "string"
}Update service runtime configurations of a published service on a gateway group.
IAM Action: gateway:UpdatePublishedService, Resource: arn:api7:gateway:gatewaygroup/%s/publishedservice/%s
Authorizations:
path Parameters
| gateway_group_id required | string >= 1 Example: 86fb9981-d9d2-4555-9df8-91ae92129335 |
| service_template_id required | string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$ The unique identifier of the service template. |
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
| op required | string Enum: "add" "replace" The operation to be performed |
| path required | string A JSON Pointer path to the value you wish to modify or add, see https://jsonpatch.com/#json-pointer for more information |
| value required | any The value to add or replace, can be any type |
Responses
Request samples
- Payload
[- {
- "op": "add",
- "path": "string",
- "value": null
}
]Response samples
- 200
- default
{- "value": {
- "name": "string",
- "labels": {
- "keyA": "valueA",
- "keyB": "valueB"
}, - "desc": "string",
- "hosts": [
- "string"
], - "path_prefix": "string",
- "strip_path_prefix": true,
- "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
}
}
}
}, - "status": 0,
- "plugins": { }
}, - "warning_msg": "string"
}Get healthcheck status for the upstream of a published service on a gateway group.
IAM Action: gateway:GetPublishedService, Resource: arn:api7:gateway:gatewaygroup/%s/publishedservice/%s
Authorizations:
path Parameters
| gateway_group_id required | string >= 1 Example: 86fb9981-d9d2-4555-9df8-91ae92129335 |
| service_template_id required | string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$ The unique identifier of the service template. |
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 all service registry connections on a gateway group.
IAM Action: gateway:GetServiceRegistry, Resource: arn:api7:gateway:gatewaygroup/%s
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 connection on a gateway group.
IAM Action: gateway:ConnectServiceRegistry, Resource: arn:api7:gateway:gatewaygroup/%s
Authorizations:
path Parameters
| gateway_group_id required | string >= 1 Example: 86fb9981-d9d2-4555-9df8-91ae92129335 |
Request Body schema: application/json
| name | string [ 1 .. 100 ] 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
}, - "warning_msg": "string"
}Create a token for all gateway instances in a gateway group.
IAM Action: gateway:CreateGatewayInstance, Resource: arn:api7:gateway:gatewaygroup/%s
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"
}, - "warning_msg": "string"
}Get a service registry connection on a gateway group.
IAM Action: gateway:GetServiceRegistry, Resource: arn:api7:gateway:gatewaygroup/%s
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
}, - "warning_msg": "string"
}Update a service registry connection on a gateway group.
IAM Action: gateway:UpdateServiceRegistry, Resource: arn:api7:gateway:gatewaygroup/%s
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 .. 100 ] 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": { },
- "warning_msg": "string"
}Delete a service registry connection on a gateway group.
IAM Action: gateway:DisconnectServiceRegistry, Resource: arn:api7:gateway:gatewaygroup/%s
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": { },
- "warning_msg": "string"
}List all published services connected to a service registry.
IAM Action: gateway:GetServiceRegistry, Resource: arn:api7:gateway:gatewaygroup/%s
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" "name" |
Responses
Response samples
- 200
- default
{- "list": [
- {
- "name": "string",
- "labels": {
- "keyA": "valueA",
- "keyB": "valueB"
}, - "desc": "string",
- "plugins": { },
- "type": "http",
- "hosts": [
- "string"
], - "path_prefix": "string",
- "strip_path_prefix": true,
- "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
}List all internal services in a Kubernetes service registry.
IAM Action: gateway:GetServiceRegistry, Resource: arn:api7:gateway:gatewaygroup/%s
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"
]
}
}, - "warning_msg": "string"
}List all namespaces in a Nacos 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 |
Responses
Response samples
- 200
- default
{- "list": [
- {
- "namespace": "string",
- "namespace_show_name": "string"
}
], - "total": 0
}List all groups in a Nacos namespace.
IAM Action: gateway:GetServiceRegistry, Resource: arn:api7:gateway:gatewaygroup/%s
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
}List all internal services in a Nacos group.
IAM Action: gateway:GetServiceRegistry, Resource: arn:api7:gateway:gatewaygroup/%s
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 instance metadata of a Nacos services registry
IAM Action: gateway:GetServiceRegistry, Resource: arn:api7:gateway:gatewaygroup/%s
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 connection on a gateway group.
IAM Action: gateway:GetServiceRegistry, Resource: arn:api7:gateway:gatewaygroup/%s
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" "connecting" |
| 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
}Create a global rule on a gateway group.
IAM Action: gateway:CreateGlobalPluginRule, Resource: arn:api7:gateway:gatewaygroup/%s
Authorizations:
query Parameters
| gateway_group_id required | string >= 1 It's optional when client authenticate with gateway group admin key. |
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
}, - "warning_msg": "string"
}List all global rules on a gateway group.
IAM Action: gateway:GetGlobalPluginRule, Resource: arn:api7:gateway:gatewaygroup/%s
Authorizations:
query Parameters
| gateway_group_id required | string >= 1 It's optional when client authenticate with gateway group admin key. |
| 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 on a gateway group.
IAM Action: gateway:GetGlobalPluginRule, Resource: arn:api7:gateway:gatewaygroup/%s
Authorizations:
path Parameters
| global_rule_id required | string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$ The unique identifier of the global rule. |
query Parameters
| gateway_group_id required | string >= 1 It's optional when client authenticate with gateway group admin key. |
Responses
Response samples
- 200
- 400
- default
{- "value": {
- "plugins": { },
- "id": "string",
- "created_at": 0,
- "updated_at": 0
}, - "warning_msg": "string"
}Update a global rule on a gateway group.
IAM Action: gateway:UpdateGlobalPluginRule, Resource: arn:api7:gateway:gatewaygroup/%s
Authorizations:
path Parameters
| global_rule_id required | string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$ The unique identifier of the global rule. |
query Parameters
| gateway_group_id required | string >= 1 It's optional when client authenticate with gateway group admin key. |
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
}, - "warning_msg": "string"
}Delete a global rule on a gateway group.
IAM Action: gateway:DeleteGlobalPluginRule, Resource: arn:api7:gateway:gatewaygroup/%s
Authorizations:
path Parameters
| global_rule_id required | string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$ The unique identifier of the global rule. |
query Parameters
| gateway_group_id required | string >= 1 It's optional when client authenticate with gateway group admin key. |
Responses
Response samples
- 200
- 400
- default
{- "value": { },
- "warning_msg": "string"
}Create a global rule on a gateway group.
IAM Action: gateway:CreateGlobalPluginRule, Resource: arn:api7:gateway:gatewaygroup/%s
Authorizations:
query Parameters
| gateway_group_id required | string >= 1 It's optional when client authenticate with gateway group admin key. |
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
}, - "warning_msg": "string"
}List all global rules on a gateway group.
IAM Action: gateway:GetGlobalPluginRule, Resource: arn:api7:gateway:gatewaygroup/%s
Authorizations:
query Parameters
| gateway_group_id required | string >= 1 It's optional when client authenticate with gateway group admin key. |
| 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 on a gateway group.
IAM Action: gateway:GetGlobalPluginRule, Resource: arn:api7:gateway:gatewaygroup/%s
Authorizations:
path Parameters
| global_rule_id required | string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$ The unique identifier of the global rule. |
query Parameters
| gateway_group_id required | string >= 1 It's optional when client authenticate with gateway group admin key. |
Responses
Response samples
- 200
- 400
- default
{- "value": {
- "plugins": { },
- "id": "string",
- "created_at": 0,
- "updated_at": 0
}, - "warning_msg": "string"
}Update a global rule on a gateway group.
IAM Action: gateway:UpdateGlobalPluginRule, Resource: arn:api7:gateway:gatewaygroup/%s
Authorizations:
path Parameters
| global_rule_id required | string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$ The unique identifier of the global rule. |
query Parameters
| gateway_group_id required | string >= 1 It's optional when client authenticate with gateway group admin key. |
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
}, - "warning_msg": "string"
}Delete a global rule on a gateway group.
IAM Action: gateway:DeleteGlobalPluginRule, Resource: arn:api7:gateway:gatewaygroup/%s
Authorizations:
path Parameters
| global_rule_id required | string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$ The unique identifier of the global rule. |
query Parameters
| gateway_group_id required | string >= 1 It's optional when client authenticate with gateway group admin key. |
Responses
Response samples
- 200
- 400
- default
{- "value": { },
- "warning_msg": "string"
}List all plugin metadata on a gateway group.
IAM Action: gateway:GetPluginMetadata, Resource: arn:api7:gateway:gatewaygroup/%s
Authorizations:
query Parameters
| gateway_group_id required | string >= 1 It's optional when client authenticate with gateway group admin key. |
Responses
Response samples
- 200
- 400
- default
{- "value": {
- "property1": { },
- "property2": { }
}, - "warning_msg": "string"
}Get a plugin metadata on a gateway group.
IAM Action: gateway:GetPluginMetadata, Resource: arn:api7:gateway:gatewaygroup/%s
Authorizations:
path Parameters
| plugin_name required | string [ 1 .. 64 ] characters |
query Parameters
| gateway_group_id required | string >= 1 It's optional when client authenticate with gateway group admin key. |
| 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": { },
- "warning_msg": "string"
}Update a plugin metadata on a gateway group.
IAM Action: gateway:UpdatePluginMetadata, Resource: arn:api7:gateway:gatewaygroup/%s
Authorizations:
path Parameters
| plugin_name required | string [ 1 .. 64 ] characters |
query Parameters
| gateway_group_id required | string >= 1 It's optional when client authenticate with gateway group admin key. |
Request Body schema: application/json
The plugin metadata description.
Responses
Request samples
- Payload
{ }Response samples
- 200
- 400
- default
{- "value": { },
- "warning_msg": "string"
}Delete a plugin metadata on a gateway group.
IAM Action: gateway:DeletePluginMetadata, Resource: arn:api7:gateway:gatewaygroup/%s
Authorizations:
path Parameters
| plugin_name required | string [ 1 .. 64 ] characters |
query Parameters
| gateway_group_id required | string >= 1 It's optional when client authenticate with gateway group admin key. |
Responses
Response samples
- 200
- 400
- default
{- "value": { },
- "warning_msg": "string"
}Get all plugin detail
Authorizations:
query Parameters
| subsystem | string Default: "http" Enum: "http" "stream" Example: subsystem=stream Filter the plugins list |
Responses
Response samples
- 200
- 400
- default
{- "value": {
- "property1": {
- "schema": { },
- "consumer_schema": { },
- "metadata_schema": { },
- "type": "string",
- "scope": "string",
- "priority": 0
}, - "property2": {
- "schema": { },
- "consumer_schema": { },
- "metadata_schema": { },
- "type": "string",
- "scope": "string",
- "priority": 0
}
}, - "warning_msg": "string"
}List all plugins.
Authorizations:
query Parameters
| has_metadata | boolean Default: false A flag that indicates whether to filter plugins with metadata configuration. |
| subsystem | string Default: "http" Enum: "http" "stream" Example: subsystem=stream Filter the plugins list |
Responses
Response samples
- 200
[- "string"
]Get all properties of the specified Plugin.
Authorizations:
path Parameters
| plugin_name required | string [ 1 .. 64 ] characters |
query Parameters
| scope | string Value: "all" The scope of the plugin. |
| subsystem | string Default: "http" Enum: "http" "stream" Example: subsystem=stream Filter the plugins list |
Responses
Response samples
- 200
- default
{- "value": { },
- "warning_msg": "string"
}Get schema definition of single plugin.
Authorizations:
path Parameters
| plugin_name required | string [ 1 .. 64 ] characters |
query Parameters
| subsystem | string Default: "http" Enum: "http" "stream" Example: subsystem=stream Filter the plugins list |
Responses
Response samples
- 200
- default
{- "value": { },
- "warning_msg": "string"
}Get a plugin detail.
Authorizations:
query Parameters
| subsystem | string Default: "http" Enum: "http" "stream" Example: subsystem=stream Filter the plugins list |
Responses
Response samples
- 200
- 400
- default
{- "value": [
- {
- "plugin_name": "string",
- "type": "string",
- "is_custom": true
}
], - "warning_msg": "string"
}Get the usage of a plugin.
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"
}
]
}
}, - "warning_msg": "string"
}List all plugin metadata on a gateway group.
IAM Action: gateway:GetPluginMetadata, Resource: arn:api7:gateway:gatewaygroup/%s
Authorizations:
query Parameters
| gateway_group_id required | string >= 1 It's optional when client authenticate with gateway group admin key. |
Responses
Response samples
- 200
- 400
- default
{- "value": {
- "property1": { },
- "property2": { }
}, - "warning_msg": "string"
}Get a plugin metadata on a gateway group.
IAM Action: gateway:GetPluginMetadata, Resource: arn:api7:gateway:gatewaygroup/%s
Authorizations:
path Parameters
| plugin_name required | string [ 1 .. 64 ] characters |
query Parameters
| gateway_group_id required | string >= 1 It's optional when client authenticate with gateway group admin key. |
| 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": { },
- "warning_msg": "string"
}Update a plugin metadata on a gateway group.
IAM Action: gateway:UpdatePluginMetadata, Resource: arn:api7:gateway:gatewaygroup/%s
Authorizations:
path Parameters
| plugin_name required | string [ 1 .. 64 ] characters |
query Parameters
| gateway_group_id required | string >= 1 It's optional when client authenticate with gateway group admin key. |
Request Body schema: application/json
The plugin metadata description.
Responses
Request samples
- Payload
{ }Response samples
- 200
- 400
- default
{- "value": { },
- "warning_msg": "string"
}Delete a plugin metadata on a gateway group.
IAM Action: gateway:DeletePluginMetadata, Resource: arn:api7:gateway:gatewaygroup/%s
Authorizations:
path Parameters
| plugin_name required | string [ 1 .. 64 ] characters |
query Parameters
| gateway_group_id required | string >= 1 It's optional when client authenticate with gateway group admin key. |
Responses
Response samples
- 200
- 400
- default
{- "value": { },
- "warning_msg": "string"
}Get schema definition of single plugin.
Authorizations:
path Parameters
| plugin_name required | string [ 1 .. 64 ] characters |
query Parameters
| subsystem | string Default: "http" Enum: "http" "stream" Example: subsystem=stream Filter the plugins list |
Responses
Response samples
- 200
- default
{- "value": { },
- "warning_msg": "string"
}List all gateway instances of all gateway groups.
IAM Action: gateway:GetGatewayInstance, Resource: arn:api7:gateway:gatewaygroup/%s
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,
- "last_retrieve_config_time": 0,
- "to_be_deleted_at": 0,
- "created_at": 0,
- "dataplane_certificate_expire_time": 0,
- "status": "Healthy",
- "cores": 0
}
], - "total": 0
}List all gateway instances on a gateway group.
IAM Action: gateway:GetGatewayInstance, Resource: arn:api7:gateway:gatewaygroup/%s
Authorizations:
path Parameters
| gateway_group_id required | string >= 1 Example: 86fb9981-d9d2-4555-9df8-91ae92129335 |
query Parameters
| 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,
- "last_retrieve_config_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 of a gateway group.
IAM Action: gateway:GetGatewayInstance, Resource: arn:api7:gateway:gatewaygroup/%s
Authorizations:
path Parameters
| field required | string Value: "status" |
query Parameters
| gateway_group_id required | string >= 1 It's optional when client authenticate with gateway group admin key. |
| search | string The search keyword. |
Responses
Response samples
- 200
- default
{- "value": [
- {
- "key": "string",
- "count": 0
}
], - "warning_msg": "string"
}Export the gateway instance core usage.
IAM Action: gateway:GetGatewayInstanceCore, Resource: arn:api7:gateway:gatewaygroup/*
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"
}Send a heartbeat to all gateway instances.
Authorizations:
Request Body schema: application/json
| instance_id required | string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$ The gateway instance ID. |
| run_id | string The run ID of the gateway instance. |
| 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. |
| cores | integer The number of DP cores. |
| control_plane_revision | string The configuration version currently used by the data plane. |
| conf_server_revision | string Deprecated Replace with control_plane_revision. |
Responses
Request samples
- Payload
{- "instance_id": "string",
- "run_id": "string",
- "hostname": "string",
- "ip": "string",
- "version": "string",
- "ports": [
- 0
], - "cores": 0,
- "control_plane_revision": "string",
- "conf_server_revision": "string"
}Response samples
- default
{- "value": { },
- "warning_msg": "string"
}Generate metrics based on all gateway instances.
Authorizations:
Request Body schema: application/json
| instance_id required | string [ 1 .. 256 ] characters ^[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": { },
- "warning_msg": "string"
}Report the health check results of all gateway instances based on its health check configuration.
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": { },
- "warning_msg": "string"
}Report the service registry health check results from gateway instance.
Authorizations:
Request Body schema: application/json
| instance_id required | string non-empty The gateway instance ID. |
Array of objects Item is a service registry healthcheck data. |
Responses
Request samples
- Payload
{- "instance_id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
- "data": [
- {
- "service_registry_id": "uuu-ppp-sss-ttt-rrr-eee-aaa-mmm",
- "status": 0,
- "hostname": "apisix-hostname",
- "time": 1720602869
}
]
}Response samples
- default
{- "value": { },
- "warning_msg": "string"
}Generate script to install the gateway instance by Docker.
IAM Action: gateway:CreateGatewayInstance, Resource: arn:api7:gateway:gatewaygroup/%s
Authorizations:
path Parameters
| gateway_group_id required | string >= 1 Example: 86fb9981-d9d2-4555-9df8-91ae92129335 |
query Parameters
| control_plane_address | string non-empty |
| image | string non-empty |
| http_port | integer Default: 9080 |
| https_port | integer Default: 9443 |
| name | string non-empty |
| extra_args[] | Array of strings[ items non-empty ] Additional docker run arguments. |
Responses
Response samples
- 400
- default
{- "error_msg": "string"
}Generate script to install the gateway instance by Helm in Kubernetes.
IAM Action: gateway:CreateGatewayInstance, Resource: arn:api7:gateway:gatewaygroup/%s
Authorizations:
path Parameters
| gateway_group_id required | string >= 1 Example: 86fb9981-d9d2-4555-9df8-91ae92129335 |
query Parameters
| control_plane_address | string non-empty |
| name required | string |
| namespace required | string |
| service_account | string |
| replicas | integer Default: 1 |
| workers | integer |
| cpu_limit | string |
| memory_limit | string |
| extra_values[] | Array of strings extra values to be passed to the helm chart, in the form of key=value |
Responses
Response samples
- 400
- default
{- "error_msg": "string"
}Generate values.yaml to install the gateway instance by Helm in Kubernetes.
IAM Action: gateway:CreateGatewayInstance, Resource: arn:api7:gateway:gatewaygroup/%s
Authorizations:
path Parameters
| gateway_group_id required | string >= 1 Example: 86fb9981-d9d2-4555-9df8-91ae92129335 |
query Parameters
| control_plane_address | string non-empty |
| name required | string |
| namespace required | string |
| service_account | string |
| replicas | integer Default: 1 |
| workers | integer |
| cpu_limit | string |
| memory_limit | string |
Responses
Response samples
- 400
- default
{- "error_msg": "string"
}Delete gateway instance.
IAM Action: gateway:DeleteGatewayInstance, Resource: arn:api7:gateway:gatewaygroup/%s
Authorizations:
path Parameters
| gateway_group_id required | string >= 1 Example: 86fb9981-d9d2-4555-9df8-91ae92129335 |
| gateway_instance_id required | string >= 1 |
Responses
Response samples
- 200
- 400
- default
{- "value": { },
- "warning_msg": "string"
}Issue a data plane certificate on a gateway group.
IAM Action: gateway:CreateGatewayInstance, Resource: arn:api7:gateway:gatewaygroup/%s
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
}, - "warning_msg": "string"
}Create a token for all gateway instances in a gateway group.
IAM Action: gateway:CreateGatewayInstance, Resource: arn:api7:gateway:gatewaygroup/%s
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"
}, - "warning_msg": "string"
}List all users.
IAM Action: iam:GetUser, Resource: arn:api7:iam:user/%s
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",
- "username": "string",
- "name": "string",
- "email": "string",
- "email_verified": true,
- "created_at": 0,
- "updated_at": 0,
- "state": "string",
- "provider": "builtin",
- "roles": [
- {
- "id": "string",
- "name": "string",
- "desc": "string",
- "type": "built_in",
- "policies": [
- "string"
]
}
], - "boundaries": [
- {
- "name": "string",
- "type": "string",
- "desc": "string",
- "labels": {
- "keyA": "valueA",
- "keyB": "valueB"
}, - "policy_document": {
- "statement": [
- {
- "effect": "allow",
- "resources": [
- "arn:api7:gateway:servicetemplate/<.*>"
], - "actions": [
- "gateway:GetServiceTemplate"
], - "conditions": {
- "gateway_group_label": {
- "type": null,
- "options": { }
}
}
}
]
}, - "id": "string",
- "created_at": 0,
- "updated_at": 0
}
]
}
], - "total": 0
}Get a user.
IAM Action: iam:GetUser, Resource: arn:api7:iam:user/%s
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",
- "username": "string",
- "name": "string",
- "email": "string",
- "email_verified": true,
- "created_at": 0,
- "updated_at": 0,
- "state": "string",
- "provider": "builtin",
- "roles": [
- {
- "id": "string",
- "name": "string",
- "desc": "string",
- "type": "built_in",
- "policies": [
- "string"
]
}
], - "boundaries": [
- {
- "name": "string",
- "type": "string",
- "desc": "string",
- "labels": {
- "keyA": "valueA",
- "keyB": "valueB"
}, - "policy_document": {
- "statement": [
- {
- "effect": "allow",
- "resources": [
- "arn:api7:gateway:servicetemplate/<.*>"
], - "actions": [
- "gateway:GetServiceTemplate"
], - "conditions": {
- "gateway_group_label": {
- "type": "MatchLabel",
- "options": {
- "key": "env",
- "operation": "exact_match",
- "value": "prod"
}
}
}
}
]
}, - "id": "string",
- "created_at": 0,
- "updated_at": 0
}
]
}, - "warning_msg": "string"
}Update basic attributes of a user.
IAM Action: iam:UpdateUser, Resource: arn:api7:iam:user/%s
Authorizations:
path Parameters
| user_id required | string >= 1 Example: 86fb9981-d9d2-4555-9df8-91ae92129335 The user ID. |
Request Body schema: application/json
object | |||
| |||
Responses
Request samples
- Payload
{- "labels": {
- "keyA": "valueA",
- "keyB": "valueB"
}
}Response samples
- 200
- default
{- "value": { },
- "warning_msg": "string"
}Delete a user.
IAM Action: iam:DeleteUser, Resource: arn:api7:iam:user/%s
Authorizations:
path Parameters
| user_id required | string >= 1 Example: 86fb9981-d9d2-4555-9df8-91ae92129335 The user ID. |
Responses
Response samples
- 200
- default
{- "value": { },
- "warning_msg": "string"
}Update the user's permission boundaries.
IAM Action: iam:UpdateUserBoundary, Resource: arn:api7:iam:user/%s
Authorizations:
path Parameters
| user_id required | string >= 1 Example: 86fb9981-d9d2-4555-9df8-91ae92129335 The user ID. |
Request Body schema: application/json
Responses
Request samples
- Payload
[- "string"
]Response samples
- 200
- 400
- default
{- "value": { },
- "warning_msg": "string"
}Reset the password to specific value.
IAM Action: iam:ResetPassword, Resource: arn:api7:iam:user/%s
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": { },
- "warning_msg": "string"
}Response samples
- 200
- default
{- "value": {
- "id": "string",
- "username": "string",
- "name": "string",
- "email": "string",
- "email_verified": true,
- "created_at": 0,
- "updated_at": 0,
- "state": "string",
- "provider": "builtin",
- "roles": [
- {
- "id": "string",
- "name": "string",
- "desc": "string",
- "type": "built_in",
- "policies": [
- "string"
]
}
], - "boundaries": [
- {
- "name": "string",
- "type": "string",
- "desc": "string",
- "labels": {
- "keyA": "valueA",
- "keyB": "valueB"
}, - "policy_document": {
- "statement": [
- {
- "effect": "allow",
- "resources": [
- "arn:api7:gateway:servicetemplate/<.*>"
], - "actions": [
- "gateway:GetServiceTemplate"
], - "conditions": {
- "gateway_group_label": {
- "type": "MatchLabel",
- "options": {
- "key": "env",
- "operation": "exact_match",
- "value": "prod"
}
}
}
}
]
}, - "id": "string",
- "created_at": 0,
- "updated_at": 0
}
]
}, - "warning_msg": "string"
}Update my user profile.
Authorizations:
Request Body schema: application/json
| name required | string [ 1 .. 200 ] characters |
Responses
Request samples
- Payload
{- "name": "string"
}Response samples
- 200
- default
{- "value": { },
- "warning_msg": "string"
}Update the user email.
Authorizations:
Request Body schema: application/json
| email required | string <email> [ 1 .. 128 ] characters |
Responses
Request samples
- Payload
{- "email": "user@example.com"
}Response samples
- 200
- default
{- "value": { },
- "warning_msg": "string"
}Invite a user.
IAM Action: iam:InviteUser, Resource: arn:api7:iam: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. |
| boundaries | Array of strings The permission boundaries of the user. |
| name | string [ 1 .. 128 ] characters The name of the user. |
Responses
Request samples
- Payload
{- "username": "string",
- "password": "string",
- "boundaries": [
- "string"
], - "name": "string"
}Response samples
- 200
- default
{- "value": {
- "id": "string",
- "username": "string",
- "name": "string",
- "email": "string",
- "email_verified": true,
- "created_at": 0,
- "updated_at": 0,
- "state": "string",
- "provider": "builtin",
- "roles": [
- {
- "id": "string",
- "name": "string",
- "desc": "string",
- "type": "built_in",
- "policies": [
- "string"
]
}
], - "boundaries": [
- {
- "name": "string",
- "type": "string",
- "desc": "string",
- "labels": {
- "keyA": "valueA",
- "keyB": "valueB"
}, - "policy_document": {
- "statement": [
- {
- "effect": "allow",
- "resources": [
- "arn:api7:gateway:servicetemplate/<.*>"
], - "actions": [
- "gateway:GetServiceTemplate"
], - "conditions": {
- "gateway_group_label": {
- "type": "MatchLabel",
- "options": {
- "key": "env",
- "operation": "exact_match",
- "value": "prod"
}
}
}
}
]
}, - "id": "string",
- "created_at": 0,
- "updated_at": 0
}
], - "invitation_link": "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": { },
- "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": { },
- "warning_msg": "string"
}Update assigned roles for a user.
IAM Action: iam:UpdateUserRole, Resource: arn:api7:iam:user/%s
Authorizations:
path Parameters
| user_id required | string >= 1 Example: 86fb9981-d9d2-4555-9df8-91ae92129335 The user ID. |
Request Body schema: application/json
| roles required | Array of strings[ items [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$ ] |
Responses
Request samples
- Payload
{- "roles": [
- "string"
]
}Response samples
- 200
- default
{- "value": { },
- "warning_msg": "string"
}Check if a user has certain permissions on certain resources.
Authorizations:
Request Body schema: application/json
additional property | object | ||||||
| |||||||
Responses
Request samples
- Payload
{- "property1": {
- "resource": "string",
- "action": "string",
- "context": {
- "gateway_group_label": {
- "property1": "string",
- "property2": "string"
}
}
}, - "property2": {
- "resource": "string",
- "action": "string",
- "context": {
- "gateway_group_label": {
- "property1": "string",
- "property2": "string"
}
}
}
}Response samples
- 200
- default
{- "value": { },
- "warning_msg": "string",
- "property1": true,
- "property2": true
}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": { },
- "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": { },
- "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": { },
- "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": { },
- "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": { },
- "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": { },
- "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": { },
- "warning_msg": "string"
}Update assigned roles for a user.
IAM Action: iam:UpdateUserRole, Resource: arn:api7:iam:user/%s
Authorizations:
path Parameters
| user_id required | string >= 1 Example: 86fb9981-d9d2-4555-9df8-91ae92129335 The user ID. |
Request Body schema: application/json
| roles required | Array of strings[ items [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$ ] |
Responses
Request samples
- Payload
{- "roles": [
- "string"
]
}Response samples
- 200
- default
{- "value": { },
- "warning_msg": "string"
}List all roles.
IAM Action: iam:GetRole, Resource: arn:api7:iam:role/%s
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. |
object non-empty |
Responses
Response samples
- 200
- default
{- "list": [
- {
- "id": "string",
- "name": "string",
- "desc": "string",
- "labels": {
- "keyA": "valueA",
- "keyB": "valueB"
}, - "type": "built_in",
- "policies": [
- "string"
], - "created_at": 0,
- "updated_at": 0
}
], - "total": 0
}Create a role.
IAM Action: iam:CreateRole, Resource: arn:api7:iam:role/*
Authorizations:
Request Body schema: application/json
| name required | string The role name. |
| desc | string <= 65536 characters The object description. |
object | |
| policies | Array of strings non-empty unique [ items [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$ ] The polices attached to the role. |
Responses
Request samples
- Payload
{- "name": "string",
- "desc": "string",
- "labels": {
- "keyA": "valueA",
- "keyB": "valueB"
}, - "policies": [
- "string"
]
}Response samples
- 200
- 400
- default
{- "value": {
- "id": "string",
- "name": "string",
- "desc": "string",
- "labels": {
- "keyA": "valueA",
- "keyB": "valueB"
}, - "type": "built_in",
- "policies": [
- "string"
], - "created_at": 0,
- "updated_at": 0
}, - "warning_msg": "string"
}Get a role.
IAM Action: iam:GetRole, Resource: arn:api7:iam:role/%s
Authorizations:
path Parameters
| role_id required | string >= 1 |
Responses
Response samples
- 200
- default
{- "value": {
- "id": "string",
- "name": "string",
- "desc": "string",
- "labels": {
- "keyA": "valueA",
- "keyB": "valueB"
}, - "type": "built_in",
- "policies": [
- "string"
], - "created_at": 0,
- "updated_at": 0
}, - "warning_msg": "string"
}Update a role.
IAM Action: iam:UpdateRole, Resource: arn:api7:iam:role/%s
Authorizations:
path Parameters
| role_id required | string >= 1 |
Request Body schema: application/json
| name required | string The role name. |
| desc | string <= 65536 characters The object description. |
object | |
| policies | Array of strings non-empty unique [ items [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$ ] The polices attached to the role. |
Responses
Request samples
- Payload
{- "name": "string",
- "desc": "string",
- "labels": {
- "keyA": "valueA",
- "keyB": "valueB"
}, - "policies": [
- "string"
]
}Response samples
- 200
- 400
- default
{- "value": {
- "id": "string",
- "name": "string",
- "desc": "string",
- "labels": {
- "keyA": "valueA",
- "keyB": "valueB"
}, - "type": "built_in",
- "policies": [
- "string"
], - "created_at": 0,
- "updated_at": 0
}, - "warning_msg": "string"
}List all permission policies attached to a role.
IAM Action: iam:GetPermissionPolicy, Resource: arn:api7:iam:permissionpolicy/%s
Authorizations:
path Parameters
| role_id required | string >= 1 |
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. |
object non-empty |
Responses
Response samples
- 200
- default
{- "list": [
- {
- "name": "string",
- "type": "string",
- "desc": "string",
- "labels": {
- "keyA": "valueA",
- "keyB": "valueB"
}, - "policy_document": {
- "statement": [
- {
- "effect": "allow",
- "resources": [
- "arn:api7:gateway:servicetemplate/<.*>"
], - "actions": [
- "gateway:GetServiceTemplate"
], - "conditions": {
- "gateway_group_label": {
- "type": "MatchLabel",
- "options": {
- "key": "env",
- "operation": "exact_match",
- "value": "prod"
}
}
}
}
]
}, - "id": "string",
- "created_at": 0,
- "updated_at": 0
}
], - "total": 0
}Attach permission policies to a role.
IAM Action: iam:UpdateRole, Resource: arn:api7:iam:role/%s
Authorizations:
path Parameters
| role_id required | string >= 1 |
Request Body schema: application/json
Responses
Request samples
- Payload
[- "string"
]Response samples
- 200
- 400
- default
{- "value": { },
- "warning_msg": "string"
}Detach permission policies of a role.
IAM Action: iam:UpdateRole, Resource: arn:api7:iam:role/%s
Authorizations:
path Parameters
| role_id required | string >= 1 |
Request Body schema: application/json
Responses
Request samples
- Payload
[- "string"
]Response samples
- 200
- 400
- default
{- "value": { },
- "warning_msg": "string"
}Check if a user has certain permissions on certain resources.
Authorizations:
Request Body schema: application/json
additional property | object | ||||||
| |||||||
Responses
Request samples
- Payload
{- "property1": {
- "resource": "string",
- "action": "string",
- "context": {
- "gateway_group_label": {
- "property1": "string",
- "property2": "string"
}
}
}, - "property2": {
- "resource": "string",
- "action": "string",
- "context": {
- "gateway_group_label": {
- "property1": "string",
- "property2": "string"
}
}
}
}Response samples
- 200
- default
{- "value": { },
- "warning_msg": "string",
- "property1": true,
- "property2": true
}List all permission policies attached to a role.
IAM Action: iam:GetPermissionPolicy, Resource: arn:api7:iam:permissionpolicy/%s
Authorizations:
path Parameters
| role_id required | string >= 1 |
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. |
object non-empty |
Responses
Response samples
- 200
- default
{- "list": [
- {
- "name": "string",
- "type": "string",
- "desc": "string",
- "labels": {
- "keyA": "valueA",
- "keyB": "valueB"
}, - "policy_document": {
- "statement": [
- {
- "effect": "allow",
- "resources": [
- "arn:api7:gateway:servicetemplate/<.*>"
], - "actions": [
- "gateway:GetServiceTemplate"
], - "conditions": {
- "gateway_group_label": {
- "type": "MatchLabel",
- "options": {
- "key": "env",
- "operation": "exact_match",
- "value": "prod"
}
}
}
}
]
}, - "id": "string",
- "created_at": 0,
- "updated_at": 0
}
], - "total": 0
}Attach permission policies to a role.
IAM Action: iam:UpdateRole, Resource: arn:api7:iam:role/%s
Authorizations:
path Parameters
| role_id required | string >= 1 |
Request Body schema: application/json
Responses
Request samples
- Payload
[- "string"
]Response samples
- 200
- 400
- default
{- "value": { },
- "warning_msg": "string"
}Detach permission policies of a role.
IAM Action: iam:UpdateRole, Resource: arn:api7:iam:role/%s
Authorizations:
path Parameters
| role_id required | string >= 1 |
Request Body schema: application/json
Responses
Request samples
- Payload
[- "string"
]Response samples
- 200
- 400
- default
{- "value": { },
- "warning_msg": "string"
}Create a permission policy.
IAM Action: iam:CreatePermissionPolicy, Resource: arn:api7:iam:permissionpolicy/*
Authorizations:
Request Body schema: application/json
| name required | string [ 1 .. 100 ] characters The policy name. |
| type | string The permission policy type. |
| desc | string <= 65536 characters The description of the policy. |
object The labels of the policy. | |
required | object |
Responses
Request samples
- Payload
{- "name": "string",
- "type": "string",
- "desc": "string",
- "labels": {
- "keyA": "valueA",
- "keyB": "valueB"
}, - "policy_document": {
- "statement": [
- {
- "effect": "allow",
- "resources": [
- "arn:api7:gateway:servicetemplate/<.*>"
], - "actions": [
- "gateway:GetServiceTemplate"
], - "conditions": {
- "gateway_group_label": {
- "type": "MatchLabel",
- "options": {
- "key": "env",
- "operation": "exact_match",
- "value": "prod"
}
}
}
}
]
}
}Response samples
- 200
- 400
- default
{- "value": {
- "name": "string",
- "type": "string",
- "desc": "string",
- "labels": {
- "keyA": "valueA",
- "keyB": "valueB"
}, - "policy_document": {
- "statement": [
- {
- "effect": "allow",
- "resources": [
- "arn:api7:gateway:servicetemplate/<.*>"
], - "actions": [
- "gateway:GetServiceTemplate"
], - "conditions": {
- "gateway_group_label": {
- "type": "MatchLabel",
- "options": {
- "key": "env",
- "operation": "exact_match",
- "value": "prod"
}
}
}
}
]
}, - "id": "string",
- "created_at": 0,
- "updated_at": 0
}, - "warning_msg": "string"
}List all permission policies.
IAM Action: iam:GetPermissionPolicy, Resource: arn:api7:iam:permissionpolicy/%s
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. |
object non-empty |
Responses
Response samples
- 200
- default
{- "list": [
- {
- "name": "string",
- "type": "string",
- "desc": "string",
- "labels": {
- "keyA": "valueA",
- "keyB": "valueB"
}, - "policy_document": {
- "statement": [
- {
- "effect": "allow",
- "resources": [
- "arn:api7:gateway:servicetemplate/<.*>"
], - "actions": [
- "gateway:GetServiceTemplate"
], - "conditions": {
- "gateway_group_label": {
- "type": "MatchLabel",
- "options": {
- "key": "env",
- "operation": "exact_match",
- "value": "prod"
}
}
}
}
]
}, - "id": "string",
- "created_at": 0,
- "updated_at": 0
}
], - "total": 0
}Get a permission policy.
IAM Action: iam:GetPermissionPolicy, Resource: arn:api7:iam:permissionpolicy/%s
Authorizations:
path Parameters
| permission_policy_id required | string >= 1 |
Responses
Response samples
- 200
- default
{- "value": {
- "name": "string",
- "type": "string",
- "desc": "string",
- "labels": {
- "keyA": "valueA",
- "keyB": "valueB"
}, - "policy_document": {
- "statement": [
- {
- "effect": "allow",
- "resources": [
- "arn:api7:gateway:servicetemplate/<.*>"
], - "actions": [
- "gateway:GetServiceTemplate"
], - "conditions": {
- "gateway_group_label": {
- "type": "MatchLabel",
- "options": {
- "key": "env",
- "operation": "exact_match",
- "value": "prod"
}
}
}
}
]
}, - "id": "string",
- "created_at": 0,
- "updated_at": 0
}, - "warning_msg": "string"
}Update a permission policy.
IAM Action: iam:UpdatePermissionPolicy, Resource: arn:api7:iam:permissionpolicy/%s
Authorizations:
path Parameters
| permission_policy_id required | string >= 1 |
Request Body schema: application/json
| name required | string [ 1 .. 100 ] characters The policy name. |
| type | string The permission policy type. |
| desc | string <= 65536 characters The description of the policy. |
object The labels of the policy. | |
required | object |
Responses
Request samples
- Payload
{- "name": "string",
- "type": "string",
- "desc": "string",
- "labels": {
- "keyA": "valueA",
- "keyB": "valueB"
}, - "policy_document": {
- "statement": [
- {
- "effect": "allow",
- "resources": [
- "arn:api7:gateway:servicetemplate/<.*>"
], - "actions": [
- "gateway:GetServiceTemplate"
], - "conditions": {
- "gateway_group_label": {
- "type": "MatchLabel",
- "options": {
- "key": "env",
- "operation": "exact_match",
- "value": "prod"
}
}
}
}
]
}
}Response samples
- 200
- 400
- default
{- "value": {
- "name": "string",
- "type": "string",
- "desc": "string",
- "labels": {
- "keyA": "valueA",
- "keyB": "valueB"
}, - "policy_document": {
- "statement": [
- {
- "effect": "allow",
- "resources": [
- "arn:api7:gateway:servicetemplate/<.*>"
], - "actions": [
- "gateway:GetServiceTemplate"
], - "conditions": {
- "gateway_group_label": {
- "type": "MatchLabel",
- "options": {
- "key": "env",
- "operation": "exact_match",
- "value": "prod"
}
}
}
}
]
}, - "id": "string",
- "created_at": 0,
- "updated_at": 0
}, - "warning_msg": "string"
}Delete a permission policy.
IAM Action: iam:DeletePermissionPolicy, Resource: arn:api7:iam:permissionpolicy/%s
Authorizations:
path Parameters
| permission_policy_id required | string >= 1 |
Responses
Response samples
- 200
- 400
- default
{- "value": { },
- "warning_msg": "string"
}List which Roles or Users directly reference the Permission Policy.
IAM Action: iam:GetPermissionPolicy, Resource: arn:api7:iam:permissionpolicy/%s
Authorizations:
path Parameters
| permission_policy_id required | string >= 1 |
Responses
Response samples
- 200
- default
{- "list": [
- {
- "type": "role",
- "id": "string",
- "name": "string"
}
], - "total": 0
}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
]
]
}
]
}
}, - "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
]
]
}
]
}
}, - "warning_msg": "string"
}Get the consumer based on the plugin name and key value.
Authorizations:
query Parameters
| username | string The consumer username. |
| plugin_name | string Enum: "key-auth" "basic-auth" "jwt-auth" "hmac-auth" The plugin name. |
| key_value | string The key value. |
Responses
Response samples
- default
{- "username": "string",
- "consumer_name": "string",
- "auth_conf": { },
- "labels": { },
- "plugins": { },
- "credential_id": "string"
}Get the developer based on the plugin name and key value.
Authorizations:
query Parameters
| plugin_name | string Value: "key-auth" The plugin name. |
| key_value | string The key value. |
| service_id | string The matched service id. |
Responses
Response samples
- default
{- "username": "string",
- "consumer_name": "string",
- "auth_conf": { },
- "labels": { },
- "plugins": { },
- "credential_id": "string"
}List all alert policies.
IAM Action: gateway:GetAlertPolicy, Resource: arn:api7:gateway:alert/%s
Authorizations:
query Parameters
| order_by | string Default: "updated_at" Enum: "created_at" "updated_at" "name" "severity" |
| 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. |
object non-empty | |
| status | Array of strings Items Enum: "enabled" "disabled" |
| severity | Array of strings Items Enum: "high" "medium" "low" |
Responses
Response samples
- 200
- default
{- "list": [
- {
- "id": "string",
- "created_at": 0,
- "updated_at": 0,
- "name": "string",
- "desc": "string",
- "labels": {
- "keyA": "valueA",
- "keyB": "valueB"
}, - "enable": true,
- "check_interval": 1,
- "severity": "high",
- "trigger_logical_operator": "All",
- "trigger_conditions": [
- {
- "event": "number_of_status_code",
- "scope": {
- "gateway_group_ids": [
- "string"
], - "gateway_group_labels": {
- "keyA": "valueA",
- "keyB": "valueB"
}
}, - "event_config": {
- "duration": 1,
- "unit": "hour",
- "http_status_code": "string"
}, - "operator": "larger_equal",
- "value": 0
}
], - "notifications": [
- {
- "type": "email",
- "contact_point_ids": [
- "string"
], - "subject": "string",
- "content": "string"
}
]
}
], - "total": 0
}Create an alert policy.
IAM Action: gateway:CreateAlertPolicy, Resource: arn:api7:gateway:alert/*
Authorizations:
Request Body schema: application/json
| name required | string [ 1 .. 100 ] characters The alert policy name. |
| desc | string <= 65536 characters The alert policy description. |
object | |
| enable | boolean Default: true Whether the alert policy is enabled. |
| check_interval | integer [ 1 .. 86400 ] The check interval for the alert policy. The unit is second. |
| severity | string Default: "medium" Enum: "high" "medium" "low" The alert severity level. |
| trigger_logical_operator required | string Default: "All" Enum: "All" "Any" The logical relationship between multiple triggers. |
required | Array of Status Code (object) or Certificate Expiry (object) or Gateway Instance Offline (object) or Dataplane Cores Exceeded (object) or Numbers of Healthy Gateway Instances (object) non-empty The alert trigger conditions. |
Array of objects or objects The alert notifications. |
Responses
Request samples
- Payload
{- "name": "string",
- "desc": "string",
- "labels": {
- "keyA": "valueA",
- "keyB": "valueB"
}, - "enable": true,
- "check_interval": 1,
- "severity": "high",
- "trigger_logical_operator": "All",
- "trigger_conditions": [
- {
- "event": "number_of_status_code",
- "scope": {
- "gateway_group_ids": [
- "string"
], - "gateway_group_labels": {
- "keyA": "valueA",
- "keyB": "valueB"
}
}, - "event_config": {
- "duration": 1,
- "unit": "hour",
- "http_status_code": "string"
}, - "operator": "larger_equal",
- "value": 0
}
], - "notifications": [
- {
- "type": "email",
- "contact_point_ids": [
- "string"
], - "subject": "string",
- "content": "string"
}
]
}Response samples
- 200
- 400
- default
{- "value": {
- "id": "string",
- "created_at": 0,
- "updated_at": 0,
- "name": "string",
- "desc": "string",
- "labels": {
- "keyA": "valueA",
- "keyB": "valueB"
}, - "enable": true,
- "check_interval": 1,
- "severity": "high",
- "trigger_logical_operator": "All",
- "trigger_conditions": [
- {
- "event": "number_of_status_code",
- "scope": {
- "gateway_group_ids": [
- "string"
], - "gateway_group_labels": {
- "keyA": "valueA",
- "keyB": "valueB"
}
}, - "event_config": {
- "duration": 1,
- "unit": "hour",
- "http_status_code": "string"
}, - "operator": "larger_equal",
- "value": 0
}
], - "notifications": [
- {
- "type": "email",
- "contact_point_ids": [
- "string"
], - "subject": "string",
- "content": "string"
}
]
}, - "warning_msg": "string"
}Get an alert policy.
IAM Action: gateway:GetAlertPolicy, Resource: arn:api7:gateway:alert/%s
Authorizations:
path Parameters
| alert_policy_id required | string |
Responses
Response samples
- 200
- 400
- default
{- "value": {
- "id": "string",
- "created_at": 0,
- "updated_at": 0,
- "name": "string",
- "desc": "string",
- "labels": {
- "keyA": "valueA",
- "keyB": "valueB"
}, - "enable": true,
- "check_interval": 1,
- "severity": "high",
- "trigger_logical_operator": "All",
- "trigger_conditions": [
- {
- "event": "number_of_status_code",
- "scope": {
- "gateway_group_ids": [
- "string"
], - "gateway_group_labels": {
- "keyA": "valueA",
- "keyB": "valueB"
}
}, - "event_config": {
- "duration": 1,
- "unit": "hour",
- "http_status_code": "string"
}, - "operator": "larger_equal",
- "value": 0
}
], - "notifications": [
- {
- "type": "email",
- "contact_point_ids": [
- "string"
], - "subject": "string",
- "content": "string"
}
]
}, - "warning_msg": "string"
}Update an alert policy.
IAM Action: gateway:UpdateAlertPolicy, Resource: arn:api7:gateway:alert/%s
Authorizations:
path Parameters
| alert_policy_id required | string |
Request Body schema: application/json
| name required | string [ 1 .. 100 ] characters The alert policy name. |
| desc | string <= 65536 characters The alert policy description. |
object | |
| enable | boolean Default: true Whether the alert policy is enabled. |
| check_interval | integer [ 1 .. 86400 ] The check interval for the alert policy. The unit is second. |
| severity | string Default: "medium" Enum: "high" "medium" "low" The alert severity level. |
| trigger_logical_operator required | string Default: "All" Enum: "All" "Any" The logical relationship between multiple triggers. |
required | Array of Status Code (object) or Certificate Expiry (object) or Gateway Instance Offline (object) or Dataplane Cores Exceeded (object) or Numbers of Healthy Gateway Instances (object) non-empty The alert trigger conditions. |
Array of objects or objects The alert notifications. |
Responses
Request samples
- Payload
{- "name": "string",
- "desc": "string",
- "labels": {
- "keyA": "valueA",
- "keyB": "valueB"
}, - "enable": true,
- "check_interval": 1,
- "severity": "high",
- "trigger_logical_operator": "All",
- "trigger_conditions": [
- {
- "event": "number_of_status_code",
- "scope": {
- "gateway_group_ids": [
- "string"
], - "gateway_group_labels": {
- "keyA": "valueA",
- "keyB": "valueB"
}
}, - "event_config": {
- "duration": 1,
- "unit": "hour",
- "http_status_code": "string"
}, - "operator": "larger_equal",
- "value": 0
}
], - "notifications": [
- {
- "type": "email",
- "contact_point_ids": [
- "string"
], - "subject": "string",
- "content": "string"
}
]
}Response samples
- 200
- 400
- default
{- "value": { },
- "warning_msg": "string"
}Patch an alert policy.
IAM Action: gateway:UpdateAlertPolicy, Resource: arn:api7:gateway:alert/%s
Authorizations:
path Parameters
| alert_policy_id required | string |
Request Body schema: application/json
| op required | string Enum: "add" "replace" The operation to be performed |
| path required | string A JSON Pointer path to the value you wish to modify or add, see https://jsonpatch.com/#json-pointer for more information |
| value required | any The value to add or replace, can be any type |
Responses
Request samples
- Payload
[- {
- "op": "add",
- "path": "string",
- "value": null
}
]Response samples
- 200
- 400
- default
{- "value": { },
- "warning_msg": "string"
}List all alert histories.
IAM Action: gateway:GetAlertPolicy, Resource: arn:api7:gateway:alert/*
Authorizations:
query Parameters
| alert_policy_id | string |
| severity | Array of strings Items Enum: "high" "medium" "low" |
| start_at | integer |
| end_at | integer |
| gateway_group_id | string >= 1 |
| order_by | string Default: "alert_time" Value: "alert_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. |
| search | string The search keyword. |
Responses
Response samples
- 200
- 400
- default
{- "list": [
- {
- "id": "string",
- "alert_policy_id": "string",
- "alert_policy_name": "string",
- "trigger_gateway_groups": [
- {
- "gateway_group_id": "string",
- "gateway_group_name": "string"
}
], - "severity": "high",
- "alert_time": 0,
- "alert_detail": "string",
- "notification_logs": [
- {
- "id": "string",
- "created_at": 0,
- "updated_at": 0,
- "contact_point_name": "string",
- "resource_type": "alert_policy",
- "resource_id": "string",
- "resource_name": "string",
- "status": "string",
- "send_time": 0,
- "request": "string",
- "response": "string"
}
], - "created_at": 0,
- "updated_at": 0
}
], - "total": 0
}List all audit logs.
IAM Action: iam:GetAudit, Resource: arn:api7:iam:organization/*
Authorizations:
query Parameters
| event_type | string |
| operator_id | string The user ID of the operator. |
| gateway_group_id | string >= 1 |
| 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",
- "operator": {
- "id": "string",
- "username": "string",
- "name": "string",
- "email": "string",
- "email_verified": true
}, - "gateway_group_id": "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
}Export all audit logs.
IAM Action: iam:ExportAudits, Resource: arn:api7:iam:organization/*
Authorizations:
query Parameters
| event_type | string |
| operator_id | string The user ID of the operator. |
| gateway_group_id | string >= 1 |
| resource_id | string |
| start_at | integer |
| end_at | integer |
| format required | string Enum: "json" "csv" |
Responses
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"
}, - "warning_msg": "string"
}List 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.
Authorizations:
path Parameters
| token_id required | string [ 1 .. 256 ] characters ^[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
}, - "warning_msg": "string"
}Update a token.
Authorizations:
path Parameters
| token_id required | string [ 1 .. 256 ] characters ^[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
}, - "warning_msg": "string"
}Regenerate a token.
Authorizations:
path Parameters
| token_id required | string [ 1 .. 256 ] characters ^[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"
}, - "warning_msg": "string"
}List all service registry connections on a gateway group.
IAM Action: gateway:GetServiceRegistry, Resource: arn:api7:gateway:gatewaygroup/%s
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 connection on a gateway group.
IAM Action: gateway:ConnectServiceRegistry, Resource: arn:api7:gateway:gatewaygroup/%s
Authorizations:
path Parameters
| gateway_group_id required | string >= 1 Example: 86fb9981-d9d2-4555-9df8-91ae92129335 |
Request Body schema: application/json
| name | string [ 1 .. 100 ] 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
}, - "warning_msg": "string"
}Get a service registry connection on a gateway group.
IAM Action: gateway:GetServiceRegistry, Resource: arn:api7:gateway:gatewaygroup/%s
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
}, - "warning_msg": "string"
}Update a service registry connection on a gateway group.
IAM Action: gateway:UpdateServiceRegistry, Resource: arn:api7:gateway:gatewaygroup/%s
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 .. 100 ] 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": { },
- "warning_msg": "string"
}Delete a service registry connection on a gateway group.
IAM Action: gateway:DisconnectServiceRegistry, Resource: arn:api7:gateway:gatewaygroup/%s
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": { },
- "warning_msg": "string"
}List all published services connected to a service registry.
IAM Action: gateway:GetServiceRegistry, Resource: arn:api7:gateway:gatewaygroup/%s
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" "name" |
Responses
Response samples
- 200
- default
{- "list": [
- {
- "name": "string",
- "labels": {
- "keyA": "valueA",
- "keyB": "valueB"
}, - "desc": "string",
- "plugins": { },
- "type": "http",
- "hosts": [
- "string"
], - "path_prefix": "string",
- "strip_path_prefix": true,
- "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
}List all internal services in a Kubernetes service registry.
IAM Action: gateway:GetServiceRegistry, Resource: arn:api7:gateway:gatewaygroup/%s
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"
]
}
}, - "warning_msg": "string"
}List all namespaces in a Nacos 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 |
Responses
Response samples
- 200
- default
{- "list": [
- {
- "namespace": "string",
- "namespace_show_name": "string"
}
], - "total": 0
}List all groups in a Nacos namespace.
IAM Action: gateway:GetServiceRegistry, Resource: arn:api7:gateway:gatewaygroup/%s
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
}List all internal services in a Nacos group.
IAM Action: gateway:GetServiceRegistry, Resource: arn:api7:gateway:gatewaygroup/%s
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 instance metadata of a Nacos services registry
IAM Action: gateway:GetServiceRegistry, Resource: arn:api7:gateway:gatewaygroup/%s
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 connection on a gateway group.
IAM Action: gateway:GetServiceRegistry, Resource: arn:api7:gateway:gatewaygroup/%s
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" "connecting" |
| 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
}List all internal services in a Kubernetes service registry.
IAM Action: gateway:GetServiceRegistry, Resource: arn:api7:gateway:gatewaygroup/%s
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"
]
}
}, - "warning_msg": "string"
}List all namespaces in a Nacos 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 |
Responses
Response samples
- 200
- default
{- "list": [
- {
- "namespace": "string",
- "namespace_show_name": "string"
}
], - "total": 0
}List all groups in a Nacos namespace.
IAM Action: gateway:GetServiceRegistry, Resource: arn:api7:gateway:gatewaygroup/%s
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
}List all internal services in a Nacos group.
IAM Action: gateway:GetServiceRegistry, Resource: arn:api7:gateway:gatewaygroup/%s
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 instance metadata of a Nacos services registry
IAM Action: gateway:GetServiceRegistry, Resource: arn:api7:gateway:gatewaygroup/%s
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 all labels of a resource type.
Authorizations:
path Parameters
| resource_type required | string Enum: "gateway_group" "consumer" "consumer_credential" "ssl" "service" "route" "stream_route" "role" "permission_policy" "published_service" "secret" "contact_point" "alert_policy" "certificate" "api_product" |
query Parameters
| gateway_group_id | string >= 1 |
Responses
Response samples
- 200
- default
{- "value": {
- "property1": [
- "string"
], - "property2": [
- "string"
]
}, - "warning_msg": "string"
}Update deployment settings.
IAM Action: gateway:UpdateDeploymentSetting, Resource: arn:api7:gateway:gatewaysetting/*
Authorizations:
Request Body schema: application/json
| control_plane_address | Array of strings <url_scheme_port> [ 0 .. 32 ] items unique [ items <url_scheme_port > non-empty [^\/]$ ] |
Responses
Request samples
- Payload
{- "control_plane_address": [
- "string"
]
}Response samples
- 200
- 400
- default
{- "value": {
- "control_plane_address": [
- "string"
]
}, - "warning_msg": "string"
}Update SCIM settings.
IAM Action: iam:UpdateSCIMProvisioning, Resource: arn:api7:iam:organization/*
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
}, - "warning_msg": "string"
}Update SMTP server settings.
IAM Action: iam:UpdateSMTPServer, Resource: arn:api7:iam:organization/*
Authorizations:
Request Body schema: application/json
| enable required | boolean Enable SMTP Server. |
| address required | string <host_port> The SMTP server address. |
| authentication_type | string Enum: "TLS" "STARTTLS" The authentication type of the SMTP server. |
| ssl_verify required | boolean Whether to validate server-side SSL. |
| username required | string |
| password required | string |
| from_name required | string Sender's name. |
| from_address required | string Sender's email address. |
Responses
Request samples
- Payload
{- "enable": true,
- "address": "string",
- "authentication_type": "TLS",
- "ssl_verify": true,
- "username": "string",
- "password": "string",
- "from_name": "string",
- "from_address": "string"
}Response samples
- 200
- 400
- default
{- "value": {
- "enable": true,
- "address": "string",
- "authentication_type": "TLS",
- "ssl_verify": true,
- "username": "string",
- "password": "string",
- "from_name": "string",
- "from_address": "string"
}, - "warning_msg": "string"
}Get SMTP server settings.
IAM Action: iam:GetSMTPServer, Resource: arn:api7:iam:organization/*
Authorizations:
Responses
Response samples
- 200
- 400
- default
{- "value": {
- "enable": true,
- "address": "string",
- "authentication_type": "TLS",
- "ssl_verify": true,
- "username": "string",
- "password": "string",
- "from_name": "string",
- "from_address": "string"
}, - "warning_msg": "string"
}Get a login option.
IAM Action: iam:GetLoginOption, Resource: arn:api7:iam:organization/*
Authorizations:
path Parameters
| login_option_id required | string |
Responses
Response samples
- 200
- default
{- "value": {
- "id": "string",
- "created_at": 0,
- "updated_at": 0,
- "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"
}, - "role_mapping": [
- {
- "role_id": "string",
- "role_attribute_key": "string",
- "operation": "exact_match",
- "role_attribute_value": "string"
}
], - "boundary_mapping": [
- {
- "permission_policy_id": "string",
- "attribute_key": "string",
- "operation": "exact_match",
- "attribute_value": "string"
}
]
}, - "warning_msg": "string"
}Update a login option.
IAM Action: iam:UpdateLoginOption, Resource: arn:api7:iam:organization/*
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" "built_in" The login option type. |
object | |
object | |
object | |
Array of objects A list of role mappings defining operations and conditions under which roles are applied. | |
Array of objects A list of permission boundary mappings defining operations and conditions under which permission boundary 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"
}, - "role_mapping": [
- {
- "role_id": "string",
- "role_attribute_key": "string",
- "operation": "exact_match",
- "role_attribute_value": "string"
}
], - "boundary_mapping": [
- {
- "permission_policy_id": "string",
- "attribute_key": "string",
- "operation": "exact_match",
- "attribute_value": "string"
}
]
}Response samples
- 200
- default
{- "value": {
- "id": "string",
- "created_at": 0,
- "updated_at": 0,
- "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"
}, - "role_mapping": [
- {
- "role_id": "string",
- "role_attribute_key": "string",
- "operation": "exact_match",
- "role_attribute_value": "string"
}
], - "boundary_mapping": [
- {
- "permission_policy_id": "string",
- "attribute_key": "string",
- "operation": "exact_match",
- "attribute_value": "string"
}
]
}, - "warning_msg": "string"
}Patch a login option.
IAM Action: iam:UpdateLoginOption, Resource: arn:api7:iam:organization/*
Authorizations:
path Parameters
| login_option_id required | string |
Request Body schema: application/json
| op required | string Enum: "add" "replace" The operation to be performed |
| path required | string A JSON Pointer path to the value you wish to modify or add, see https://jsonpatch.com/#json-pointer for more information |
| value required | any The value to add or replace, can be any type |
Responses
Request samples
- Payload
[- {
- "op": "add",
- "path": "string",
- "value": null
}
]Response samples
- 200
- default
{- "value": {
- "id": "string",
- "created_at": 0,
- "updated_at": 0,
- "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"
}, - "role_mapping": [
- {
- "role_id": "string",
- "role_attribute_key": "string",
- "operation": "exact_match",
- "role_attribute_value": "string"
}
], - "boundary_mapping": [
- {
- "permission_policy_id": "string",
- "attribute_key": "string",
- "operation": "exact_match",
- "attribute_value": "string"
}
]
}, - "warning_msg": "string"
}List all login options.
IAM Action: iam:GetLoginOption, Resource: arn:api7:iam:organization/*
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": [
- {
- "id": "string",
- "created_at": 0,
- "updated_at": 0,
- "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"
}, - "role_mapping": [
- {
- "role_id": "string",
- "role_attribute_key": "string",
- "operation": "exact_match",
- "role_attribute_value": "string"
}
], - "boundary_mapping": [
- {
- "permission_policy_id": "string",
- "attribute_key": "string",
- "operation": "exact_match",
- "attribute_value": "string"
}
]
}
], - "total": 0
}Create a login option.
IAM Action: iam:CreateLoginOption, Resource: arn:api7:iam:organization/*
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" "built_in" The login option type. |
object | |
object | |
object | |
Array of objects A list of role mappings defining operations and conditions under which roles are applied. | |
Array of objects A list of permission boundary mappings defining operations and conditions under which permission boundary 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"
}, - "role_mapping": [
- {
- "role_id": "string",
- "role_attribute_key": "string",
- "operation": "exact_match",
- "role_attribute_value": "string"
}
], - "boundary_mapping": [
- {
- "permission_policy_id": "string",
- "attribute_key": "string",
- "operation": "exact_match",
- "attribute_value": "string"
}
]
}Response samples
- 200
- default
{- "list": [
- {
- "id": "string",
- "created_at": 0,
- "updated_at": 0,
- "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"
}, - "role_mapping": [
- {
- "role_id": "string",
- "role_attribute_key": "string",
- "operation": "exact_match",
- "role_attribute_value": "string"
}
], - "boundary_mapping": [
- {
- "permission_policy_id": "string",
- "attribute_key": "string",
- "operation": "exact_match",
- "attribute_value": "string"
}
]
}
], - "total": 0
}List all login options for login.
list login options for login
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": [
- {
- "id": "string",
- "created_at": 0,
- "updated_at": 0,
- "name": "string",
- "logo": "string",
- "disable": false,
- "provider_type": "ldap"
}
], - "total": 0
}Update developer portal public access.
IAM Action: portal:UpdateDeveloperPortalPublicAccess, Resource: arn:api7:portal:loginsetting/*
Authorizations:
Request Body schema: application/json
| portal_public_access | boolean Whether to allow public access to the developer portal. |
Responses
Request samples
- Payload
{- "portal_public_access": true
}Response samples
- 200
- 400
- default
{- "value": {
- "portal_public_access": true
}, - "warning_msg": "string"
}List all developer login options.
IAM Action: portal:GetDeveloperLoginOption, Resource: arn:api7:portal:loginsetting/*
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
{- "value": {
- "id": "string",
- "created_at": 0,
- "updated_at": 0,
- "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"
}, - "builtin_config": {
- "enable_self_registration": true,
- "registration_auto_approval": true
}
}, - "warning_msg": "string"
}Create a developer login option.
IAM Action: portal:CreateDeveloperLoginOption, Resource: arn:api7:portal:loginsetting/*
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" "built_in" The login option type. |
object | |
object | |
object | |
object Built-in specific configuration |
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"
}, - "builtin_config": {
- "enable_self_registration": true,
- "registration_auto_approval": true
}
}Response samples
- 200
- default
{- "list": [
- {
- "id": "string",
- "created_at": 0,
- "updated_at": 0,
- "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"
}, - "role_mapping": [
- {
- "role_id": "string",
- "role_attribute_key": "string",
- "operation": "exact_match",
- "role_attribute_value": "string"
}
], - "boundary_mapping": [
- {
- "permission_policy_id": "string",
- "attribute_key": "string",
- "operation": "exact_match",
- "attribute_value": "string"
}
]
}
], - "total": 0
}Get a developer login option.
IAM Action: portal:GetDeveloperLoginOption, Resource: arn:api7:portal:loginsetting/*
Authorizations:
path Parameters
| login_option_id required | string |
Responses
Response samples
- 200
- default
{- "value": {
- "id": "string",
- "created_at": 0,
- "updated_at": 0,
- "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"
}, - "builtin_config": {
- "enable_self_registration": true,
- "registration_auto_approval": true
}
}, - "warning_msg": "string"
}Update a developer login option.
IAM Action: portal:UpdateDeveloperLoginOption, Resource: arn:api7:portal:loginsetting/*
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" "built_in" The login option type. |
object | |
object | |
object | |
object Built-in specific configuration |
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"
}, - "builtin_config": {
- "enable_self_registration": true,
- "registration_auto_approval": true
}
}Response samples
- 200
- default
{- "value": {
- "id": "string",
- "created_at": 0,
- "updated_at": 0,
- "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"
}, - "builtin_config": {
- "enable_self_registration": true,
- "registration_auto_approval": true
}
}, - "warning_msg": "string"
}Patch a developer login option.
IAM Action: portal:UpdateDeveloperLoginOption, Resource: arn:api7:portal:loginsetting/*
Authorizations:
path Parameters
| login_option_id required | string |
Request Body schema: application/json
| op required | string Enum: "add" "replace" The operation to be performed |
| path required | string A JSON Pointer path to the value you wish to modify or add, see https://jsonpatch.com/#json-pointer for more information |
| value required | any The value to add or replace, can be any type |
Responses
Request samples
- Payload
[- {
- "op": "add",
- "path": "string",
- "value": null
}
]Response samples
- 200
- default
{- "value": {
- "id": "string",
- "created_at": 0,
- "updated_at": 0,
- "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"
}, - "builtin_config": {
- "enable_self_registration": true,
- "registration_auto_approval": true
}
}, - "warning_msg": "string"
}Delete a developer login option.
IAM Action: portal:DeleteDeveloperLoginOption, Resource: arn:api7:portal:loginsetting/*
Authorizations:
path Parameters
| login_option_id required | string |
Responses
Response samples
- 200
- default
{- "value": { },
- "warning_msg": "string"
}Update Developer SCIM settings.
IAM Action: portal:UpdateDeveloperSCIMProvisioning, Resource: arn:api7:portal:loginsetting/*
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
}, - "warning_msg": "string"
}Get a login option.
IAM Action: iam:GetLoginOption, Resource: arn:api7:iam:organization/*
Authorizations:
path Parameters
| login_option_id required | string |
Responses
Response samples
- 200
- default
{- "value": {
- "id": "string",
- "created_at": 0,
- "updated_at": 0,
- "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"
}, - "role_mapping": [
- {
- "role_id": "string",
- "role_attribute_key": "string",
- "operation": "exact_match",
- "role_attribute_value": "string"
}
], - "boundary_mapping": [
- {
- "permission_policy_id": "string",
- "attribute_key": "string",
- "operation": "exact_match",
- "attribute_value": "string"
}
]
}, - "warning_msg": "string"
}Update a login option.
IAM Action: iam:UpdateLoginOption, Resource: arn:api7:iam:organization/*
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" "built_in" The login option type. |
object | |
object | |
object | |
Array of objects A list of role mappings defining operations and conditions under which roles are applied. | |
Array of objects A list of permission boundary mappings defining operations and conditions under which permission boundary 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"
}, - "role_mapping": [
- {
- "role_id": "string",
- "role_attribute_key": "string",
- "operation": "exact_match",
- "role_attribute_value": "string"
}
], - "boundary_mapping": [
- {
- "permission_policy_id": "string",
- "attribute_key": "string",
- "operation": "exact_match",
- "attribute_value": "string"
}
]
}Response samples
- 200
- default
{- "value": {
- "id": "string",
- "created_at": 0,
- "updated_at": 0,
- "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"
}, - "role_mapping": [
- {
- "role_id": "string",
- "role_attribute_key": "string",
- "operation": "exact_match",
- "role_attribute_value": "string"
}
], - "boundary_mapping": [
- {
- "permission_policy_id": "string",
- "attribute_key": "string",
- "operation": "exact_match",
- "attribute_value": "string"
}
]
}, - "warning_msg": "string"
}Patch a login option.
IAM Action: iam:UpdateLoginOption, Resource: arn:api7:iam:organization/*
Authorizations:
path Parameters
| login_option_id required | string |
Request Body schema: application/json
| op required | string Enum: "add" "replace" The operation to be performed |
| path required | string A JSON Pointer path to the value you wish to modify or add, see https://jsonpatch.com/#json-pointer for more information |
| value required | any The value to add or replace, can be any type |
Responses
Request samples
- Payload
[- {
- "op": "add",
- "path": "string",
- "value": null
}
]Response samples
- 200
- default
{- "value": {
- "id": "string",
- "created_at": 0,
- "updated_at": 0,
- "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"
}, - "role_mapping": [
- {
- "role_id": "string",
- "role_attribute_key": "string",
- "operation": "exact_match",
- "role_attribute_value": "string"
}
], - "boundary_mapping": [
- {
- "permission_policy_id": "string",
- "attribute_key": "string",
- "operation": "exact_match",
- "attribute_value": "string"
}
]
}, - "warning_msg": "string"
}List all login options.
IAM Action: iam:GetLoginOption, Resource: arn:api7:iam:organization/*
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": [
- {
- "id": "string",
- "created_at": 0,
- "updated_at": 0,
- "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"
}, - "role_mapping": [
- {
- "role_id": "string",
- "role_attribute_key": "string",
- "operation": "exact_match",
- "role_attribute_value": "string"
}
], - "boundary_mapping": [
- {
- "permission_policy_id": "string",
- "attribute_key": "string",
- "operation": "exact_match",
- "attribute_value": "string"
}
]
}
], - "total": 0
}Create a login option.
IAM Action: iam:CreateLoginOption, Resource: arn:api7:iam:organization/*
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" "built_in" The login option type. |
object | |
object | |
object | |
Array of objects A list of role mappings defining operations and conditions under which roles are applied. | |
Array of objects A list of permission boundary mappings defining operations and conditions under which permission boundary 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"
}, - "role_mapping": [
- {
- "role_id": "string",
- "role_attribute_key": "string",
- "operation": "exact_match",
- "role_attribute_value": "string"
}
], - "boundary_mapping": [
- {
- "permission_policy_id": "string",
- "attribute_key": "string",
- "operation": "exact_match",
- "attribute_value": "string"
}
]
}Response samples
- 200
- default
{- "list": [
- {
- "id": "string",
- "created_at": 0,
- "updated_at": 0,
- "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"
}, - "role_mapping": [
- {
- "role_id": "string",
- "role_attribute_key": "string",
- "operation": "exact_match",
- "role_attribute_value": "string"
}
], - "boundary_mapping": [
- {
- "permission_policy_id": "string",
- "attribute_key": "string",
- "operation": "exact_match",
- "attribute_value": "string"
}
]
}
], - "total": 0
}List all login options for login.
list login options for login
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": [
- {
- "id": "string",
- "created_at": 0,
- "updated_at": 0,
- "name": "string",
- "logo": "string",
- "disable": false,
- "provider_type": "ldap"
}
], - "total": 0
}Get name of resources
Authorizations:
Request Body schema: application/json
| resource_type required | string Enum: "gateway_group" "contact_point" |
| ids required | Array of strings non-empty unique [ items non-empty ] |
Responses
Request samples
- Payload
{- "resource_type": "gateway_group",
- "ids": [
- "string"
]
}Response samples
- 200
- default
{- "value": {
- "property1": "string",
- "property2": "string"
}, - "warning_msg": "string"
}List all custom plugins.
IAM Action: gateway:GetCustomPlugin, Resource: arn:api7:gateway:gatewaysetting/*
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": [
- {
- "id": "string",
- "name": "string",
- "version": "string",
- "source_code": "string",
- "catalog": "string",
- "description": "string",
- "author": "string",
- "logo": "string",
- "is_obfuscated": true,
- "created_at": 0,
- "updated_at": 0
}
], - "total": 0
}Create a custom plugin.
IAM Action: gateway:CreateCustomPlugin, Resource: arn:api7:gateway:gatewaysetting/*
Authorizations:
Request Body schema: application/json
| source_code required | string The source code for the plugin. |
| file | string The source code or zip file for the plugin. |
| catalog | string The catalog to which the plugin belongs, such as 'Traffic' or 'Observability'. |
| description | string A brief description of the plugin. |
| documentation_link | string A link to the plugin's documentation. |
| author | string |
| logo | string An optional logo for the plugin. |
Responses
Request samples
- Payload
{- "source_code": "string",
- "file": "string",
- "catalog": "string",
- "description": "string",
- "author": "string",
- "logo": "string"
}Response samples
- 200
- default
{- "value": {
- "id": "string",
- "name": "string",
- "version": "string",
- "source_code": "string",
- "catalog": "string",
- "description": "string",
- "author": "string",
- "logo": "string",
- "is_obfuscated": true,
- "created_at": 0,
- "updated_at": 0
}, - "warning_msg": "string"
}Get a custom plugin
IAM Action: gateway:GetCustomPlugin, Resource: arn:api7:gateway:gatewaysetting/*
Authorizations:
path Parameters
| custom_plugin_id required | string |
Responses
Response samples
- 200
- default
{- "value": {
- "id": "string",
- "name": "string",
- "version": "string",
- "source_code": "string",
- "catalog": "string",
- "description": "string",
- "author": "string",
- "logo": "string",
- "is_obfuscated": true,
- "created_at": 0,
- "updated_at": 0
}, - "warning_msg": "string"
}Update a custom plugin.
IAM Action: gateway:UpdateCustomPlugin, Resource: arn:api7:gateway:gatewaysetting/*
Authorizations:
path Parameters
| custom_plugin_id required | string |
Request Body schema: application/json
| source_code required | string The source code for the plugin. |
| file | string The source code or zip file for the plugin. |
| catalog | string The catalog to which the plugin belongs, such as 'Traffic' or 'Observability'. |
| description | string A brief description of the plugin. |
| documentation_link | string A link to the plugin's documentation. |
| author | string |
| logo | string An optional logo for the plugin. |
Responses
Request samples
- Payload
{- "source_code": "string",
- "file": "string",
- "catalog": "string",
- "description": "string",
- "author": "string",
- "logo": "string"
}Response samples
- 200
- default
{- "value": {
- "id": "string",
- "name": "string",
- "version": "string",
- "source_code": "string",
- "catalog": "string",
- "description": "string",
- "author": "string",
- "logo": "string",
- "is_obfuscated": true,
- "created_at": 0,
- "updated_at": 0
}, - "warning_msg": "string"
}Parse custom plugin code.
Authorizations:
Request Body schema: application/json
| file required | string The source code or zip file for the plugin. |
Responses
Request samples
- Payload
{- "file": "string"
}Response samples
- 200
- default
{- "value": {
- "name": "string",
- "version": "string",
- "catalog": "string",
- "description": "string",
- "author": "string",
- "logo": "string"
}, - "warning_msg": "string"
}Create a ContactPoint
IAM Action: iam:CreateContactPoint, Resource: arn:api7:iam:contactpoint/*
Authorizations:
Request Body schema: application/json
| name | string |
| desc | string <= 65536 characters The object description. |
object | |
| type | string Value: "email" |
required | object |
Responses
Request samples
- Payload
{- "name": "string",
- "desc": "string",
- "labels": {
- "keyA": "valueA",
- "keyB": "valueB"
}, - "type": "email",
- "email_config": {
- "email": [
- "user@example.com"
]
}
}Response samples
- 200
- 400
- default
{- "value": {
- "name": "string",
- "desc": "string",
- "labels": {
- "keyA": "valueA",
- "keyB": "valueB"
}, - "type": "email",
- "email_config": {
- "email": [
- "user@example.com"
]
}, - "id": "string",
- "created_at": 0,
- "updated_at": 0
}, - "warning_msg": "string"
}List ContactPoints
IAM Action: iam:GetContactPoint, Resource: arn:api7:iam:contactpoint/%s
Authorizations:
query Parameters
| type | string Enum: "email" "webhook" |
object non-empty | |
| search | string The search keyword. |
| 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 | integer <int64> >= 1 The page number, starting from 1. |
| page_size | integer <int64> >= 1 The page size. It must be greater than 0. |
Responses
Response samples
- 200
- 400
- default
{- "list": [
- {
- "name": "string",
- "desc": "string",
- "labels": {
- "keyA": "valueA",
- "keyB": "valueB"
}, - "type": "email",
- "email_config": {
- "email": [
- "user@example.com"
]
}, - "id": "string",
- "created_at": 0,
- "updated_at": 0
}
], - "total": 0
}Get a ContactPoint
IAM Action: iam:GetContactPoint, Resource: arn:api7:iam:contactpoint/%s
Authorizations:
path Parameters
| contact_point_id required | string |
Responses
Response samples
- 200
- 400
- default
{- "value": {
- "name": "string",
- "desc": "string",
- "labels": {
- "keyA": "valueA",
- "keyB": "valueB"
}, - "type": "email",
- "email_config": {
- "email": [
- "user@example.com"
]
}, - "id": "string",
- "created_at": 0,
- "updated_at": 0
}, - "warning_msg": "string"
}Update a ContactPoint
IAM Action: iam:UpdateContactPoint, Resource: arn:api7:iam:contactpoint/%s
Authorizations:
path Parameters
| contact_point_id required | string |
Request Body schema: application/json
| name | string |
| desc | string <= 65536 characters The object description. |
object | |
| type | string Value: "email" |
required | object |
Responses
Request samples
- Payload
{- "name": "string",
- "desc": "string",
- "labels": {
- "keyA": "valueA",
- "keyB": "valueB"
}, - "type": "email",
- "email_config": {
- "email": [
- "user@example.com"
]
}
}Response samples
- 200
- 400
- default
{- "value": {
- "name": "string",
- "desc": "string",
- "labels": {
- "keyA": "valueA",
- "keyB": "valueB"
}, - "type": "email",
- "email_config": {
- "email": [
- "user@example.com"
]
}, - "id": "string",
- "created_at": 0,
- "updated_at": 0
}, - "warning_msg": "string"
}List notification logs of a ContactPoint
IAM Action: iam:GetContactPoint, Resource: arn:api7:iam:contactpoint/%s
Authorizations:
path Parameters
| contact_point_id required | string |
query Parameters
| start_at | integer |
| end_at | integer |
| resource_type | string Enum: "alert_policy" "api_product_notification" |
| status | string |
| order_by | string Default: "send_time" Value: "send_time" |
| direction | string Default: "desc" Enum: "asc" "desc" It should be ascending or descending (case-insensitive). By default, it is set to descending. |
| page | integer <int64> >= 1 The page number, starting from 1. |
| page_size | integer <int64> >= 1 The page size. It must be greater than 0. |
Responses
Response samples
- 200
- 400
- default
{- "list": [
- {
- "id": "string",
- "created_at": 0,
- "updated_at": 0,
- "contact_point_name": "string",
- "resource_type": "alert_policy",
- "resource_id": "string",
- "resource_name": "string",
- "status": "string",
- "send_time": 0,
- "request": "string",
- "response": "string"
}
], - "total": 0
}List a ContactPoint usages.
IAM Action: iam:GetContactPoint, Resource: arn:api7:iam:contactpoint/%s
Authorizations:
path Parameters
| contact_point_id required | string |
query Parameters
| resource_type | string Enum: "alert_policy" "api_product_notification" |
| page | integer <int64> >= 1 The page number, starting from 1. |
| page_size | integer <int64> >= 1 The page size. It must be greater than 0. |
Responses
Response samples
- 200
- 400
- default
{- "list": [
- {
- "id": "string",
- "created_at": 0,
- "updated_at": 0,
- "resource_type": "alert_policy",
- "resource_id": "string",
- "resource_name": "string"
}
], - "total": 0
}List approvals.
For event type api_product_subscription: IAM Action: portal:ApproveAPIProductSubscription, Resource: arn:api7:portal:apiproduct/%s For event type developer_registration: IAM Action: portal:ApproveDeveloperSignUp, Resource: arn:api7:portal:developer/*
Authorizations:
query Parameters
| status | string Enum: "pending" "finished" |
| result | string Enum: "accepted" "rejected" |
| event | string Enum: "api_product_subscription" "developer_registration" |
| resource_type | string Enum: "api_product" "developer" |
| resource_name | string |
| operator_name | string |
| applicant_name | string |
| 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: "applied_at" Enum: "applied_at" "resource_name" "operated_at" |
| search | string The search keyword. |
Responses
Response samples
- 200
- 400
- default
{- "list": [
- {
- "id": "string",
- "created_at": 0,
- "updated_at": 0,
- "event": "api_product_subscription",
- "resource_type": "api_product",
- "resource_id": "string",
- "resource_name": "string",
- "applicant_type": "developer",
- "applicant_id": "string",
- "applicant_name": "string",
- "applied_at": 0,
- "result": "accepted",
- "operator_id": "string",
- "operator_name": "string",
- "operated_at": 0,
- "status": "pending"
}
], - "total": 0
}Accept an approval.
For event type api_product_subscription: IAM Action: portal:ApproveAPIProductSubscription, Resource: arn:api7:portal:apiproduct/%s For event type developer_registration: IAM Action: portal:ApproveDeveloperSignUp, Resource: arn:api7:portal:developer/*
Authorizations:
path Parameters
| approval_id required | string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$ The object ID. |
Responses
Response samples
- 200
- 400
- default
{- "value": { },
- "warning_msg": "string"
}Accept an approval.
For event type api_product_subscription: IAM Action: portal:ApproveAPIProductSubscription, Resource: arn:api7:portal:apiproduct/%s For event type developer_registration: IAM Action: portal:ApproveDeveloperSignUp, Resource: arn:api7:portal:developer/*
Authorizations:
path Parameters
| approval_id required | string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$ The object ID. |
Responses
Response samples
- 200
- 400
- default
{- "value": { },
- "warning_msg": "string"
}