跳到主要内容

API7 Enterprise Admin APIs (3.8.14)

Download OpenAPI specification:Download

API7 Enterprise Admin APIs are RESTful APIs that allow you to create and manage API7 resources.

Published Service

Create a published service on a gateway group

IAM Action: gateway:CreatePublishedService, Resource: arn:api7:gateway:gatewaygroup/%s/publishedservice/*

Authorizations:
APIKeyAuthBasicAuth
query Parameters
gateway_group_id
required
string >= 1
Example: gateway_group_id=86fb9981-d9d2-4555-9df8-91ae92129335

Gateway group ID. Optional when using the gateway group admin key to authenticate.

Request Body schema: application/json
One of
name
string [ 1 .. 65536 ] characters

The object name.

object

Key-value pairs of labels.

desc
string <= 65536 characters

The object description.

type
required
string
Default: "http"
Enum: "http" "stream"

Type of service. http corresponds to L7 service and stream corresponds to L4 service.

hosts
Array of strings [ 1 .. 32 ] items unique [ items^\*?[0-9a-zA-Z-._]+$ ]

The hosts of 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

If true, strip the path prefix when proxying the request to the upstream.

plugins
object

Key-value pairs of plugins and their configurations on the object.

Use Upstream Nodes (object) or Use Service Registry (object) or Use Service Registry with Args (object)

The upstream contains necessary information for the gateway to proxy request to the backend service.

status
integer
Default: 1
Enum: 0 1

The object status. 1 means the object is active while 0 means it's inactive.

Responses

Request samples

Content type
application/json
Example
{
  • "name": "us-west-rsc",
  • "labels": {
    },
  • "desc": "Object description.",
  • "type": "http",
  • "hosts": [
    ],
  • "path_prefix": "/test",
  • "strip_path_prefix": true,
  • "plugins": {
    },
  • "upstream": {
    },
  • "status": 0
}

Response samples

Content type
application/json
{
  • "value": {
    }
}

List all published services on a gateway group

IAM Action: gateway:GetPublishedService, Resource: arn:api7:gateway:gatewaygroup/%s/publishedservice/%s

Authorizations:
APIKeyAuthBasicAuth
query Parameters
page
integer <int64> >= 1

Page number of the listed resources. Used together with page_size. For example, when there are 13 resources in total, if the query parameters are page=1&page_size=10, the GET response will show the route total as 13 and display 10 resources in the first page. If the query parameters are page=2&page_size=10, the GET response will show the route total as 13 and display 3 resources in the second page.

page_size
integer <int64> >= 1

Number of resources listed per page. Used together with page. For example, when there are 13 resources in total, if the query parameters are page=1&page_size=10, the GET response will show the route total as 13 and display 10 resources in the first page. If the query parameters are page=2&page_size=10, the GET response will show the route total as 13 and display 3 resources in the second page.

direction
string
Default: "desc"
Enum: "asc" "desc"

Order to list the resources by. The sorting index follows the configuration of order_by.

order_by
string
Default: "updated_at"
Enum: "created_at" "updated_at" "last_published" "name"

Index to order the services by.

search
string
Example: search=version%3Dv2

Condition to search resources by.

gateway_group_id
required
string >= 1
Example: gateway_group_id=86fb9981-d9d2-4555-9df8-91ae92129335

Gateway group ID. Optional when using the gateway group admin key to authenticate.

unhealthy_nodes
Array of strings
Items Enum: "unhealthy_nodes_exists" "no_unhealthy_nodes"

Filter of services based on whether unhealthy nodes exist. unhealthy_nodes_exists filters for services where unhealthy nodes exist. no_unhealthy_nodes filters for servies where there are no unhealthy nodes.

labels
string non-empty
Example: labels=labels%5Bversion%5D=v2

Label(s) to filter resources by. The format is labels[key]=value and should be URL-encoded.

hosts
Array of strings[ items^\*?[0-9a-zA-Z-._]+$ ]
Example: hosts=httpbin.org
type
Array of strings
Items Enum: "http" "stream"

Type of service. http corresponds to L7 service and stream corresponds to L4 service.

with_publish_info
boolean
Default: false

If true, include publish information in the response, such as apisix_route_id, route_version_id, and service_version_id. The additional information is only useful for the Dashboard and not for API users.

Responses

Response samples

Content type
application/json
{
  • "list": [
    ],
  • "total": 1
}

Get a published service on a gateway group

IAM Action: gateway:GetPublishedService, Resource: arn:api7:gateway:gatewaygroup/%s/publishedservice/%s

Authorizations:
APIKeyAuthBasicAuth
path Parameters
service_id
required
string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$
Example: bd58fce2-b6cc-4d2d-a53c-6ce11b19c101

The unique identifier of the published service.

query Parameters
gateway_group_id
required
string >= 1
Example: gateway_group_id=86fb9981-d9d2-4555-9df8-91ae92129335

Gateway group ID. Optional when using the gateway group admin key to authenticate.

with_publish_info
boolean
Default: false

If true, include publish information in the response, such as apisix_route_id, route_version_id, and service_version_id. The additional information is only useful for the Dashboard and not for API users.

Responses

Response samples

Content type
application/json
{
  • "value": {
    }
}

Update a published service without publishing

IAM Action: gateway:UpdatePublishedService, Resource: arn:api7:gateway:gatewaygroup/%s/publishedservice/%s

Authorizations:
APIKeyAuthBasicAuth
path Parameters
service_id
required
string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$
Example: bd58fce2-b6cc-4d2d-a53c-6ce11b19c101

The unique identifier of the published service.

query Parameters
gateway_group_id
required
string >= 1
Example: gateway_group_id=86fb9981-d9d2-4555-9df8-91ae92129335

Gateway group ID. Optional when using the gateway group admin key to authenticate.

Request Body schema: application/json
One of
name
string [ 1 .. 65536 ] characters

The object name.

object

Key-value pairs of labels.

desc
string <= 65536 characters

The object description.

type
required
string
Default: "http"
Enum: "http" "stream"

Type of service. http corresponds to L7 service and stream corresponds to L4 service.

hosts
Array of strings [ 1 .. 32 ] items unique [ items^\*?[0-9a-zA-Z-._]+$ ]

The hosts of 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

If true, strip the path prefix when proxying the request to the upstream.

plugins
object

Key-value pairs of plugins and their configurations on the object.

Use Upstream Nodes (object) or Use Service Registry (object) or Use Service Registry with Args (object)

The upstream contains necessary information for the gateway to proxy request to the backend service.

status
integer
Default: 1
Enum: 0 1

The object status. 1 means the object is active while 0 means it's inactive.

Responses

Request samples

Content type
application/json
Example
{
  • "name": "us-west-rsc",
  • "labels": {
    },
  • "desc": "Object description.",
  • "type": "http",
  • "hosts": [
    ],
  • "path_prefix": "/test",
  • "strip_path_prefix": true,
  • "plugins": {
    },
  • "upstream": {
    },
  • "status": 0
}

Response samples

Content type
application/json
{
  • "value": {
    }
}

Patch a published service on a gateway group

IAM Action: gateway:UpdatePublishedService, Resource: arn:api7:gateway:gatewaygroup/%s/publishedservice/%s

Authorizations:
APIKeyAuthBasicAuth
path Parameters
service_id
required
string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$
Example: bd58fce2-b6cc-4d2d-a53c-6ce11b19c101

The unique identifier of the published service.

query Parameters
gateway_group_id
required
string >= 1
Example: gateway_group_id=86fb9981-d9d2-4555-9df8-91ae92129335

Gateway group ID. Optional when using the gateway group admin key to authenticate.

Request Body schema: application/json
Array
One of
op
required
string
Enum: "add" "replace"

The operation to be performed.

path
required
string

Path to the field to be replaced or added. Path should follow the JSON Pointer format.

value
required
any

Value to be added or replaced.

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Response samples

Content type
application/json
{
  • "value": {
    }
}

Delete a published service on a gateway group

IAM Action: gateway:DeletePublishedService, Resource: arn:api7:gateway:gatewaygroup/%s/publishedservice/%s

Authorizations:
APIKeyAuthBasicAuth
path Parameters
service_id
required
string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$
Example: bd58fce2-b6cc-4d2d-a53c-6ce11b19c101

The unique identifier of the published service.

query Parameters
gateway_group_id
required
string >= 1
Example: gateway_group_id=86fb9981-d9d2-4555-9df8-91ae92129335

Gateway group ID. Optional when using the gateway group admin key to authenticate.

Responses

Response samples

Content type
application/json
""

Create a upstream in a published service on a gateway group

IAM Action: gateway:UpdatePublishedService, Resource: arn:api7:gateway:gatewaygroup/%s/publishedservice/%s

Authorizations:
APIKeyAuthBasicAuth
path Parameters
service_id
required
string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$
Example: bd58fce2-b6cc-4d2d-a53c-6ce11b19c101

The unique identifier of the published service.

query Parameters
gateway_group_id
required
string >= 1
Example: gateway_group_id=86fb9981-d9d2-4555-9df8-91ae92129335

Gateway group ID. Optional when using the gateway group admin key to authenticate.

Request Body schema: application/json
One of
One of
required
Array of objects <= 64 items

The upstream endpoints.

name
string [ 1 .. 65536 ] characters
Default: "default"

The upstream name.

scheme
string
Default: "http"
Enum: "http" "https" "grpc" "grpcs"

The protocol that is used for communicating with the backend service when the service type is http.

desc
string <= 65536 characters

The object description.

type
string
Default: "roundrobin"
Enum: "chash" "roundrobin" "least_conn" "ewma"

Load balancing algorithm to distribute traffic.

hash_on
string
Default: "vars"
Enum: "vars" "header" "cookie" "consumer" "vars_combinations"

Type of value to hash on when type is chash.

key
string non-empty

The key is used when type is chash. The corresponding upstream ID is determined based on the hash_on and key values. - When hash_on is set to vars, key is required and supports built-in variables. - When hash_on is set to vars_combinations, key is required and supports a combination of built-in variables. - When hash_on is set to header, key is required and should be the name of the header. - When hash_on is set to cookie, key is required and should be the name of the cookie. - When hash_on is set to consumer, key is not required, as the hash algorithm uses the authenticated consumer name.

retries
integer [ 0 .. 65535 ]

The number of retries while passing the request to an upstream.

object

Upstream keepalive connection pool.

object

Timeout settings for connecting to, sending, and receiving messages from the upstream, in seconds.

retry_timeout
number <float> >= 0
Default: 0

Timeout to continue with retries. Setting this to 0 disables the retry timeout.

pass_host
string
Default: "pass"
Enum: "pass" "node" "rewrite"

The approach to decide the host header before forwarding requests to an upstream.

  • pass uses the host specified in the service.
  • node uses the host specified in the upstream.
  • rewrite uses custom host.
upstream_host
string^\*?[0-9a-zA-Z-._]+$

Value to rewrite the host header to. Only used if pass_host is rewrite.

object or object
Deprecated

Replace with client_certificate and ca_certificates

client_certificate
string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$

The object ID.

ca_certificates
Array of strings[ items [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$ ]

CA certificates.

tls_verify
boolean

If true, verify TLS.

Active Check (object) or Passive Check (object)

Health check configurations.

Responses

Request samples

Content type
application/json
Example
{
  • "name": "us-west-rsc",
  • "scheme": "http",
  • "desc": "Object description.",
  • "type": "chash",
  • "hash_on": "vars",
  • "key": "$host",
  • "retries": 50,
  • "keepalive_pool": {
    },
  • "timeout": {
    },
  • "retry_timeout": 0,
  • "pass_host": "pass",
  • "upstream_host": "httpbin.org",
  • "nodes": [
    ],
  • "service_name": "<ServiceRegistryID>/public/group/httpbin",
  • "discovery_type": "nacos",
  • "discovery_args": {
    },
  • "tls": {
    },
  • "client_certificate": "bd58fce2-b6cc-4d2d-a53c-6ce11b19c101",
  • "ca_certificates": [
    ],
  • "tls_verify": true,
  • "checks": {
    }
}

Response samples

Content type
application/json
{
  • "value": {
    }
}

List all upstreams in a published service on a gateway group

IAM Action: gateway:GetPublishedService, Resource: arn:api7:gateway:gatewaygroup/%s/publishedservice/%s

Authorizations:
APIKeyAuthBasicAuth
path Parameters
service_id
required
string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$
Example: bd58fce2-b6cc-4d2d-a53c-6ce11b19c101

The unique identifier of the published service.

query Parameters
gateway_group_id
required
string >= 1
Example: gateway_group_id=86fb9981-d9d2-4555-9df8-91ae92129335

Gateway group ID. Optional when using the gateway group admin key to authenticate.

order_by
string
Default: "created_at"
Value: "created_at"
direction
string
Default: "asc"
Value: "asc"

Order to list the routes by. The sorting index follows the configuration of order_by.

with_publish_info
boolean
Default: false

If true, include publish information in the response, such as apisix_route_id, route_version_id, and service_version_id. The additional information is only useful for the Dashboard and not for API users.

Responses

Response samples

Content type
application/json
{
  • "list": [
    ],
  • "total": 1
}

Get a upstream in a published service on a gateway group

IAM Action: gateway:GetPublishedService, Resource: arn:api7:gateway:gatewaygroup/%s/publishedservice/%s

Authorizations:
APIKeyAuthBasicAuth
path Parameters
service_id
required
string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$
Example: bd58fce2-b6cc-4d2d-a53c-6ce11b19c101

The unique identifier of the published service.

upstream_id
required
string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$
Example: bd58fce2-b6cc-4d2d-a53c-6ce11b19c101

The unique identifier of the upstream.

query Parameters
gateway_group_id
required
string >= 1
Example: gateway_group_id=86fb9981-d9d2-4555-9df8-91ae92129335

Gateway group ID. Optional when using the gateway group admin key to authenticate.

with_publish_info
boolean
Default: false

If true, include publish information in the response, such as apisix_route_id, route_version_id, and service_version_id. The additional information is only useful for the Dashboard and not for API users.

Responses

Response samples

Content type
application/json
{
  • "value": {
    }
}

Update a upstream in a published service on a gateway group

IAM Action: gateway:UpdatePublishedService, Resource: arn:api7:gateway:gatewaygroup/%s/publishedservice/%s

Authorizations:
APIKeyAuthBasicAuth
path Parameters
service_id
required
string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$
Example: bd58fce2-b6cc-4d2d-a53c-6ce11b19c101

The unique identifier of the published service.

upstream_id
required
string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$
Example: bd58fce2-b6cc-4d2d-a53c-6ce11b19c101

The unique identifier of the upstream.

query Parameters
gateway_group_id
required
string >= 1
Example: gateway_group_id=86fb9981-d9d2-4555-9df8-91ae92129335

Gateway group ID. Optional when using the gateway group admin key to authenticate.

Request Body schema: application/json
One of
One of
required
Array of objects <= 64 items

The upstream endpoints.

name
string [ 1 .. 65536 ] characters
Default: "default"

The upstream name.

scheme
string
Default: "http"
Enum: "http" "https" "grpc" "grpcs"

The protocol that is used for communicating with the backend service when the service type is http.

desc
string <= 65536 characters

The object description.

type
string
Default: "roundrobin"
Enum: "chash" "roundrobin" "least_conn" "ewma"

Load balancing algorithm to distribute traffic.

hash_on
string
Default: "vars"
Enum: "vars" "header" "cookie" "consumer" "vars_combinations"

Type of value to hash on when type is chash.

key
string non-empty

The key is used when type is chash. The corresponding upstream ID is determined based on the hash_on and key values. - When hash_on is set to vars, key is required and supports built-in variables. - When hash_on is set to vars_combinations, key is required and supports a combination of built-in variables. - When hash_on is set to header, key is required and should be the name of the header. - When hash_on is set to cookie, key is required and should be the name of the cookie. - When hash_on is set to consumer, key is not required, as the hash algorithm uses the authenticated consumer name.

retries
integer [ 0 .. 65535 ]

The number of retries while passing the request to an upstream.

object

Upstream keepalive connection pool.

object

Timeout settings for connecting to, sending, and receiving messages from the upstream, in seconds.

retry_timeout
number <float> >= 0
Default: 0

Timeout to continue with retries. Setting this to 0 disables the retry timeout.

pass_host
string
Default: "pass"
Enum: "pass" "node" "rewrite"

The approach to decide the host header before forwarding requests to an upstream.

  • pass uses the host specified in the service.
  • node uses the host specified in the upstream.
  • rewrite uses custom host.
upstream_host
string^\*?[0-9a-zA-Z-._]+$

Value to rewrite the host header to. Only used if pass_host is rewrite.

object or object
Deprecated

Replace with client_certificate and ca_certificates

client_certificate
string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$

The object ID.

ca_certificates
Array of strings[ items [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$ ]

CA certificates.

tls_verify
boolean

If true, verify TLS.

Active Check (object) or Passive Check (object)

Health check configurations.

Responses

Request samples

Content type
application/json
Example
{
  • "name": "us-west-rsc",
  • "scheme": "http",
  • "desc": "Object description.",
  • "type": "chash",
  • "hash_on": "vars",
  • "key": "$host",
  • "retries": 50,
  • "keepalive_pool": {
    },
  • "timeout": {
    },
  • "retry_timeout": 0,
  • "pass_host": "pass",
  • "upstream_host": "httpbin.org",
  • "nodes": [
    ],
  • "service_name": "<ServiceRegistryID>/public/group/httpbin",
  • "discovery_type": "nacos",
  • "discovery_args": {
    },
  • "tls": {
    },
  • "client_certificate": "bd58fce2-b6cc-4d2d-a53c-6ce11b19c101",
  • "ca_certificates": [
    ],
  • "tls_verify": true,
  • "checks": {
    }
}

Response samples

Content type
application/json
{
  • "value": {
    }
}

Patch a upstream in a published service on a gateway group

IAM Action: gateway:UpdatePublishedService, Resource: arn:api7:gateway:gatewaygroup/%s/publishedservice/%s

Authorizations:
APIKeyAuthBasicAuth
path Parameters
service_id
required
string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$
Example: bd58fce2-b6cc-4d2d-a53c-6ce11b19c101

The unique identifier of the published service.

upstream_id
required
string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$
Example: bd58fce2-b6cc-4d2d-a53c-6ce11b19c101

The unique identifier of the upstream.

query Parameters
gateway_group_id
required
string >= 1
Example: gateway_group_id=86fb9981-d9d2-4555-9df8-91ae92129335

Gateway group ID. Optional when using the gateway group admin key to authenticate.

Request Body schema: application/json
Array
One of
op
required
string
Enum: "add" "replace"

The operation to be performed.

path
required
string

Path to the field to be replaced or added. Path should follow the JSON Pointer format.

value
required
any

Value to be added or replaced.

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Response samples

Content type
application/json
{
  • "value": {
    }
}

Delete a upstream in a published service on a gateway group

IAM Action: gateway:UpdatePublishedService, Resource: arn:api7:gateway:gatewaygroup/%s/publishedservice/%s

Authorizations:
APIKeyAuthBasicAuth
path Parameters
service_id
required
string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$
Example: bd58fce2-b6cc-4d2d-a53c-6ce11b19c101

The unique identifier of the published service.

upstream_id
required
string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$
Example: bd58fce2-b6cc-4d2d-a53c-6ce11b19c101

The unique identifier of the upstream.

query Parameters
gateway_group_id
required
string >= 1
Example: gateway_group_id=86fb9981-d9d2-4555-9df8-91ae92129335

Gateway group ID. Optional when using the gateway group admin key to authenticate.

Responses

Response samples

Content type
application/json
{
  • "value": { }
}

Import services based on OpenAPI Specification

IAM Action: gateway:CreatePublishedService, Resource: arn:api7:gateway:gatewaygroup/%s/publishedservice/*

Authorizations:
APIKeyAuthBasicAuth
query Parameters
gateway_group_id
required
string >= 1
Example: gateway_group_id=86fb9981-d9d2-4555-9df8-91ae92129335

Gateway group ID. Optional when using the gateway group admin key to authenticate.

Request Body schema: application/json
name
string [ 1 .. 65536 ] characters

The object name.

object

Key-value pairs of labels.

desc
string <= 65536 characters

The object description.

type
string
Default: "http"
Value: "http"

Type of service.

Array of objects non-empty unique

Route configurations.

Responses

Request samples

Content type
application/json
{
  • "name": "us-west-rsc",
  • "labels": {
    },
  • "desc": "Object description.",
  • "type": "http",
  • "routes": [
    ]
}

Response samples

Content type
application/json
{
  • "value": {
    }
}

Convert OpenAPI Specification to service and route resources

Convert a given OpenAPI Specification to service and route resources without creating these resources.

Authorizations:
APIKeyAuthBasicAuth
Request Body schema: application/json
raw_openapi
required
string

The raw OpenAPI content.

Responses

Request samples

Content type
application/json
{
  • "raw_openapi": "Raw OpenAPI spec"
}

Response samples

Content type
application/json
{
  • "value": {
    }
}

Create a route in a published service on a gateway group

IAM Action: gateway:UpdatePublishedService, Resource: arn:api7:gateway:gatewaygroup/%s/publishedservice/%s

Authorizations:
APIKeyAuthBasicAuth
query Parameters
gateway_group_id
required
string >= 1
Example: gateway_group_id=86fb9981-d9d2-4555-9df8-91ae92129335

Gateway group ID. Optional when using the gateway group admin key to authenticate.

Request Body schema: application/json
name
required
string [ 1 .. 65536 ] characters

The object name.

object

Key-value pairs of labels.

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

Conditions in the format of APISIX expressions to match requests to routes. Case sensitive when matching a cookie name.

paths
required
Array of strings [ 1 .. 64 ] items [ items [ 1 .. 4096 ] characters ]

The URL path(s) (after the service's path_prefix) that the route will listen to. Each path should start with a /.

priority
integer
Default: 0

Priority of the route. A higher value corresponds to a higher priority. If different Routes matches to the same URI, then the Route with the highest priority will be matched.

enable_websocket
boolean or null

If true, enable Websocket proxying for the route.

object

Timeout settings for connecting to, sending, and receiving messages from the upstream, in seconds.

plugins
object

Key-value pairs of plugins and their configurations on the object.

service_id
required
string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$

The service ID.

Responses

Request samples

Content type
application/json
{
  • "name": "us-west-rsc",
  • "labels": {
    },
  • "desc": "Object description.",
  • "methods": [
    ],
  • "vars": [
    ],
  • "paths": [
    ],
  • "priority": 0,
  • "enable_websocket": true,
  • "timeout": {
    },
  • "plugins": {
    },
  • "service_id": "b32e678e-7f6b-4a50-b113-550621ed4c01"
}

Response samples

Content type
application/json
{
  • "value": {
    }
}

List all routes in a published service

IAM Action: gateway:GetPublishedService, Resource: arn:api7:gateway:gatewaygroup/%s/publishedservice/%s

Authorizations:
APIKeyAuthBasicAuth
query Parameters
service_id
required
string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$
Example: service_id=bd58fce2-b6cc-4d2d-a53c-6ce11b19c101

The unique identifier of the published service.

page
integer <int64> >= 1

Page number of the listed resources. Used together with page_size. For example, when there are 13 resources in total, if the query parameters are page=1&page_size=10, the GET response will show the route total as 13 and display 10 resources in the first page. If the query parameters are page=2&page_size=10, the GET response will show the route total as 13 and display 3 resources in the second page.

page_size
integer <int64> >= 1

Number of resources listed per page. Used together with page. For example, when there are 13 resources in total, if the query parameters are page=1&page_size=10, the GET response will show the route total as 13 and display 10 resources in the first page. If the query parameters are page=2&page_size=10, the GET response will show the route total as 13 and display 3 resources in the second page.

direction
string
Default: "desc"
Enum: "asc" "desc"

Order to list the resources by. The sorting index follows the configuration of order_by.

order_by
string
Default: "updated_at"
Enum: "created_at" "updated_at"

Index to order resources by.

search
string
Example: search=version%3Dv2

Condition to search resources by.

gateway_group_id
required
string >= 1
Example: gateway_group_id=86fb9981-d9d2-4555-9df8-91ae92129335

Gateway group ID. Optional when using the gateway group admin key to authenticate.

with_publish_info
boolean
Default: false

If true, include publish information in the response, such as apisix_route_id, route_version_id, and service_version_id. The additional information is only useful for the Dashboard and not for API users.

Responses

Response samples

Content type
application/json
{
  • "list": [
    ],
  • "total": 1
}

Get a route in a published servcie on a gateway group

IAM Action: gateway:GetPublishedService, Resource: arn:api7:gateway:gatewaygroup/%s/publishedservice/%s

Authorizations:
APIKeyAuthBasicAuth
path Parameters
route_id
required
string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$
Example: bd58fce2-b6cc-4d2d-a53c-6ce11b19c101

The unique identifier of the published route.

query Parameters
gateway_group_id
required
string >= 1
Example: gateway_group_id=86fb9981-d9d2-4555-9df8-91ae92129335

Gateway group ID. Optional when using the gateway group admin key to authenticate.

with_publish_info
boolean
Default: false

If true, include publish information in the response, such as apisix_route_id, route_version_id, and service_version_id. The additional information is only useful for the Dashboard and not for API users.

Responses

Response samples

Content type
application/json
{
  • "value": {
    }
}

Update a route in a published service on a gateway group

IAM Action: gateway:UpdatePublishedService, Resource: arn:api7:gateway:gatewaygroup/%s/publishedservice/%s

Authorizations:
APIKeyAuthBasicAuth
path Parameters
route_id
required
string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$
Example: bd58fce2-b6cc-4d2d-a53c-6ce11b19c101

The unique identifier of the published route.

query Parameters
gateway_group_id
required
string >= 1
Example: gateway_group_id=86fb9981-d9d2-4555-9df8-91ae92129335

Gateway group ID. Optional when using the gateway group admin key to authenticate.

Request Body schema: application/json
name
required
string [ 1 .. 65536 ] characters

The object name.

object

Key-value pairs of labels.

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

Conditions in the format of APISIX expressions to match requests to routes. Case sensitive when matching a cookie name.

paths
required
Array of strings [ 1 .. 64 ] items [ items [ 1 .. 4096 ] characters ]

The URL path(s) (after the service's path_prefix) that the route will listen to. Each path should start with a /.

priority
integer
Default: 0

Priority of the route. A higher value corresponds to a higher priority. If different Routes matches to the same URI, then the Route with the highest priority will be matched.

enable_websocket
boolean or null

If true, enable Websocket proxying for the route.

object

Timeout settings for connecting to, sending, and receiving messages from the upstream, in seconds.

plugins
object

Key-value pairs of plugins and their configurations on the object.

service_id
required
string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$

The service ID.

Responses

Request samples

Content type
application/json
{
  • "name": "us-west-rsc",
  • "labels": {
    },
  • "desc": "Object description.",
  • "methods": [
    ],
  • "vars": [
    ],
  • "paths": [
    ],
  • "priority": 0,
  • "enable_websocket": true,
  • "timeout": {
    },
  • "plugins": {
    },
  • "service_id": "b32e678e-7f6b-4a50-b113-550621ed4c01"
}

Response samples

Content type
application/json
{
  • "value": {
    }
}

Patch a route in a published service on a gateway group

IAM Action: gateway:UpdatePublishedService, Resource: arn:api7:gateway:gatewaygroup/%s/publishedservice/%s

Authorizations:
APIKeyAuthBasicAuth
path Parameters
route_id
required
string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$
Example: bd58fce2-b6cc-4d2d-a53c-6ce11b19c101

The unique identifier of the published route.

query Parameters
gateway_group_id
required
string >= 1
Example: gateway_group_id=86fb9981-d9d2-4555-9df8-91ae92129335

Gateway group ID. Optional when using the gateway group admin key to authenticate.

Request Body schema: application/json
Array
One of
op
required
string
Enum: "add" "replace"

The operation to be performed.

path
required
string

Path to the field to be replaced or added. Path should follow the JSON Pointer format.

value
required
any

Value to be added or replaced.

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Response samples

Content type
application/json
{
  • "value": {
    }
}

Delete a route in a published service on a gateway group

IAM Action: gateway:UpdatePublishedService, Resource: arn:api7:gateway:gatewaygroup/%s/publishedservice/%s

Authorizations:
APIKeyAuthBasicAuth
path Parameters
route_id
required
string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$
Example: bd58fce2-b6cc-4d2d-a53c-6ce11b19c101

The unique identifier of the published route.

query Parameters
gateway_group_id
required
string >= 1
Example: gateway_group_id=86fb9981-d9d2-4555-9df8-91ae92129335

Gateway group ID. Optional when using the gateway group admin key to authenticate.

Responses

Response samples

Content type
application/json
""

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:
APIKeyAuthBasicAuth
query Parameters
gateway_group_id
required
string >= 1
Example: gateway_group_id=86fb9981-d9d2-4555-9df8-91ae92129335

Gateway group ID. Optional when using the gateway group admin key to authenticate.

Request Body schema: application/json
name
required
string [ 1 .. 65536 ] characters

The object name.

object

Key-value pairs of labels.

desc
string <= 65536 characters

The object description.

IPv4 (string) or IPv4/CIDR (string) or IPv6 (string) or IPv6/CIDR (string)

Client address filter. If the client request does not originate from remote_addr, the request will not be forwarded to the stream server.

(IPAddress (IPv4 (string) or IPv4/CIDR (string) or IPv6 (string) or IPv6/CIDR (string))) or Domain (string)

Stream server address.

server_port
integer <= 65535

Stream server port.

plugins
object

Key-value pairs of plugins and their configurations on the object.

service_id
required
string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$

The service ID.

Responses

Request samples

Content type
application/json
{
  • "name": "us-west-rsc",
  • "labels": {
    },
  • "desc": "Object description.",
  • "remote_addr": "127.0.0.1",
  • "server_addr": "mysql",
  • "server_port": 3306,
  • "plugins": {
    },
  • "service_id": "b32e678e-7f6b-4a50-b113-550621ed4c01"
}

Response samples

Content type
application/json
{
  • "value": {
    }
}

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:
APIKeyAuthBasicAuth
query Parameters
service_id
required
string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$
Example: service_id=bd58fce2-b6cc-4d2d-a53c-6ce11b19c101

The unique identifier of the published service.

page
integer <int64> >= 1

Page number of the listed resources. Used together with page_size. For example, when there are 13 resources in total, if the query parameters are page=1&page_size=10, the GET response will show the route total as 13 and display 10 resources in the first page. If the query parameters are page=2&page_size=10, the GET response will show the route total as 13 and display 3 resources in the second page.

page_size
integer <int64> >= 1

Number of resources listed per page. Used together with page. For example, when there are 13 resources in total, if the query parameters are page=1&page_size=10, the GET response will show the route total as 13 and display 10 resources in the first page. If the query parameters are page=2&page_size=10, the GET response will show the route total as 13 and display 3 resources in the second page.

direction
string
Default: "desc"
Enum: "asc" "desc"

Order to list the resources by. The sorting index follows the configuration of order_by.

order_by
string
Default: "updated_at"
Enum: "created_at" "updated_at"

Index to order resources by.

search
string
Example: search=version%3Dv2

Condition to search resources by.

gateway_group_id
required
string >= 1
Example: gateway_group_id=86fb9981-d9d2-4555-9df8-91ae92129335

Gateway group ID. Optional when using the gateway group admin key to authenticate.

with_publish_info
boolean
Default: false

If true, include publish information in the response, such as apisix_route_id, route_version_id, and service_version_id. The additional information is only useful for the Dashboard and not for API users.

Responses

Response samples

Content type
application/json
{
  • "list": [
    ],
  • "total": 1
}

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:
APIKeyAuthBasicAuth
path Parameters
stream_route_id
required
string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$
Example: bd58fce2-b6cc-4d2d-a53c-6ce11b19c101

The unique identifier of the published stream route.

query Parameters
gateway_group_id
required
string >= 1
Example: gateway_group_id=86fb9981-d9d2-4555-9df8-91ae92129335

Gateway group ID. Optional when using the gateway group admin key to authenticate.

with_publish_info
boolean
Default: false

If true, include publish information in the response, such as apisix_route_id, route_version_id, and service_version_id. The additional information is only useful for the Dashboard and not for API users.

Responses

Response samples

Content type
application/json
{
  • "value": {
    }
}

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:
APIKeyAuthBasicAuth
path Parameters
stream_route_id
required
string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$
Example: bd58fce2-b6cc-4d2d-a53c-6ce11b19c101

The unique identifier of the published stream route.

query Parameters
gateway_group_id
required
string >= 1
Example: gateway_group_id=86fb9981-d9d2-4555-9df8-91ae92129335

Gateway group ID. Optional when using the gateway group admin key to authenticate.

Request Body schema: application/json
name
required
string [ 1 .. 65536 ] characters

The object name.

object

Key-value pairs of labels.

desc
string <= 65536 characters

The object description.

IPv4 (string) or IPv4/CIDR (string) or IPv6 (string) or IPv6/CIDR (string)

Client address filter. If the client request does not originate from remote_addr, the request will not be forwarded to the stream server.

(IPAddress (IPv4 (string) or IPv4/CIDR (string) or IPv6 (string) or IPv6/CIDR (string))) or Domain (string)

Stream server address.

server_port
integer <= 65535

Stream server port.

plugins
object

Key-value pairs of plugins and their configurations on the object.

service_id
required
string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$

The service ID.

Responses

Request samples

Content type
application/json
{
  • "name": "us-west-rsc",
  • "labels": {
    },
  • "desc": "Object description.",
  • "remote_addr": "127.0.0.1",
  • "server_addr": "mysql",
  • "server_port": 3306,
  • "plugins": {
    },
  • "service_id": "b32e678e-7f6b-4a50-b113-550621ed4c01"
}

Response samples

Content type
application/json
{
  • "value": {
    }
}

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:
APIKeyAuthBasicAuth
path Parameters
stream_route_id
required
string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$
Example: bd58fce2-b6cc-4d2d-a53c-6ce11b19c101

The unique identifier of the published stream route.

query Parameters
gateway_group_id
required
string >= 1
Example: gateway_group_id=86fb9981-d9d2-4555-9df8-91ae92129335

Gateway group ID. Optional when using the gateway group admin key to authenticate.

Responses

Response samples

Content type
application/json
""

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:
APIKeyAuthBasicAuth
path Parameters
gateway_group_id
required
string >= 1
Example: 86fb9981-d9d2-4555-9df8-91ae92129335

Gateway group ID.

query Parameters
unhealthy_nodes
Array of strings
Items Enum: "unhealthy_nodes_exists" "no_unhealthy_nodes"

Filter of services based on whether unhealthy nodes exist. unhealthy_nodes_exists filters for services where unhealthy nodes exist. no_unhealthy_nodes filters for servies where there are no unhealthy nodes.

direction
string
Default: "desc"
Enum: "asc" "desc"

Order to list the resources by. The sorting index follows the configuration of order_by.

page_size
integer <int64> >= 1

Number of resources listed per page. Used together with page. For example, when there are 13 resources in total, if the query parameters are page=1&page_size=10, the GET response will show the route total as 13 and display 10 resources in the first page. If the query parameters are page=2&page_size=10, the GET response will show the route total as 13 and display 3 resources in the second page.

page
integer <int64> >= 1

Page number of the listed resources. Used together with page_size. For example, when there are 13 resources in total, if the query parameters are page=1&page_size=10, the GET response will show the route total as 13 and display 10 resources in the first page. If the query parameters are page=2&page_size=10, the GET response will show the route total as 13 and display 3 resources in the second page.

order_by
string
Default: "updated_at"
Enum: "created_at" "updated_at" "publish_time" "name"

Index to order published services by.

search
string
Example: search=version%3Dv2

Condition to search resources by.

labels
string non-empty
Example: labels=labels%5Bversion%5D=v2

Label(s) to filter resources by. The format is labels[key]=value and should be URL-encoded.

hosts
Array of strings[ items^\*?[0-9a-zA-Z-._]+$ ]
Example: hosts=httpbin.org
type
Array of strings
Items Enum: "http" "stream"

Type of service. http corresponds to L7 service and stream corresponds to L4 service.

Responses

Response samples

Content type
application/json
{
  • "list": [
    ],
  • "total": 1
}

Get a published service on a gateway group

IAM Action: gateway:GetPublishedService, Resource: arn:api7:gateway:gatewaygroup/%s/publishedservice/%s

Authorizations:
APIKeyAuthBasicAuth
path Parameters
gateway_group_id
required
string >= 1
Example: 86fb9981-d9d2-4555-9df8-91ae92129335

Gateway group ID.

service_template_id
required
string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$
Example: bd58fce2-b6cc-4d2d-a53c-6ce11b19c101

The unique identifier of the service template.

Responses

Response samples

Content type
application/json
{
  • "value": {
    }
}

Delete a published service on a gateway group

IAM Action: gateway:DeletePublishedService, Resource: arn:api7:gateway:gatewaygroup/%s/publishedservice/%s

Authorizations:
APIKeyAuthBasicAuth
path Parameters
gateway_group_id
required
string >= 1
Example: 86fb9981-d9d2-4555-9df8-91ae92129335

Gateway group ID.

service_template_id
required
string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$
Example: bd58fce2-b6cc-4d2d-a53c-6ce11b19c101

The unique identifier of the service template.

Responses

Response samples

Content type
application/json
""

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:
APIKeyAuthBasicAuth
path Parameters
gateway_group_id
required
string >= 1
Example: 86fb9981-d9d2-4555-9df8-91ae92129335

Gateway group ID.

service_template_id
required
string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$
Example: bd58fce2-b6cc-4d2d-a53c-6ce11b19c101

The unique identifier of the service template.

Responses

Response samples

Content type
application/json
{
  • "value": {
    }
}

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:
APIKeyAuthBasicAuth
path Parameters
gateway_group_id
required
string >= 1
Example: 86fb9981-d9d2-4555-9df8-91ae92129335

Gateway group ID.

service_template_id
required
string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$
Example: bd58fce2-b6cc-4d2d-a53c-6ce11b19c101

The unique identifier of the service template.

Request Body schema: application/json
raw_openapi
string

The raw OpenAPI spec of the service.

Responses

Request samples

Content type
application/json
{
  • "raw_openapi": "Raw OpenAPI spec"
}

Response samples

Content type
application/json
{
  • "value": {
    }
}

List all routes of published service on a gateway group

IAM Action: gateway:GetPublishedService, Resource: arn:api7:gateway:gatewaygroup/%s/publishedservice/%s

Authorizations:
APIKeyAuthBasicAuth
path Parameters
gateway_group_id
required
string >= 1
Example: 86fb9981-d9d2-4555-9df8-91ae92129335

Gateway group ID.

service_template_id
required
string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$
Example: bd58fce2-b6cc-4d2d-a53c-6ce11b19c101

The unique identifier of the service template.

query Parameters
page
integer <int64> >= 1

Page number of the listed resources. Used together with page_size. For example, when there are 13 resources in total, if the query parameters are page=1&page_size=10, the GET response will show the route total as 13 and display 10 resources in the first page. If the query parameters are page=2&page_size=10, the GET response will show the route total as 13 and display 3 resources in the second page.

page_size
integer <int64> >= 1

Number of resources listed per page. Used together with page. For example, when there are 13 resources in total, if the query parameters are page=1&page_size=10, the GET response will show the route total as 13 and display 10 resources in the first page. If the query parameters are page=2&page_size=10, the GET response will show the route total as 13 and display 3 resources in the second page.

direction
string
Default: "desc"
Enum: "asc" "desc"

Order to list the resources by. The sorting index follows the configuration of order_by.

order_by
string
Default: "updated_at"
Enum: "created_at" "updated_at"

Index to order resources by.

Responses

Response samples

Content type
application/json
{
  • "list": [
    ],
  • "total": 1
}

Get a route in a published service on a gateway group

IAM Action: gateway:GetPublishedService, Resource: arn:api7:gateway:gatewaygroup/%s/publishedservice/%s

Authorizations:
APIKeyAuthBasicAuth
path Parameters
gateway_group_id
required
string >= 1
Example: 86fb9981-d9d2-4555-9df8-91ae92129335

Gateway group ID.

service_template_id
required
string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$
Example: bd58fce2-b6cc-4d2d-a53c-6ce11b19c101

The unique identifier of the service template.

route_template_id
required
string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$
Example: bd58fce2-b6cc-4d2d-a53c-6ce11b19c101

The unique identifier of the route in the service template.

Responses

Response samples

Content type
application/json
{
  • "value": {
    }
}

Get the runtime configuration of a route in a published service on a gateway group

IAM Action: gateway:GetPublishedService, Resource: arn:api7:gateway:gatewaygroup/%s/publishedservice/%s

Authorizations:
APIKeyAuthBasicAuth
path Parameters
gateway_group_id
required
string >= 1
Example: 86fb9981-d9d2-4555-9df8-91ae92129335

Gateway group ID.

service_template_id
required
string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$
Example: bd58fce2-b6cc-4d2d-a53c-6ce11b19c101

The unique identifier of the service template.

route_template_id
required
string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$
Example: bd58fce2-b6cc-4d2d-a53c-6ce11b19c101

The unique identifier of the route in the service template.

Responses

Response samples

Content type
application/json
{
  • "value": {
    }
}

Update the runtime configuration of a route in a published service on a gateway group

IAM Action: gateway:UpdatePublishedService, Resource: arn:api7:gateway:gatewaygroup/%s/publishedservice/%s

Authorizations:
APIKeyAuthBasicAuth
path Parameters
gateway_group_id
required
string >= 1
Example: 86fb9981-d9d2-4555-9df8-91ae92129335

Gateway group ID.

service_template_id
required
string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$
Example: bd58fce2-b6cc-4d2d-a53c-6ce11b19c101

The unique identifier of the service template.

route_template_id
required
string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$
Example: bd58fce2-b6cc-4d2d-a53c-6ce11b19c101

The unique identifier of the route in the service template.

Request Body schema: application/json
Array
One of
op
required
string
Enum: "add" "replace"

The operation to be performed.

path
required
string

Path to the field to be replaced or added. Path should follow the JSON Pointer format.

value
required
any

Value to be added or replaced.

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Response samples

Content type
application/json
{
  • "value": {
    }
}

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:
APIKeyAuthBasicAuth
path Parameters
gateway_group_id
required
string >= 1
Example: 86fb9981-d9d2-4555-9df8-91ae92129335

Gateway group ID.

service_template_id
required
string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$
Example: bd58fce2-b6cc-4d2d-a53c-6ce11b19c101

The unique identifier of the service template.

query Parameters
page
integer <int64> >= 1

Page number of the listed resources. Used together with page_size. For example, when there are 13 resources in total, if the query parameters are page=1&page_size=10, the GET response will show the route total as 13 and display 10 resources in the first page. If the query parameters are page=2&page_size=10, the GET response will show the route total as 13 and display 3 resources in the second page.

page_size
integer <int64> >= 1

Number of resources listed per page. Used together with page. For example, when there are 13 resources in total, if the query parameters are page=1&page_size=10, the GET response will show the route total as 13 and display 10 resources in the first page. If the query parameters are page=2&page_size=10, the GET response will show the route total as 13 and display 3 resources in the second page.

direction
string
Default: "desc"
Enum: "asc" "desc"

Order to list the resources by. The sorting index follows the configuration of order_by.

order_by
string
Default: "updated_at"
Enum: "created_at" "updated_at"

Index to order resources by.

Responses

Response samples

Content type
application/json
{
  • "list": [
    ],
  • "total": 1
}

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:
APIKeyAuthBasicAuth
path Parameters
gateway_group_id
required
string >= 1
Example: 86fb9981-d9d2-4555-9df8-91ae92129335

Gateway group ID.

service_template_id
required
string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$
Example: bd58fce2-b6cc-4d2d-a53c-6ce11b19c101

The unique identifier of the service template.

stream_route_template_id
required
string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$
Example: bd58fce2-b6cc-4d2d-a53c-6ce11b19c101

The unique identifier of the stream route in the service template.

Responses

Response samples

Content type
application/json
{
  • "value": {
    }
}

Get the runtime configuration of a stream route in a published service on a gateway group

IAM Action: gateway:GetPublishedService, Resource: arn:api7:gateway:gatewaygroup/%s/publishedservice/%s

Authorizations:
APIKeyAuthBasicAuth
path Parameters
gateway_group_id
required
string >= 1
Example: 86fb9981-d9d2-4555-9df8-91ae92129335

Gateway group ID.

service_template_id
required
string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$
Example: bd58fce2-b6cc-4d2d-a53c-6ce11b19c101

The unique identifier of the service template.

stream_route_template_id
required
string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$
Example: bd58fce2-b6cc-4d2d-a53c-6ce11b19c101

The unique identifier of the stream route in the service template.

Responses

Response samples

Content type
application/json
{
  • "value": {
    }
}

Update the runtime configuration of a stream route in a published service on a gateway group

IAM Action: gateway:UpdatePublishedService, Resource: arn:api7:gateway:gatewaygroup/%s/publishedservice/%s

Authorizations:
APIKeyAuthBasicAuth
path Parameters
gateway_group_id
required
string >= 1
Example: 86fb9981-d9d2-4555-9df8-91ae92129335

Gateway group ID.

service_template_id
required
string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$
Example: bd58fce2-b6cc-4d2d-a53c-6ce11b19c101

The unique identifier of the service template.

stream_route_template_id
required
string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$
Example: bd58fce2-b6cc-4d2d-a53c-6ce11b19c101

The unique identifier of the stream route in the service template.

Request Body schema: application/json
Array
One of
op
required
string
Enum: "add" "replace"

The operation to be performed.

path
required
string

Path to the field to be replaced or added. Path should follow the JSON Pointer format.

value
required
any

Value to be added or replaced.

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Response samples

Content type
application/json
{
  • "value": {
    }
}

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:
APIKeyAuthBasicAuth
path Parameters
gateway_group_id
required
string >= 1
Example: 86fb9981-d9d2-4555-9df8-91ae92129335

Gateway group ID.

service_template_id
required
string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$
Example: bd58fce2-b6cc-4d2d-a53c-6ce11b19c101

The unique identifier of the service template.

query Parameters
direction
string
Default: "desc"
Enum: "asc" "desc"

Order to list the resources by. The sorting index follows the configuration of order_by.

order_by
string
Default: "publish_time"
Value: "publish_time"

Index to order resources by.

Responses

Response samples

Content type
application/json
{
  • "list": [
    ],
  • "total": 1
}

Get service runtime configurations of a published service on a gateway group

IAM Action: gateway:GetPublishedService, Resource: arn:api7:gateway:gatewaygroup/%s/publishedservice/%s

Authorizations:
APIKeyAuthBasicAuth
path Parameters
gateway_group_id
required
string >= 1
Example: 86fb9981-d9d2-4555-9df8-91ae92129335

Gateway group ID.

service_template_id
required
string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$
Example: bd58fce2-b6cc-4d2d-a53c-6ce11b19c101

The unique identifier of the service template.

Responses

Response samples

Content type
application/json
{
  • "value": {
    }
}

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:
APIKeyAuthBasicAuth
path Parameters
gateway_group_id
required
string >= 1
Example: 86fb9981-d9d2-4555-9df8-91ae92129335

Gateway group ID.

service_template_id
required
string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$
Example: bd58fce2-b6cc-4d2d-a53c-6ce11b19c101

The unique identifier of the service template.

query Parameters
dry-run
string
Value: "all"

When specified, run the operation in dry-run mode.

Request Body schema: application/json
Array
One of
op
required
string
Enum: "add" "replace"

The operation to be performed.

path
required
string

Path to the field to be replaced or added. Path should follow the JSON Pointer format.

value
required
any

Value to be added or replaced.

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Response samples

Content type
application/json
{
  • "value": {
    }
}

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:
APIKeyAuthBasicAuth
path Parameters
gateway_group_id
required
string >= 1
Example: 86fb9981-d9d2-4555-9df8-91ae92129335

Gateway group ID.

service_template_id
required
string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$
Example: bd58fce2-b6cc-4d2d-a53c-6ce11b19c101

The unique identifier of the service template.

Responses

Response samples

Content type
application/json
{
  • "value": {
    }
}

List all published services connected to a service registry

IAM Action: gateway:GetServiceRegistry, Resource: arn:api7:gateway:gatewaygroup/%s

Authorizations:
APIKeyAuthBasicAuth
path Parameters
service_registry_id
required
string >= 1
Example: 86fb9981-d9d2-4555-9df8-91ae92129335

Service registry ID.

gateway_group_id
required
string >= 1
Example: 86fb9981-d9d2-4555-9df8-91ae92129335

Gateway group ID.

query Parameters
page
integer <int64> >= 1

Page number of the listed resources. Used together with page_size. For example, when there are 13 resources in total, if the query parameters are page=1&page_size=10, the GET response will show the route total as 13 and display 10 resources in the first page. If the query parameters are page=2&page_size=10, the GET response will show the route total as 13 and display 3 resources in the second page.

page_size
integer <int64> >= 1

Number of resources listed per page. Used together with page. For example, when there are 13 resources in total, if the query parameters are page=1&page_size=10, the GET response will show the route total as 13 and display 10 resources in the first page. If the query parameters are page=2&page_size=10, the GET response will show the route total as 13 and display 3 resources in the second page.

direction
string
Default: "desc"
Enum: "asc" "desc"

Order to list the resources by. The sorting index follows the configuration of order_by.

order_by
string
Default: "updated_at"
Enum: "created_at" "updated_at" "publish_time" "name"

Index to order published services by.

Responses

Response samples

Content type
application/json
{
  • "list": [
    ],
  • "total": 1
}

Check service conflict

Authorizations:
APIKeyAuthBasicAuth
Request Body schema: application/json
non-empty
create_new_version
boolean

If true, create a new service version.

gateway_group_id
string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$

The gateway group ID.

Array of objects non-empty

Services configurations.

Responses

Request samples

Content type
application/json
{
  • "create_new_version": true,
  • "gateway_group_id": "bc1b95c9-b348-4832-acc3-e257d2342df1",
  • "services": [
    ]
}

Response samples

Content type
application/json
{
  • "value": {
    }
}

Service Template

Create a service template

IAM Action: gateway:CreateServiceTemplate, Resource: arn:api7:gateway:servicetemplate/*

Authorizations:
APIKeyAuthBasicAuth
Request Body schema: application/json
non-empty
name
required
string [ 1 .. 65536 ] characters

The object name.

object

Key-value pairs of labels.

desc
string <= 65536 characters

The object description.

type
string
Default: "http"
Enum: "http" "stream"

Type of service. http corresponds to L7 service and stream corresponds to L4 service.

Responses

Request samples

Content type
application/json
{
  • "name": "us-west-rsc",
  • "labels": {
    },
  • "desc": "Object description.",
  • "type": "http"
}

Response samples

Content type
application/json
{
  • "value": {
    }
}

Get all service templates

IAM Action: gateway:GetServiceTemplate, Resource: arn:api7:gateway:servicetemplate/%s

Authorizations:
APIKeyAuthBasicAuth
query Parameters
page
integer <int64> >= 1

Page number of the listed resources. Used together with page_size. For example, when there are 13 resources in total, if the query parameters are page=1&page_size=10, the GET response will show the route total as 13 and display 10 resources in the first page. If the query parameters are page=2&page_size=10, the GET response will show the route total as 13 and display 3 resources in the second page.

page_size
integer <int64> >= 1

Number of resources listed per page. Used together with page. For example, when there are 13 resources in total, if the query parameters are page=1&page_size=10, the GET response will show the route total as 13 and display 10 resources in the first page. If the query parameters are page=2&page_size=10, the GET response will show the route total as 13 and display 3 resources in the second page.

direction
string
Default: "desc"
Enum: "asc" "desc"

Order to list the resources by. The sorting index follows the configuration of order_by.

order_by
string
Default: "updated_at"
Enum: "created_at" "updated_at" "last_published" "name"

Index to order the services by.

search
string
Example: search=version%3Dv2

Condition to search resources by.

labels
string non-empty
Example: labels=labels%5Bversion%5D=v2

Label(s) to filter resources by. The format is labels[key]=value and should be URL-encoded.

gateway_group_id
string >= 1

Gateway group ID.

last_publish_start_at
integer >= 0
last_publish_end_at
integer >= 0
type
string
Enum: "http" "stream"
Example: type=http

Type of service. http corresponds to L7 service and stream corresponds to L4 service.

Responses

Response samples

Content type
application/json
{
  • "list": [
    ],
  • "total": 1
}

Get a service template by ID

IAM Action: gateway:GetServiceTemplate, Resource: arn:api7:gateway:servicetemplate/%s

Authorizations:
APIKeyAuthBasicAuth
path Parameters
service_template_id
required
string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$
Example: bd58fce2-b6cc-4d2d-a53c-6ce11b19c101

The unique identifier of the service template.

Responses

Response samples

Content type
application/json
{
  • "value": {
    }
}

Update a service template by ID

IAM Action: gateway:UpdateServiceTemplate, Resource: arn:api7:gateway:servicetemplate/%s

Authorizations:
APIKeyAuthBasicAuth
path Parameters
service_template_id
required
string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$
Example: bd58fce2-b6cc-4d2d-a53c-6ce11b19c101

The unique identifier of the service template.

Request Body schema: application/json
non-empty
name
required
string [ 1 .. 65536 ] characters

The object name.

object

Key-value pairs of labels.

desc
string <= 65536 characters

The object description.

type
string
Default: "http"
Enum: "http" "stream"

Type of service. http corresponds to L7 service and stream corresponds to L4 service.

Responses

Request samples

Content type
application/json
{
  • "name": "us-west-rsc",
  • "labels": {
    },
  • "desc": "Object description.",
  • "type": "http"
}

Response samples

Content type
application/json
{
  • "value": {
    }
}

Patch a service template by ID

IAM Action: gateway:UpdateServiceTemplate, Resource: arn:api7:gateway:servicetemplate/%s

Authorizations:
APIKeyAuthBasicAuth
path Parameters
service_template_id
required
string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$
Example: bd58fce2-b6cc-4d2d-a53c-6ce11b19c101

The unique identifier of the service template.

query Parameters
dry-run
string
Value: "all"

When specified, run the operation in dry-run mode.

Request Body schema: application/json
Array
One of
op
required
string
Enum: "add" "replace"

The operation to be performed.

path
required
string

Path to the field to be replaced or added. Path should follow the JSON Pointer format.

value
required
any

Value to be added or replaced.

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Response samples

Content type
application/json
{
  • "value": {
    }
}

Delete a service template

IAM Action: gateway:DeleteServiceTemplate, Resource: arn:api7:gateway:servicetemplate/%s

Authorizations:
APIKeyAuthBasicAuth
path Parameters
service_template_id
required
string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$
Example: bd58fce2-b6cc-4d2d-a53c-6ce11b19c101

The unique identifier of the service template.

Responses

Response samples

Content type
application/json
""

Get the OpenAPI Specification of a service template

IAM Action: gateway:GetServiceTemplate, Resource: arn:api7:gateway:servicetemplate/%s

Authorizations:
APIKeyAuthBasicAuth
path Parameters
service_template_id
required
string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$
Example: bd58fce2-b6cc-4d2d-a53c-6ce11b19c101

The unique identifier of the service template.

Responses

Response samples

Content type
application/json
{
  • "value": {
    }
}

Update the OpenAPI Specification of a service template

IAM Action: gateway:UpdateServiceTemplate, Resource: arn:api7:gateway:servicetemplate/%s

Authorizations:
APIKeyAuthBasicAuth
path Parameters
service_template_id
required
string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$
Example: bd58fce2-b6cc-4d2d-a53c-6ce11b19c101

The unique identifier of the service template.

Request Body schema: application/json
raw_openapi
string

The raw OpenAPI spec of the service.

Responses

Request samples

Content type
application/json
{
  • "raw_openapi": "Raw OpenAPI spec"
}

Response samples

Content type
application/json
{
  • "value": {
    }
}

Generate an OpenAPI specification from service templates

IAM Action: gateway:GetServiceTemplate, Resource: arn:api7:gateway:servicetemplate/%s

Authorizations:
APIKeyAuthBasicAuth
query Parameters
scope
string
Enum: "partial" "all"

Scope of the service.

Request Body schema: application/json
service_ids
Array of strings[ items [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$ ]

The service ID list.

required
object

API metadata.

Array of objects

An array of one or more base servers in the exported API definition.

Responses

Request samples

Content type
application/json
{
  • "service_ids": [
    ],
  • "info": {
    },
  • "servers": []
}

Response samples

Content type
application/json
{
  • "value": {
    }
}

Import service template based on OpenAPI Specification

IAM Action: gateway:CreateServiceTemplate, Resource: arn:api7:gateway:servicetemplate/*

Authorizations:
APIKeyAuthBasicAuth
Request Body schema: application/json
name
string [ 1 .. 65536 ] characters

The object name.

object

Key-value pairs of labels.

desc
string <= 65536 characters

The object description.

type
string
Default: "http"
Value: "http"

Type of service.

Array of objects non-empty unique

Route configurations.

Responses

Request samples

Content type
application/json
{
  • "name": "us-west-rsc",
  • "labels": {
    },
  • "desc": "Object description.",
  • "type": "http",
  • "routes": [
    ]
}

Response samples

Content type
application/json
{
  • "value": {
    }
}

Convert OpenAPI Specification to service and route resources

Convert a given OpenAPI Specification to service and route resources without creating these resources.

Authorizations:
APIKeyAuthBasicAuth
Request Body schema: application/json
raw_openapi
required
string

The raw OpenAPI content.

Responses

Request samples

Content type
application/json
{
  • "raw_openapi": "Raw OpenAPI spec"
}

Response samples

Content type
application/json
{
  • "value": {
    }
}

Create a route in a service template

IAM Action: gateway:UpdateServiceTemplate, Resource: arn:api7:gateway:servicetemplate/%s

Authorizations:
APIKeyAuthBasicAuth
Request Body schema: application/json
name
required
string [ 1 .. 65536 ] characters

The object name.

object

Key-value pairs of labels.

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

Conditions in the format of APISIX expressions to match requests to routes. Case sensitive when matching a cookie name.

paths
required
Array of strings [ 1 .. 64 ] items [ items [ 1 .. 4096 ] characters ]

The URL path(s) (after the service's path_prefix) that the route will listen to. Each path should start with a /.

priority
integer
Default: 0

Priority of the route. A higher value corresponds to a higher priority. If different Routes matches to the same URI, then the Route with the highest priority will be matched.

enable_websocket
boolean or null

If true, enable Websocket proxying for the route.

service_id
required
string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$

The service ID.

Responses

Request samples

Content type
application/json
{
  • "name": "us-west-rsc",
  • "labels": {
    },
  • "desc": "Object description.",
  • "methods": [
    ],
  • "vars": [
    ],
  • "paths": [
    ],
  • "priority": 0,
  • "enable_websocket": true,
  • "service_id": "b32e678e-7f6b-4a50-b113-550621ed4c01"
}

Response samples

Content type
application/json
{
  • "value": {
    }
}

Get all routes in a service template

IAM Action: gateway:GetServiceTemplate, Resource: arn:api7:gateway:servicetemplate/%s

Authorizations:
APIKeyAuthBasicAuth
query Parameters
service_id
required
string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$
Example: service_id=bd58fce2-b6cc-4d2d-a53c-6ce11b19c101

The unique identifier of the service template.

page
integer <int64> >= 1

Page number of the listed resources. Used together with page_size. For example, when there are 13 resources in total, if the query parameters are page=1&page_size=10, the GET response will show the route total as 13 and display 10 resources in the first page. If the query parameters are page=2&page_size=10, the GET response will show the route total as 13 and display 3 resources in the second page.

page_size
integer <int64> >= 1

Number of resources listed per page. Used together with page. For example, when there are 13 resources in total, if the query parameters are page=1&page_size=10, the GET response will show the route total as 13 and display 10 resources in the first page. If the query parameters are page=2&page_size=10, the GET response will show the route total as 13 and display 3 resources in the second page.

direction
string
Default: "desc"
Enum: "asc" "desc"

Order to list the resources by. The sorting index follows the configuration of order_by.

order_by
string
Default: "updated_at"
Enum: "created_at" "updated_at"

Index to order resources by.

search
string
Example: search=version%3Dv2

Condition to search resources by.

labels
string non-empty
Example: labels=labels%5Bversion%5D=v2

Label(s) to filter resources by. The format is labels[key]=value and should be URL-encoded.

Responses

Response samples

Content type
application/json
{
  • "list": [
    ],
  • "total": 1
}

Get a route in all service templates

IAM Action: gateway:GetServiceTemplate, Resource: arn:api7:gateway:servicetemplate/%s

Authorizations:
APIKeyAuthBasicAuth
path Parameters
route_template_id
required
string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$
Example: bd58fce2-b6cc-4d2d-a53c-6ce11b19c101

The unique identifier of the route in the service template.

Responses

Response samples

Content type
application/json
{
  • "value": {
    }
}

Update a route in service template

IAM Action: gateway:UpdateServiceTemplate, Resource: arn:api7:gateway:servicetemplate/%s

Authorizations:
APIKeyAuthBasicAuth
path Parameters
route_template_id
required
string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$
Example: bd58fce2-b6cc-4d2d-a53c-6ce11b19c101

The unique identifier of the route in the service template.

Request Body schema: application/json
name
required
string [ 1 .. 65536 ] characters

The object name.

object

Key-value pairs of labels.

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

Conditions in the format of APISIX expressions to match requests to routes. Case sensitive when matching a cookie name.

paths
required
Array of strings [ 1 .. 64 ] items [ items [ 1 .. 4096 ] characters ]

The URL path(s) (after the service's path_prefix) that the route will listen to. Each path should start with a /.

priority
integer
Default: 0

Priority of the route. A higher value corresponds to a higher priority. If different Routes matches to the same URI, then the Route with the highest priority will be matched.

enable_websocket
boolean or null

If true, enable Websocket proxying for the route.

object

Timeout settings for connecting to, sending, and receiving messages from the upstream, in seconds.

plugins
object

Key-value pairs of plugins and their configurations on the object.

service_id
string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$

The service ID.

Responses

Request samples

Content type
application/json
{
  • "name": "us-west-rsc",
  • "labels": {
    },
  • "desc": "Object description.",
  • "methods": [
    ],
  • "vars": [
    ],
  • "paths": [
    ],
  • "priority": 0,
  • "enable_websocket": true,
  • "timeout": {
    },
  • "plugins": {
    },
  • "service_id": "b32e678e-7f6b-4a50-b113-550621ed4c01"
}

Response samples

Content type
application/json
{
  • "value": {
    }
}

Patch a route in service template

IAM Action: gateway:UpdateServiceTemplate, Resource: arn:api7:gateway:servicetemplate/%s

Authorizations:
APIKeyAuthBasicAuth
path Parameters
route_template_id
required
string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$
Example: bd58fce2-b6cc-4d2d-a53c-6ce11b19c101

The unique identifier of the route in the service template.

Request Body schema: application/json
Array
One of
op
required
string
Enum: "add" "replace"

The operation to be performed.

path
required
string

Path to the field to be replaced or added. Path should follow the JSON Pointer format.

value
required
any

Value to be added or replaced.

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Response samples

Content type
application/json
{
  • "value": {
    }
}

Delete a route in service template

IAM Action: gateway:UpdateServiceTemplate, Resource: arn:api7:gateway:servicetemplate/%s

Authorizations:
APIKeyAuthBasicAuth
path Parameters
route_template_id
required
string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$
Example: bd58fce2-b6cc-4d2d-a53c-6ce11b19c101

The unique identifier of the route in the service template.

Responses

Response samples

Content type
application/json
""

Create a stream route in a service template

IAM Action: gateway:UpdateServiceTemplate, Resource: arn:api7:gateway:servicetemplate/%s

Authorizations:
APIKeyAuthBasicAuth
Request Body schema: application/json
name
required
string [ 1 .. 65536 ] characters

The object name.

object

Key-value pairs of labels.

desc
string <= 65536 characters

The object description.

IPv4 (string) or IPv4/CIDR (string) or IPv6 (string) or IPv6/CIDR (string)

Client address filter. If the client request does not originate from remote_addr, the request will not be forwarded to the stream server.

(IPAddress (IPv4 (string) or IPv4/CIDR (string) or IPv6 (string) or IPv6/CIDR (string))) or Domain (string)

Stream server address.

server_port
integer <= 65535

Stream server port.

service_id
string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$

The service ID.

Responses

Request samples

Content type
application/json
{
  • "name": "us-west-rsc",
  • "labels": {
    },
  • "desc": "Object description.",
  • "remote_addr": "127.0.0.1",
  • "server_addr": "mysql",
  • "server_port": 3306,
  • "service_id": "b32e678e-7f6b-4a50-b113-550621ed4c01"
}

Response samples

Content type
application/json
{
  • "value": {
    }
}

List all stream routes in a service template

IAM Action: gateway:GetServiceTemplate, Resource: arn:api7:gateway:servicetemplate/%s

Authorizations:
APIKeyAuthBasicAuth
query Parameters
service_id
required
string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$
Example: service_id=bd58fce2-b6cc-4d2d-a53c-6ce11b19c101

The unique identifier of the service template.

page
integer <int64> >= 1

Page number of the listed resources. Used together with page_size. For example, when there are 13 resources in total, if the query parameters are page=1&page_size=10, the GET response will show the route total as 13 and display 10 resources in the first page. If the query parameters are page=2&page_size=10, the GET response will show the route total as 13 and display 3 resources in the second page.

page_size
integer <int64> >= 1

Number of resources listed per page. Used together with page. For example, when there are 13 resources in total, if the query parameters are page=1&page_size=10, the GET response will show the route total as 13 and display 10 resources in the first page. If the query parameters are page=2&page_size=10, the GET response will show the route total as 13 and display 3 resources in the second page.

direction
string
Default: "desc"
Enum: "asc" "desc"

Order to list the resources by. The sorting index follows the configuration of order_by.

order_by
string
Default: "updated_at"
Enum: "created_at" "updated_at"

Index to order resources by.

search
string
Example: search=version%3Dv2

Condition to search resources by.

labels
string non-empty
Example: labels=labels%5Bversion%5D=v2

Label(s) to filter resources by. The format is labels[key]=value and should be URL-encoded.

Responses

Response samples

Content type
application/json
{
  • "list": [
    ],
  • "total": 1
}

Get a stream route in a service template

IAM Action: gateway:GetServiceTemplate, Resource: arn:api7:gateway:servicetemplate/%s

Authorizations:
APIKeyAuthBasicAuth
path Parameters
stream_route_template_id
required
string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$
Example: bd58fce2-b6cc-4d2d-a53c-6ce11b19c101

The unique identifier of the stream route in the service template.

Responses

Response samples

Content type
application/json
{
  • "value": {
    }
}

Update a stream route in a service template

IAM Action: gateway:UpdateServiceTemplate, Resource: arn:api7:gateway:servicetemplate/%s

Authorizations:
APIKeyAuthBasicAuth
path Parameters
stream_route_template_id
required
string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$
Example: bd58fce2-b6cc-4d2d-a53c-6ce11b19c101

The unique identifier of the stream route in the service template.

Request Body schema: application/json
name
required
string [ 1 .. 65536 ] characters

The object name.

object

Key-value pairs of labels.

desc
string <= 65536 characters

The object description.

IPv4 (string) or IPv4/CIDR (string) or IPv6 (string) or IPv6/CIDR (string)

Client address filter. If the client request does not originate from remote_addr, the request will not be forwarded to the stream server.

(IPAddress (IPv4 (string) or IPv4/CIDR (string) or IPv6 (string) or IPv6/CIDR (string))) or Domain (string)

Stream server address.

server_port
integer <= 65535

Stream server port.

plugins
object

Key-value pairs of plugins and their configurations on the object.

service_id
string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$

The service ID.

Responses

Request samples

Content type
application/json
{
  • "name": "us-west-rsc",
  • "labels": {
    },
  • "desc": "Object description.",
  • "remote_addr": "127.0.0.1",
  • "server_addr": "mysql",
  • "server_port": 3306,
  • "plugins": {
    },
  • "service_id": "b32e678e-7f6b-4a50-b113-550621ed4c01"
}

Response samples

Content type
application/json
{
  • "value": {
    }
}

Delete a stream route in a service template

IAM Action: gateway:UpdateServiceTemplate, Resource: arn:api7:gateway:servicetemplate/%s

Authorizations:
APIKeyAuthBasicAuth
path Parameters
stream_route_template_id
required
string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$
Example: bd58fce2-b6cc-4d2d-a53c-6ce11b19c101

The unique identifier of the stream route in the service template.

Responses

Response samples

Content type
application/json
""

Get the OpenAPI Specification of a service version

IAM Action: gateway:GetServiceTemplate, Resource: arn:api7:gateway:servicetemplate/%s

Authorizations:
APIKeyAuthBasicAuth
path Parameters
service_version_id
required
string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$
Example: bd58fce2-b6cc-4d2d-a53c-6ce11b19c101

The unique identifier of the service version.

Responses

Response samples

Content type
application/json
{
  • "value": {
    }
}

Get a service version

The service version can be found by listing all service versions.
IAM Action: gateway:GetServiceTemplate, Resource: arn:api7:gateway:servicetemplate/%s

Authorizations:
APIKeyAuthBasicAuth
path Parameters
service_version_id
required
string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$
Example: bd58fce2-b6cc-4d2d-a53c-6ce11b19c101

The unique identifier of the service version.

Responses

Response samples

Content type
application/json
{
  • "value": {
    }
}

Get all routes in a service version

IAM Action: gateway:GetServiceTemplate, Resource: arn:api7:gateway:servicetemplate/%s

Authorizations:
APIKeyAuthBasicAuth
path Parameters
service_version_id
required
string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$
Example: bd58fce2-b6cc-4d2d-a53c-6ce11b19c101

The unique identifier of the service version.

query Parameters
page
integer <int64> >= 1

Page number of the listed resources. Used together with page_size. For example, when there are 13 resources in total, if the query parameters are page=1&page_size=10, the GET response will show the route total as 13 and display 10 resources in the first page. If the query parameters are page=2&page_size=10, the GET response will show the route total as 13 and display 3 resources in the second page.

page_size
integer <int64> >= 1

Number of resources listed per page. Used together with page. For example, when there are 13 resources in total, if the query parameters are page=1&page_size=10, the GET response will show the route total as 13 and display 10 resources in the first page. If the query parameters are page=2&page_size=10, the GET response will show the route total as 13 and display 3 resources in the second page.

direction
string
Default: "desc"
Enum: "asc" "desc"

Order to list the resources by. The sorting index follows the configuration of order_by.

order_by
string
Default: "updated_at"
Enum: "created_at" "updated_at"

Index to order resources by.

Responses

Response samples

Content type
application/json
{
  • "list": [
    ],
  • "total": 1
}

Get a route in a service version

IAM Action: gateway:GetServiceTemplate, Resource: arn:api7:gateway:servicetemplate/%s

Authorizations:
APIKeyAuthBasicAuth
path Parameters
service_version_id
required
string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$
Example: bd58fce2-b6cc-4d2d-a53c-6ce11b19c101

The unique identifier of the service version.

route_version_id
required
string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$
Example: bd58fce2-b6cc-4d2d-a53c-6ce11b19c101

The unique identifier of the route version.

Responses

Response samples

Content type
application/json
{
  • "value": {
    }
}

Get all stream routes in a service versions

IAM Action: gateway:GetServiceTemplate, Resource: arn:api7:gateway:servicetemplate/%s

Authorizations:
APIKeyAuthBasicAuth
path Parameters
service_version_id
required
string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$
Example: bd58fce2-b6cc-4d2d-a53c-6ce11b19c101

The unique identifier of the service version.

query Parameters
page
integer <int64> >= 1

Page number of the listed resources. Used together with page_size. For example, when there are 13 resources in total, if the query parameters are page=1&page_size=10, the GET response will show the route total as 13 and display 10 resources in the first page. If the query parameters are page=2&page_size=10, the GET response will show the route total as 13 and display 3 resources in the second page.

page_size
integer <int64> >= 1

Number of resources listed per page. Used together with page. For example, when there are 13 resources in total, if the query parameters are page=1&page_size=10, the GET response will show the route total as 13 and display 10 resources in the first page. If the query parameters are page=2&page_size=10, the GET response will show the route total as 13 and display 3 resources in the second page.

direction
string
Default: "desc"
Enum: "asc" "desc"

Order to list the resources by. The sorting index follows the configuration of order_by.

order_by
string
Default: "updated_at"
Enum: "created_at" "updated_at"

Index to order resources by.

Responses

Response samples

Content type
application/json
{
  • "list": [
    ],
  • "total": 1
}

Get a stream route in a service version

IAM Action: gateway:GetServiceTemplate, Resource: arn:api7:gateway:servicetemplate/%s

Authorizations:
APIKeyAuthBasicAuth
path Parameters
service_version_id
required
string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$
Example: bd58fce2-b6cc-4d2d-a53c-6ce11b19c101

The unique identifier of the service version.

stream_route_version_id
required
string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$
Example: bd58fce2-b6cc-4d2d-a53c-6ce11b19c101

The unique identifier of the stream route version.

Responses

Response samples

Content type
application/json
{
  • "value": {
    }
}

Publish a service template to a gateway group

IAM Action: gateway:PublishServices, Resource: arn:api7:gateway:gatewaygroup/%s/publishedservice/%s

Authorizations:
APIKeyAuthBasicAuth
Request Body schema: application/json
non-empty
create_new_version
boolean

If true, create a new service version.

gateway_group_id
string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$

The gateway group ID.

Array of objects non-empty

Services configurations.

Responses

Request samples

Content type
application/json
{
  • "create_new_version": true,
  • "gateway_group_id": "bc1b95c9-b348-4832-acc3-e257d2342df1",
  • "services": [
    ]
}

Response samples

Content type
application/json
{
  • "value": { }
}

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:
APIKeyAuthBasicAuth
path Parameters
service_template_id
required
string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$
Example: bd58fce2-b6cc-4d2d-a53c-6ce11b19c101

The unique identifier of the service template.

Responses

Response samples

Content type
application/json
{
  • "list": [
    ],
  • "total": 1
}

Get the service version name

IAM Action: gateway:GetServiceTemplate, Resource: arn:api7:gateway:servicetemplate/%s

Authorizations:
APIKeyAuthBasicAuth
path Parameters
service_template_id
required
string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$
Example: bd58fce2-b6cc-4d2d-a53c-6ce11b19c101

The unique identifier of the service template.

version
required
string

Service version.

Responses

Response samples

Content type
application/json
{
  • "value": {
    }
}

Secret Provider

List all secret providers on a gateway group

IAM Action: gateway:GetSecretProvider, Resource: arn:api7:gateway:gatewaygroup/%s/secret_provider/%s

Authorizations:
APIKeyAuthBasicAuth
query Parameters
page
integer <int64> >= 1

Page number of the listed resources. Used together with page_size. For example, when there are 13 resources in total, if the query parameters are page=1&page_size=10, the GET response will show the route total as 13 and display 10 resources in the first page. If the query parameters are page=2&page_size=10, the GET response will show the route total as 13 and display 3 resources in the second page.

page_size
integer <int64> >= 1

Number of resources listed per page. Used together with page. For example, when there are 13 resources in total, if the query parameters are page=1&page_size=10, the GET response will show the route total as 13 and display 10 resources in the first page. If the query parameters are page=2&page_size=10, the GET response will show the route total as 13 and display 3 resources in the second page.

direction
string
Default: "desc"
Enum: "asc" "desc"

Order to list the resources by. The sorting index follows the configuration of order_by.

order_by
string
Default: "updated_at"
Enum: "created_at" "updated_at"

Index to order resources by.

search
string
Example: search=version%3Dv2

Condition to search resources by.

gateway_group_id
required
string >= 1
Example: gateway_group_id=86fb9981-d9d2-4555-9df8-91ae92129335

Gateway group ID. Optional when using the gateway group admin key to authenticate.

Responses

Response samples

Content type
application/json
{
  • "list": [
    ],
  • "total": 1
}

Get a secret provider on a gateway group

IAM Action: gateway:GetSecretProvider, Resource: arn:api7:gateway:gatewaygroup/%s/secret_provider/%s

Authorizations:
APIKeyAuthBasicAuth
path Parameters
secret_provider
required
string
Enum: "vault" "aws" "kubernetes"

Secret provider.

secret_provider_id
required
string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$
Example: bd58fce2-b6cc-4d2d-a53c-6ce11b19c101

Secret provider ID.

query Parameters
gateway_group_id
required
string >= 1
Example: gateway_group_id=86fb9981-d9d2-4555-9df8-91ae92129335

Gateway group ID. Optional when using the gateway group admin key to authenticate.

Responses

Response samples

Content type
application/json
{
  • "value": {
    }
}

Delete a secret provider on a gateway group

IAM Action: gateway:DeleteSecretProvider, Resource: arn:api7:gateway:gatewaygroup/%s/secret_provider/%s

Authorizations:
APIKeyAuthBasicAuth
path Parameters
secret_provider
required
string
Enum: "vault" "aws" "kubernetes"

Secret provider.

secret_provider_id
required
string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$
Example: bd58fce2-b6cc-4d2d-a53c-6ce11b19c101

Secret provider ID.

query Parameters
gateway_group_id
required
string >= 1
Example: gateway_group_id=86fb9981-d9d2-4555-9df8-91ae92129335

Gateway group ID. Optional when using the gateway group admin key to authenticate.

Responses

Response samples

Content type
application/json
""

Update a secret provider on a gateway group

IAM Action: gateway:PutSecretProvider, Resource: arn:api7:gateway:gatewaygroup/%s/secret_provider/%s

Authorizations:
APIKeyAuthBasicAuth
path Parameters
secret_provider
required
string
Enum: "vault" "aws" "kubernetes"

Secret provider.

secret_provider_id
required
string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$
Example: bd58fce2-b6cc-4d2d-a53c-6ce11b19c101

Secret provider ID.

query Parameters
gateway_group_id
required
string >= 1
Example: gateway_group_id=86fb9981-d9d2-4555-9df8-91ae92129335

Gateway group ID. Optional when using the gateway group admin key to authenticate.

Request Body schema: application/json
One of
uri
required
string^[^/]+://([\da-zA-Z.-]+|\[[\da-fA-F:]+\])(:\d...

Vault endpoint.

prefix
required
string

Vault prefix to access secrets.

token
required
string

Vault token.

namespace
string

Vault namespace.

kv_version
string
Default: "kv-v1"
Value: "kv-v1"

Vault KV secrets engine version.

authentication_method
string
Default: "token"
Value: "token"

Authentication method.

desc
string <= 65536 characters

The object description.

object

Key-value pairs of labels.

Responses

Request samples

Content type
application/json
Example
{
  • "prefix": "kv/apisix",
  • "token": "apisix-quickstart-vault-token",
  • "namespace": "apisix",
  • "kv_version": "kv-v1",
  • "authentication_method": "token",
  • "desc": "Object description.",
  • "labels": {
    }
}

Response samples

Content type
application/json
{
  • "value": {
    }
}

Proto

List all protos on a gateway group

IAM Action: gateway:GetProto, Resource: arn:api7:gateway:gatewaygroup/%s

Authorizations:
APIKeyAuthBasicAuth
query Parameters
page
integer <int64> >= 1

Page number of the listed resources. Used together with page_size. For example, when there are 13 resources in total, if the query parameters are page=1&page_size=10, the GET response will show the route total as 13 and display 10 resources in the first page. If the query parameters are page=2&page_size=10, the GET response will show the route total as 13 and display 3 resources in the second page.

page_size
integer <int64> >= 1

Number of resources listed per page. Used together with page. For example, when there are 13 resources in total, if the query parameters are page=1&page_size=10, the GET response will show the route total as 13 and display 10 resources in the first page. If the query parameters are page=2&page_size=10, the GET response will show the route total as 13 and display 3 resources in the second page.

direction
string
Default: "desc"
Enum: "asc" "desc"

Order to list the resources by. The sorting index follows the configuration of order_by.

order_by
string
Default: "updated_at"
Enum: "created_at" "updated_at"

Index to order resources by.

search
string
Example: search=version%3Dv2

Condition to search resources by.

gateway_group_id
required
string >= 1
Example: gateway_group_id=86fb9981-d9d2-4555-9df8-91ae92129335

Gateway group ID. Optional when using the gateway group admin key to authenticate.

Responses

Response samples

Content type
application/json
{
  • "list": [
    ],
  • "total": 1
}

Create a proto on a gateway group

IAM Action: gateway:CreateProto, Resource: arn:api7:gateway:gatewaygroup/%s

Authorizations:
APIKeyAuthBasicAuth
query Parameters
gateway_group_id
required
string >= 1
Example: gateway_group_id=86fb9981-d9d2-4555-9df8-91ae92129335

Gateway group ID. Optional when using the gateway group admin key to authenticate.

Request Body schema: application/json
content
required
string [ 1 .. 1048576 ] characters

The protobuf content.

object

Key-value pairs of labels.

Responses

Request samples

Content type
application/json
{
  • "content": "syntax = \"proto3\";\n\nmessage Person {\n string name = 1;\n int32 id = 2;\n string email = 3;\n}\n",
  • "labels": {
    }
}

Response samples

Content type
application/json
{
  • "value": {
    }
}

Get a proto on a gateway group

IAM Action: gateway:GetProto, Resource: arn:api7:gateway:gatewaygroup/%s

Authorizations:
APIKeyAuthBasicAuth
path Parameters
proto_id
required
string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$
Example: bd58fce2-b6cc-4d2d-a53c-6ce11b19c101

The unique identifier of the proto.

query Parameters
gateway_group_id
required
string >= 1
Example: gateway_group_id=86fb9981-d9d2-4555-9df8-91ae92129335

Gateway group ID. Optional when using the gateway group admin key to authenticate.

Responses

Response samples

Content type
application/json
{
  • "value": {
    }
}

Update a proto on a gateway group

IAM Action: gateway:UpdateProto, Resource: arn:api7:gateway:gatewaygroup/%s

Authorizations:
APIKeyAuthBasicAuth
path Parameters
proto_id
required
string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$
Example: bd58fce2-b6cc-4d2d-a53c-6ce11b19c101

The unique identifier of the proto.

query Parameters
gateway_group_id
required
string >= 1
Example: gateway_group_id=86fb9981-d9d2-4555-9df8-91ae92129335

Gateway group ID. Optional when using the gateway group admin key to authenticate.

Request Body schema: application/json
content
required
string [ 1 .. 1048576 ] characters

The protobuf content.

object

Key-value pairs of labels.

Responses

Request samples

Content type
application/json
{
  • "content": "syntax = \"proto3\";\n\nmessage Person {\n string name = 1;\n int32 id = 2;\n string email = 3;\n}\n",
  • "labels": {
    }
}

Response samples

Content type
application/json
{
  • "value": {
    }
}

Delete a proto on a gateway group

IAM Action: gateway:DeleteProto, Resource: arn:api7:gateway:gatewaygroup/%s

Authorizations:
APIKeyAuthBasicAuth
path Parameters
proto_id
required
string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$
Example: bd58fce2-b6cc-4d2d-a53c-6ce11b19c101

The unique identifier of the proto.

query Parameters
gateway_group_id
required
string >= 1
Example: gateway_group_id=86fb9981-d9d2-4555-9df8-91ae92129335

Gateway group ID. Optional when using the gateway group admin key to authenticate.

Responses

Response samples

Content type
application/json
{
  • "value": { }
}

License

Get API7 Enterprise license details

Authorizations:
APIKeyAuthBasicAuth

Responses

Response samples

Content type
application/json
{
  • "value": {
    }
}

Import or update the API7 Enterprise license

IAM Action: iam:UpdateLicense, Resource: arn:api7:iam:organization/*

Authorizations:
APIKeyAuthBasicAuth
query Parameters
dry-run
string
Value: "all"

When specified, run the operation in dry-run mode.

Request Body schema: application/json
required
data
required
string

Encoded license data.

Responses

Request samples

Content type
application/json
{
  • "data": "“xxxx1N-tNaTpttX-NjOdXjyg\""
}

Response samples

Content type
application/json
{
  • "value": {
    }
}

Route

Create a route in a published service on a gateway group

IAM Action: gateway:UpdatePublishedService, Resource: arn:api7:gateway:gatewaygroup/%s/publishedservice/%s

Authorizations:
APIKeyAuthBasicAuth
query Parameters
gateway_group_id
required
string >= 1
Example: gateway_group_id=86fb9981-d9d2-4555-9df8-91ae92129335

Gateway group ID. Optional when using the gateway group admin key to authenticate.

Request Body schema: application/json
name
required
string [ 1 .. 65536 ] characters

The object name.

object

Key-value pairs of labels.

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

Conditions in the format of APISIX expressions to match requests to routes. Case sensitive when matching a cookie name.

paths
required
Array of strings [ 1 .. 64 ] items [ items [ 1 .. 4096 ] characters ]

The URL path(s) (after the service's path_prefix) that the route will listen to. Each path should start with a /.

priority
integer
Default: 0

Priority of the route. A higher value corresponds to a higher priority. If different Routes matches to the same URI, then the Route with the highest priority will be matched.

enable_websocket
boolean or null

If true, enable Websocket proxying for the route.

object

Timeout settings for connecting to, sending, and receiving messages from the upstream, in seconds.

plugins
object

Key-value pairs of plugins and their configurations on the object.

service_id
required
string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$

The service ID.

Responses

Request samples

Content type
application/json
{
  • "name": "us-west-rsc",
  • "labels": {
    },
  • "desc": "Object description.",
  • "methods": [
    ],
  • "vars": [
    ],
  • "paths": [
    ],
  • "priority": 0,
  • "enable_websocket": true,
  • "timeout": {
    },
  • "plugins": {
    },
  • "service_id": "b32e678e-7f6b-4a50-b113-550621ed4c01"
}

Response samples

Content type
application/json
{
  • "value": {
    }
}

List all routes in a published service

IAM Action: gateway:GetPublishedService, Resource: arn:api7:gateway:gatewaygroup/%s/publishedservice/%s

Authorizations:
APIKeyAuthBasicAuth
query Parameters
service_id
required
string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$
Example: service_id=bd58fce2-b6cc-4d2d-a53c-6ce11b19c101

The unique identifier of the published service.

page
integer <int64> >= 1

Page number of the listed resources. Used together with page_size. For example, when there are 13 resources in total, if the query parameters are page=1&page_size=10, the GET response will show the route total as 13 and display 10 resources in the first page. If the query parameters are page=2&page_size=10, the GET response will show the route total as 13 and display 3 resources in the second page.

page_size
integer <int64> >= 1

Number of resources listed per page. Used together with page. For example, when there are 13 resources in total, if the query parameters are page=1&page_size=10, the GET response will show the route total as 13 and display 10 resources in the first page. If the query parameters are page=2&page_size=10, the GET response will show the route total as 13 and display 3 resources in the second page.

direction
string
Default: "desc"
Enum: "asc" "desc"

Order to list the resources by. The sorting index follows the configuration of order_by.

order_by
string
Default: "updated_at"
Enum: "created_at" "updated_at"

Index to order resources by.

search
string
Example: search=version%3Dv2

Condition to search resources by.

gateway_group_id
required
string >= 1
Example: gateway_group_id=86fb9981-d9d2-4555-9df8-91ae92129335

Gateway group ID. Optional when using the gateway group admin key to authenticate.

with_publish_info
boolean
Default: false

If true, include publish information in the response, such as apisix_route_id, route_version_id, and service_version_id. The additional information is only useful for the Dashboard and not for API users.

Responses

Response samples

Content type
application/json
{
  • "list": [
    ],
  • "total": 1
}

Get a route in a published servcie on a gateway group

IAM Action: gateway:GetPublishedService, Resource: arn:api7:gateway:gatewaygroup/%s/publishedservice/%s

Authorizations:
APIKeyAuthBasicAuth
path Parameters
route_id
required
string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$
Example: bd58fce2-b6cc-4d2d-a53c-6ce11b19c101

The unique identifier of the published route.

query Parameters
gateway_group_id
required
string >= 1
Example: gateway_group_id=86fb9981-d9d2-4555-9df8-91ae92129335

Gateway group ID. Optional when using the gateway group admin key to authenticate.

with_publish_info
boolean
Default: false

If true, include publish information in the response, such as apisix_route_id, route_version_id, and service_version_id. The additional information is only useful for the Dashboard and not for API users.

Responses

Response samples

Content type
application/json
{
  • "value": {
    }
}

Update a route in a published service on a gateway group

IAM Action: gateway:UpdatePublishedService, Resource: arn:api7:gateway:gatewaygroup/%s/publishedservice/%s

Authorizations:
APIKeyAuthBasicAuth
path Parameters
route_id
required
string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$
Example: bd58fce2-b6cc-4d2d-a53c-6ce11b19c101

The unique identifier of the published route.

query Parameters
gateway_group_id
required
string >= 1
Example: gateway_group_id=86fb9981-d9d2-4555-9df8-91ae92129335

Gateway group ID. Optional when using the gateway group admin key to authenticate.

Request Body schema: application/json
name
required
string [ 1 .. 65536 ] characters

The object name.

object

Key-value pairs of labels.

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

Conditions in the format of APISIX expressions to match requests to routes. Case sensitive when matching a cookie name.

paths
required
Array of strings [ 1 .. 64 ] items [ items [ 1 .. 4096 ] characters ]

The URL path(s) (after the service's path_prefix) that the route will listen to. Each path should start with a /.

priority
integer
Default: 0

Priority of the route. A higher value corresponds to a higher priority. If different Routes matches to the same URI, then the Route with the highest priority will be matched.

enable_websocket
boolean or null

If true, enable Websocket proxying for the route.

object

Timeout settings for connecting to, sending, and receiving messages from the upstream, in seconds.

plugins
object

Key-value pairs of plugins and their configurations on the object.

service_id
required
string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$

The service ID.

Responses

Request samples

Content type
application/json
{
  • "name": "us-west-rsc",
  • "labels": {
    },
  • "desc": "Object description.",
  • "methods": [
    ],
  • "vars": [
    ],
  • "paths": [
    ],
  • "priority": 0,
  • "enable_websocket": true,
  • "timeout": {
    },
  • "plugins": {
    },
  • "service_id": "b32e678e-7f6b-4a50-b113-550621ed4c01"
}

Response samples

Content type
application/json
{
  • "value": {
    }
}

Patch a route in a published service on a gateway group

IAM Action: gateway:UpdatePublishedService, Resource: arn:api7:gateway:gatewaygroup/%s/publishedservice/%s

Authorizations:
APIKeyAuthBasicAuth
path Parameters
route_id
required
string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$
Example: bd58fce2-b6cc-4d2d-a53c-6ce11b19c101

The unique identifier of the published route.

query Parameters
gateway_group_id
required
string >= 1
Example: gateway_group_id=86fb9981-d9d2-4555-9df8-91ae92129335

Gateway group ID. Optional when using the gateway group admin key to authenticate.

Request Body schema: application/json
Array
One of
op
required
string
Enum: "add" "replace"

The operation to be performed.

path
required
string

Path to the field to be replaced or added. Path should follow the JSON Pointer format.

value
required
any

Value to be added or replaced.

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Response samples

Content type
application/json
{
  • "value": {
    }
}

Delete a route in a published service on a gateway group

IAM Action: gateway:UpdatePublishedService, Resource: arn:api7:gateway:gatewaygroup/%s/publishedservice/%s

Authorizations:
APIKeyAuthBasicAuth
path Parameters
route_id
required
string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$
Example: bd58fce2-b6cc-4d2d-a53c-6ce11b19c101

The unique identifier of the published route.

query Parameters
gateway_group_id
required
string >= 1
Example: gateway_group_id=86fb9981-d9d2-4555-9df8-91ae92129335

Gateway group ID. Optional when using the gateway group admin key to authenticate.

Responses

Response samples

Content type
application/json
""

Create a route in a service template

IAM Action: gateway:UpdateServiceTemplate, Resource: arn:api7:gateway:servicetemplate/%s

Authorizations:
APIKeyAuthBasicAuth
Request Body schema: application/json
name
required
string [ 1 .. 65536 ] characters

The object name.

object

Key-value pairs of labels.

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

Conditions in the format of APISIX expressions to match requests to routes. Case sensitive when matching a cookie name.

paths
required
Array of strings [ 1 .. 64 ] items [ items [ 1 .. 4096 ] characters ]

The URL path(s) (after the service's path_prefix) that the route will listen to. Each path should start with a /.

priority
integer
Default: 0

Priority of the route. A higher value corresponds to a higher priority. If different Routes matches to the same URI, then the Route with the highest priority will be matched.

enable_websocket
boolean or null

If true, enable Websocket proxying for the route.

service_id
required
string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$

The service ID.

Responses

Request samples

Content type
application/json
{
  • "name": "us-west-rsc",
  • "labels": {
    },
  • "desc": "Object description.",
  • "methods": [
    ],
  • "vars": [
    ],
  • "paths": [
    ],
  • "priority": 0,
  • "enable_websocket": true,
  • "service_id": "b32e678e-7f6b-4a50-b113-550621ed4c01"
}

Response samples

Content type
application/json
{
  • "value": {
    }
}

Get all routes in a service template

IAM Action: gateway:GetServiceTemplate, Resource: arn:api7:gateway:servicetemplate/%s

Authorizations:
APIKeyAuthBasicAuth
query Parameters
service_id
required
string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$
Example: service_id=bd58fce2-b6cc-4d2d-a53c-6ce11b19c101

The unique identifier of the service template.

page
integer <int64> >= 1

Page number of the listed resources. Used together with page_size. For example, when there are 13 resources in total, if the query parameters are page=1&page_size=10, the GET response will show the route total as 13 and display 10 resources in the first page. If the query parameters are page=2&page_size=10, the GET response will show the route total as 13 and display 3 resources in the second page.

page_size
integer <int64> >= 1

Number of resources listed per page. Used together with page. For example, when there are 13 resources in total, if the query parameters are page=1&page_size=10, the GET response will show the route total as 13 and display 10 resources in the first page. If the query parameters are page=2&page_size=10, the GET response will show the route total as 13 and display 3 resources in the second page.

direction
string
Default: "desc"
Enum: "asc" "desc"

Order to list the resources by. The sorting index follows the configuration of order_by.

order_by
string
Default: "updated_at"
Enum: "created_at" "updated_at"

Index to order resources by.

search
string
Example: search=version%3Dv2

Condition to search resources by.

labels
string non-empty
Example: labels=labels%5Bversion%5D=v2

Label(s) to filter resources by. The format is labels[key]=value and should be URL-encoded.

Responses

Response samples

Content type
application/json
{
  • "list": [
    ],
  • "total": 1
}

Get a route in all service templates

IAM Action: gateway:GetServiceTemplate, Resource: arn:api7:gateway:servicetemplate/%s

Authorizations:
APIKeyAuthBasicAuth
path Parameters
route_template_id
required
string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$
Example: bd58fce2-b6cc-4d2d-a53c-6ce11b19c101

The unique identifier of the route in the service template.

Responses

Response samples

Content type
application/json
{
  • "value": {
    }
}

Patch a route in service template

IAM Action: gateway:UpdateServiceTemplate, Resource: arn:api7:gateway:servicetemplate/%s

Authorizations:
APIKeyAuthBasicAuth
path Parameters
route_template_id
required
string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$
Example: bd58fce2-b6cc-4d2d-a53c-6ce11b19c101

The unique identifier of the route in the service template.

Request Body schema: application/json
Array
One of
op
required
string
Enum: "add" "replace"

The operation to be performed.

path
required
string

Path to the field to be replaced or added. Path should follow the JSON Pointer format.

value
required
any

Value to be added or replaced.

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Response samples

Content type
application/json
{
  • "value": {
    }
}

Delete a route in service template

IAM Action: gateway:UpdateServiceTemplate, Resource: arn:api7:gateway:servicetemplate/%s

Authorizations:
APIKeyAuthBasicAuth
path Parameters
route_template_id
required
string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$
Example: bd58fce2-b6cc-4d2d-a53c-6ce11b19c101

The unique identifier of the route in the service template.

Responses

Response samples

Content type
application/json
""

Get a route in a published service on a gateway group

IAM Action: gateway:GetPublishedService, Resource: arn:api7:gateway:gatewaygroup/%s/publishedservice/%s

Authorizations:
APIKeyAuthBasicAuth
path Parameters
gateway_group_id
required
string >= 1
Example: 86fb9981-d9d2-4555-9df8-91ae92129335

Gateway group ID.

service_template_id
required
string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$
Example: bd58fce2-b6cc-4d2d-a53c-6ce11b19c101

The unique identifier of the service template.

route_template_id
required
string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$
Example: bd58fce2-b6cc-4d2d-a53c-6ce11b19c101

The unique identifier of the route in the service template.

Responses

Response samples

Content type
application/json
{
  • "value": {
    }
}

Stream Route

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:
APIKeyAuthBasicAuth
query Parameters
gateway_group_id
required
string >= 1
Example: gateway_group_id=86fb9981-d9d2-4555-9df8-91ae92129335

Gateway group ID. Optional when using the gateway group admin key to authenticate.

Request Body schema: application/json
name
required
string [ 1 .. 65536 ] characters

The object name.

object

Key-value pairs of labels.

desc
string <= 65536 characters

The object description.

IPv4 (string) or IPv4/CIDR (string) or IPv6 (string) or IPv6/CIDR (string)

Client address filter. If the client request does not originate from remote_addr, the request will not be forwarded to the stream server.

(IPAddress (IPv4 (string) or IPv4/CIDR (string) or IPv6 (string) or IPv6/CIDR (string))) or Domain (string)

Stream server address.

server_port
integer <= 65535

Stream server port.

plugins
object

Key-value pairs of plugins and their configurations on the object.

service_id
required
string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$

The service ID.

Responses

Request samples

Content type
application/json
{
  • "name": "us-west-rsc",
  • "labels": {
    },
  • "desc": "Object description.",
  • "remote_addr": "127.0.0.1",
  • "server_addr": "mysql",
  • "server_port": 3306,
  • "plugins": {
    },
  • "service_id": "b32e678e-7f6b-4a50-b113-550621ed4c01"
}

Response samples

Content type
application/json
{
  • "value": {
    }
}

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:
APIKeyAuthBasicAuth
query Parameters
service_id
required
string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$
Example: service_id=bd58fce2-b6cc-4d2d-a53c-6ce11b19c101

The unique identifier of the published service.

page
integer <int64> >= 1

Page number of the listed resources. Used together with page_size. For example, when there are 13 resources in total, if the query parameters are page=1&page_size=10, the GET response will show the route total as 13 and display 10 resources in the first page. If the query parameters are page=2&page_size=10, the GET response will show the route total as 13 and display 3 resources in the second page.

page_size
integer <int64> >= 1

Number of resources listed per page. Used together with page. For example, when there are 13 resources in total, if the query parameters are page=1&page_size=10, the GET response will show the route total as 13 and display 10 resources in the first page. If the query parameters are page=2&page_size=10, the GET response will show the route total as 13 and display 3 resources in the second page.

direction
string
Default: "desc"
Enum: "asc" "desc"

Order to list the resources by. The sorting index follows the configuration of order_by.

order_by
string
Default: "updated_at"
Enum: "created_at" "updated_at"

Index to order resources by.

search
string
Example: search=version%3Dv2

Condition to search resources by.

gateway_group_id
required
string >= 1
Example: gateway_group_id=86fb9981-d9d2-4555-9df8-91ae92129335

Gateway group ID. Optional when using the gateway group admin key to authenticate.

with_publish_info
boolean
Default: false

If true, include publish information in the response, such as apisix_route_id, route_version_id, and service_version_id. The additional information is only useful for the Dashboard and not for API users.

Responses

Response samples

Content type
application/json
{
  • "list": [
    ],
  • "total": 1
}

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:
APIKeyAuthBasicAuth
path Parameters
stream_route_id
required
string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$
Example: bd58fce2-b6cc-4d2d-a53c-6ce11b19c101

The unique identifier of the published stream route.

query Parameters
gateway_group_id
required
string >= 1
Example: gateway_group_id=86fb9981-d9d2-4555-9df8-91ae92129335

Gateway group ID. Optional when using the gateway group admin key to authenticate.

with_publish_info
boolean
Default: false

If true, include publish information in the response, such as apisix_route_id, route_version_id, and service_version_id. The additional information is only useful for the Dashboard and not for API users.

Responses

Response samples

Content type
application/json
{
  • "value": {
    }
}

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:
APIKeyAuthBasicAuth
path Parameters
stream_route_id
required
string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$
Example: bd58fce2-b6cc-4d2d-a53c-6ce11b19c101

The unique identifier of the published stream route.

query Parameters
gateway_group_id
required
string >= 1
Example: gateway_group_id=86fb9981-d9d2-4555-9df8-91ae92129335

Gateway group ID. Optional when using the gateway group admin key to authenticate.

Request Body schema: application/json
name
required
string [ 1 .. 65536 ] characters

The object name.

object

Key-value pairs of labels.

desc
string <= 65536 characters

The object description.

IPv4 (string) or IPv4/CIDR (string) or IPv6 (string) or IPv6/CIDR (string)

Client address filter. If the client request does not originate from remote_addr, the request will not be forwarded to the stream server.

(IPAddress (IPv4 (string) or IPv4/CIDR (string) or IPv6 (string) or IPv6/CIDR (string))) or Domain (string)

Stream server address.

server_port
integer <= 65535

Stream server port.

plugins
object

Key-value pairs of plugins and their configurations on the object.

service_id
required
string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$

The service ID.

Responses

Request samples

Content type
application/json
{
  • "name": "us-west-rsc",
  • "labels": {
    },
  • "desc": "Object description.",
  • "remote_addr": "127.0.0.1",
  • "server_addr": "mysql",
  • "server_port": 3306,
  • "plugins": {
    },
  • "service_id": "b32e678e-7f6b-4a50-b113-550621ed4c01"
}

Response samples

Content type
application/json
{
  • "value": {
    }
}

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:
APIKeyAuthBasicAuth
path Parameters
stream_route_id
required
string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$
Example: bd58fce2-b6cc-4d2d-a53c-6ce11b19c101

The unique identifier of the published stream route.

query Parameters
gateway_group_id
required
string >= 1
Example: gateway_group_id=86fb9981-d9d2-4555-9df8-91ae92129335

Gateway group ID. Optional when using the gateway group admin key to authenticate.

Responses

Response samples

Content type
application/json
""

Create a stream route in a service template

IAM Action: gateway:UpdateServiceTemplate, Resource: arn:api7:gateway:servicetemplate/%s

Authorizations:
APIKeyAuthBasicAuth
Request Body schema: application/json
name
required
string [ 1 .. 65536 ] characters

The object name.

object

Key-value pairs of labels.

desc
string <= 65536 characters

The object description.

IPv4 (string) or IPv4/CIDR (string) or IPv6 (string) or IPv6/CIDR (string)

Client address filter. If the client request does not originate from remote_addr, the request will not be forwarded to the stream server.

(IPAddress (IPv4 (string) or IPv4/CIDR (string) or IPv6 (string) or IPv6/CIDR (string))) or Domain (string)

Stream server address.

server_port
integer <= 65535

Stream server port.

service_id
string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$

The service ID.

Responses

Request samples

Content type
application/json
{
  • "name": "us-west-rsc",
  • "labels": {
    },
  • "desc": "Object description.",
  • "remote_addr": "127.0.0.1",
  • "server_addr": "mysql",
  • "server_port": 3306,
  • "service_id": "b32e678e-7f6b-4a50-b113-550621ed4c01"
}

Response samples

Content type
application/json
{
  • "value": {
    }
}

List all stream routes in a service template

IAM Action: gateway:GetServiceTemplate, Resource: arn:api7:gateway:servicetemplate/%s

Authorizations:
APIKeyAuthBasicAuth
query Parameters
service_id
required
string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$
Example: service_id=bd58fce2-b6cc-4d2d-a53c-6ce11b19c101

The unique identifier of the service template.

page
integer <int64> >= 1

Page number of the listed resources. Used together with page_size. For example, when there are 13 resources in total, if the query parameters are page=1&page_size=10, the GET response will show the route total as 13 and display 10 resources in the first page. If the query parameters are page=2&page_size=10, the GET response will show the route total as 13 and display 3 resources in the second page.

page_size
integer <int64> >= 1

Number of resources listed per page. Used together with page. For example, when there are 13 resources in total, if the query parameters are page=1&page_size=10, the GET response will show the route total as 13 and display 10 resources in the first page. If the query parameters are page=2&page_size=10, the GET response will show the route total as 13 and display 3 resources in the second page.

direction
string
Default: "desc"
Enum: "asc" "desc"

Order to list the resources by. The sorting index follows the configuration of order_by.

order_by
string
Default: "updated_at"
Enum: "created_at" "updated_at"

Index to order resources by.

search
string
Example: search=version%3Dv2

Condition to search resources by.

labels
string non-empty
Example: labels=labels%5Bversion%5D=v2

Label(s) to filter resources by. The format is labels[key]=value and should be URL-encoded.

Responses

Response samples

Content type
application/json
{
  • "list": [
    ],
  • "total": 1
}

Get a stream route in a service template

IAM Action: gateway:GetServiceTemplate, Resource: arn:api7:gateway:servicetemplate/%s

Authorizations:
APIKeyAuthBasicAuth
path Parameters
stream_route_template_id
required
string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$
Example: bd58fce2-b6cc-4d2d-a53c-6ce11b19c101

The unique identifier of the stream route in the service template.

Responses

Response samples

Content type
application/json
{
  • "value": {
    }
}

Update a stream route in a service template

IAM Action: gateway:UpdateServiceTemplate, Resource: arn:api7:gateway:servicetemplate/%s

Authorizations:
APIKeyAuthBasicAuth
path Parameters
stream_route_template_id
required
string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$
Example: bd58fce2-b6cc-4d2d-a53c-6ce11b19c101

The unique identifier of the stream route in the service template.

Request Body schema: application/json
name
required
string [ 1 .. 65536 ] characters

The object name.

object

Key-value pairs of labels.

desc
string <= 65536 characters

The object description.

IPv4 (string) or IPv4/CIDR (string) or IPv6 (string) or IPv6/CIDR (string)

Client address filter. If the client request does not originate from remote_addr, the request will not be forwarded to the stream server.

(IPAddress (IPv4 (string) or IPv4/CIDR (string) or IPv6 (string) or IPv6/CIDR (string))) or Domain (string)

Stream server address.

server_port
integer <= 65535

Stream server port.

plugins
object

Key-value pairs of plugins and their configurations on the object.

service_id
string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$

The service ID.

Responses

Request samples

Content type
application/json
{
  • "name": "us-west-rsc",
  • "labels": {
    },
  • "desc": "Object description.",
  • "remote_addr": "127.0.0.1",
  • "server_addr": "mysql",
  • "server_port": 3306,
  • "plugins": {
    },
  • "service_id": "b32e678e-7f6b-4a50-b113-550621ed4c01"
}

Response samples

Content type
application/json
{
  • "value": {
    }
}

Delete a stream route in a service template

IAM Action: gateway:UpdateServiceTemplate, Resource: arn:api7:gateway:servicetemplate/%s

Authorizations:
APIKeyAuthBasicAuth
path Parameters
stream_route_template_id
required
string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$
Example: bd58fce2-b6cc-4d2d-a53c-6ce11b19c101

The unique identifier of the stream route in the service template.

Responses

Response samples

Content type
application/json
""

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:
APIKeyAuthBasicAuth
path Parameters
gateway_group_id
required
string >= 1
Example: 86fb9981-d9d2-4555-9df8-91ae92129335

Gateway group ID.

service_template_id
required
string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$
Example: bd58fce2-b6cc-4d2d-a53c-6ce11b19c101

The unique identifier of the service template.

query Parameters
page
integer <int64> >= 1

Page number of the listed resources. Used together with page_size. For example, when there are 13 resources in total, if the query parameters are page=1&page_size=10, the GET response will show the route total as 13 and display 10 resources in the first page. If the query parameters are page=2&page_size=10, the GET response will show the route total as 13 and display 3 resources in the second page.

page_size
integer <int64> >= 1

Number of resources listed per page. Used together with page. For example, when there are 13 resources in total, if the query parameters are page=1&page_size=10, the GET response will show the route total as 13 and display 10 resources in the first page. If the query parameters are page=2&page_size=10, the GET response will show the route total as 13 and display 3 resources in the second page.

direction
string
Default: "desc"
Enum: "asc" "desc"

Order to list the resources by. The sorting index follows the configuration of order_by.

order_by
string
Default: "updated_at"
Enum: "created_at" "updated_at"

Index to order resources by.

Responses

Response samples

Content type
application/json
{
  • "list": [
    ],
  • "total": 1
}

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:
APIKeyAuthBasicAuth
path Parameters
gateway_group_id
required
string >= 1
Example: 86fb9981-d9d2-4555-9df8-91ae92129335

Gateway group ID.

service_template_id
required
string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$
Example: bd58fce2-b6cc-4d2d-a53c-6ce11b19c101

The unique identifier of the service template.

stream_route_template_id
required
string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$
Example: bd58fce2-b6cc-4d2d-a53c-6ce11b19c101

The unique identifier of the stream route in the service template.

Responses

Response samples

Content type
application/json
{
  • "value": {
    }
}

SSL

Create an SSL certificate Deprecated

IAM Action: gateway:CreateSSLCertificate, Resource: arn:api7:gateway:gatewaygroup/%s

Authorizations:
APIKeyAuthBasicAuth
query Parameters
gateway_group_id
required
string >= 1
Example: gateway_group_id=86fb9981-d9d2-4555-9df8-91ae92129335

Gateway group ID. Optional when using the gateway group admin key to authenticate.

Request Body schema: application/json
One of
name
string [ 1 .. 65536 ] characters

The object name.

desc
string <= 65536 characters

The object description.

snis
Array of strings[ items^\*?[0-9a-zA-Z-._]+$ ]

The SNI list for matching the SSL certificate.

object

Client certificate.

type
string
Value: "server"

Type of certificate. Only support server at the moment, which represents certificates used by the Gateway to verify client requests.

object

Key-value pairs of labels.

required
Private Key Reference (string) or Private Key Content (string)

Private key content or reference to the private key content.

required
Certificate Reference (string) or Certificate Content (string)

Certificate content or reference to the certificate content.

Responses

Request samples

Content type
application/json
Example
{
  • "name": "us-west-rsc",
  • "desc": "Object description.",
  • "snis": [
    ],
  • "client": {
    },
  • "type": "server",
  • "labels": {
    },
  • "key": "$secret://aws/john/apisix-secrets/john-key-auth",
  • "cert": "$secret://aws/john/apisix-secrets/john-key-auth"
}

Response samples

Content type
application/json
{
  • "value": {
    }
}

List all SSL certificates on a gateway group Deprecated

IAM Action: gateway:GetSSLCertificate, Resource: arn:api7:gateway:gatewaygroup/%s

Authorizations:
APIKeyAuthBasicAuth
query Parameters
gateway_group_id
required
string >= 1
Example: gateway_group_id=86fb9981-d9d2-4555-9df8-91ae92129335

Gateway group ID. Optional when using the gateway group admin key to authenticate.

page
integer <int64> >= 1

Page number of the listed resources. Used together with page_size. For example, when there are 13 resources in total, if the query parameters are page=1&page_size=10, the GET response will show the route total as 13 and display 10 resources in the first page. If the query parameters are page=2&page_size=10, the GET response will show the route total as 13 and display 3 resources in the second page.

page_size
integer <int64> >= 1

Number of resources listed per page. Used together with page. For example, when there are 13 resources in total, if the query parameters are page=1&page_size=10, the GET response will show the route total as 13 and display 10 resources in the first page. If the query parameters are page=2&page_size=10, the GET response will show the route total as 13 and display 3 resources in the second page.

direction
string
Default: "desc"
Enum: "asc" "desc"

Order to list the resources by. The sorting index follows the configuration of order_by.

order_by
string
Default: "updated_at"
Enum: "created_at" "updated_at"

Index to order resources by.

search
string
Example: search=version%3Dv2

Condition to search resources by.

labels
string non-empty
Example: labels=labels%5Bversion%5D=v2

Label(s) to filter resources by. The format is labels[key]=value and should be URL-encoded.

type
string
Default: "server"
Enum: "client" "server"

Type of certificate. client represents certificates used by the Gateway to access upstream, and server represents certificates used by the Gateway to verify client requests.

Responses

Response samples

Content type
application/json
{
  • "list": [
    ],
  • "total": 1
}

Get an SSL certificate on a gateway group Deprecated

IAM Action: gateway:GetSSLCertificate, Resource: arn:api7:gateway:gatewaygroup/%s

Authorizations:
APIKeyAuthBasicAuth
path Parameters
ssl_id
required
string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$
Example: bd58fce2-b6cc-4d2d-a53c-6ce11b19c101

The unique identifier of the SSL object.

query Parameters
gateway_group_id
required
string >= 1
Example: gateway_group_id=86fb9981-d9d2-4555-9df8-91ae92129335

Gateway group ID. Optional when using the gateway group admin key to authenticate.

Responses

Response samples

Content type
application/json
{
  • "value": {
    }
}

Update an SSL certificate on a gateway group Deprecated

IAM Action: gateway:UpdateSSLCertificate, Resource: arn:api7:gateway:gatewaygroup/%s

Authorizations:
APIKeyAuthBasicAuth
path Parameters
ssl_id
required
string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$
Example: bd58fce2-b6cc-4d2d-a53c-6ce11b19c101

The unique identifier of the SSL object.

query Parameters
gateway_group_id
required
string >= 1
Example: gateway_group_id=86fb9981-d9d2-4555-9df8-91ae92129335

Gateway group ID. Optional when using the gateway group admin key to authenticate.

Request Body schema: application/json
One of
name
string [ 1 .. 65536 ] characters

The object name.

desc
string <= 65536 characters

The object description.

snis
Array of strings[ items^\*?[0-9a-zA-Z-._]+$ ]

The SNI list for matching the SSL certificate.

object

Client certificate.

type
string
Value: "server"

Type of certificate. Only support server at the moment, which represents certificates used by the Gateway to verify client requests.

object

Key-value pairs of labels.

required
Private Key Reference (string) or Private Key Content (string)

Private key content or reference to the private key content.

required
Certificate Reference (string) or Certificate Content (string)

Certificate content or reference to the certificate content.

Responses

Request samples

Content type
application/json
Example
{
  • "name": "us-west-rsc",
  • "desc": "Object description.",
  • "snis": [
    ],
  • "client": {
    },
  • "type": "server",
  • "labels": {
    },
  • "key": "$secret://aws/john/apisix-secrets/john-key-auth",
  • "cert": "$secret://aws/john/apisix-secrets/john-key-auth"
}

Response samples

Content type
application/json
{
  • "value": {
    }
}

Delete an SSL certificate on a gateway group Deprecated

IAM Action: gateway:DeleteSSLCertificate, Resource: arn:api7:gateway:gatewaygroup/%s

Authorizations:
APIKeyAuthBasicAuth
path Parameters
ssl_id
required
string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$
Example: bd58fce2-b6cc-4d2d-a53c-6ce11b19c101

The unique identifier of the SSL object.

query Parameters
gateway_group_id
required
string >= 1
Example: gateway_group_id=86fb9981-d9d2-4555-9df8-91ae92129335

Gateway group ID. Optional when using the gateway group admin key to authenticate.

Responses

Response samples

Content type
application/json
""

Parse an SSL certificate

Authorizations:
APIKeyAuthBasicAuth
Request Body schema: application/json
cert
required
string [ 1 .. 65536 ] characters ^[^\$]

The certificate in PEM format.

Responses

Request samples

Content type
application/json
{
  • "cert": "-----BEGIN CERTIFICATE-----\n...\n-----END CERTIFICATE-----"
}

Response samples

Content type
application/json
{
  • "list": [
    ],
  • "total": 1
}

Validate an SSL certificate and key

Authorizations:
APIKeyAuthBasicAuth
Request Body schema: application/json
cert
required
string [ 1 .. 65536 ] characters ^[^\$]

The certificate in PEM format.

key
required
string [ 1 .. 65536 ] characters ^[^\$]

The private key in PEM format.

Responses

Request samples

Content type
application/json
{
  • "cert": "-----BEGIN CERTIFICATE-----\n...\n-----END CERTIFICATE-----",
  • "key": "-----BEGIN PRIVATE KEY-----\n...\n-----END PRIVATE KEY-----"
}

Response samples

Content type
application/json
{
  • "value": true
}

Certificate

Create a certificate

IAM Action: gateway:CreateCertificate, Resource: arn:api7:gateway:gatewaygroup/%s

Authorizations:
APIKeyAuthBasicAuth
query Parameters
gateway_group_id
required
string >= 1
Example: gateway_group_id=86fb9981-d9d2-4555-9df8-91ae92129335

Gateway group ID. Optional when using the gateway group admin key to authenticate.

Request Body schema: application/json
name
string [ 1 .. 65536 ] characters

The object name.

desc
string <= 65536 characters

The object description.

required
Certificate Reference (string) or Certificate Content (string)

Certificate.

object

Key-value pairs of labels.

required
Private Key Reference (string) or Private Key Content (string)

Private key.

Responses

Request samples

Content type
application/json
{
  • "name": "us-west-rsc",
  • "desc": "Object description.",
  • "cert": "$secret://aws/john/apisix-secrets/john-key-auth",
  • "labels": {
    },
  • "key": "$secret://aws/john/apisix-secrets/john-key-auth"
}

Response samples

Content type
application/json
{
  • "value": {
    }
}

List all certificates on a gateway group

IAM Action: gateway:GetCertificate, Resource: arn:api7:gateway:gatewaygroup/%s

Authorizations:
APIKeyAuthBasicAuth
query Parameters
gateway_group_id
required
string >= 1
Example: gateway_group_id=86fb9981-d9d2-4555-9df8-91ae92129335

Gateway group ID. Optional when using the gateway group admin key to authenticate.

page
integer <int64> >= 1

Page number of the listed resources. Used together with page_size. For example, when there are 13 resources in total, if the query parameters are page=1&page_size=10, the GET response will show the route total as 13 and display 10 resources in the first page. If the query parameters are page=2&page_size=10, the GET response will show the route total as 13 and display 3 resources in the second page.

page_size
integer <int64> >= 1

Number of resources listed per page. Used together with page. For example, when there are 13 resources in total, if the query parameters are page=1&page_size=10, the GET response will show the route total as 13 and display 10 resources in the first page. If the query parameters are page=2&page_size=10, the GET response will show the route total as 13 and display 3 resources in the second page.

direction
string
Default: "desc"
Enum: "asc" "desc"

Order to list the resources by. The sorting index follows the configuration of order_by.

order_by
string
Default: "exptime"
Enum: "name" "exptime"
search
string
Example: search=version%3Dv2

Condition to search resources by.

labels
string non-empty
Example: labels=labels%5Bversion%5D=v2

Label(s) to filter resources by. The format is labels[key]=value and should be URL-encoded.

sni_id
string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$
Example: sni_id=bd58fce2-b6cc-4d2d-a53c-6ce11b19c101

The object ID.

sni_name
string

SNI name.

exptime
integer

Filter out results that expired before this time.

Responses

Response samples

Content type
application/json
{
  • "list": [
    ],
  • "total": 1
}

Get a certificate on a gateway group

IAM Action: gateway:GetCertificate, Resource: arn:api7:gateway:gatewaygroup/%s

Authorizations:
APIKeyAuthBasicAuth
path Parameters
certificate_id
required
string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$
Example: bd58fce2-b6cc-4d2d-a53c-6ce11b19c101

The unique identifier of the Certificate.

query Parameters
gateway_group_id
required
string >= 1
Example: gateway_group_id=86fb9981-d9d2-4555-9df8-91ae92129335

Gateway group ID. Optional when using the gateway group admin key to authenticate.

Responses

Response samples

Content type
application/json
{
  • "value": {
    }
}

Update a certificate on a gateway group

IAM Action: gateway:UpdateCertificate, Resource: arn:api7:gateway:gatewaygroup/%s

Authorizations:
APIKeyAuthBasicAuth
path Parameters
certificate_id
required
string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$
Example: bd58fce2-b6cc-4d2d-a53c-6ce11b19c101

The unique identifier of the Certificate.

query Parameters
gateway_group_id
required
string >= 1
Example: gateway_group_id=86fb9981-d9d2-4555-9df8-91ae92129335

Gateway group ID. Optional when using the gateway group admin key to authenticate.

Request Body schema: application/json
name
string [ 1 .. 65536 ] characters

The object name.

desc
string <= 65536 characters

The object description.

required
Certificate Reference (string) or Certificate Content (string)

Certificate.

object

Key-value pairs of labels.

required
Private Key Reference (string) or Private Key Content (string)

Private key.

Responses

Request samples

Content type
application/json
{
  • "name": "us-west-rsc",
  • "desc": "Object description.",
  • "cert": "$secret://aws/john/apisix-secrets/john-key-auth",
  • "labels": {
    },
  • "key": "$secret://aws/john/apisix-secrets/john-key-auth"
}

Response samples

Content type
application/json
{
  • "value": {
    }
}

Patch a certificate on a gateway group

IAM Action: gateway:UpdateCertificate, Resource: arn:api7:gateway:gatewaygroup/%s

Authorizations:
APIKeyAuthBasicAuth
path Parameters
certificate_id
required
string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$
Example: bd58fce2-b6cc-4d2d-a53c-6ce11b19c101

The unique identifier of the Certificate.

query Parameters
gateway_group_id
required
string >= 1
Example: gateway_group_id=86fb9981-d9d2-4555-9df8-91ae92129335

Gateway group ID. Optional when using the gateway group admin key to authenticate.

Request Body schema: application/json
Array
One of
op
required
string
Enum: "add" "replace"

The operation to be performed.

path
required
string

Path to the field to be replaced or added. Path should follow the JSON Pointer format.

value
required
any

Value to be added or replaced.

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Response samples

Content type
application/json
{
  • "value": {
    }
}

Delete a certificate on a gateway group

IAM Action: gateway:DeleteCertificate, Resource: arn:api7:gateway:gatewaygroup/%s

Authorizations:
APIKeyAuthBasicAuth
path Parameters
certificate_id
required
string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$
Example: bd58fce2-b6cc-4d2d-a53c-6ce11b19c101

The unique identifier of the Certificate.

query Parameters
gateway_group_id
required
string >= 1
Example: gateway_group_id=86fb9981-d9d2-4555-9df8-91ae92129335

Gateway group ID. Optional when using the gateway group admin key to authenticate.

Responses

Response samples

Content type
application/json
""

CACertificate

Create a CA certificate

IAM Action: gateway:CreateCertificate, Resource: arn:api7:gateway:gatewaygroup/%s

Authorizations:
APIKeyAuthBasicAuth
query Parameters
gateway_group_id
required
string >= 1
Example: gateway_group_id=86fb9981-d9d2-4555-9df8-91ae92129335

Gateway group ID. Optional when using the gateway group admin key to authenticate.

Request Body schema: application/json
name
string [ 1 .. 65536 ] characters

The object name.

desc
string <= 65536 characters

The object description.

cert
required
string [ 1 .. 65536 ] characters ^[^\$]

The certificate in PEM format.

object

Key-value pairs of labels.

Responses

Request samples

Content type
application/json
{
  • "name": "us-west-rsc",
  • "desc": "Object description.",
  • "cert": "-----BEGIN CERTIFICATE-----\n...\n-----END CERTIFICATE-----",
  • "labels": {
    }
}

Response samples

Content type
application/json
{
  • "value": {
    }
}

List all CA certificates on a gateway group

IAM Action: gateway:GetCertificate, Resource: arn:api7:gateway:gatewaygroup/%s

Authorizations:
APIKeyAuthBasicAuth
query Parameters
gateway_group_id
required
string >= 1
Example: gateway_group_id=86fb9981-d9d2-4555-9df8-91ae92129335

Gateway group ID. Optional when using the gateway group admin key to authenticate.

page
integer <int64> >= 1

Page number of the listed resources. Used together with page_size. For example, when there are 13 resources in total, if the query parameters are page=1&page_size=10, the GET response will show the route total as 13 and display 10 resources in the first page. If the query parameters are page=2&page_size=10, the GET response will show the route total as 13 and display 3 resources in the second page.

page_size
integer <int64> >= 1

Number of resources listed per page. Used together with page. For example, when there are 13 resources in total, if the query parameters are page=1&page_size=10, the GET response will show the route total as 13 and display 10 resources in the first page. If the query parameters are page=2&page_size=10, the GET response will show the route total as 13 and display 3 resources in the second page.

direction
string
Default: "desc"
Enum: "asc" "desc"

Order to list the resources by. The sorting index follows the configuration of order_by.

order_by
string
Default: "exptime"
Enum: "name" "exptime"
search
string
Example: search=version%3Dv2

Condition to search resources by.

labels
string non-empty
Example: labels=labels%5Bversion%5D=v2

Label(s) to filter resources by. The format is labels[key]=value and should be URL-encoded.

sni_id
string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$
Example: sni_id=bd58fce2-b6cc-4d2d-a53c-6ce11b19c101

The object ID.

sni_name
string

SNI name.

exptime
integer

Filter out results that expired before this time.

Responses

Response samples

Content type
application/json
{
  • "list": [
    ],
  • "total": 1
}

Get a CA certificate on a gateway group

IAM Action: gateway:GetCertificate, Resource: arn:api7:gateway:gatewaygroup/%s

Authorizations:
APIKeyAuthBasicAuth
path Parameters
ca_certificate_id
required
string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$
Example: bd58fce2-b6cc-4d2d-a53c-6ce11b19c101

The unique identifier of the certificate.

query Parameters
gateway_group_id
required
string >= 1
Example: gateway_group_id=86fb9981-d9d2-4555-9df8-91ae92129335

Gateway group ID. Optional when using the gateway group admin key to authenticate.

Responses

Response samples

Content type
application/json
{
  • "value": {
    }
}

Update a CA certificate on a gateway group

IAM Action: gateway:UpdateCertificate, Resource: arn:api7:gateway:gatewaygroup/%s

Authorizations:
APIKeyAuthBasicAuth
path Parameters
ca_certificate_id
required
string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$
Example: bd58fce2-b6cc-4d2d-a53c-6ce11b19c101

The unique identifier of the certificate.

query Parameters
gateway_group_id
required
string >= 1
Example: gateway_group_id=86fb9981-d9d2-4555-9df8-91ae92129335

Gateway group ID. Optional when using the gateway group admin key to authenticate.

Request Body schema: application/json
name
string [ 1 .. 65536 ] characters

The object name.

desc
string <= 65536 characters

The object description.

cert
required
string [ 1 .. 65536 ] characters ^[^\$]

The certificate in PEM format.

object

Key-value pairs of labels.

Responses

Request samples

Content type
application/json
{
  • "name": "us-west-rsc",
  • "desc": "Object description.",
  • "cert": "-----BEGIN CERTIFICATE-----\n...\n-----END CERTIFICATE-----",
  • "labels": {
    }
}

Response samples

Content type
application/json
{
  • "value": {
    }
}

Patch a CA certificate on a gateway group

IAM Action: gateway:UpdateCertificate, Resource: arn:api7:gateway:gatewaygroup/%s

Authorizations:
APIKeyAuthBasicAuth
path Parameters
ca_certificate_id
required
string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$
Example: bd58fce2-b6cc-4d2d-a53c-6ce11b19c101

The unique identifier of the certificate.

query Parameters
gateway_group_id
required
string >= 1
Example: gateway_group_id=86fb9981-d9d2-4555-9df8-91ae92129335

Gateway group ID. Optional when using the gateway group admin key to authenticate.

Request Body schema: application/json
Array
One of
op
required
string
Enum: "add" "replace"

The operation to be performed.

path
required
string

Path to the field to be replaced or added. Path should follow the JSON Pointer format.

value
required
any

Value to be added or replaced.

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Response samples

Content type
application/json
{
  • "value": {
    }
}

Delete a CA certificate on a gateway group

IAM Action: gateway:DeleteCertificate, Resource: arn:api7:gateway:gatewaygroup/%s

Authorizations:
APIKeyAuthBasicAuth
path Parameters
ca_certificate_id
required
string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$
Example: bd58fce2-b6cc-4d2d-a53c-6ce11b19c101

The unique identifier of the certificate.

query Parameters
gateway_group_id
required
string >= 1
Example: gateway_group_id=86fb9981-d9d2-4555-9df8-91ae92129335

Gateway group ID. Optional when using the gateway group admin key to authenticate.

Responses

Response samples

Content type
application/json
""

SNI

Create an SNI

IAM Action: gateway:CreateSNI, Resource: arn:api7:gateway:gatewaygroup/%s

Authorizations:
APIKeyAuthBasicAuth
query Parameters
gateway_group_id
required
string >= 1
Example: gateway_group_id=86fb9981-d9d2-4555-9df8-91ae92129335

Gateway group ID. Optional when using the gateway group admin key to authenticate.

Request Body schema: application/json
name
string [ 1 .. 65536 ] characters

The object name.

domain
string^\*?[0-9a-zA-Z-._]+$

The HTTP host.

desc
string <= 65536 characters

The object description.

Array of Certificate Reference (string) or Certificate Content (string) non-empty

An array of certificates.

object

mTLS configurations.

object

Key-value pairs of labels.

ssl_protocols
Array of strings
Default: ["TLSv1.2","TLSv1.3"]
Items Enum: "TLSv1.1" "TLSv1.2" "TLSv1.3"

An array of TLS protocol versions.

Responses

Request samples

Content type
application/json
{
  • "name": "us-west-rsc",
  • "domain": "httpbin.org",
  • "desc": "Object description.",
  • "certificates": [
    ],
  • "mtls": {
    },
  • "labels": {
    },
  • "ssl_protocols": [
    ]
}

Response samples

Content type
application/json
{
  • "value": {
    }
}

List all SNIs on a gateway group

IAM Action: gateway:GetSNI, Resource: arn:api7:gateway:gatewaygroup/%s

Authorizations:
APIKeyAuthBasicAuth
query Parameters
gateway_group_id
required
string >= 1
Example: gateway_group_id=86fb9981-d9d2-4555-9df8-91ae92129335

Gateway group ID. Optional when using the gateway group admin key to authenticate.

page
integer <int64> >= 1

Page number of the listed resources. Used together with page_size. For example, when there are 13 resources in total, if the query parameters are page=1&page_size=10, the GET response will show the route total as 13 and display 10 resources in the first page. If the query parameters are page=2&page_size=10, the GET response will show the route total as 13 and display 3 resources in the second page.

page_size
integer <int64> >= 1

Number of resources listed per page. Used together with page. For example, when there are 13 resources in total, if the query parameters are page=1&page_size=10, the GET response will show the route total as 13 and display 10 resources in the first page. If the query parameters are page=2&page_size=10, the GET response will show the route total as 13 and display 3 resources in the second page.

direction
string
Default: "desc"
Enum: "asc" "desc"

Order to list the resources by. The sorting index follows the configuration of order_by.

order_by
string
Default: "name"
Value: "name"
search
string
Example: search=version%3Dv2

Condition to search resources by.

labels
string non-empty
Example: labels=labels%5Bversion%5D=v2

Label(s) to filter resources by. The format is labels[key]=value and should be URL-encoded.

domain
string^\*?[0-9a-zA-Z-._]+$
Example: domain=httpbin.org

The domain of the SNI.

mtls_enabled
Array of booleans

If true, enable mTLS.

Responses

Response samples

Content type
application/json
{
  • "list": [
    ],
  • "total": 1
}

Get an SNI on a gateway group

IAM Action: gateway:GetSNI, Resource: arn:api7:gateway:gatewaygroup/%s

Authorizations:
APIKeyAuthBasicAuth
path Parameters
sni_id
required
string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$
Example: bd58fce2-b6cc-4d2d-a53c-6ce11b19c101

The unique identifier of the SNI object.

query Parameters
gateway_group_id
required
string >= 1
Example: gateway_group_id=86fb9981-d9d2-4555-9df8-91ae92129335

Gateway group ID. Optional when using the gateway group admin key to authenticate.

Responses

Response samples

Content type
application/json
{
  • "value": {
    }
}

Update an SNI on a gateway group

IAM Action: gateway:UpdateSNI, Resource: arn:api7:gateway:gatewaygroup/%s

Authorizations:
APIKeyAuthBasicAuth
path Parameters
sni_id
required
string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$
Example: bd58fce2-b6cc-4d2d-a53c-6ce11b19c101

The unique identifier of the SNI object.

query Parameters
gateway_group_id
required
string >= 1
Example: gateway_group_id=86fb9981-d9d2-4555-9df8-91ae92129335

Gateway group ID. Optional when using the gateway group admin key to authenticate.

Request Body schema: application/json
name
string [ 1 .. 65536 ] characters

The object name.

domain
string^\*?[0-9a-zA-Z-._]+$

The HTTP host.

desc
string <= 65536 characters

The object description.

Array of Certificate Reference (string) or Certificate Content (string) non-empty

An array of certificates.

object

mTLS configurations.

object

Key-value pairs of labels.

ssl_protocols
Array of strings
Default: ["TLSv1.2","TLSv1.3"]
Items Enum: "TLSv1.1" "TLSv1.2" "TLSv1.3"

An array of TLS protocol versions.

Responses

Request samples

Content type
application/json
{
  • "name": "us-west-rsc",
  • "domain": "httpbin.org",
  • "desc": "Object description.",
  • "certificates": [
    ],
  • "mtls": {
    },
  • "labels": {
    },
  • "ssl_protocols": [
    ]
}

Response samples

Content type
application/json
{
  • "value": {
    }
}

Patch an SNI on a gateway group

IAM Action: gateway:UpdateSNI, Resource: arn:api7:gateway:gatewaygroup/%s

Authorizations:
APIKeyAuthBasicAuth
path Parameters
sni_id
required
string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$
Example: bd58fce2-b6cc-4d2d-a53c-6ce11b19c101

The unique identifier of the SNI object.

query Parameters
gateway_group_id
required
string >= 1
Example: gateway_group_id=86fb9981-d9d2-4555-9df8-91ae92129335

Gateway group ID. Optional when using the gateway group admin key to authenticate.

Request Body schema: application/json
Array
One of
op
required
string
Enum: "add" "replace"

The operation to be performed.

path
required
string

Path to the field to be replaced or added. Path should follow the JSON Pointer format.

value
required
any

Value to be added or replaced.

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Response samples

Content type
application/json
{
  • "value": {
    }
}

Delete an SNI on a gateway group

IAM Action: gateway:DeleteSNI, Resource: arn:api7:gateway:gatewaygroup/%s

Authorizations:
APIKeyAuthBasicAuth
path Parameters
sni_id
required
string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$
Example: bd58fce2-b6cc-4d2d-a53c-6ce11b19c101

The unique identifier of the SNI object.

query Parameters
gateway_group_id
required
string >= 1
Example: gateway_group_id=86fb9981-d9d2-4555-9df8-91ae92129335

Gateway group ID. Optional when using the gateway group admin key to authenticate.

Responses

Response samples

Content type
application/json
""

Consumer

Create a consumer on a gateway group

IAM Action: gateway:CreateConsumer, Resource: arn:api7:gateway:gatewaygroup/%s/consumer/*

Authorizations:
APIKeyAuthBasicAuth
query Parameters
gateway_group_id
required
string >= 1
Example: gateway_group_id=86fb9981-d9d2-4555-9df8-91ae92129335

Gateway group ID. Optional when using the gateway group admin key to authenticate.

Request Body schema: application/json
username
required
string [ 1 .. 512 ] characters ^[a-zA-Z0-9_\-]+$

The unique identifier of the consumer.

plugins
object

Key-value pairs of plugins and their configurations on the object.

desc
string <= 65536 characters

The object description.

object

Key-value pairs of labels.

Responses

Request samples

Content type
application/json
{
  • "username": "johndoe",
  • "plugins": {
    },
  • "desc": "Object description.",
  • "labels": {
    }
}

Response samples

Content type
application/json
{
  • "value": {
    }
}

List all consumers on a gateway group

IAM Action: gateway:GetConsumer, Resource: arn:api7:gateway:gatewaygroup/%s/consumer/%s

Authorizations:
APIKeyAuthBasicAuth
query Parameters
gateway_group_id
required
string >= 1
Example: gateway_group_id=86fb9981-d9d2-4555-9df8-91ae92129335

Gateway group ID. Optional when using the gateway group admin key to authenticate.

page
integer <int64> >= 1

Page number of the listed resources. Used together with page_size. For example, when there are 13 resources in total, if the query parameters are page=1&page_size=10, the GET response will show the route total as 13 and display 10 resources in the first page. If the query parameters are page=2&page_size=10, the GET response will show the route total as 13 and display 3 resources in the second page.

page_size
integer <int64> >= 1

Number of resources listed per page. Used together with page. For example, when there are 13 resources in total, if the query parameters are page=1&page_size=10, the GET response will show the route total as 13 and display 10 resources in the first page. If the query parameters are page=2&page_size=10, the GET response will show the route total as 13 and display 3 resources in the second page.

direction
string
Default: "desc"
Enum: "asc" "desc"

Order to list the resources by. The sorting index follows the configuration of order_by.

order_by
string
Default: "updated_at"
Enum: "created_at" "updated_at" "username"

Index to order consumers by.

search
string
Example: search=version%3Dv2

Condition to search resources by.

labels
string non-empty
Example: labels=labels%5Bversion%5D=v2

Label(s) to filter resources by. The format is labels[key]=value and should be URL-encoded.

Responses

Response samples

Content type
application/json
{
  • "list": [
    ],
  • "total": 1
}

Get a consumer on a gateway group

IAM Action: gateway:GetConsumer, Resource: arn:api7:gateway:gatewaygroup/%s/consumer/%s

Authorizations:
APIKeyAuthBasicAuth
path Parameters
username
required
string [ 1 .. 512 ] characters ^[a-zA-Z0-9_\-]+$
Example: johndoe

The unique identifier of the consumer.

query Parameters
gateway_group_id
required
string >= 1
Example: gateway_group_id=86fb9981-d9d2-4555-9df8-91ae92129335

Gateway group ID. Optional when using the gateway group admin key to authenticate.

Responses

Response samples

Content type
application/json
{
  • "value": {
    }
}

Update a consumer on a gateway group

IAM Action: gateway:UpdateConsumer, Resource: arn:api7:gateway:gatewaygroup/%s/consumer/%s

Authorizations:
APIKeyAuthBasicAuth
path Parameters
username
required
string [ 1 .. 512 ] characters ^[a-zA-Z0-9_\-]+$
Example: johndoe

The unique identifier of the consumer.

query Parameters
gateway_group_id
required
string >= 1
Example: gateway_group_id=86fb9981-d9d2-4555-9df8-91ae92129335

Gateway group ID. Optional when using the gateway group admin key to authenticate.

Request Body schema: application/json
username
required
string [ 1 .. 512 ] characters ^[a-zA-Z0-9_\-]+$

The unique identifier of the consumer.

plugins
object

Key-value pairs of plugins and their configurations on the object.

desc
string <= 65536 characters

The object description.

object

Key-value pairs of labels.

Responses

Request samples

Content type
application/json
{
  • "username": "johndoe",
  • "plugins": {
    },
  • "desc": "Object description.",
  • "labels": {
    }
}

Response samples

Content type
application/json
{
  • "value": {
    }
}

Delete a consumer

IAM Action: gateway:DeleteConsumer, Resource: arn:api7:gateway:gatewaygroup/%s/consumer/%s

Authorizations:
APIKeyAuthBasicAuth
path Parameters
username
required
string [ 1 .. 512 ] characters ^[a-zA-Z0-9_\-]+$
Example: johndoe

The unique identifier of the consumer.

query Parameters
gateway_group_id
required
string >= 1
Example: gateway_group_id=86fb9981-d9d2-4555-9df8-91ae92129335

Gateway group ID. Optional when using the gateway group admin key to authenticate.

Responses

Response samples

Content type
application/json
""

Update a consumer on a gateway group

IAM Action: gateway:UpdateConsumer, Resource: arn:api7:gateway:gatewaygroup/%s/consumer/%s

Authorizations:
APIKeyAuthBasicAuth
path Parameters
username
required
string [ 1 .. 512 ] characters ^[a-zA-Z0-9_\-]+$
Example: johndoe

The unique identifier of the consumer.

query Parameters
gateway_group_id
required
string >= 1
Example: gateway_group_id=86fb9981-d9d2-4555-9df8-91ae92129335

Gateway group ID. Optional when using the gateway group admin key to authenticate.

Request Body schema: application/json
Array
One of
op
required
string
Enum: "add" "replace"

The operation to be performed.

path
required
string

Path to the field to be replaced or added. Path should follow the JSON Pointer format.

value
required
any

Value to be added or replaced.

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Response samples

Content type
application/json
{
  • "value": {
    }
}

Create a consumer credential on a gateway group

IAM Action: gateway:CreateConsumerCredential, Resource: arn:api7:gateway:gatewaygroup/%s/consumer/%s

Authorizations:
APIKeyAuthBasicAuth
path Parameters
username
required
string [ 1 .. 512 ] characters ^[a-zA-Z0-9_\-]+$
Example: johndoe

The unique identifier of the consumer.

query Parameters
gateway_group_id
required
string >= 1
Example: gateway_group_id=86fb9981-d9d2-4555-9df8-91ae92129335

Gateway group ID. Optional when using the gateway group admin key to authenticate.

Request Body schema: application/json
name
required
string [ 1 .. 100 ] characters

The object name.

required
key-auth (object) or basic-auth (object) or hmac-auth (object) or jwt-auth (object) = 1 properties

Plugin configuration.

desc
string <= 65536 characters

The object description.

object

Key-value pairs of labels.

Responses

Request samples

Content type
application/json
{
  • "name": "us-west-rsc",
  • "plugins": {
    },
  • "desc": "Object description.",
  • "labels": {
    }
}

Response samples

Content type
application/json
{
  • "value": {
    }
}

List all consumer credentials on a gateway group

IAM Action: gateway:GetConsumerCredential, Resource: arn:api7:gateway:gatewaygroup/%s/consumer/%s

Authorizations:
APIKeyAuthBasicAuth
path Parameters
username
required
string [ 1 .. 512 ] characters ^[a-zA-Z0-9_\-]+$
Example: johndoe

The unique identifier of the consumer.

query Parameters
plugin_name
string [ 1 .. 100 ] characters
Example: plugin_name=us-west-rsc

the plugin name of the consumer credential.

gateway_group_id
required
string >= 1
Example: gateway_group_id=86fb9981-d9d2-4555-9df8-91ae92129335

Gateway group ID. Optional when using the gateway group admin key to authenticate.

page
integer <int64> >= 1

Page number of the listed resources. Used together with page_size. For example, when there are 13 resources in total, if the query parameters are page=1&page_size=10, the GET response will show the route total as 13 and display 10 resources in the first page. If the query parameters are page=2&page_size=10, the GET response will show the route total as 13 and display 3 resources in the second page.

page_size
integer <int64> >= 1

Number of resources listed per page. Used together with page. For example, when there are 13 resources in total, if the query parameters are page=1&page_size=10, the GET response will show the route total as 13 and display 10 resources in the first page. If the query parameters are page=2&page_size=10, the GET response will show the route total as 13 and display 3 resources in the second page.

direction
string
Default: "desc"
Enum: "asc" "desc"

Order to list the resources by. The sorting index follows the configuration of order_by.

order_by
string
Default: "updated_at"
Enum: "created_at" "updated_at" "name"

Index to order consumers by.

search
string
Example: search=version%3Dv2

Condition to search resources by.

labels
string non-empty
Example: labels=labels%5Bversion%5D=v2

Label(s) to filter resources by. The format is labels[key]=value and should be URL-encoded.

Responses

Response samples

Content type
application/json
{
  • "list": [
    ],
  • "total": 1
}

Get a consumer credential on a gateway group

IAM Action: gateway:GetConsumerCredential, Resource: arn:api7:gateway:gatewaygroup/%s/consumer/%s

Authorizations:
APIKeyAuthBasicAuth
path Parameters
username
required
string [ 1 .. 512 ] characters ^[a-zA-Z0-9_\-]+$
Example: johndoe

The unique identifier of the consumer.

credential_id
required
string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$
Example: bd58fce2-b6cc-4d2d-a53c-6ce11b19c101

The unique identifier of the consumer credential.

query Parameters
gateway_group_id
required
string >= 1
Example: gateway_group_id=86fb9981-d9d2-4555-9df8-91ae92129335

Gateway group ID. Optional when using the gateway group admin key to authenticate.

Responses

Response samples

Content type
application/json
{
  • "value": {
    }
}

Update a consumer credential on a gateway group

IAM Action: gateway:UpdateConsumerCredential, Resource: arn:api7:gateway:gatewaygroup/%s/consumer/%s

Authorizations:
APIKeyAuthBasicAuth
path Parameters
username
required
string [ 1 .. 512 ] characters ^[a-zA-Z0-9_\-]+$
Example: johndoe

The unique identifier of the consumer.

credential_id
required
string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$
Example: bd58fce2-b6cc-4d2d-a53c-6ce11b19c101

The unique identifier of the consumer credential.

query Parameters
gateway_group_id
required
string >= 1
Example: gateway_group_id=86fb9981-d9d2-4555-9df8-91ae92129335

Gateway group ID. Optional when using the gateway group admin key to authenticate.

Request Body schema: application/json
name
required
string [ 1 .. 100 ] characters

The object name.

required
key-auth (object) or basic-auth (object) or hmac-auth (object) or jwt-auth (object) = 1 properties

Plugin configuration.

desc
string <= 65536 characters

The object description.

object

Key-value pairs of labels.

Responses

Request samples

Content type
application/json
{
  • "name": "us-west-rsc",
  • "plugins": {
    },
  • "desc": "Object description.",
  • "labels": {
    }
}

Response samples

Content type
application/json
{
  • "value": {
    }
}

Delete a consumer credential

IAM Action: gateway:DeleteConsumerCredential, Resource: arn:api7:gateway:gatewaygroup/%s/consumer/%s

Authorizations:
APIKeyAuthBasicAuth
path Parameters
username
required
string [ 1 .. 512 ] characters ^[a-zA-Z0-9_\-]+$
Example: johndoe

The unique identifier of the consumer.

credential_id
required
string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$
Example: bd58fce2-b6cc-4d2d-a53c-6ce11b19c101

The unique identifier of the consumer credential.

query Parameters
gateway_group_id
required
string >= 1
Example: gateway_group_id=86fb9981-d9d2-4555-9df8-91ae92129335

Gateway group ID. Optional when using the gateway group admin key to authenticate.

Responses

Response samples

Content type
application/json
""

Provider Portal - API Product

Create an API product in Provider Portal

IAM Action: portal:CreateAPIProduct, Resource: arn:api7:portal:apiproduct/*

Authorizations:
APIKeyAuthBasicAuth
Request Body schema: application/json
One of
type
required
string
Default: "gateway"
Value: "gateway"
name
required
string [ 1 .. 100 ] characters

The object name.

logo
string

The base64-encoded logo image of the API product.

desc
string

The description of the API product.

object

Key-value pairs of labels.

object non-empty

The authentication configuration of the API product.

required
Array of objects non-empty

An array of gateway groups and services that the API product is linked to.

status
string
Default: "draft"
Enum: "draft" "published"

Status of the API product.

subscription_auto_approval
boolean
Default: false

If true, the subscription is automatically approved.

can_view_unsubscribed
boolean
Default: true

If true, developers can view the unsubscribed API.

visibility
string
Default: "public"
Enum: "public" "logged_in"

The visibility of the API product in the API hub. public means the product is visible to all users and logged_in means the product is only visible to logged-in developers.

Responses

Request samples

Content type
application/json
Example
{
  • "type": "gateway",
  • "name": "Weather Insights API",
  • "logo": "string",
  • "desc": "The Weather Insights API provides real-time and historical weather data for any location worldwide.",
  • "labels": {
    },
  • "auth": {
    },
  • "linked_gateway_services": [
    ],
  • "status": "draft",
  • "subscription_auto_approval": false,
  • "can_view_unsubscribed": true,
  • "visibility": "public"
}

Response samples

Content type
application/json
{
  • "value": {
    }
}

List all API products in Provider Portal

IAM Action: portal:GetAPIProduct, Resource: arn:api7:portal:apiproduct/%s

Authorizations:
APIKeyAuthBasicAuth
query Parameters
page
integer <int64> >= 1

Page number of the listed resources. Used together with page_size. For example, when there are 13 resources in total, if the query parameters are page=1&page_size=10, the GET response will show the route total as 13 and display 10 resources in the first page. If the query parameters are page=2&page_size=10, the GET response will show the route total as 13 and display 3 resources in the second page.

page_size
integer <int64> >= 1

Number of resources listed per page. Used together with page. For example, when there are 13 resources in total, if the query parameters are page=1&page_size=10, the GET response will show the route total as 13 and display 10 resources in the first page. If the query parameters are page=2&page_size=10, the GET response will show the route total as 13 and display 3 resources in the second page.

direction
string
Default: "desc"
Enum: "asc" "desc"

Order to list the resources by. The sorting index follows the configuration of order_by.

order_by
string
Default: "updated_at"
Enum: "created_at" "updated_at"

Index to order resources by.

search
string
Example: search=version%3Dv2

Condition to search resources by.

service_id
string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$
Example: service_id=bd58fce2-b6cc-4d2d-a53c-6ce11b19c101

The unique identifier of the service template.

Responses

Response samples

Content type
application/json
{
  • "list": [
    ],
  • "total": 1
}

Get an API product in Provider Portal

IAM Action: portal:GetAPIProduct, Resource: arn:api7:portal:apiproduct/%s

Authorizations:
APIKeyAuthBasicAuth
path Parameters
api_product_id
required
string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$
Example: bd58fce2-b6cc-4d2d-a53c-6ce11b19c101

The unique identifier of the API product.

Responses

Response samples

Content type
application/json
{
  • "value": {
    }
}

Update an API product in Provider Portal

IAM Action: portal:UpdateAPIProduct, Resource: arn:api7:portal:apiproduct/%s

Authorizations:
APIKeyAuthBasicAuth
path Parameters
api_product_id
required
string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$
Example: bd58fce2-b6cc-4d2d-a53c-6ce11b19c101

The unique identifier of the API product.

Request Body schema: application/json
One of
type
required
string
Default: "gateway"
Value: "gateway"
name
required
string [ 1 .. 100 ] characters

The object name.

logo
string

The base64-encoded logo image of the API product.

desc
string

The description of the API product.

object

Key-value pairs of labels.

object non-empty

The authentication configuration of the API product.

required
Array of objects non-empty

An array of gateway groups and services that the API product is linked to.

status
string
Default: "draft"
Enum: "draft" "published"

Status of the API product.

subscription_auto_approval
boolean
Default: false

If true, the subscription is automatically approved.

can_view_unsubscribed
boolean
Default: true

If true, developers can view the unsubscribed API.

visibility
string
Default: "public"
Enum: "public" "logged_in"

The visibility of the API product in the API hub. public means the product is visible to all users and logged_in means the product is only visible to logged-in developers.

Responses

Request samples

Content type
application/json
Example
{
  • "type": "gateway",
  • "name": "Weather Insights API",
  • "logo": "string",
  • "desc": "The Weather Insights API provides real-time and historical weather data for any location worldwide.",
  • "labels": {
    },
  • "auth": {
    },
  • "linked_gateway_services": [
    ],
  • "status": "draft",
  • "subscription_auto_approval": false,
  • "can_view_unsubscribed": true,
  • "visibility": "public"
}

Response samples

Content type
application/json
{
  • "value": {
    }
}

Patch an API product in Provider Portal

IAM Action: portal:UpdateAPIProduct, Resource: arn:api7:portal:apiproduct/%s

Authorizations:
APIKeyAuthBasicAuth
path Parameters
api_product_id
required
string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$
Example: bd58fce2-b6cc-4d2d-a53c-6ce11b19c101

The unique identifier of the API product.

Request Body schema: application/json
Array
One of
op
required
string
Enum: "add" "replace"

The operation to be performed.

path
required
string

Path to the field to be replaced or added. Path should follow the JSON Pointer format.

value
required
any

Value to be added or replaced.

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Response samples

Content type
application/json
{
  • "value": {
    }
}

Delete an API product in Provider Portal

IAM Action: portal:DeleteAPIProduct, Resource: arn:api7:portal:apiproduct/%s

Authorizations:
APIKeyAuthBasicAuth
path Parameters
api_product_id
required
string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$
Example: bd58fce2-b6cc-4d2d-a53c-6ce11b19c101

The unique identifier of the API product.

Responses

Response samples

Content type
application/json
""

List all subscriptions in Provider Portal for an API product

IAM Action: portal:GetAPIProduct, Resource: arn:api7:portal:apiproduct/%s

Authorizations:
APIKeyAuthBasicAuth
path Parameters
api_product_id
required
string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$
Example: bd58fce2-b6cc-4d2d-a53c-6ce11b19c101

The unique identifier of the API product.

query Parameters
page
integer <int64> >= 1

Page number of the listed resources. Used together with page_size. For example, when there are 13 resources in total, if the query parameters are page=1&page_size=10, the GET response will show the route total as 13 and display 10 resources in the first page. If the query parameters are page=2&page_size=10, the GET response will show the route total as 13 and display 3 resources in the second page.

page_size
integer <int64> >= 1

Number of resources listed per page. Used together with page. For example, when there are 13 resources in total, if the query parameters are page=1&page_size=10, the GET response will show the route total as 13 and display 10 resources in the first page. If the query parameters are page=2&page_size=10, the GET response will show the route total as 13 and display 3 resources in the second page.

direction
string
Default: "desc"
Enum: "asc" "desc"

Order to list the resources by. The sorting index follows the configuration of order_by.

order_by
string
Default: "subscribed_at"
Enum: "developer_name" "subscribed_at"
search
string
Example: search=version%3Dv2

Condition to search resources by.

labels
string non-empty
Example: labels=labels%5Bversion%5D=v2

Label(s) to filter resources by. The format is labels[key]=value and should be URL-encoded.

Responses

Response samples

Content type
application/json
{
  • "list": [
    ],
  • "total": 1
}

Cancel a subscription in Provider Portal for an API product

IAM Action: portal:UpdateAPIProduct, Resource: arn:api7:portal:apiproduct/%s

Authorizations:
APIKeyAuthBasicAuth
path Parameters
api_product_id
required
string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$
Example: bd58fce2-b6cc-4d2d-a53c-6ce11b19c101

The unique identifier of the API product.

subscription_id
required
string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$
Example: bd58fce2-b6cc-4d2d-a53c-6ce11b19c101

the unique identifier of the subscription.

Responses

Response samples

Content type
application/json
""

List all notification histories for an API product

IAM Action: portal:GetAPIProduct, Resource: arn:api7:portal:apiproduct/%s

Authorizations:
APIKeyAuthBasicAuth
path Parameters
api_product_id
required
string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$
Example: bd58fce2-b6cc-4d2d-a53c-6ce11b19c101

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"

Notification trigger.

contact_point_id
string
Example: contact_point_id=6c97bc5f-3356-41f5-894c-c88df5389bd2

The contact point ID of the notification.

page
integer <int64> >= 1

Page number of the listed resources. Used together with page_size. For example, when there are 13 resources in total, if the query parameters are page=1&page_size=10, the GET response will show the route total as 13 and display 10 resources in the first page. If the query parameters are page=2&page_size=10, the GET response will show the route total as 13 and display 3 resources in the second page.

page_size
integer <int64> >= 1

Number of resources listed per page. Used together with page. For example, when there are 13 resources in total, if the query parameters are page=1&page_size=10, the GET response will show the route total as 13 and display 10 resources in the first page. If the query parameters are page=2&page_size=10, the GET response will show the route total as 13 and display 3 resources in the second page.

direction
string
Default: "desc"
Enum: "asc" "desc"

Order to list the resources by. The sorting index follows the configuration of order_by.

order_by
string
Default: "notified_at"
Value: "notified_at"

Order to list the notifications by.

Responses

Response samples

Content type
application/json
{
  • "list": [
    ],
  • "total": 1
}

Developer

List Developers

IAM Action: portal:GetDeveloper, Resource: arn:api7:portal:developer/%s

Authorizations:
APIKeyAuthBasicAuth
query Parameters
page
integer <int64> >= 1

Page number of the listed resources. Used together with page_size. For example, when there are 13 resources in total, if the query parameters are page=1&page_size=10, the GET response will show the route total as 13 and display 10 resources in the first page. If the query parameters are page=2&page_size=10, the GET response will show the route total as 13 and display 3 resources in the second page.

page_size
integer <int64> >= 1

Number of resources listed per page. Used together with page. For example, when there are 13 resources in total, if the query parameters are page=1&page_size=10, the GET response will show the route total as 13 and display 10 resources in the first page. If the query parameters are page=2&page_size=10, the GET response will show the route total as 13 and display 3 resources in the second page.

direction
string
Default: "desc"
Enum: "asc" "desc"

Order to list the resources by. The sorting index follows the configuration of order_by.

order_by
string
Default: "last_active_at"
Enum: "last_active_at" "created_at"

Index to order developers by.

search
string
Example: search=version%3Dv2

Condition to search resources by.

Responses

Response samples

Content type
application/json
{
  • "list": [
    ],
  • "total": 1
}

Delete a developer

IAM Action: portal:DeleteDeveloper, Resource: arn:api7:portal:developer/%s

Authorizations:
APIKeyAuthBasicAuth
path Parameters
developer_id
required
string

Developer ID.

Responses

Response samples

Content type
application/json
{
  • "value": { }
}

Invite a developer to the portal

IAM Action: portal:InviteDeveloper, Resource: arn:api7:portal:developer/*

Authorizations:
APIKeyAuthBasicAuth
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

Content type
application/json
{
  • "username": "john",
  • "password": "john-safe-password",
  • "name": "john"
}

Response samples

Content type
application/json
{
  • "value": {
    }
}

Monitoring

Get provider portal monitoring data at a single point in time

See Prometheus instant queries for more information.

Authorizations:
APIKeyAuthBasicAuth
query Parameters
query
required
string
Example: query=apisix

Prometheus expression query string.

Unix Timestamp (integer) or RFC3339 Timestamp (string)

Evaluation timestamp. Accepts either a Unix timestamp or an RFC3339 timestamp.

Float (number) or Duration (string)

Evaluation timeout, either as:

  • A float number in seconds (e.g. 2.5)
  • A duration string (e.g. 5s, 1.5m) in Prometheus-style format.
limit
integer

Maximum number of returned series. 0 means disabled.

Responses

Response samples

Content type
application/json
{
  • "value": {
    }
}

Get provider portal monitoring data over a range of time

See Prometheus range queries for more information.

Authorizations:
APIKeyAuthBasicAuth
query Parameters
query
required
string
Example: query=apisix

Prometheus expression query string.

required
Unix Timestamp (integer) or RFC3339 Timestamp (string)

Start timestamp, inclusive. Accepts either a Unix timestamp or an RFC3339 timestamp.

required
Unix Timestamp (integer) or RFC3339 Timestamp (string)

End timestamp, inclusive. Accepts either a Unix timestamp or an RFC3339 timestamp.

required
Float (number) or Duration (string)

Query resolution step width, either as:

  • a float number in seconds (e.g. 15.5), or
  • a duration string (e.g. 15s, 1m, 2h) in Prometheus-style duration format.
Float (number) or Duration (string)

Evaluation timeout, either as:

  • A float number in seconds (e.g. 2.5)
  • A duration string (e.g. 5s, 1.5m) in Prometheus-style format.
limit
integer

Maximum number of returned series. 0 means disabled.

Responses

Response samples

Content type
application/json
{
  • "value": {
    }
}

Get data from Prometheus

Authorizations:
APIKeyAuthBasicAuth
path Parameters
required
Fixed Endpoints (string) or Dynamic Label Values Endpoint (string)

Prometheus HTTP API endpoint. See the Prometheus docs for the available URL query parameters for each endpoint.

Responses

Response samples

Content type
application/json
{
  • "value": {
    }
}

Get data from Prometheus

Authorizations:
APIKeyAuthBasicAuth
path Parameters
required
Fixed Endpoints (string) or Dynamic Label Values Endpoint (string)

Prometheus HTTP API endpoint. See the Prometheus docs for the available body parameters for each endpoint.

Request Body schema: application/x-www-form-urlencoded
property name*
additional property
any

Responses

Response samples

Content type
application/json
{
  • "value": {
    }
}

Global Rule

Create a global rule on a gateway group

IAM Action: gateway:CreateGlobalPluginRule, Resource: arn:api7:gateway:gatewaygroup/%s

Authorizations:
APIKeyAuthBasicAuth
query Parameters
gateway_group_id
required
string >= 1
Example: gateway_group_id=86fb9981-d9d2-4555-9df8-91ae92129335

Gateway group ID. Optional when using the gateway group admin key to authenticate.

Request Body schema: application/json
plugins
required
object

Key-value pairs of plugins and their configurations on the object.

Responses

Request samples

Content type
application/json
{
  • "plugins": {
    }
}

Response samples

Content type
application/json
{
  • "value": {
    }
}

List all global rules on a gateway group

IAM Action: gateway:GetGlobalPluginRule, Resource: arn:api7:gateway:gatewaygroup/%s

Authorizations:
APIKeyAuthBasicAuth
query Parameters
gateway_group_id
required
string >= 1
Example: gateway_group_id=86fb9981-d9d2-4555-9df8-91ae92129335

Gateway group ID. Optional when using the gateway group admin key to authenticate.

page
integer <int64> >= 1

Page number of the listed resources. Used together with page_size. For example, when there are 13 resources in total, if the query parameters are page=1&page_size=10, the GET response will show the route total as 13 and display 10 resources in the first page. If the query parameters are page=2&page_size=10, the GET response will show the route total as 13 and display 3 resources in the second page.

page_size
integer <int64> >= 1

Number of resources listed per page. Used together with page. For example, when there are 13 resources in total, if the query parameters are page=1&page_size=10, the GET response will show the route total as 13 and display 10 resources in the first page. If the query parameters are page=2&page_size=10, the GET response will show the route total as 13 and display 3 resources in the second page.

direction
string
Default: "desc"
Enum: "asc" "desc"

Order to list the resources by. The sorting index follows the configuration of order_by.

order_by
string
Default: "updated_at"
Enum: "created_at" "updated_at"

Index to order resources by.

search
string
Example: search=version%3Dv2

Condition to search resources by.

Responses

Response samples

Content type
application/json
{
  • "list": [
    ],
  • "total": 1
}

Get a global rule on a gateway group

IAM Action: gateway:GetGlobalPluginRule, Resource: arn:api7:gateway:gatewaygroup/%s

Authorizations:
APIKeyAuthBasicAuth
path Parameters
global_rule_id
required
string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$
Example: bd58fce2-b6cc-4d2d-a53c-6ce11b19c101

The unique identifier of the global rule.

query Parameters
gateway_group_id
required
string >= 1
Example: gateway_group_id=86fb9981-d9d2-4555-9df8-91ae92129335

Gateway group ID. Optional when using the gateway group admin key to authenticate.

Responses

Response samples

Content type
application/json
{
  • "value": {
    }
}

Update a global rule on a gateway group

IAM Action: gateway:UpdateGlobalPluginRule, Resource: arn:api7:gateway:gatewaygroup/%s

Authorizations:
APIKeyAuthBasicAuth
path Parameters
global_rule_id
required
string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$
Example: bd58fce2-b6cc-4d2d-a53c-6ce11b19c101

The unique identifier of the global rule.

query Parameters
gateway_group_id
required
string >= 1
Example: gateway_group_id=86fb9981-d9d2-4555-9df8-91ae92129335

Gateway group ID. Optional when using the gateway group admin key to authenticate.

Request Body schema: application/json
plugins
required
object

Key-value pairs of plugins and their configurations on the object.

Responses

Request samples

Content type
application/json
{
  • "plugins": {
    }
}

Response samples

Content type
application/json
{
  • "value": {
    }
}

Delete a global rule on a gateway group

IAM Action: gateway:DeleteGlobalPluginRule, Resource: arn:api7:gateway:gatewaygroup/%s

Authorizations:
APIKeyAuthBasicAuth
path Parameters
global_rule_id
required
string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$
Example: bd58fce2-b6cc-4d2d-a53c-6ce11b19c101

The unique identifier of the global rule.

query Parameters
gateway_group_id
required
string >= 1
Example: gateway_group_id=86fb9981-d9d2-4555-9df8-91ae92129335

Gateway group ID. Optional when using the gateway group admin key to authenticate.

Responses

Response samples

Content type
application/json
""

Plugin Metadata

List all plugin metadata on a gateway group

IAM Action: gateway:GetPluginMetadata, Resource: arn:api7:gateway:gatewaygroup/%s

Authorizations:
APIKeyAuthBasicAuth
query Parameters
gateway_group_id
required
string >= 1
Example: gateway_group_id=86fb9981-d9d2-4555-9df8-91ae92129335

Gateway group ID. Optional when using the gateway group admin key to authenticate.

Responses

Response samples

Content type
application/json
{
  • "value": {
    }
}

Get a plugin metadata on a gateway group

IAM Action: gateway:GetPluginMetadata, Resource: arn:api7:gateway:gatewaygroup/%s

Authorizations:
APIKeyAuthBasicAuth
path Parameters
plugin_name
required
string [ 1 .. 64 ] characters

Name of the plugin.

query Parameters
gateway_group_id
required
string >= 1
Example: gateway_group_id=86fb9981-d9d2-4555-9df8-91ae92129335

Gateway group ID. Optional when using the gateway group admin key to authenticate.

return_default
boolean
Default: false

When set to true, the default value is returned when plugin metadata is not found.

Responses

Response samples

Content type
application/json
{
  • "value": {
    }
}

Update a plugin metadata on a gateway group

IAM Action: gateway:UpdatePluginMetadata, Resource: arn:api7:gateway:gatewaygroup/%s

Authorizations:
APIKeyAuthBasicAuth
path Parameters
plugin_name
required
string [ 1 .. 64 ] characters

Name of the plugin.

query Parameters
gateway_group_id
required
string >= 1
Example: gateway_group_id=86fb9981-d9d2-4555-9df8-91ae92129335

Gateway group ID. Optional when using the gateway group admin key to authenticate.

Request Body schema: application/json
object

Plugin metadata.

Responses

Request samples

Content type
application/json
{
  • "disabled_labels": {
    }
}

Response samples

Content type
application/json
{
  • "value": {
    }
}

Delete a plugin metadata on a gateway group

IAM Action: gateway:DeletePluginMetadata, Resource: arn:api7:gateway:gatewaygroup/%s

Authorizations:
APIKeyAuthBasicAuth
path Parameters
plugin_name
required
string [ 1 .. 64 ] characters

Name of the plugin.

query Parameters
gateway_group_id
required
string >= 1
Example: gateway_group_id=86fb9981-d9d2-4555-9df8-91ae92129335

Gateway group ID. Optional when using the gateway group admin key to authenticate.

Responses

Response samples

Content type
application/json
""

Get the default value of a plugin metadata

Authorizations:
APIKeyAuthBasicAuth
path Parameters
plugin_name
required
string [ 1 .. 64 ] characters

Name of the plugin.

Responses

Response samples

Content type
application/json
{
  • "value": { }
}

Plugin

Get all plugin schemas and priorities

Authorizations:
APIKeyAuthBasicAuth
query Parameters
subsystem
string
Default: "http"
Enum: "http" "stream"
Example: subsystem=stream

Type to filter the plugin list. http will only show L7 plugins and stream will only show L4 plugins.

Responses

Response samples

Content type
application/json
{
  • "value": {
    }
}

List all plugin names

Authorizations:
APIKeyAuthBasicAuth
query Parameters
has_metadata
boolean
Default: false

If true, show plugin names where the plugins have metadata.

subsystem
string
Default: "http"
Enum: "http" "stream"
Example: subsystem=stream

Type to filter the plugin list. http will only show L7 plugins and stream will only show L4 plugins.

Responses

Response samples

Content type
application/json
[
  • "ip-restriction",
  • "limit-conn",
  • "mqtt-proxy",
  • "prometheus",
  • "syslog"
]

Get schema definition of a plugin

Get schema definition of a plugin, including plugin meta properties and plugin properties. The endpoint returns the same response as the /apisix/admin/schema/plugins/{plugin_name} endpoint when scope is not set.

Authorizations:
APIKeyAuthBasicAuth
path Parameters
plugin_name
required
string [ 1 .. 64 ] characters

Name of the plugin.

query Parameters
scope
string
Value: "all"

The scope of the returned plugin information.
By default, the scope is not set. When set to all, the response includes metadata_schema, priority, version, - and wraps the actual schema under the schema field.

subsystem
string
Default: "http"
Enum: "http" "stream"
Example: subsystem=stream

Type to filter the plugin list. http will only show L7 plugins and stream will only show L4 plugins.

Responses

Response samples

Content type
application/json
{
  • "value": {
    }
}

Get schema definition of a plugin

Get schema definition of a plugin, including plugin meta properties and plugin properties.

Authorizations:
APIKeyAuthBasicAuth
path Parameters
plugin_name
required
string [ 1 .. 64 ] characters

Name of the plugin.

query Parameters
subsystem
string
Default: "http"
Enum: "http" "stream"
Example: subsystem=stream

Type to filter the plugin list. http will only show L7 plugins and stream will only show L4 plugins.

Responses

Response samples

Content type
application/json
{
  • "value": {
    }
}

Get all plugin details

Authorizations:
APIKeyAuthBasicAuth
query Parameters
subsystem
string
Default: "http"
Enum: "http" "stream"
Example: subsystem=stream

Type to filter the plugin list. http will only show L7 plugins and stream will only show L4 plugins.

gateway_group_id
string >= 1

Gateway group ID.

Responses

Response samples

Content type
application/json
{
  • "value": [
    ]
}

List all plugin catalogs

Authorizations:
APIKeyAuthBasicAuth

Responses

Response samples

Content type
application/json
{
  • "value": [
    ]
}

Get the usage of a plugin in all gateway groups

Authorizations:
APIKeyAuthBasicAuth
path Parameters
plugin_name
required
string [ 1 .. 64 ] characters

Name of the plugin.

Responses

Response samples

Content type
application/json
{
  • "value": {
    }
}

Schema

Get schema by resource name

Authorizations:
APIKeyAuthBasicAuth
path Parameters
resource_name
required
string >= 1
Enum: "service" "upstream" "stream_service" "route" "consumer" "consumer_credential" "global_rule" "ssl" "vault_secret" "aws_secret" "kubernetes_secret" "plugin_metadata" "stream_route"
Example: consumer

Name of the resource.

Responses

Response samples

Content type
application/json
{
  • "value": { },
  • "description": "The consumer description.",
  • "properties": {
    },
  • "required": [
    ],
  • "type": "object"
}

Get schema definition of a plugin

Get schema definition of a plugin, including plugin meta properties and plugin properties.

Authorizations:
APIKeyAuthBasicAuth
path Parameters
plugin_name
required
string [ 1 .. 64 ] characters

Name of the plugin.

query Parameters
subsystem
string
Default: "http"
Enum: "http" "stream"
Example: subsystem=stream

Type to filter the plugin list. http will only show L7 plugins and stream will only show L4 plugins.

Responses

Response samples

Content type
application/json
{
  • "value": {
    }
}

Get OpenAPI schema

The endpoint returns the request body schema of PUT/POST requests for users to understand how to structure a request.

Authorizations:
APIKeyAuthBasicAuth
query Parameters
method
required
string >= 1
Enum: "POST" "PUT"

HTTP method to determine which request body to return.

path
required
string >= 1
Example: path=/apisix/admin/consumers

API endpoint.

Responses

Response samples

Content type
application/json
{
  • "value": { },
  • "description": "The consumer description.",
  • "properties": {
    },
  • "required": [
    ],
  • "type": "object"
}

Get core resources schema

Authorizations:
APIKeyAuthBasicAuth

Responses

Response samples

Content type
application/json
{
  • "value": {
    }
}

Variables

Get all variables

Authorizations:
APIKeyAuthBasicAuth

Responses

Response samples

Content type
application/json
{
  • "value": [
    ]
}

Gateway Instance

List all gateway instances of all gateway groups

IAM Action: gateway:GetGatewayInstance, Resource: arn:api7:gateway:gatewaygroup/%s

Authorizations:
APIKeyAuthBasicAuth
query Parameters
gateway_group_id
string >= 1

Gateway group ID.

order_by
string
Default: "last_heartbeat_time"
Enum: "created_at" "last_heartbeat_time"

Index to order gateway instances by.

status
string
Enum: "Healthy" "OutOfSync" "LostConnection" "Offline"

The value of the instance status.

compatibility
string
Enum: "Compatible" "Incompatible" "PartiallyCompatible"

The compatibility of the gateway instance version.

direction
string
Default: "desc"
Enum: "asc" "desc"

Order to list the resources by. The sorting index follows the configuration of order_by.

page_size
integer <int64> >= 1

Number of resources listed per page. Used together with page. For example, when there are 13 resources in total, if the query parameters are page=1&page_size=10, the GET response will show the route total as 13 and display 10 resources in the first page. If the query parameters are page=2&page_size=10, the GET response will show the route total as 13 and display 3 resources in the second page.

page
integer <int64> >= 1

Page number of the listed resources. Used together with page_size. For example, when there are 13 resources in total, if the query parameters are page=1&page_size=10, the GET response will show the route total as 13 and display 10 resources in the first page. If the query parameters are page=2&page_size=10, the GET response will show the route total as 13 and display 3 resources in the second page.

search
string
Example: search=version%3Dv2

Condition to search resources by.

Responses

Response samples

Content type
application/json
{
  • "list": [
    ],
  • "total": 1
}

List all gateway instances on a gateway group

IAM Action: gateway:GetGatewayInstance, Resource: arn:api7:gateway:gatewaygroup/%s

Authorizations:
APIKeyAuthBasicAuth
path Parameters
gateway_group_id
required
string >= 1
Example: 86fb9981-d9d2-4555-9df8-91ae92129335

Gateway group ID.

query Parameters
order_by
string
Default: "last_heartbeat_time"
Enum: "created_at" "last_heartbeat_time"

Index to order gateway instances by.

status
string
Enum: "Healthy" "OutOfSync" "LostConnection" "Offline"

The value of the instance status.

compatibility
string
Enum: "Compatible" "Incompatible" "PartiallyCompatible"

The compatibility of the gateway instance version.

direction
string
Default: "desc"
Enum: "asc" "desc"

Order to list the resources by. The sorting index follows the configuration of order_by.

page_size
integer <int64> >= 1

Number of resources listed per page. Used together with page. For example, when there are 13 resources in total, if the query parameters are page=1&page_size=10, the GET response will show the route total as 13 and display 10 resources in the first page. If the query parameters are page=2&page_size=10, the GET response will show the route total as 13 and display 3 resources in the second page.

page
integer <int64> >= 1

Page number of the listed resources. Used together with page_size. For example, when there are 13 resources in total, if the query parameters are page=1&page_size=10, the GET response will show the route total as 13 and display 10 resources in the first page. If the query parameters are page=2&page_size=10, the GET response will show the route total as 13 and display 3 resources in the second page.

search
string
Example: search=version%3Dv2

Condition to search resources by.

Responses

Response samples

Content type
application/json
{
  • "list": [
    ],
  • "total": 1
}

Count the number of gateway instances by status in a gateway group

IAM Action: gateway:GetGatewayInstance, Resource: arn:api7:gateway:gatewaygroup/%s

Authorizations:
APIKeyAuthBasicAuth
path Parameters
field
required
string
Value: "status"

Field to count by.

query Parameters
gateway_group_id
required
string >= 1
Example: gateway_group_id=86fb9981-d9d2-4555-9df8-91ae92129335

Gateway group ID. Optional when using the gateway group admin key to authenticate.

search
string
Example: search=version%3Dv2

Condition to search resources by.

Responses

Response samples

Content type
application/json
{
  • "value": [
    ]
}

List gateway instances cores of all gateway groups

IAM Action: gateway:GetGatewayInstanceCore, Resource: arn:api7:gateway:gatewaygroup/*

Authorizations:
APIKeyAuthBasicAuth

Responses

Response samples

Content type
application/json
{
  • "value": {
    }
}

Export the gateway instance core usage

The gateway instance’s core usage is exported hourly within the specified time interval.
IAM Action: gateway:GetGatewayInstanceCore, Resource: arn:api7:gateway:gatewaygroup/*

Authorizations:
APIKeyAuthBasicAuth
query Parameters
begin_at
required
integer <int64>

The start time to export the gateway instance core usage.

end_at
required
integer <int64>

The end time to export the gateway instance core usage.

Responses

Response samples

Content type
text/csv
time,max_dp_cores
1749132000,9
1749128400,9
1749124800,9
1749121200,9
1749117600,9
1749114000,9
1749110400,9
1749106800,17
1749103200,1
1749099600,1
1749096000,1
1749092400,1
1749088800,1

Generate a script to install the gateway instance by Docker

IAM Action: gateway:CreateGatewayInstance, Resource: arn:api7:gateway:gatewaygroup/%s

Authorizations:
APIKeyAuthBasicAuth
path Parameters
gateway_group_id
required
string >= 1
Example: 86fb9981-d9d2-4555-9df8-91ae92129335

Gateway group ID.

query Parameters
dp_manager_address
string non-empty
Example: dp_manager_address=10.15.101.5

The IP address of the control plane.

validity_period
integer [ 1 .. 10950 ]
Default: 3650

The validity period of the certificate in days.

image
string non-empty
Example: image=api7/api7-ee-3-gateway

Docker image.

http_port
integer
Default: 9080

The HTTP port of the control plane.

https_port
integer
Default: 9443

The HTTPS port of the control plane.

name
string non-empty

The hostname of the control plane.

extra_args[]
Array of strings
Example: extra_args[]=a=b&extra_args[]=c=d

Additional docker run arguments.

Responses

Response samples

Content type
text/plain
docker run -d -e API7_CONTROL_PLANE_ENDPOINTS='["https://12.12.123.123:31344"]' \
  -e API7_GATEWAY_GROUP_SHORT_ID=tabqbdwnahkqo \
  -e API7_CONTROL_PLANE_CERT="-----BEGIN CERTIFICATE-----
  MIIBhjCCATigAwIBAgICBAAwBQYDK2VwMEQxCzAJBgNVBAYTAlVTMRMwEQYDVQQI
  ...
  -----END CERTIFICATE-----" \
  -e API7_CONTROL_PLANE_KEY="-----BEGIN PRIVATE KEY-----
  MC4CAQAwBQYDK2VwBCIEIG1Q/eJDdTZ4krnd7ezprKcZ2ASeTSrhpWglMzh9d0Hs
  -----END PRIVATE KEY-----" \
  -e API7_CONTROL_PLANE_CA="-----BEGIN CERTIFICATE-----
  MIIBdTCCASegAwIBAgIQVXqTFu/hH4caZptKdGp04zAFBgMrZXAwRDELMAkGA1UE
  ...
  -----END CERTIFICATE-----" \
  -e API7_CONTROL_PLANE_SNI="api7ee3-dp-manager" \
  -p 9080:9080 \
  -p 9443:9443 \
  api7/api7-ee-3-gateway:latest

Generate a script to install the gateway instance by Helm in Kubernetes

IAM Action: gateway:CreateGatewayInstance, Resource: arn:api7:gateway:gatewaygroup/%s

Authorizations:
APIKeyAuthBasicAuth
path Parameters
gateway_group_id
required
string >= 1
Example: 86fb9981-d9d2-4555-9df8-91ae92129335

Gateway group ID.

query Parameters
dp_manager_address
string non-empty
Example: dp_manager_address=10.15.101.5

The IP address of the control plane.

validity_period
integer [ 1 .. 10950 ]
Default: 3650

The validity period of the certificate in days.

name
required
string

Gateway name.

namespace
required
string

Gateway namespace.

service_account
string

Service account to install the gateway.

replicas
integer
Default: 1

The number of replicas.

workers
integer
Example: workers=5

The number of worker processes for the gateway instance. By default, it is configured to match the number of CPU cores on the server hosting the gateway instance.

cpu_limit
string
Example: cpu_limit=6

The CPU limit in number of cores.

memory_limit
string
Example: memory_limit=6Gi

The memory limit. Use the format <number><unit>.

extra_values[]
Array of strings
Example: extra_values[]=a=b&extra_values[]=c=d

Extra values to be passed to the Helm chart, in the form of key=value.

Responses

Response samples

Content type
text/plain
helm repo add api7 https://charts.api7.ai
helm repo update
cat > /tmp/tls.crt <<EOF
-----BEGIN CERTIFICATE-----
MIIBhjCCATigAwIBAgICBAAwBQYDK2VwMEQxCzAJBgNVBAYTAlVTMRMwEQYDVQQI
...
-----END CERTIFICATE-----
EOF
cat > /tmp/tls.key <<EOF
-----BEGIN PRIVATE KEY-----
MC4CAQAwBQ...AuNANhyrM9qUepu5ZGtVgXnX
-----END PRIVATE KEY-----
EOF
cat > /tmp/ca.crt <<EOF
-----BEGIN CERTIFICATE-----
MIIBdTCCASegAwIBAgIQVXqTFu/hH4caZptKdGp04zAFBgMrZXAwRDELMAkGA1UE
...
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIBeDCCASqgAwIBAgIRAPNxgFOmSXOwtIdZOgynsLswBQYDK2VwMEQxCzAJBgNV
...
-----END CERTIFICATE-----
EOF
kubectl create namespace default --dry-run=client -o yaml | kubectl apply -f -
kubectl create secret generic -n default name-tls --from-file=tls.crt=/tmp/tls.crt --from-file=tls.key=/tmp/tls.key --from-file=ca.crt=/tmp/ca.crt
helm upgrade --install -n default --create-namespace name api7/gateway \
  --set "etcd.auth.tls.enabled=true" \
  --set "etcd.auth.tls.existingSecret=name-tls" \
  --set "etcd.auth.tls.certFilename=tls.crt" \
  --set "etcd.auth.tls.certKeyFilename=tls.key" \
  --set "etcd.auth.tls.sni=api7ee3-dp-manager" \
  --set "etcd.auth.tls.verify=true" \
  --set "gateway.tls.existingCASecret=name-tls" \
  --set "gateway.tls.certCAFilename=ca.crt" \
  --set "apisix.extraEnvVars[0].name=API7_GATEWAY_GROUP_SHORT_ID" \
  --set "apisix.extraEnvVars[0].value=tabqbdwnahkqo" \
  --set "etcd.host[0]=https://12.12.123.123:31344" \
  --set "apisix.resources.limits.cpu=4" \
  --set "apisix.resources.limits.memory=7168Mi" \
  --set "apisix.replicaCount=1" \
  --set "apisix.image.repository=api7/api7-ee-3-gateway" \
  --set "apisix.image.tag=latest"

Generate a values file for the gateway's Kubernetes Helm chart

IAM Action: gateway:CreateGatewayInstance, Resource: arn:api7:gateway:gatewaygroup/%s

Authorizations:
APIKeyAuthBasicAuth
path Parameters
gateway_group_id
required
string >= 1
Example: 86fb9981-d9d2-4555-9df8-91ae92129335

Gateway group ID.

query Parameters
dp_manager_address
string non-empty
Example: dp_manager_address=10.15.101.5

The IP address of the control plane.

validity_period
integer [ 1 .. 10950 ]
Default: 3650

The validity period of the certificate in days.

name
required
string

Gateway name.

namespace
required
string

Gateway namespace.

service_account
string

Service account to install the gateway.

replicas
integer
Default: 1

The number of replicas.

workers
integer
Example: workers=5

The number of worker processes for the gateway instance. By default, it is configured to match the number of CPU cores on the server hosting the gateway instance.

cpu_limit
string
Example: cpu_limit=6

The CPU limit in number of cores.

memory_limit
string
Example: memory_limit=6Gi

The memory limit. Use the format <number><unit>.

Responses

Response samples

Content type
text/plain
apiVersion: v1
data:
  tls.crt: LS0tLS1CRUdJTiB...
  tls.key: LS0tLS1CRUdJTiB...
  ca.crt: LS0tLS1CRUdJTiB...
kind: Secret
metadata:
  name: name-tls
  namespace: default
type: kubernetes.io/tls
---
apisix:
  replicaCount: 1
  image:
    repository: api7/api7-ee-3-gateway
    tag: dev
  extraEnvVars:
  - name: API7_GATEWAY_GROUP_SHORT_ID
    value: "tabqbdwnahkqo"
etcd:
  host:
  - "https://12.12.123.123:31344"
  auth:
    tls:
      enabled: true
      existingSecret: name-tls
      certFilename: tls.crt
      certKeyFilename: tls.key
      sni: api7ee3-dp-manager
      verify: true
gateway:
  tls:
    existingCASecret: name-tls
    certCAFilename: ca.crt

Delete gateway instance

IAM Action: gateway:DeleteGatewayInstance, Resource: arn:api7:gateway:gatewaygroup/%s

Authorizations:
APIKeyAuthBasicAuth
path Parameters
gateway_group_id
required
string >= 1
Example: 86fb9981-d9d2-4555-9df8-91ae92129335

Gateway group ID.

gateway_instance_id
required
string >= 1

Gateway instance ID.

Responses

Response samples

Content type
application/json
""

Issue a data plane certificate on a gateway group

IAM Action: gateway:CreateGatewayInstance, Resource: arn:api7:gateway:gatewaygroup/%s

Authorizations:
APIKeyAuthBasicAuth
path Parameters
gateway_group_id
required
string >= 1
Example: 86fb9981-d9d2-4555-9df8-91ae92129335

Gateway group ID.

Request Body schema: application/json
validity_period
integer [ 1 .. 10950 ]
Default: 3650

The validity period of the certificate in days.

Responses

Request samples

Content type
application/json
{
  • "validity_period": 3650
}

Response samples

Content type
application/json
{
  • "value": {
    }
}

Create a token for all gateway instances in a gateway group

IAM Action: gateway:CreateGatewayInstance, Resource: arn:api7:gateway:gatewaygroup/%s

Authorizations:
APIKeyAuthBasicAuth
path Parameters
gateway_group_id
required
string >= 1
Example: 86fb9981-d9d2-4555-9df8-91ae92129335

Gateway group ID.

query Parameters
only_token
boolean

If true, the response will only contain the token.

Responses

Response samples

Content type
application/json
{
  • "value": {
    }
}

Gateway Group

List all gateway instances on a gateway group

IAM Action: gateway:GetGatewayInstance, Resource: arn:api7:gateway:gatewaygroup/%s

Authorizations:
APIKeyAuthBasicAuth
path Parameters
gateway_group_id
required
string >= 1
Example: 86fb9981-d9d2-4555-9df8-91ae92129335

Gateway group ID.

query Parameters
order_by
string
Default: "last_heartbeat_time"
Enum: "created_at" "last_heartbeat_time"

Index to order gateway instances by.

status
string
Enum: "Healthy" "OutOfSync" "LostConnection" "Offline"

The value of the instance status.

compatibility
string
Enum: "Compatible" "Incompatible" "PartiallyCompatible"

The compatibility of the gateway instance version.

direction
string
Default: "desc"
Enum: "asc" "desc"

Order to list the resources by. The sorting index follows the configuration of order_by.

page_size
integer <int64> >= 1

Number of resources listed per page. Used together with page. For example, when there are 13 resources in total, if the query parameters are page=1&page_size=10, the GET response will show the route total as 13 and display 10 resources in the first page. If the query parameters are page=2&page_size=10, the GET response will show the route total as 13 and display 3 resources in the second page.

page
integer <int64> >= 1

Page number of the listed resources. Used together with page_size. For example, when there are 13 resources in total, if the query parameters are page=1&page_size=10, the GET response will show the route total as 13 and display 10 resources in the first page. If the query parameters are page=2&page_size=10, the GET response will show the route total as 13 and display 3 resources in the second page.

search
string
Example: search=version%3Dv2

Condition to search resources by.

Responses

Response samples

Content type
application/json
{
  • "list": [
    ],
  • "total": 1
}

Count the number of gateway instances by status in a gateway group

IAM Action: gateway:GetGatewayInstance, Resource: arn:api7:gateway:gatewaygroup/%s

Authorizations:
APIKeyAuthBasicAuth
path Parameters
field
required
string
Value: "status"

Field to count by.

query Parameters
gateway_group_id
required
string >= 1
Example: gateway_group_id=86fb9981-d9d2-4555-9df8-91ae92129335

Gateway group ID. Optional when using the gateway group admin key to authenticate.

search
string
Example: search=version%3Dv2

Condition to search resources by.

Responses

Response samples

Content type
application/json
{
  • "value": [
    ]
}

Export the gateway instance core usage

The gateway instance’s core usage is exported hourly within the specified time interval.
IAM Action: gateway:GetGatewayInstanceCore, Resource: arn:api7:gateway:gatewaygroup/*

Authorizations:
APIKeyAuthBasicAuth
query Parameters
begin_at
required
integer <int64>

The start time to export the gateway instance core usage.

end_at
required
integer <int64>

The end time to export the gateway instance core usage.

Responses

Response samples

Content type
text/csv
time,max_dp_cores
1749132000,9
1749128400,9
1749124800,9
1749121200,9
1749117600,9
1749114000,9
1749110400,9
1749106800,17
1749103200,1
1749099600,1
1749096000,1
1749092400,1
1749088800,1

List all gateway groups

IAM Action: gateway:GetGatewayGroup, Resource: arn:api7:gateway:gatewaygroup/%s

Authorizations:
APIKeyAuthBasicAuth
query Parameters
direction
string
Default: "desc"
Enum: "asc" "desc"

Order to list the resources by. The sorting index follows the configuration of order_by.

page_size
integer <int64> >= 1

Number of resources listed per page. Used together with page. For example, when there are 13 resources in total, if the query parameters are page=1&page_size=10, the GET response will show the route total as 13 and display 10 resources in the first page. If the query parameters are page=2&page_size=10, the GET response will show the route total as 13 and display 3 resources in the second page.

page
integer <int64> >= 1

Page number of the listed resources. Used together with page_size. For example, when there are 13 resources in total, if the query parameters are page=1&page_size=10, the GET response will show the route total as 13 and display 10 resources in the first page. If the query parameters are page=2&page_size=10, the GET response will show the route total as 13 and display 3 resources in the second page.

order_by
string
Default: "updated_at"
Enum: "created_at" "updated_at"

Index to order resources by.

search
string
Example: search=version%3Dv2

Condition to search resources by.

labels
string non-empty
Example: labels=labels%5Bversion%5D=v2

Label(s) to filter resources by. The format is labels[key]=value and should be URL-encoded.

Responses

Response samples

Content type
application/json
{
  • "list": [
    ],
  • "total": 1
}

Create a gateway group

IAM Action: gateway:CreateGatewayGroup, Resource: arn:api7:gateway:gatewaygroup/%s

Authorizations:
APIKeyAuthBasicAuth
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

Gateway group description.

object

Key-value pairs of labels.

enforce_service_publishing
boolean

If ture, bypass version control and rollback when updating services directly on a gateway group.

Responses

Request samples

Content type
application/json
{
  • "type": "api7_gateway",
  • "name": "us-west-rsc",
  • "description": "Gateway group description.",
  • "labels": {
    },
  • "enforce_service_publishing": true
}

Response samples

Content type
application/json
{
  • "value": {
    }
}

Count resources by type in each gateway group

Authorizations:
APIKeyAuthBasicAuth
path Parameters
resource_type
required
string
Enum: "ssl" "consumer" "gateway_instance"

Resource type.

Responses

Response samples

Content type
application/json
{
  • "list": [
    ],
  • "total": 1
}

List SSL Usage in a gateway group

IAM Action: gateway:GetSSLCertificate, Resource: arn:api7:gateway:gatewaygroup/%s

Authorizations:
APIKeyAuthBasicAuth
path Parameters
gateway_group_id
required
string >= 1
Example: 86fb9981-d9d2-4555-9df8-91ae92129335

Gateway group ID.

ssl_id
required
string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$
Example: bd58fce2-b6cc-4d2d-a53c-6ce11b19c101

The unique identifier of the SSL object.

query Parameters
page
integer <int64> >= 1

Page number of the listed resources. Used together with page_size. For example, when there are 13 resources in total, if the query parameters are page=1&page_size=10, the GET response will show the route total as 13 and display 10 resources in the first page. If the query parameters are page=2&page_size=10, the GET response will show the route total as 13 and display 3 resources in the second page.

page_size
integer <int64> >= 1

Number of resources listed per page. Used together with page. For example, when there are 13 resources in total, if the query parameters are page=1&page_size=10, the GET response will show the route total as 13 and display 10 resources in the first page. If the query parameters are page=2&page_size=10, the GET response will show the route total as 13 and display 3 resources in the second page.

direction
string
Default: "desc"
Enum: "asc" "desc"

Order to list the resources by. The sorting index follows the configuration of order_by.

order_by
string
Default: "updated_at"
Enum: "created_at" "updated_at"

Index to order resources by.

Responses

Response samples

Content type
application/json
{
  • "list": [
    ],
  • "total": 1
}

List SNI Usage in a gateway group

IAM Action: gateway:GetSNI, Resource: arn:api7:gateway:gatewaygroup/%s

Authorizations:
APIKeyAuthBasicAuth
path Parameters
gateway_group_id
required
string >= 1
Example: 86fb9981-d9d2-4555-9df8-91ae92129335

Gateway group ID.

sni_id
required
string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$
Example: bd58fce2-b6cc-4d2d-a53c-6ce11b19c101

The unique identifier of the SNI object.

query Parameters
page
integer <int64> >= 1

Page number of the listed resources. Used together with page_size. For example, when there are 13 resources in total, if the query parameters are page=1&page_size=10, the GET response will show the route total as 13 and display 10 resources in the first page. If the query parameters are page=2&page_size=10, the GET response will show the route total as 13 and display 3 resources in the second page.

page_size
integer <int64> >= 1

Number of resources listed per page. Used together with page. For example, when there are 13 resources in total, if the query parameters are page=1&page_size=10, the GET response will show the route total as 13 and display 10 resources in the first page. If the query parameters are page=2&page_size=10, the GET response will show the route total as 13 and display 3 resources in the second page.

search
string
Example: search=version%3Dv2

Condition to search resources by.

Responses

Response samples

Content type
application/json
{
  • "list": [
    ],
  • "total": 1
}

List Certificate Usage in a gateway group

IAM Action: gateway:GetCertificate, Resource: arn:api7:gateway:gatewaygroup/%s

Authorizations:
APIKeyAuthBasicAuth
path Parameters
gateway_group_id
required
string >= 1
Example: 86fb9981-d9d2-4555-9df8-91ae92129335

Gateway group ID.

certificate_id
required
string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$
Example: bd58fce2-b6cc-4d2d-a53c-6ce11b19c101

The unique identifier of the Certificate.

query Parameters
resource_type
string
Default: "sni"
Enum: "sni" "upstream"

Type of resource referencing the certificate.

page
integer <int64> >= 1

Page number of the listed resources. Used together with page_size. For example, when there are 13 resources in total, if the query parameters are page=1&page_size=10, the GET response will show the route total as 13 and display 10 resources in the first page. If the query parameters are page=2&page_size=10, the GET response will show the route total as 13 and display 3 resources in the second page.

page_size
integer <int64> >= 1

Number of resources listed per page. Used together with page. For example, when there are 13 resources in total, if the query parameters are page=1&page_size=10, the GET response will show the route total as 13 and display 10 resources in the first page. If the query parameters are page=2&page_size=10, the GET response will show the route total as 13 and display 3 resources in the second page.

direction
string
Default: "desc"
Enum: "asc" "desc"

Order to list the resources by. The sorting index follows the configuration of order_by.

order_by
string
Default: "updated_at"
Enum: "created_at" "updated_at"

Index to order resources by.

search
string
Example: search=version%3Dv2

Condition to search resources by.

Responses

Response samples

Content type
application/json
{
  • "list": [
    ],
  • "total": 1
}

List CA Certificate Usage in a gateway group

IAM Action: gateway:GetCACertificate, Resource: arn:api7:gateway:gatewaygroup/%s

Authorizations:
APIKeyAuthBasicAuth
path Parameters
gateway_group_id
required
string >= 1
Example: 86fb9981-d9d2-4555-9df8-91ae92129335

Gateway group ID.

ca_certificate_id
required
string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$
Example: bd58fce2-b6cc-4d2d-a53c-6ce11b19c101

The unique identifier of the certificate.

query Parameters
resource_type
string
Default: "sni"
Enum: "sni" "upstream"

Type of resource referencing the certificate.

page
integer <int64> >= 1

Page number of the listed resources. Used together with page_size. For example, when there are 13 resources in total, if the query parameters are page=1&page_size=10, the GET response will show the route total as 13 and display 10 resources in the first page. If the query parameters are page=2&page_size=10, the GET response will show the route total as 13 and display 3 resources in the second page.

page_size
integer <int64> >= 1

Number of resources listed per page. Used together with page. For example, when there are 13 resources in total, if the query parameters are page=1&page_size=10, the GET response will show the route total as 13 and display 10 resources in the first page. If the query parameters are page=2&page_size=10, the GET response will show the route total as 13 and display 3 resources in the second page.

direction
string
Default: "desc"
Enum: "asc" "desc"

Order to list the resources by. The sorting index follows the configuration of order_by.

order_by
string
Default: "updated_at"
Enum: "created_at" "updated_at"

Index to order resources by.

search
string
Example: search=version%3Dv2

Condition to search resources by.

Responses

Response samples

Content type
application/json
{
  • "list": [
    ],
  • "total": 1
}

Check if a certificate exists in a gateway group

IAM Action: gateway:GetCACertificate, Resource: arn:api7:gateway:gatewaygroup/%s

Authorizations:
APIKeyAuthBasicAuth
path Parameters
gateway_group_id
required
string >= 1
Example: 86fb9981-d9d2-4555-9df8-91ae92129335

Gateway group ID.

Request Body schema: application/json
Certificate Reference (string) or Certificate Content (string)

Certificate.

One of
string (Certificate Reference) ^\$(secret|env|ENV)://

Path to the certificate in environment variable or secret manager.

Responses

Request samples

Content type
application/json
{
  • "cert": "$secret://aws/john/apisix-secrets/john-key-auth"
}

Response samples

Content type
application/json
{
  • "value": {
    }
}

Check if a CA certificate exists in a gateway group

IAM Action: gateway:GetCACertificate, Resource: arn:api7:gateway:gatewaygroup/%s

Authorizations:
APIKeyAuthBasicAuth
path Parameters
gateway_group_id
required
string >= 1
Example: 86fb9981-d9d2-4555-9df8-91ae92129335

Gateway group ID.

Request Body schema: application/json
cert
string [ 1 .. 65536 ] characters ^[^\$]

The certificate in PEM format.

Responses

Request samples

Content type
application/json
{
  • "cert": "-----BEGIN CERTIFICATE-----\n...\n-----END CERTIFICATE-----"
}

Response samples

Content type
application/json
{
  • "value": {
    }
}

List Secret Provider Usage in a gateway group

IAM Action: gateway:GetSecretProvider, Resource: arn:api7:gateway:gatewaygroup/%s

Authorizations:
APIKeyAuthBasicAuth
path Parameters
gateway_group_id
required
string >= 1
Example: 86fb9981-d9d2-4555-9df8-91ae92129335

Gateway group ID.

secret_provider
required
string
Enum: "vault" "aws" "kubernetes"

Secret provider.

secret_provider_id
required
string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$
Example: bd58fce2-b6cc-4d2d-a53c-6ce11b19c101

Secret provider ID.

query Parameters
resource_type
string
Enum: "consumer" "service" "route" "ssl" "global_rule" "consumer_credential" "certificate"

Resource type.

page
integer <int64> >= 1

Page number of the listed resources. Used together with page_size. For example, when there are 13 resources in total, if the query parameters are page=1&page_size=10, the GET response will show the route total as 13 and display 10 resources in the first page. If the query parameters are page=2&page_size=10, the GET response will show the route total as 13 and display 3 resources in the second page.

page_size
integer <int64> >= 1

Number of resources listed per page. Used together with page. For example, when there are 13 resources in total, if the query parameters are page=1&page_size=10, the GET response will show the route total as 13 and display 10 resources in the first page. If the query parameters are page=2&page_size=10, the GET response will show the route total as 13 and display 3 resources in the second page.

direction
string
Default: "desc"
Enum: "asc" "desc"

Order to list the resources by. The sorting index follows the configuration of order_by.

order_by
string
Default: "updated_at"
Enum: "created_at" "updated_at"

Index to order resources by.

Responses

Response samples

Content type
application/json
{
  • "list": [
    ],
  • "total": 1
}

Delete a gateway group

IAM Action: gateway:DeleteGatewayGroup, Resource: arn:api7:gateway:gatewaygroup/%s

Authorizations:
APIKeyAuthBasicAuth
path Parameters
gateway_group_id
required
string >= 1
Example: 86fb9981-d9d2-4555-9df8-91ae92129335

Gateway group ID.

Responses

Response samples

Content type
application/json
""

Update a gateway group

IAM Action: gateway:UpdateGatewayGroup, Resource: arn:api7:gateway:gatewaygroup/%s

Authorizations:
APIKeyAuthBasicAuth
path Parameters
gateway_group_id
required
string >= 1
Example: 86fb9981-d9d2-4555-9df8-91ae92129335

Gateway group ID.

Request Body schema: application/json
required
name
required
string [ 1 .. 100 ] characters

The object name.

description
required
string

Gateway group description.

object

Key-value pairs of labels.

Responses

Request samples

Content type
application/json
{
  • "name": "us-west-rsc",
  • "description": "Gateway group description.",
  • "labels": {
    }
}

Response samples

Content type
application/json
{
  • "value": {
    }
}

Get a gateway group

IAM Action: gateway:GetGatewayGroup, Resource: arn:api7:gateway:gatewaygroup/%s

Authorizations:
APIKeyAuthBasicAuth
path Parameters
gateway_group_id
required
string >= 1
Example: 86fb9981-d9d2-4555-9df8-91ae92129335

Gateway group ID.

Responses

Response samples

Content type
application/json
{
  • "value": {
    }
}

Get the admin key for a gateway group.

IAM Action: gateway:GetAdminKey, Resource: arn:api7:gateway:gatewaygroup/%s

Authorizations:
APIKeyAuthBasicAuth
path Parameters
gateway_group_id
required
string >= 1
Example: 86fb9981-d9d2-4555-9df8-91ae92129335

Gateway group ID.

Responses

Response samples

Content type
application/json
{
  • "value": {
    }
}

Generate an admin key for a gateway group

IAM Action: gateway:UpdateGatewayGroup, Resource: arn:api7:gateway:gatewaygroup/%s

Authorizations:
APIKeyAuthBasicAuth
path Parameters
gateway_group_id
required
string >= 1
Example: 86fb9981-d9d2-4555-9df8-91ae92129335

Gateway group ID.

Responses

Response samples

Content type
application/json
{
  • "value": {
    }
}

Generate a script to install the gateway instance by Docker

IAM Action: gateway:CreateGatewayInstance, Resource: arn:api7:gateway:gatewaygroup/%s

Authorizations:
APIKeyAuthBasicAuth
path Parameters
gateway_group_id
required
string >= 1
Example: 86fb9981-d9d2-4555-9df8-91ae92129335

Gateway group ID.

query Parameters
dp_manager_address
string non-empty
Example: dp_manager_address=10.15.101.5

The IP address of the control plane.

validity_period
integer [ 1 .. 10950 ]
Default: 3650

The validity period of the certificate in days.

image
string non-empty
Example: image=api7/api7-ee-3-gateway

Docker image.

http_port
integer
Default: 9080

The HTTP port of the control plane.

https_port
integer
Default: 9443

The HTTPS port of the control plane.

name
string non-empty

The hostname of the control plane.

extra_args[]
Array of strings
Example: extra_args[]=a=b&extra_args[]=c=d

Additional docker run arguments.

Responses

Response samples

Content type
text/plain
docker run -d -e API7_CONTROL_PLANE_ENDPOINTS='["https://12.12.123.123:31344"]' \
  -e API7_GATEWAY_GROUP_SHORT_ID=tabqbdwnahkqo \
  -e API7_CONTROL_PLANE_CERT="-----BEGIN CERTIFICATE-----
  MIIBhjCCATigAwIBAgICBAAwBQYDK2VwMEQxCzAJBgNVBAYTAlVTMRMwEQYDVQQI
  ...
  -----END CERTIFICATE-----" \
  -e API7_CONTROL_PLANE_KEY="-----BEGIN PRIVATE KEY-----
  MC4CAQAwBQYDK2VwBCIEIG1Q/eJDdTZ4krnd7ezprKcZ2ASeTSrhpWglMzh9d0Hs
  -----END PRIVATE KEY-----" \
  -e API7_CONTROL_PLANE_CA="-----BEGIN CERTIFICATE-----
  MIIBdTCCASegAwIBAgIQVXqTFu/hH4caZptKdGp04zAFBgMrZXAwRDELMAkGA1UE
  ...
  -----END CERTIFICATE-----" \
  -e API7_CONTROL_PLANE_SNI="api7ee3-dp-manager" \
  -p 9080:9080 \
  -p 9443:9443 \
  api7/api7-ee-3-gateway:latest

Generate a script to install the gateway instance by Helm in Kubernetes

IAM Action: gateway:CreateGatewayInstance, Resource: arn:api7:gateway:gatewaygroup/%s

Authorizations:
APIKeyAuthBasicAuth
path Parameters
gateway_group_id
required
string >= 1
Example: 86fb9981-d9d2-4555-9df8-91ae92129335

Gateway group ID.

query Parameters
dp_manager_address
string non-empty
Example: dp_manager_address=10.15.101.5

The IP address of the control plane.

validity_period
integer [ 1 .. 10950 ]
Default: 3650

The validity period of the certificate in days.

name
required
string

Gateway name.

namespace
required
string

Gateway namespace.

service_account
string

Service account to install the gateway.

replicas
integer
Default: 1

The number of replicas.

workers
integer
Example: workers=5

The number of worker processes for the gateway instance. By default, it is configured to match the number of CPU cores on the server hosting the gateway instance.

cpu_limit
string
Example: cpu_limit=6

The CPU limit in number of cores.

memory_limit
string
Example: memory_limit=6Gi

The memory limit. Use the format <number><unit>.

extra_values[]
Array of strings
Example: extra_values[]=a=b&extra_values[]=c=d

Extra values to be passed to the Helm chart, in the form of key=value.

Responses

Response samples

Content type
text/plain
helm repo add api7 https://charts.api7.ai
helm repo update
cat > /tmp/tls.crt <<EOF
-----BEGIN CERTIFICATE-----
MIIBhjCCATigAwIBAgICBAAwBQYDK2VwMEQxCzAJBgNVBAYTAlVTMRMwEQYDVQQI
...
-----END CERTIFICATE-----
EOF
cat > /tmp/tls.key <<EOF
-----BEGIN PRIVATE KEY-----
MC4CAQAwBQ...AuNANhyrM9qUepu5ZGtVgXnX
-----END PRIVATE KEY-----
EOF
cat > /tmp/ca.crt <<EOF
-----BEGIN CERTIFICATE-----
MIIBdTCCASegAwIBAgIQVXqTFu/hH4caZptKdGp04zAFBgMrZXAwRDELMAkGA1UE
...
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIBeDCCASqgAwIBAgIRAPNxgFOmSXOwtIdZOgynsLswBQYDK2VwMEQxCzAJBgNV
...
-----END CERTIFICATE-----
EOF
kubectl create namespace default --dry-run=client -o yaml | kubectl apply -f -
kubectl create secret generic -n default name-tls --from-file=tls.crt=/tmp/tls.crt --from-file=tls.key=/tmp/tls.key --from-file=ca.crt=/tmp/ca.crt
helm upgrade --install -n default --create-namespace name api7/gateway \
  --set "etcd.auth.tls.enabled=true" \
  --set "etcd.auth.tls.existingSecret=name-tls" \
  --set "etcd.auth.tls.certFilename=tls.crt" \
  --set "etcd.auth.tls.certKeyFilename=tls.key" \
  --set "etcd.auth.tls.sni=api7ee3-dp-manager" \
  --set "etcd.auth.tls.verify=true" \
  --set "gateway.tls.existingCASecret=name-tls" \
  --set "gateway.tls.certCAFilename=ca.crt" \
  --set "apisix.extraEnvVars[0].name=API7_GATEWAY_GROUP_SHORT_ID" \
  --set "apisix.extraEnvVars[0].value=tabqbdwnahkqo" \
  --set "etcd.host[0]=https://12.12.123.123:31344" \
  --set "apisix.resources.limits.cpu=4" \
  --set "apisix.resources.limits.memory=7168Mi" \
  --set "apisix.replicaCount=1" \
  --set "apisix.image.repository=api7/api7-ee-3-gateway" \
  --set "apisix.image.tag=latest"

Generate a values file for the gateway's Kubernetes Helm chart

IAM Action: gateway:CreateGatewayInstance, Resource: arn:api7:gateway:gatewaygroup/%s

Authorizations:
APIKeyAuthBasicAuth
path Parameters
gateway_group_id
required
string >= 1
Example: 86fb9981-d9d2-4555-9df8-91ae92129335

Gateway group ID.

query Parameters
dp_manager_address
string non-empty
Example: dp_manager_address=10.15.101.5

The IP address of the control plane.

validity_period
integer [ 1 .. 10950 ]
Default: 3650

The validity period of the certificate in days.

name
required
string

Gateway name.

namespace
required
string

Gateway namespace.

service_account
string

Service account to install the gateway.

replicas
integer
Default: 1

The number of replicas.

workers
integer
Example: workers=5

The number of worker processes for the gateway instance. By default, it is configured to match the number of CPU cores on the server hosting the gateway instance.

cpu_limit
string
Example: cpu_limit=6

The CPU limit in number of cores.

memory_limit
string
Example: memory_limit=6Gi

The memory limit. Use the format <number><unit>.

Responses

Response samples

Content type
text/plain
apiVersion: v1
data:
  tls.crt: LS0tLS1CRUdJTiB...
  tls.key: LS0tLS1CRUdJTiB...
  ca.crt: LS0tLS1CRUdJTiB...
kind: Secret
metadata:
  name: name-tls
  namespace: default
type: kubernetes.io/tls
---
apisix:
  replicaCount: 1
  image:
    repository: api7/api7-ee-3-gateway
    tag: dev
  extraEnvVars:
  - name: API7_GATEWAY_GROUP_SHORT_ID
    value: "tabqbdwnahkqo"
etcd:
  host:
  - "https://12.12.123.123:31344"
  auth:
    tls:
      enabled: true
      existingSecret: name-tls
      certFilename: tls.crt
      certKeyFilename: tls.key
      sni: api7ee3-dp-manager
      verify: true
gateway:
  tls:
    existingCASecret: name-tls
    certCAFilename: ca.crt

Generate a script to install gateway API resources for ingress gateway group

IAM Action: gateway:GetAdminKey, Resource: arn:api7:gateway:gatewaygroup/%s

Authorizations:
APIKeyAuthBasicAuth
path Parameters
gateway_group_id
required
string >= 1
Example: 86fb9981-d9d2-4555-9df8-91ae92129335

Gateway group ID.

query Parameters
name
required
string

Gateway name.

namespace
required
string

Gateway namespace.

type
string
Default: "gateway-api"
Enum: "gateway-api" "ingress" "ingress-v1beta1"

Responses

Response samples

Content type
text/plain
kubectl create namespace default --dry-run=client -o yaml | kubectl apply -f -
echo "
---
apiVersion: gateway.networking.k8s.io/v1
kind: GatewayClass
metadata:
  name: apisix
spec:
  controllerName: apisix.apache.org/apisix-ingress-controller
---
apiVersion: apisix.apache.org/v1alpha1
kind: GatewayProxy
metadata:
  name: name
spec:
  provider:
    type: ControlPlane
    controlPlane:
      endpoints:
        - ["12.12.123.123"]
      auth:
        type: AdminKey
        adminKey:
          value: a7adm-ZgR85iE...
---
apiVersion: gateway.networking.k8s.io/v1
kind: Gateway
metadata:
  name: apisix
spec:
  gatewayClassName: apisix
  listeners:
    - name: http
      protocol: HTTP
      port: 80
  infrastructure:
    parametersRef:
      group: apisix.apache.org
      kind: GatewayProxy
      name: name
" | kubectl apply -f - -n default

Generate script to install the gateway api resources for ingress gateway group.

Authorizations:
APIKeyAuthBasicAuth
path Parameters
gateway_group_id
required
string >= 1
Example: 86fb9981-d9d2-4555-9df8-91ae92129335

Gateway group ID.

Responses

Response samples

Content type
application/json
{
  • "value": { },
  • "error_msg": "error message"
}

Issue a data plane certificate on a gateway group

IAM Action: gateway:CreateGatewayInstance, Resource: arn:api7:gateway:gatewaygroup/%s

Authorizations:
APIKeyAuthBasicAuth
path Parameters
gateway_group_id
required
string >= 1
Example: 86fb9981-d9d2-4555-9df8-91ae92129335

Gateway group ID.

Request Body schema: application/json
validity_period
integer [ 1 .. 10950 ]
Default: 3650

The validity period of the certificate in days.

Responses

Request samples

Content type
application/json
{
  • "validity_period": 3650
}

Response samples

Content type
application/json
{
  • "value": {
    }
}

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:
APIKeyAuthBasicAuth
path Parameters
gateway_group_id
required
string >= 1
Example: 86fb9981-d9d2-4555-9df8-91ae92129335

Gateway group ID.

query Parameters
unhealthy_nodes
Array of strings
Items Enum: "unhealthy_nodes_exists" "no_unhealthy_nodes"

Filter of services based on whether unhealthy nodes exist. unhealthy_nodes_exists filters for services where unhealthy nodes exist. no_unhealthy_nodes filters for servies where there are no unhealthy nodes.

direction
string
Default: "desc"
Enum: "asc" "desc"

Order to list the resources by. The sorting index follows the configuration of order_by.

page_size
integer <int64> >= 1

Number of resources listed per page. Used together with page. For example, when there are 13 resources in total, if the query parameters are page=1&page_size=10, the GET response will show the route total as 13 and display 10 resources in the first page. If the query parameters are page=2&page_size=10, the GET response will show the route total as 13 and display 3 resources in the second page.

page
integer <int64> >= 1

Page number of the listed resources. Used together with page_size. For example, when there are 13 resources in total, if the query parameters are page=1&page_size=10, the GET response will show the route total as 13 and display 10 resources in the first page. If the query parameters are page=2&page_size=10, the GET response will show the route total as 13 and display 3 resources in the second page.

order_by
string
Default: "updated_at"
Enum: "created_at" "updated_at" "publish_time" "name"

Index to order published services by.

search
string
Example: search=version%3Dv2

Condition to search resources by.

labels
string non-empty
Example: labels=labels%5Bversion%5D=v2

Label(s) to filter resources by. The format is labels[key]=value and should be URL-encoded.

hosts
Array of strings[ items^\*?[0-9a-zA-Z-._]+$ ]
Example: hosts=httpbin.org
type
Array of strings
Items Enum: "http" "stream"

Type of service. http corresponds to L7 service and stream corresponds to L4 service.

Responses

Response samples

Content type
application/json
{
  • "list": [
    ],
  • "total": 1
}

Get a published service on a gateway group

IAM Action: gateway:GetPublishedService, Resource: arn:api7:gateway:gatewaygroup/%s/publishedservice/%s

Authorizations:
APIKeyAuthBasicAuth
path Parameters
gateway_group_id
required
string >= 1
Example: 86fb9981-d9d2-4555-9df8-91ae92129335

Gateway group ID.

service_template_id
required
string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$
Example: bd58fce2-b6cc-4d2d-a53c-6ce11b19c101

The unique identifier of the service template.

Responses

Response samples

Content type
application/json
{
  • "value": {
    }
}

Delete a published service on a gateway group

IAM Action: gateway:DeletePublishedService, Resource: arn:api7:gateway:gatewaygroup/%s/publishedservice/%s

Authorizations:
APIKeyAuthBasicAuth
path Parameters
gateway_group_id
required
string >= 1
Example: 86fb9981-d9d2-4555-9df8-91ae92129335

Gateway group ID.

service_template_id
required
string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$
Example: bd58fce2-b6cc-4d2d-a53c-6ce11b19c101

The unique identifier of the service template.

Responses

Response samples

Content type
application/json
""

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:
APIKeyAuthBasicAuth
path Parameters
gateway_group_id
required
string >= 1
Example: 86fb9981-d9d2-4555-9df8-91ae92129335

Gateway group ID.

service_template_id
required
string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$
Example: bd58fce2-b6cc-4d2d-a53c-6ce11b19c101

The unique identifier of the service template.

Responses

Response samples

Content type
application/json
{
  • "value": {
    }
}

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:
APIKeyAuthBasicAuth
path Parameters
gateway_group_id
required
string >= 1
Example: 86fb9981-d9d2-4555-9df8-91ae92129335

Gateway group ID.

service_template_id
required
string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$
Example: bd58fce2-b6cc-4d2d-a53c-6ce11b19c101

The unique identifier of the service template.

Request Body schema: application/json
raw_openapi
string

The raw OpenAPI spec of the service.

Responses

Request samples

Content type
application/json
{
  • "raw_openapi": "Raw OpenAPI spec"
}

Response samples

Content type
application/json
{
  • "value": {
    }
}

List all routes of published service on a gateway group

IAM Action: gateway:GetPublishedService, Resource: arn:api7:gateway:gatewaygroup/%s/publishedservice/%s

Authorizations:
APIKeyAuthBasicAuth
path Parameters
gateway_group_id
required
string >= 1
Example: 86fb9981-d9d2-4555-9df8-91ae92129335

Gateway group ID.

service_template_id
required
string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$
Example: bd58fce2-b6cc-4d2d-a53c-6ce11b19c101

The unique identifier of the service template.

query Parameters
page
integer <int64> >= 1

Page number of the listed resources. Used together with page_size. For example, when there are 13 resources in total, if the query parameters are page=1&page_size=10, the GET response will show the route total as 13 and display 10 resources in the first page. If the query parameters are page=2&page_size=10, the GET response will show the route total as 13 and display 3 resources in the second page.

page_size
integer <int64> >= 1

Number of resources listed per page. Used together with page. For example, when there are 13 resources in total, if the query parameters are page=1&page_size=10, the GET response will show the route total as 13 and display 10 resources in the first page. If the query parameters are page=2&page_size=10, the GET response will show the route total as 13 and display 3 resources in the second page.

direction
string
Default: "desc"
Enum: "asc" "desc"

Order to list the resources by. The sorting index follows the configuration of order_by.

order_by
string
Default: "updated_at"
Enum: "created_at" "updated_at"

Index to order resources by.

Responses

Response samples

Content type
application/json
{
  • "list": [
    ],
  • "total": 1
}

Get a route in a published service on a gateway group

IAM Action: gateway:GetPublishedService, Resource: arn:api7:gateway:gatewaygroup/%s/publishedservice/%s

Authorizations:
APIKeyAuthBasicAuth
path Parameters
gateway_group_id
required
string >= 1
Example: 86fb9981-d9d2-4555-9df8-91ae92129335

Gateway group ID.

service_template_id
required
string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$
Example: bd58fce2-b6cc-4d2d-a53c-6ce11b19c101

The unique identifier of the service template.

route_template_id
required
string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$
Example: bd58fce2-b6cc-4d2d-a53c-6ce11b19c101

The unique identifier of the route in the service template.

Responses

Response samples

Content type
application/json
{
  • "value": {
    }
}

Get the runtime configuration of a route in a published service on a gateway group

IAM Action: gateway:GetPublishedService, Resource: arn:api7:gateway:gatewaygroup/%s/publishedservice/%s

Authorizations:
APIKeyAuthBasicAuth
path Parameters
gateway_group_id
required
string >= 1
Example: 86fb9981-d9d2-4555-9df8-91ae92129335

Gateway group ID.

service_template_id
required
string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$
Example: bd58fce2-b6cc-4d2d-a53c-6ce11b19c101

The unique identifier of the service template.

route_template_id
required
string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$
Example: bd58fce2-b6cc-4d2d-a53c-6ce11b19c101

The unique identifier of the route in the service template.

Responses

Response samples

Content type
application/json
{
  • "value": {
    }
}

Update the runtime configuration of a route in a published service on a gateway group

IAM Action: gateway:UpdatePublishedService, Resource: arn:api7:gateway:gatewaygroup/%s/publishedservice/%s

Authorizations:
APIKeyAuthBasicAuth
path Parameters
gateway_group_id
required
string >= 1
Example: 86fb9981-d9d2-4555-9df8-91ae92129335

Gateway group ID.

service_template_id
required
string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$
Example: bd58fce2-b6cc-4d2d-a53c-6ce11b19c101

The unique identifier of the service template.

route_template_id
required
string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$
Example: bd58fce2-b6cc-4d2d-a53c-6ce11b19c101

The unique identifier of the route in the service template.

Request Body schema: application/json
Array
One of
op
required
string
Enum: "add" "replace"

The operation to be performed.

path
required
string

Path to the field to be replaced or added. Path should follow the JSON Pointer format.

value
required
any

Value to be added or replaced.

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Response samples

Content type
application/json
{
  • "value": {
    }
}

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:
APIKeyAuthBasicAuth
path Parameters
gateway_group_id
required
string >= 1
Example: 86fb9981-d9d2-4555-9df8-91ae92129335

Gateway group ID.

service_template_id
required
string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$
Example: bd58fce2-b6cc-4d2d-a53c-6ce11b19c101

The unique identifier of the service template.

query Parameters
page
integer <int64> >= 1

Page number of the listed resources. Used together with page_size. For example, when there are 13 resources in total, if the query parameters are page=1&page_size=10, the GET response will show the route total as 13 and display 10 resources in the first page. If the query parameters are page=2&page_size=10, the GET response will show the route total as 13 and display 3 resources in the second page.

page_size
integer <int64> >= 1

Number of resources listed per page. Used together with page. For example, when there are 13 resources in total, if the query parameters are page=1&page_size=10, the GET response will show the route total as 13 and display 10 resources in the first page. If the query parameters are page=2&page_size=10, the GET response will show the route total as 13 and display 3 resources in the second page.

direction
string
Default: "desc"
Enum: "asc" "desc"

Order to list the resources by. The sorting index follows the configuration of order_by.

order_by
string
Default: "updated_at"
Enum: "created_at" "updated_at"

Index to order resources by.

Responses

Response samples

Content type
application/json
{
  • "list": [
    ],
  • "total": 1
}

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:
APIKeyAuthBasicAuth
path Parameters
gateway_group_id
required
string >= 1
Example: 86fb9981-d9d2-4555-9df8-91ae92129335

Gateway group ID.

service_template_id
required
string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$
Example: bd58fce2-b6cc-4d2d-a53c-6ce11b19c101

The unique identifier of the service template.

stream_route_template_id
required
string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$
Example: bd58fce2-b6cc-4d2d-a53c-6ce11b19c101

The unique identifier of the stream route in the service template.

Responses

Response samples

Content type
application/json
{
  • "value": {
    }
}

Get the runtime configuration of a stream route in a published service on a gateway group

IAM Action: gateway:GetPublishedService, Resource: arn:api7:gateway:gatewaygroup/%s/publishedservice/%s

Authorizations:
APIKeyAuthBasicAuth
path Parameters
gateway_group_id
required
string >= 1
Example: 86fb9981-d9d2-4555-9df8-91ae92129335

Gateway group ID.

service_template_id
required
string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$
Example: bd58fce2-b6cc-4d2d-a53c-6ce11b19c101

The unique identifier of the service template.

stream_route_template_id
required
string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$
Example: bd58fce2-b6cc-4d2d-a53c-6ce11b19c101

The unique identifier of the stream route in the service template.

Responses

Response samples

Content type
application/json
{
  • "value": {
    }
}

Update the runtime configuration of a stream route in a published service on a gateway group

IAM Action: gateway:UpdatePublishedService, Resource: arn:api7:gateway:gatewaygroup/%s/publishedservice/%s

Authorizations:
APIKeyAuthBasicAuth
path Parameters
gateway_group_id
required
string >= 1
Example: 86fb9981-d9d2-4555-9df8-91ae92129335

Gateway group ID.

service_template_id
required
string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$
Example: bd58fce2-b6cc-4d2d-a53c-6ce11b19c101

The unique identifier of the service template.

stream_route_template_id
required
string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$
Example: bd58fce2-b6cc-4d2d-a53c-6ce11b19c101

The unique identifier of the stream route in the service template.

Request Body schema: application/json
Array
One of
op
required
string
Enum: "add" "replace"

The operation to be performed.

path
required
string

Path to the field to be replaced or added. Path should follow the JSON Pointer format.

value
required
any

Value to be added or replaced.

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Response samples

Content type
application/json
{
  • "value": {
    }
}

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:
APIKeyAuthBasicAuth
path Parameters
gateway_group_id
required
string >= 1
Example: 86fb9981-d9d2-4555-9df8-91ae92129335

Gateway group ID.

service_template_id
required
string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$
Example: bd58fce2-b6cc-4d2d-a53c-6ce11b19c101

The unique identifier of the service template.

query Parameters
direction
string
Default: "desc"
Enum: "asc" "desc"

Order to list the resources by. The sorting index follows the configuration of order_by.

order_by
string
Default: "publish_time"
Value: "publish_time"

Index to order resources by.

Responses

Response samples

Content type
application/json
{
  • "list": [
    ],
  • "total": 1
}

Get service runtime configurations of a published service on a gateway group

IAM Action: gateway:GetPublishedService, Resource: arn:api7:gateway:gatewaygroup/%s/publishedservice/%s

Authorizations:
APIKeyAuthBasicAuth
path Parameters
gateway_group_id
required
string >= 1
Example: 86fb9981-d9d2-4555-9df8-91ae92129335

Gateway group ID.

service_template_id
required
string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$
Example: bd58fce2-b6cc-4d2d-a53c-6ce11b19c101

The unique identifier of the service template.

Responses

Response samples

Content type
application/json
{
  • "value": {
    }
}

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:
APIKeyAuthBasicAuth
path Parameters
gateway_group_id
required
string >= 1
Example: 86fb9981-d9d2-4555-9df8-91ae92129335

Gateway group ID.

service_template_id
required
string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$
Example: bd58fce2-b6cc-4d2d-a53c-6ce11b19c101

The unique identifier of the service template.

query Parameters
dry-run
string
Value: "all"

When specified, run the operation in dry-run mode.

Request Body schema: application/json
Array
One of
op
required
string
Enum: "add" "replace"

The operation to be performed.

path
required
string

Path to the field to be replaced or added. Path should follow the JSON Pointer format.

value
required
any

Value to be added or replaced.

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Response samples

Content type
application/json
{
  • "value": {
    }
}

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:
APIKeyAuthBasicAuth
path Parameters
gateway_group_id
required
string >= 1
Example: 86fb9981-d9d2-4555-9df8-91ae92129335

Gateway group ID.

service_template_id
required
string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$
Example: bd58fce2-b6cc-4d2d-a53c-6ce11b19c101

The unique identifier of the service template.

Responses

Response samples

Content type
application/json
{
  • "value": {
    }
}

List all service registry connections on a gateway group

IAM Action: gateway:GetServiceRegistry, Resource: arn:api7:gateway:gatewaygroup/%s

Authorizations:
APIKeyAuthBasicAuth
path Parameters
gateway_group_id
required
string >= 1
Example: 86fb9981-d9d2-4555-9df8-91ae92129335

Gateway group ID.

query Parameters
page
integer <int64> >= 1

Page number of the listed resources. Used together with page_size. For example, when there are 13 resources in total, if the query parameters are page=1&page_size=10, the GET response will show the route total as 13 and display 10 resources in the first page. If the query parameters are page=2&page_size=10, the GET response will show the route total as 13 and display 3 resources in the second page.

page_size
integer <int64> >= 1

Number of resources listed per page. Used together with page. For example, when there are 13 resources in total, if the query parameters are page=1&page_size=10, the GET response will show the route total as 13 and display 10 resources in the first page. If the query parameters are page=2&page_size=10, the GET response will show the route total as 13 and display 3 resources in the second page.

direction
string
Default: "desc"
Enum: "asc" "desc"

Order to list the resources by. The sorting index follows the configuration of order_by.

order_by
string
Default: "updated_at"
Enum: "created_at" "updated_at" "last_connect_time"

Index to order service registry connections by.

search
string
Example: search=version%3Dv2

Condition to search resources by.

Responses

Response samples

Content type
application/json
{
  • "list": [
    ],
  • "total": 1
}

Create a service registry connection on a gateway group

IAM Action: gateway:ConnectServiceRegistry, Resource: arn:api7:gateway:gatewaygroup/%s

Authorizations:
APIKeyAuthBasicAuth
path Parameters
gateway_group_id
required
string >= 1
Example: 86fb9981-d9d2-4555-9df8-91ae92129335

Gateway group ID.

Request Body schema: application/json
One of
name
string [ 1 .. 100 ] characters

The object name.

description
string

Service registry description.

object

Health check configurations.

type
required
string
Value: "kubernetes"

The kubernetes service type.

required
object

Kubernetes service registry configurations.

Responses

Request samples

Content type
application/json
Example
{
  • "name": "sample-service-registry",
  • "description": "service registry description",
  • "health_check": {
    },
  • "type": "kubernetes",
  • "kubernetes_config": {
    }
}

Response samples

Content type
application/json
{
  • "value": {
    }
}

Create a token for all gateway instances in a gateway group

IAM Action: gateway:CreateGatewayInstance, Resource: arn:api7:gateway:gatewaygroup/%s

Authorizations:
APIKeyAuthBasicAuth
path Parameters
gateway_group_id
required
string >= 1
Example: 86fb9981-d9d2-4555-9df8-91ae92129335

Gateway group ID.

query Parameters
only_token
boolean

If true, the response will only contain the token.

Responses

Response samples

Content type
application/json
{
  • "value": {
    }
}

Get a service registry connection on a gateway group

IAM Action: gateway:GetServiceRegistry, Resource: arn:api7:gateway:gatewaygroup/%s

Authorizations:
APIKeyAuthBasicAuth
path Parameters
service_registry_id
required
string >= 1
Example: 86fb9981-d9d2-4555-9df8-91ae92129335

Service registry ID.

gateway_group_id
required
string >= 1
Example: 86fb9981-d9d2-4555-9df8-91ae92129335

Gateway group ID.

Responses

Response samples

Content type
application/json
{
  • "value": {
    }
}

Update a service registry connection on a gateway group

IAM Action: gateway:UpdateServiceRegistry, Resource: arn:api7:gateway:gatewaygroup/%s

Authorizations:
APIKeyAuthBasicAuth
path Parameters
service_registry_id
required
string >= 1
Example: 86fb9981-d9d2-4555-9df8-91ae92129335

Service registry ID.

gateway_group_id
required
string >= 1
Example: 86fb9981-d9d2-4555-9df8-91ae92129335

Gateway group ID.

Request Body schema: application/json
required
One of
name
string [ 1 .. 100 ] characters

The object name.

description
string

Service registry description.

object

Health check configurations.

type
required
string
Value: "kubernetes"

The kubernetes service type.

required
object

Kubernetes service registry configurations.

Responses

Request samples

Content type
application/json
Example
{
  • "name": "sample-service-registry",
  • "description": "service registry description",
  • "health_check": {
    },
  • "type": "kubernetes",
  • "kubernetes_config": {
    }
}

Response samples

Content type
application/json
{
  • "value": { }
}

Delete a service registry connection on a gateway group

IAM Action: gateway:DisconnectServiceRegistry, Resource: arn:api7:gateway:gatewaygroup/%s

Authorizations:
APIKeyAuthBasicAuth
path Parameters
service_registry_id
required
string >= 1
Example: 86fb9981-d9d2-4555-9df8-91ae92129335

Service registry ID.

gateway_group_id
required
string >= 1
Example: 86fb9981-d9d2-4555-9df8-91ae92129335

Gateway group ID.

Responses

Response samples

Content type
application/json
""

List all published services connected to a service registry

IAM Action: gateway:GetServiceRegistry, Resource: arn:api7:gateway:gatewaygroup/%s

Authorizations:
APIKeyAuthBasicAuth
path Parameters
service_registry_id
required
string >= 1
Example: 86fb9981-d9d2-4555-9df8-91ae92129335

Service registry ID.

gateway_group_id
required
string >= 1
Example: 86fb9981-d9d2-4555-9df8-91ae92129335

Gateway group ID.

query Parameters
page
integer <int64> >= 1

Page number of the listed resources. Used together with page_size. For example, when there are 13 resources in total, if the query parameters are page=1&page_size=10, the GET response will show the route total as 13 and display 10 resources in the first page. If the query parameters are page=2&page_size=10, the GET response will show the route total as 13 and display 3 resources in the second page.

page_size
integer <int64> >= 1

Number of resources listed per page. Used together with page. For example, when there are 13 resources in total, if the query parameters are page=1&page_size=10, the GET response will show the route total as 13 and display 10 resources in the first page. If the query parameters are page=2&page_size=10, the GET response will show the route total as 13 and display 3 resources in the second page.

direction
string
Default: "desc"
Enum: "asc" "desc"

Order to list the resources by. The sorting index follows the configuration of order_by.

order_by
string
Default: "updated_at"
Enum: "created_at" "updated_at" "publish_time" "name"

Index to order published services by.

Responses

Response samples

Content type
application/json
{
  • "list": [
    ],
  • "total": 1
}

List all internal services in a Kubernetes service registry

IAM Action: gateway:GetServiceRegistry, Resource: arn:api7:gateway:gatewaygroup/%s

Authorizations:
APIKeyAuthBasicAuth
path Parameters
service_registry_id
required
string >= 1
Example: 86fb9981-d9d2-4555-9df8-91ae92129335

Service registry ID.

gateway_group_id
required
string >= 1
Example: 86fb9981-d9d2-4555-9df8-91ae92129335

Gateway group ID.

Responses

Response samples

Content type
application/json
{
  • "value": {
    }
}

List all namespaces in a Nacos service registry

Authorizations:
APIKeyAuthBasicAuth
path Parameters
service_registry_id
required
string >= 1
Example: 86fb9981-d9d2-4555-9df8-91ae92129335

Service registry ID.

gateway_group_id
required
string >= 1
Example: 86fb9981-d9d2-4555-9df8-91ae92129335

Gateway group ID.

Responses

Response samples

Content type
application/json
{
  • "list": [
    ],
  • "total": 1
}

List all groups in a Nacos namespace

IAM Action: gateway:GetServiceRegistry, Resource: arn:api7:gateway:gatewaygroup/%s

Authorizations:
APIKeyAuthBasicAuth
path Parameters
service_registry_id
required
string >= 1
Example: 86fb9981-d9d2-4555-9df8-91ae92129335

Service registry ID.

gateway_group_id
required
string >= 1
Example: 86fb9981-d9d2-4555-9df8-91ae92129335

Gateway group ID.

nacos_namespace
required
string >= 1
Example: public

Nacos namespace name.

Responses

Response samples

Content type
application/json
{
  • "list": [
    ],
  • "total": 5
}

List all internal services in a Nacos group

IAM Action: gateway:GetServiceRegistry, Resource: arn:api7:gateway:gatewaygroup/%s

Authorizations:
APIKeyAuthBasicAuth
path Parameters
service_registry_id
required
string >= 1
Example: 86fb9981-d9d2-4555-9df8-91ae92129335

Service registry ID.

gateway_group_id
required
string >= 1
Example: 86fb9981-d9d2-4555-9df8-91ae92129335

Gateway group ID.

nacos_namespace
required
string >= 1
Example: public

Nacos namespace name.

nacos_group
required
string >= 1
Example: DEFAULT_GROUP

Nacos group.

Responses

Response samples

Content type
application/json
{
  • "list": [
    ],
  • "total": 5
}

Get all instance metadata of a Nacos services registry

IAM Action: gateway:GetServiceRegistry, Resource: arn:api7:gateway:gatewaygroup/%s

Authorizations:
APIKeyAuthBasicAuth
path Parameters
service_registry_id
required
string >= 1
Example: 86fb9981-d9d2-4555-9df8-91ae92129335

Service registry ID.

gateway_group_id
required
string >= 1
Example: 86fb9981-d9d2-4555-9df8-91ae92129335

Gateway group ID.

nacos_namespace
required
string >= 1
Example: public

Nacos namespace name.

nacos_group
required
string >= 1
Example: DEFAULT_GROUP

Nacos group.

nacos_service
required
string >= 1
Example: api7ee3-keycloak

Nacos service.

Responses

Response samples

Content type
application/json
{
  • "list": [
    ],
  • "total": 3,
  • "value": {
    }
}

Get health check history of a service registry connection on a gateway group

IAM Action: gateway:GetServiceRegistry, Resource: arn:api7:gateway:gatewaygroup/%s

Authorizations:
APIKeyAuthBasicAuth
path Parameters
service_registry_id
required
string >= 1
Example: 86fb9981-d9d2-4555-9df8-91ae92129335

Service registry ID.

gateway_group_id
required
string >= 1
Example: 86fb9981-d9d2-4555-9df8-91ae92129335

Gateway group ID.

query Parameters
page
integer <int64> >= 1

Page number of the listed resources. Used together with page_size. For example, when there are 13 resources in total, if the query parameters are page=1&page_size=10, the GET response will show the route total as 13 and display 10 resources in the first page. If the query parameters are page=2&page_size=10, the GET response will show the route total as 13 and display 3 resources in the second page.

page_size
integer <int64> >= 1

Number of resources listed per page. Used together with page. For example, when there are 13 resources in total, if the query parameters are page=1&page_size=10, the GET response will show the route total as 13 and display 10 resources in the first page. If the query parameters are page=2&page_size=10, the GET response will show the route total as 13 and display 3 resources in the second page.

direction
string
Default: "desc"
Enum: "asc" "desc"

Order to list the resources by. The sorting index follows the configuration of order_by.

order_by
string
Default: "connect_time"
Value: "connect_time"

Index to order health check history by.

status
Array of strings
Items Enum: "healthy" "lost_connection" "connecting"

Service registry connection status.

search
string
Example: search=version%3Dv2

Condition to search resources by.

Responses

Response samples

Content type
application/json
{
  • "list": [
    ],
  • "total": 1
}

User

List all users

IAM Action: iam:GetUser, Resource: arn:api7:iam:user/%s

Authorizations:
APIKeyAuthBasicAuth
query Parameters
direction
string
Default: "desc"
Enum: "asc" "desc"

Order to list the resources by. The sorting index follows the configuration of order_by.

page_size
integer <int64> >= 1

Number of resources listed per page. Used together with page. For example, when there are 13 resources in total, if the query parameters are page=1&page_size=10, the GET response will show the route total as 13 and display 10 resources in the first page. If the query parameters are page=2&page_size=10, the GET response will show the route total as 13 and display 3 resources in the second page.

page
integer <int64> >= 1

Page number of the listed resources. Used together with page_size. For example, when there are 13 resources in total, if the query parameters are page=1&page_size=10, the GET response will show the route total as 13 and display 10 resources in the first page. If the query parameters are page=2&page_size=10, the GET response will show the route total as 13 and display 3 resources in the second page.

order_by
string
Default: "updated_at"
Enum: "created_at" "updated_at"

Index to order resources by.

roles
Array of strings >= 1

Any array of roles.

Responses

Response samples

Content type
application/json
{
  • "list": [
    ],
  • "total": 1
}

Get a user

IAM Action: iam:GetUser, Resource: arn:api7:iam:user/%s

Authorizations:
APIKeyAuthBasicAuth
path Parameters
user_id
required
string >= 1
Example: 86fb9981-d9d2-4555-9df8-91ae92129335

The user ID.

Responses

Response samples

Content type
application/json
{
  • "value": {
    }
}

Update basic attributes of a user

IAM Action: iam:UpdateUser, Resource: arn:api7:iam:user/%s

Authorizations:
APIKeyAuthBasicAuth
path Parameters
user_id
required
string >= 1
Example: 86fb9981-d9d2-4555-9df8-91ae92129335

The user ID.

Request Body schema: application/json
required
object

Key-value pairs of labels.

property name*
additional property
string [ 1 .. 65536 ] characters ^.+$

Responses

Request samples

Content type
application/json
{
  • "labels": {
    }
}

Response samples

Content type
application/json
""

Delete a user

IAM Action: iam:DeleteUser, Resource: arn:api7:iam:user/%s

Authorizations:
APIKeyAuthBasicAuth
path Parameters
user_id
required
string >= 1
Example: 86fb9981-d9d2-4555-9df8-91ae92129335

The user ID.

Responses

Response samples

Content type
application/json
""

Update the user's permission boundaries

Update a user’s boundaries using a list of permission policy IDs.
IAM Action: iam:UpdateUserBoundary, Resource: arn:api7:iam:user/%s

Authorizations:
APIKeyAuthBasicAuth
path Parameters
user_id
required
string >= 1
Example: 86fb9981-d9d2-4555-9df8-91ae92129335

The user ID.

Request Body schema: application/json
required
Array
string

Responses

Request samples

Content type
application/json
[
  • "efd3bcc7-b61a-47ec-942b-b36bf249f1da"
]

Response samples

Content type
application/json
""

Reset the password to specific value

IAM Action: iam:ResetPassword, Resource: arn:api7:iam:user/%s

Authorizations:
APIKeyAuthBasicAuth
path Parameters
user_id
required
string >= 1
Example: 86fb9981-d9d2-4555-9df8-91ae92129335

The user ID.

Request Body schema: application/json
required
password
required
string [ 1 .. 128 ] characters

The password of the user.

Responses

Request samples

Content type
application/json
{
  • "password": "safe-password"
}

Response samples

Content type
application/json
""

Get my user detail

Authorizations:
APIKeyAuthBasicAuth

Responses

Response samples

Content type
application/json
{
  • "value": {
    }
}

Update my user profile

Authorizations:
APIKeyAuthBasicAuth
Request Body schema: application/json
required
name
required
string [ 1 .. 200 ] characters

Responses

Request samples

Content type
application/json
{
  • "name": "string"
}

Response samples

Content type
application/json
""

Update the user email

Authorizations:
APIKeyAuthBasicAuth
Request Body schema: application/json
required
email
required
string <email> [ 1 .. 128 ] characters

Responses

Request samples

Content type
application/json
{
  • "email": "user@example.com"
}

Response samples

Content type
application/json
""

Delete the user email

Authorizations:
APIKeyAuthBasicAuth

Responses

Response samples

Content type
application/json
""

Invite a user

IAM Action: iam:InviteUser, Resource: arn:api7:iam:user/*

Authorizations:
APIKeyAuthBasicAuth
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

Content type
application/json
{
  • "username": "string",
  • "password": "safe-password",
  • "boundaries": [
    ],
  • "name": "string"
}

Response samples

Content type
application/json
{
  • "value": {
    }
}

Update my user password

Authorizations:
APIKeyAuthBasicAuth
Request Body schema: application/json
required
old_password
string [ 1 .. 128 ] characters
new_password
required
string [ 1 .. 128 ] characters

Responses

Request samples

Content type
application/json
{
  • "old_password": "old-password",
  • "new_password": "new-password"
}

Response samples

Content type
application/json
""

Log in to API7 Enterprise using the built-in username and password

Authorizations:
APIKeyAuthBasicAuth
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

Content type
application/json
{
  • "username": "john",
  • "password": "safe-password"
}

Response samples

Content type
application/json
{
  • "value": { }
}

Log out from API7 Enterprise using the built-in username and password

Authorizations:
APIKeyAuthBasicAuth

Responses

Response samples

Content type
application/json
{
  • "value": { }
}

Update assigned roles for a user

IAM Action: iam:UpdateUserRole, Resource: arn:api7:iam:user/%s

Authorizations:
APIKeyAuthBasicAuth
path Parameters
user_id
required
string >= 1
Example: 86fb9981-d9d2-4555-9df8-91ae92129335

The user ID.

Request Body schema: application/json
required
roles
required
Array of strings[ items [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$ ]

An array of role IDs associated with a user.

Responses

Request samples

Content type
application/json
{
  • "roles": [
    ]
}

Response samples

Content type
application/json
""

Check if a user has permissions on specific resources

Authorizations:
APIKeyAuthBasicAuth
Request Body schema: application/json
required
additional property
object (properties)
resource
required
string

An ARN-style identifier that specifies one or multiple resources.

action
required
string

A specific permission that defines what operation can be performed on the resource.

Context for Gateway Group (object) or Context for Service (object) or Context for Published Service (object) or Context for Role (object) or Context for Permission Policy (object) or Context for User (object) or Context for Consumer (object) or Context for Secret (object) or Context for Contact Point (object) or Context for Alert Policy (object) or Context for Developer (object) or Context for API Product (object) or Context for CA Certificate (object) or Context for Certificate (object) or Context for SNI (object)

Additional conditions or labels used to further narrow down which resources the action applies to, in combination with the resource definition.

Responses

Request samples

Content type
application/json
{
  • "hasAccess": {
    }
}

Response samples

Content type
application/json
{
  • "value": {
    }
}

Log in to API7 Enterprise using the LDAP username and password

Authorizations:
APIKeyAuthBasicAuth
path Parameters
login_option_id
required
string

Login option ID.

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

Content type
application/json
{
  • "username": "john",
  • "password": "safe-password"
}

Response samples

Content type
application/json
{
  • "value": {
    }
}

Log out from API7 Enterprise using the LDAP username and password

Authorizations:
APIKeyAuthBasicAuth
path Parameters
login_option_id
required
string

Login option ID.

Responses

Response samples

Content type
application/json
{
  • "value": { }
}

Log in using the CAS provider

Authorizations:
APIKeyAuthBasicAuth
path Parameters
login_option_id
required
string

Login option ID.

query Parameters
ticket
string

The field of the CAS protocol.

Responses

Log out using the CAS provider

Authorizations:
APIKeyAuthBasicAuth
path Parameters
login_option_id
required
string

Login option ID.

query Parameters
redirect
required
string

Redirect to the given URL after logout.

Responses

Log in using the OIDC provider

Authorizations:
APIKeyAuthBasicAuth
path Parameters
login_option_id
required
string

Login option ID.

Responses

Log in using the OIDC provider

Authorizations:
APIKeyAuthBasicAuth
path Parameters
login_option_id
required
string

Login option ID.

query Parameters
state
required
string

The field of the OIDC protocol.

code
required
string

The field of the OIDC protocol.

Responses

Log out using the OIDC provider

Authorizations:
APIKeyAuthBasicAuth
path Parameters
login_option_id
required
string

Login option ID.

Responses

SAML login (redirect to IdP and call back to Dashboard)

Authorizations:
APIKeyAuthBasicAuth
path Parameters
login_option_id
required
string

Login option ID.

query Parameters
redirect_uri
string non-empty ^/

Path to be redirected after callback.

Responses

SAML Logout (redirect to IdP and call back to Dashboard)

Authorizations:
APIKeyAuthBasicAuth
path Parameters
login_option_id
required
string

Login option ID.

query Parameters
redirect_uri
string non-empty ^/

Path to be redirected after callback.

Responses

SAML ACS/SLO callback (from IdP to Dashboard)

Authorizations:
APIKeyAuthBasicAuth
path Parameters
login_option_id
required
string

Login option ID.

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

SAML ACS/SLO callback (from IdP to Dashboard)

Authorizations:
APIKeyAuthBasicAuth
path Parameters
login_option_id
required
string

Login option ID.

query Parameters
SAMLResponse
required
string

Base64 encoded SAML response.

RelayState
string

State information to be relayed with the response.

Responses

SAML ACS/SLO callback (from IdP to Dashboard)

Authorizations:
APIKeyAuthBasicAuth
path Parameters
login_option_id
required
string

Login option ID.

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

SAML SP metadata

Authorizations:
APIKeyAuthBasicAuth
path Parameters
login_option_id
required
string

Login option ID.

Responses

Email

Check if an email is verified

Authorizations:
APIKeyAuthBasicAuth
query Parameters
email
required
string <email> [ 1 .. 255 ] characters

Email address.

Responses

Response samples

Content type
application/json
{
  • "value": {
    }
}

Get email verification

Authorizations:
APIKeyAuthBasicAuth
query Parameters
token
required
string [ 1 .. 1024 ] characters

The token of the request.

Responses

Role

Update assigned roles for a user

IAM Action: iam:UpdateUserRole, Resource: arn:api7:iam:user/%s

Authorizations:
APIKeyAuthBasicAuth
path Parameters
user_id
required
string >= 1
Example: 86fb9981-d9d2-4555-9df8-91ae92129335

The user ID.

Request Body schema: application/json
required
roles
required
Array of strings[ items [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$ ]

An array of role IDs associated with a user.

Responses

Request samples

Content type
application/json
{
  • "roles": [
    ]
}

Response samples

Content type
application/json
""

List all roles

IAM Action: iam:GetRole, Resource: arn:api7:iam:role/%s

Authorizations:
APIKeyAuthBasicAuth
query Parameters
page
integer <int64> >= 1

Page number of the listed resources. Used together with page_size. For example, when there are 13 resources in total, if the query parameters are page=1&page_size=10, the GET response will show the route total as 13 and display 10 resources in the first page. If the query parameters are page=2&page_size=10, the GET response will show the route total as 13 and display 3 resources in the second page.

page_size
integer <int64> >= 1

Number of resources listed per page. Used together with page. For example, when there are 13 resources in total, if the query parameters are page=1&page_size=10, the GET response will show the route total as 13 and display 10 resources in the first page. If the query parameters are page=2&page_size=10, the GET response will show the route total as 13 and display 3 resources in the second page.

direction
string
Default: "desc"
Enum: "asc" "desc"

Order to list the resources by. The sorting index follows the configuration of order_by.

order_by
string
Default: "updated_at"
Enum: "created_at" "updated_at"

Index to order resources by.

search
string
Example: search=version%3Dv2

Condition to search resources by.

labels
string non-empty
Example: labels=labels%5Bversion%5D=v2

Label(s) to filter resources by. The format is labels[key]=value and should be URL-encoded.

Responses

Response samples

Content type
application/json
{
  • "list": [
    ],
  • "total": 1
}

Create a role

IAM Action: iam:CreateRole, Resource: arn:api7:iam:role/*

Authorizations:
APIKeyAuthBasicAuth
Request Body schema: application/json
required
name
required
string [ 1 .. 256 ] characters

The role name.

desc
string <= 65536 characters

The object description.

object

Key-value pairs of labels.

policies
Array of strings non-empty unique [ items [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$ ]

The polices attached to the role.

Responses

Request samples

Content type
application/json
{
  • "name": "View Consumer",
  • "desc": "This role allows users to view comsumers.",
  • "labels": {
    },
  • "policies": [
    ]
}

Response samples

Content type
application/json
{
  • "value": {
    }
}

Get a role

IAM Action: iam:GetRole, Resource: arn:api7:iam:role/%s

Authorizations:
APIKeyAuthBasicAuth
path Parameters
role_id
required
string >= 1
Example: 4b9b56d1-147e-49ef-bcaa-88cc5bcf403f

Role ID.

Responses

Response samples

Content type
application/json
{
  • "value": {
    }
}

Update a role

IAM Action: iam:UpdateRole, Resource: arn:api7:iam:role/%s

Authorizations:
APIKeyAuthBasicAuth
path Parameters
role_id
required
string >= 1
Example: 4b9b56d1-147e-49ef-bcaa-88cc5bcf403f

Role ID.

Request Body schema: application/json
required
name
required
string [ 1 .. 256 ] characters

The role name.

desc
string <= 65536 characters

The object description.

object

Key-value pairs of labels.

policies
Array of strings non-empty unique [ items [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$ ]

The polices attached to the role.

Responses

Request samples

Content type
application/json
{
  • "name": "View Consumer",
  • "desc": "This role allows users to view comsumers.",
  • "labels": {
    },
  • "policies": [
    ]
}

Response samples

Content type
application/json
{
  • "value": {
    }
}

Delete a role

IAM Action: iam:DeleteRole, Resource: arn:api7:iam:role/%s

Authorizations:
APIKeyAuthBasicAuth
path Parameters
role_id
required
string >= 1
Example: 4b9b56d1-147e-49ef-bcaa-88cc5bcf403f

Role ID.

Responses

Response samples

Content type
application/json
{
  • "value": { }
}

List all permission policies attached to a role

IAM Action: iam:GetPermissionPolicy, Resource: arn:api7:iam:permissionpolicy/%s

Authorizations:
APIKeyAuthBasicAuth
path Parameters
role_id
required
string >= 1
Example: 4b9b56d1-147e-49ef-bcaa-88cc5bcf403f

Role ID.

query Parameters
page
integer <int64> >= 1

Page number of the listed resources. Used together with page_size. For example, when there are 13 resources in total, if the query parameters are page=1&page_size=10, the GET response will show the route total as 13 and display 10 resources in the first page. If the query parameters are page=2&page_size=10, the GET response will show the route total as 13 and display 3 resources in the second page.

page_size
integer <int64> >= 1

Number of resources listed per page. Used together with page. For example, when there are 13 resources in total, if the query parameters are page=1&page_size=10, the GET response will show the route total as 13 and display 10 resources in the first page. If the query parameters are page=2&page_size=10, the GET response will show the route total as 13 and display 3 resources in the second page.

direction
string
Default: "desc"
Enum: "asc" "desc"

Order to list the resources by. The sorting index follows the configuration of order_by.

order_by
string
Default: "updated_at"
Enum: "created_at" "updated_at"

Index to order resources by.

search
string
Example: search=version%3Dv2

Condition to search resources by.

labels
string non-empty
Example: labels=labels%5Bversion%5D=v2

Label(s) to filter resources by. The format is labels[key]=value and should be URL-encoded.

Responses

Response samples

Content type
application/json
{
  • "list": [
    ],
  • "total": 1
}

Attach permission policies to a role

IAM Action: iam:UpdateRole, Resource: arn:api7:iam:role/%s

Authorizations:
APIKeyAuthBasicAuth
path Parameters
role_id
required
string >= 1
Example: 4b9b56d1-147e-49ef-bcaa-88cc5bcf403f

Role ID.

Request Body schema: application/json
required
Array
string

Responses

Request samples

Content type
application/json
[
  • "efd3bcc7-b61a-47ec-942b-b36bf249f1da"
]

Response samples

Content type
application/json
{
  • "value": { }
}

Detach permission policies of a role

IAM Action: iam:UpdateRole, Resource: arn:api7:iam:role/%s

Authorizations:
APIKeyAuthBasicAuth
path Parameters
role_id
required
string >= 1
Example: 4b9b56d1-147e-49ef-bcaa-88cc5bcf403f

Role ID.

Request Body schema: application/json
required
Array
string

Responses

Request samples

Content type
application/json
[
  • "efd3bcc7-b61a-47ec-942b-b36bf249f1da"
]

Response samples

Content type
application/json
{
  • "value": { }
}

Check if a user has permissions on specific resources

Authorizations:
APIKeyAuthBasicAuth
Request Body schema: application/json
required
additional property
object (properties)
resource
required
string

An ARN-style identifier that specifies one or multiple resources.

action
required
string

A specific permission that defines what operation can be performed on the resource.

Context for Gateway Group (object) or Context for Service (object) or Context for Published Service (object) or Context for Role (object) or Context for Permission Policy (object) or Context for User (object) or Context for Consumer (object) or Context for Secret (object) or Context for Contact Point (object) or Context for Alert Policy (object) or Context for Developer (object) or Context for API Product (object) or Context for CA Certificate (object) or Context for Certificate (object) or Context for SNI (object)

Additional conditions or labels used to further narrow down which resources the action applies to, in combination with the resource definition.

Responses

Request samples

Content type
application/json
{
  • "hasAccess": {
    }
}

Response samples

Content type
application/json
{
  • "value": {
    }
}

Permission Policy

List all permission policies attached to a role

IAM Action: iam:GetPermissionPolicy, Resource: arn:api7:iam:permissionpolicy/%s

Authorizations:
APIKeyAuthBasicAuth
path Parameters
role_id
required
string >= 1
Example: 4b9b56d1-147e-49ef-bcaa-88cc5bcf403f

Role ID.

query Parameters
page
integer <int64> >= 1

Page number of the listed resources. Used together with page_size. For example, when there are 13 resources in total, if the query parameters are page=1&page_size=10, the GET response will show the route total as 13 and display 10 resources in the first page. If the query parameters are page=2&page_size=10, the GET response will show the route total as 13 and display 3 resources in the second page.

page_size
integer <int64> >= 1

Number of resources listed per page. Used together with page. For example, when there are 13 resources in total, if the query parameters are page=1&page_size=10, the GET response will show the route total as 13 and display 10 resources in the first page. If the query parameters are page=2&page_size=10, the GET response will show the route total as 13 and display 3 resources in the second page.

direction
string
Default: "desc"
Enum: "asc" "desc"

Order to list the resources by. The sorting index follows the configuration of order_by.

order_by
string
Default: "updated_at"
Enum: "created_at" "updated_at"

Index to order resources by.

search
string
Example: search=version%3Dv2

Condition to search resources by.

labels
string non-empty
Example: labels=labels%5Bversion%5D=v2

Label(s) to filter resources by. The format is labels[key]=value and should be URL-encoded.

Responses

Response samples

Content type
application/json
{
  • "list": [
    ],
  • "total": 1
}

Attach permission policies to a role

IAM Action: iam:UpdateRole, Resource: arn:api7:iam:role/%s

Authorizations:
APIKeyAuthBasicAuth
path Parameters
role_id
required
string >= 1
Example: 4b9b56d1-147e-49ef-bcaa-88cc5bcf403f

Role ID.

Request Body schema: application/json
required
Array
string

Responses

Request samples

Content type
application/json
[
  • "efd3bcc7-b61a-47ec-942b-b36bf249f1da"
]

Response samples

Content type
application/json
{
  • "value": { }
}

Detach permission policies of a role

IAM Action: iam:UpdateRole, Resource: arn:api7:iam:role/%s

Authorizations:
APIKeyAuthBasicAuth
path Parameters
role_id
required
string >= 1
Example: 4b9b56d1-147e-49ef-bcaa-88cc5bcf403f

Role ID.

Request Body schema: application/json
required
Array
string

Responses

Request samples

Content type
application/json
[
  • "efd3bcc7-b61a-47ec-942b-b36bf249f1da"
]

Response samples

Content type
application/json
{
  • "value": { }
}

Create a permission policy

IAM Action: iam:CreatePermissionPolicy, Resource: arn:api7:iam:permissionpolicy/*

Authorizations:
APIKeyAuthBasicAuth
Request Body schema: application/json
required
name
required
string [ 1 .. 100 ] characters

The policy name.

type
string
Enum: "built_in" "custom"

The permission policy type.

desc
string <= 65536 characters

The description of the policy.

object

The labels of the policy.

required
object

Policy document.

Responses

Request samples

Content type
application/json
{
  • "name": "sample-policy",
  • "type": "built_in",
  • "desc": "Object description.",
  • "labels": {
    },
  • "policy_document": {
    }
}

Response samples

Content type
application/json
{
  • "value": {
    }
}

List all permission policies

IAM Action: iam:GetPermissionPolicy, Resource: arn:api7:iam:permissionpolicy/%s

Authorizations:
APIKeyAuthBasicAuth
query Parameters
page
integer <int64> >= 1

Page number of the listed resources. Used together with page_size. For example, when there are 13 resources in total, if the query parameters are page=1&page_size=10, the GET response will show the route total as 13 and display 10 resources in the first page. If the query parameters are page=2&page_size=10, the GET response will show the route total as 13 and display 3 resources in the second page.

page_size
integer <int64> >= 1

Number of resources listed per page. Used together with page. For example, when there are 13 resources in total, if the query parameters are page=1&page_size=10, the GET response will show the route total as 13 and display 10 resources in the first page. If the query parameters are page=2&page_size=10, the GET response will show the route total as 13 and display 3 resources in the second page.

direction
string
Default: "desc"
Enum: "asc" "desc"

Order to list the resources by. The sorting index follows the configuration of order_by.

order_by
string
Default: "updated_at"
Enum: "created_at" "updated_at"

Index to order resources by.

search
string
Example: search=version%3Dv2

Condition to search resources by.

labels
string non-empty
Example: labels=labels%5Bversion%5D=v2

Label(s) to filter resources by. The format is labels[key]=value and should be URL-encoded.

Responses

Response samples

Content type
application/json
{
  • "list": [
    ],
  • "total": 1
}

Get a permission policy

IAM Action: iam:GetPermissionPolicy, Resource: arn:api7:iam:permissionpolicy/%s

Authorizations:
APIKeyAuthBasicAuth
path Parameters
permission_policy_id
required
string >= 1

Permission policy ID.

Responses

Response samples

Content type
application/json
{
  • "value": {
    }
}

Update a permission policy

IAM Action: iam:UpdatePermissionPolicy, Resource: arn:api7:iam:permissionpolicy/%s

Authorizations:
APIKeyAuthBasicAuth
path Parameters
permission_policy_id
required
string >= 1

Permission policy ID.

Request Body schema: application/json
required
name
required
string [ 1 .. 100 ] characters

The policy name.

type
string
Enum: "built_in" "custom"

The permission policy type.

desc
string <= 65536 characters

The description of the policy.

object

The labels of the policy.

required
object

Policy document.

Responses

Request samples

Content type
application/json
{
  • "name": "sample-policy",
  • "type": "built_in",
  • "desc": "Object description.",
  • "labels": {
    },
  • "policy_document": {
    }
}

Response samples

Content type
application/json
{
  • "value": {
    }
}

Delete a permission policy

IAM Action: iam:DeletePermissionPolicy, Resource: arn:api7:iam:permissionpolicy/%s

Authorizations:
APIKeyAuthBasicAuth
path Parameters
permission_policy_id
required
string >= 1

Permission policy ID.

Responses

Response samples

Content type
application/json
{
  • "value": { }
}

List the Roles or Users that directly reference the Permission Policy

IAM Action: iam:GetPermissionPolicy, Resource: arn:api7:iam:permissionpolicy/%s

Authorizations:
APIKeyAuthBasicAuth
path Parameters
permission_policy_id
required
string >= 1

Permission policy ID.

Responses

Response samples

Content type
application/json
{
  • "list": [
    ],
  • "total": 1
}

Alert

List all alert policies

IAM Action: gateway:GetAlertPolicy, Resource: arn:api7:gateway:alert/%s

Authorizations:
APIKeyAuthBasicAuth
query Parameters
order_by
string
Default: "updated_at"
Enum: "created_at" "updated_at" "name" "severity"

Index to order alert policies by.

direction
string
Default: "desc"
Enum: "asc" "desc"

Order to list the resources by. The sorting index follows the configuration of order_by.

page_size
integer <int64> >= 1

Number of resources listed per page. Used together with page. For example, when there are 13 resources in total, if the query parameters are page=1&page_size=10, the GET response will show the route total as 13 and display 10 resources in the first page. If the query parameters are page=2&page_size=10, the GET response will show the route total as 13 and display 3 resources in the second page.

page
integer <int64> >= 1

Page number of the listed resources. Used together with page_size. For example, when there are 13 resources in total, if the query parameters are page=1&page_size=10, the GET response will show the route total as 13 and display 10 resources in the first page. If the query parameters are page=2&page_size=10, the GET response will show the route total as 13 and display 3 resources in the second page.

search
string
Example: search=version%3Dv2

Condition to search resources by.

labels
string non-empty
Example: labels=labels%5Bversion%5D=v2

Label(s) to filter resources by. The format is labels[key]=value and should be URL-encoded.

status
Array of strings
Items Enum: "enabled" "disabled"

Alert enablement status.

severity
Array of strings
Items Enum: "high" "medium" "low"

Alert severity.

Responses

Response samples

Content type
application/json
{
  • "list": [
    ],
  • "total": 1
}

Create an alert policy

IAM Action: gateway:CreateAlertPolicy, Resource: arn:api7:gateway:alert/*

Authorizations:
APIKeyAuthBasicAuth
Request Body schema: application/json
required
name
required
string [ 1 .. 100 ] characters

The alert policy name.

desc
string <= 65536 characters

The alert policy description.

object

Key-value pairs of labels.

enable
boolean
Default: true

If true, enable the alert policy.

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 License Expiry (object) or Gateway Instance Offline (object) or Data Plane Cores Exceeded (object) or Numbers of Healthy Gateway Instances (object) non-empty

The alert trigger conditions.

Array of Email (object) or Webhook (object)

The alert notifications.

Responses

Request samples

Content type
application/json
{
  • "name": "500 status alert",
  • "desc": "Object description.",
  • "labels": {
    },
  • "enable": true,
  • "check_interval": 1,
  • "severity": "high",
  • "trigger_logical_operator": "All",
  • "trigger_conditions": [
    ],
  • "notifications": [
    ]
}

Response samples

Content type
application/json
{
  • "value": {
    }
}

Get an alert policy

IAM Action: gateway:GetAlertPolicy, Resource: arn:api7:gateway:alert/%s

Authorizations:
APIKeyAuthBasicAuth
path Parameters
alert_policy_id
required
string

Alert policy ID.

Responses

Response samples

Content type
application/json
{
  • "value": {
    }
}

Delete an alert policy

IAM Action: gateway:DeleteAlertPolicy, Resource: arn:api7:gateway:alert/%s

Authorizations:
APIKeyAuthBasicAuth
path Parameters
alert_policy_id
required
string

Alert policy ID.

Responses

Response samples

Content type
application/json
""

Update an alert policy

IAM Action: gateway:UpdateAlertPolicy, Resource: arn:api7:gateway:alert/%s

Authorizations:
APIKeyAuthBasicAuth
path Parameters
alert_policy_id
required
string

Alert policy ID.

Request Body schema: application/json
name
required
string [ 1 .. 100 ] characters

The alert policy name.

desc
string <= 65536 characters

The alert policy description.

object

Key-value pairs of labels.

enable
boolean
Default: true

If true, enable the alert policy.

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 License Expiry (object) or Gateway Instance Offline (object) or Data Plane Cores Exceeded (object) or Numbers of Healthy Gateway Instances (object) non-empty

The alert trigger conditions.

Array of Email (object) or Webhook (object)

The alert notifications.

Responses

Request samples

Content type
application/json
{
  • "name": "500 status alert",
  • "desc": "Object description.",
  • "labels": {
    },
  • "enable": true,
  • "check_interval": 1,
  • "severity": "high",
  • "trigger_logical_operator": "All",
  • "trigger_conditions": [
    ],
  • "notifications": [
    ]
}

Response samples

Content type
application/json
{
  • "value": { }
}

Patch an alert policy

IAM Action: gateway:UpdateAlertPolicy, Resource: arn:api7:gateway:alert/%s

Authorizations:
APIKeyAuthBasicAuth
path Parameters
alert_policy_id
required
string

Alert policy ID.

Request Body schema: application/json
Array
One of
op
required
string
Enum: "add" "replace"

The operation to be performed.

path
required
string

Path to the field to be replaced or added. Path should follow the JSON Pointer format.

value
required
any

Value to be added or replaced.

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Response samples

Content type
application/json
{
  • "value": { }
}

List all alert histories

IAM Action: gateway:GetAlertPolicy, Resource: arn:api7:gateway:alert/*

Authorizations:
APIKeyAuthBasicAuth
query Parameters
alert_policy_id
string

Alert policy ID.

severity
Array of strings
Items Enum: "high" "medium" "low"

Alert severity.

start_at
integer

Start at timestamp to filter the audit logs.

end_at
integer

End at timestamp to filter the audit logs.

gateway_group_id
string >= 1

Gateway group ID.

order_by
string
Default: "alert_time"
Value: "alert_time"

Index to order alerts by.

direction
string
Default: "desc"
Enum: "asc" "desc"

Order to list the resources by. The sorting index follows the configuration of order_by.

page_size
integer <int64> >= 1

Number of resources listed per page. Used together with page. For example, when there are 13 resources in total, if the query parameters are page=1&page_size=10, the GET response will show the route total as 13 and display 10 resources in the first page. If the query parameters are page=2&page_size=10, the GET response will show the route total as 13 and display 3 resources in the second page.

page
integer <int64> >= 1

Page number of the listed resources. Used together with page_size. For example, when there are 13 resources in total, if the query parameters are page=1&page_size=10, the GET response will show the route total as 13 and display 10 resources in the first page. If the query parameters are page=2&page_size=10, the GET response will show the route total as 13 and display 3 resources in the second page.

search
string
Example: search=version%3Dv2

Condition to search resources by.

Responses

Response samples

Content type
application/json
{
  • "list": [
    ],
  • "total": 1
}

Audit Logs

List all audit logs

IAM Action: iam:GetAudit, Resource: arn:api7:iam:organization/*

Authorizations:
APIKeyAuthBasicAuth
query Parameters
event_type
string
Example: event_type=AddConsumerCredential

The event type. Event types can be looked up using the /api/audit_logs/event_types endpoint.

operator_id
string

The user ID of the operator.

gateway_group_id
string >= 1

Gateway group ID.

resource_id
string

The resource ID.

start_at
integer

Start at timestamp to filter the audit logs.

end_at
integer

End at timestamp to filter the audit logs.

order_by
string
Default: "event_time"
Value: "event_time"

Index to order audit logs by.

direction
string
Default: "desc"
Enum: "asc" "desc"

Order to list the resources by. The sorting index follows the configuration of order_by.

page_size
integer <int64> >= 1

Number of resources listed per page. Used together with page. For example, when there are 13 resources in total, if the query parameters are page=1&page_size=10, the GET response will show the route total as 13 and display 10 resources in the first page. If the query parameters are page=2&page_size=10, the GET response will show the route total as 13 and display 3 resources in the second page.

page
integer <int64> >= 1

Page number of the listed resources. Used together with page_size. For example, when there are 13 resources in total, if the query parameters are page=1&page_size=10, the GET response will show the route total as 13 and display 10 resources in the first page. If the query parameters are page=2&page_size=10, the GET response will show the route total as 13 and display 3 resources in the second page.

Responses

Response samples

Content type
application/json
{
  • "list": [
    ],
  • "total": 1
}

List all event types of audit logs

Authorizations:
APIKeyAuthBasicAuth

Responses

Response samples

Content type
application/json
{
  • "list": [
    ],
  • "total": 1
}

Export all audit logs

IAM Action: iam:ExportAudits, Resource: arn:api7:iam:organization/*

Authorizations:
APIKeyAuthBasicAuth
query Parameters
event_type
string
Example: event_type=AddConsumerCredential

The event type. Event types can be looked up using the /api/audit_logs/event_types endpoint.

operator_id
string

The user ID of the operator.

gateway_group_id
string >= 1

Gateway group ID.

resource_id
string

The resource ID.

start_at
integer

Start at timestamp to filter the audit logs.

end_at
integer

End at timestamp to filter the audit logs.

format
required
string
Enum: "json" "csv"

Format to export.

Responses

Audit Config

Get the configuration for audit logs.

Authorizations:
APIKeyAuthBasicAuth

Responses

Response samples

Content type
application/json
{
  • "value": {
    }
}

Token

Create a token

Authorizations:
APIKeyAuthBasicAuth
Request Body schema: application/json
name
required
string <= 40 characters

The token name.

expires_at
required
integer <int64>

The expiration timestamp of the token. 0 means the token will not expire.

Responses

Request samples

Content type
application/json
{
  • "name": "test-token",
  • "expires_at": 1752288235
}

Response samples

Content type
application/json
{
  • "value": {
    }
}

List all tokens

Authorizations:
APIKeyAuthBasicAuth
query Parameters
order_by
string
Default: "created_at"
Enum: "created_at" "updated_at" "expires_at"

Index to order the tokens by.

direction
string
Default: "desc"
Enum: "asc" "desc"

Order to list the resources by. The sorting index follows the configuration of order_by.

page_size
integer <int64> >= 1

Number of resources listed per page. Used together with page. For example, when there are 13 resources in total, if the query parameters are page=1&page_size=10, the GET response will show the route total as 13 and display 10 resources in the first page. If the query parameters are page=2&page_size=10, the GET response will show the route total as 13 and display 3 resources in the second page.

page
integer <int64> >= 1

Page number of the listed resources. Used together with page_size. For example, when there are 13 resources in total, if the query parameters are page=1&page_size=10, the GET response will show the route total as 13 and display 10 resources in the first page. If the query parameters are page=2&page_size=10, the GET response will show the route total as 13 and display 3 resources in the second page.

search
string
Example: search=version%3Dv2

Condition to search resources by.

Responses

Response samples

Content type
application/json
{
  • "list": [
    ],
  • "total": 1
}

Get a token

Authorizations:
APIKeyAuthBasicAuth
path Parameters
token_id
required
string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$
Example: bd58fce2-b6cc-4d2d-a53c-6ce11b19c101

The unique identifier of the token.

Responses

Response samples

Content type
application/json
{
  • "value": {
    }
}

Update a token

Authorizations:
APIKeyAuthBasicAuth
path Parameters
token_id
required
string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$
Example: bd58fce2-b6cc-4d2d-a53c-6ce11b19c101

The unique identifier of the token.

Request Body schema: application/json
name
required
string <= 40 characters

The token name.

Responses

Request samples

Content type
application/json
{
  • "name": "test-token"
}

Response samples

Content type
application/json
{
  • "value": {
    }
}

Delete a token

Authorizations:
APIKeyAuthBasicAuth
path Parameters
token_id
required
string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$
Example: bd58fce2-b6cc-4d2d-a53c-6ce11b19c101

The unique identifier of the token.

Responses

Response samples

Content type
application/json
{
  • "value": { }
}

Regenerate a token

Authorizations:
APIKeyAuthBasicAuth
path Parameters
token_id
required
string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$
Example: bd58fce2-b6cc-4d2d-a53c-6ce11b19c101

The unique identifier of the token.

Request Body schema: application/json
expires_at
required
integer <int64>

The expiration timestamp of the token. 0 means the token will not expire.

Responses

Request samples

Content type
application/json
{
  • "expires_at": 1752288235
}

Response samples

Content type
application/json
{
  • "value": {
    }
}

Service Registry

List all service registry connections on a gateway group

IAM Action: gateway:GetServiceRegistry, Resource: arn:api7:gateway:gatewaygroup/%s

Authorizations:
APIKeyAuthBasicAuth
path Parameters
gateway_group_id
required
string >= 1
Example: 86fb9981-d9d2-4555-9df8-91ae92129335

Gateway group ID.

query Parameters
page
integer <int64> >= 1

Page number of the listed resources. Used together with page_size. For example, when there are 13 resources in total, if the query parameters are page=1&page_size=10, the GET response will show the route total as 13 and display 10 resources in the first page. If the query parameters are page=2&page_size=10, the GET response will show the route total as 13 and display 3 resources in the second page.

page_size
integer <int64> >= 1

Number of resources listed per page. Used together with page. For example, when there are 13 resources in total, if the query parameters are page=1&page_size=10, the GET response will show the route total as 13 and display 10 resources in the first page. If the query parameters are page=2&page_size=10, the GET response will show the route total as 13 and display 3 resources in the second page.

direction
string
Default: "desc"
Enum: "asc" "desc"

Order to list the resources by. The sorting index follows the configuration of order_by.

order_by
string
Default: "updated_at"
Enum: "created_at" "updated_at" "last_connect_time"

Index to order service registry connections by.

search
string
Example: search=version%3Dv2

Condition to search resources by.

Responses

Response samples

Content type
application/json
{
  • "list": [
    ],
  • "total": 1
}

Create a service registry connection on a gateway group

IAM Action: gateway:ConnectServiceRegistry, Resource: arn:api7:gateway:gatewaygroup/%s

Authorizations:
APIKeyAuthBasicAuth
path Parameters
gateway_group_id
required
string >= 1
Example: 86fb9981-d9d2-4555-9df8-91ae92129335

Gateway group ID.

Request Body schema: application/json
One of
name
string [ 1 .. 100 ] characters

The object name.

description
string

Service registry description.

object

Health check configurations.

type
required
string
Value: "kubernetes"

The kubernetes service type.

required
object

Kubernetes service registry configurations.

Responses

Request samples

Content type
application/json
Example
{
  • "name": "sample-service-registry",
  • "description": "service registry description",
  • "health_check": {
    },
  • "type": "kubernetes",
  • "kubernetes_config": {
    }
}

Response samples

Content type
application/json
{
  • "value": {
    }
}

Get a service registry connection on a gateway group

IAM Action: gateway:GetServiceRegistry, Resource: arn:api7:gateway:gatewaygroup/%s

Authorizations:
APIKeyAuthBasicAuth
path Parameters
service_registry_id
required
string >= 1
Example: 86fb9981-d9d2-4555-9df8-91ae92129335

Service registry ID.

gateway_group_id
required
string >= 1
Example: 86fb9981-d9d2-4555-9df8-91ae92129335

Gateway group ID.

Responses

Response samples

Content type
application/json
{
  • "value": {
    }
}

Update a service registry connection on a gateway group

IAM Action: gateway:UpdateServiceRegistry, Resource: arn:api7:gateway:gatewaygroup/%s

Authorizations:
APIKeyAuthBasicAuth
path Parameters
service_registry_id
required
string >= 1
Example: 86fb9981-d9d2-4555-9df8-91ae92129335

Service registry ID.

gateway_group_id
required
string >= 1
Example: 86fb9981-d9d2-4555-9df8-91ae92129335

Gateway group ID.

Request Body schema: application/json
required
One of
name
string [ 1 .. 100 ] characters

The object name.

description
string

Service registry description.

object

Health check configurations.

type
required
string
Value: "kubernetes"

The kubernetes service type.

required
object

Kubernetes service registry configurations.

Responses

Request samples

Content type
application/json
Example
{
  • "name": "sample-service-registry",
  • "description": "service registry description",
  • "health_check": {
    },
  • "type": "kubernetes",
  • "kubernetes_config": {
    }
}

Response samples

Content type
application/json
{
  • "value": { }
}

Delete a service registry connection on a gateway group

IAM Action: gateway:DisconnectServiceRegistry, Resource: arn:api7:gateway:gatewaygroup/%s

Authorizations:
APIKeyAuthBasicAuth
path Parameters
service_registry_id
required
string >= 1
Example: 86fb9981-d9d2-4555-9df8-91ae92129335

Service registry ID.

gateway_group_id
required
string >= 1
Example: 86fb9981-d9d2-4555-9df8-91ae92129335

Gateway group ID.

Responses

Response samples

Content type
application/json
""

List all published services connected to a service registry

IAM Action: gateway:GetServiceRegistry, Resource: arn:api7:gateway:gatewaygroup/%s

Authorizations:
APIKeyAuthBasicAuth
path Parameters
service_registry_id
required
string >= 1
Example: 86fb9981-d9d2-4555-9df8-91ae92129335

Service registry ID.

gateway_group_id
required
string >= 1
Example: 86fb9981-d9d2-4555-9df8-91ae92129335

Gateway group ID.

query Parameters
page
integer <int64> >= 1

Page number of the listed resources. Used together with page_size. For example, when there are 13 resources in total, if the query parameters are page=1&page_size=10, the GET response will show the route total as 13 and display 10 resources in the first page. If the query parameters are page=2&page_size=10, the GET response will show the route total as 13 and display 3 resources in the second page.

page_size
integer <int64> >= 1

Number of resources listed per page. Used together with page. For example, when there are 13 resources in total, if the query parameters are page=1&page_size=10, the GET response will show the route total as 13 and display 10 resources in the first page. If the query parameters are page=2&page_size=10, the GET response will show the route total as 13 and display 3 resources in the second page.

direction
string
Default: "desc"
Enum: "asc" "desc"

Order to list the resources by. The sorting index follows the configuration of order_by.

order_by
string
Default: "updated_at"
Enum: "created_at" "updated_at" "publish_time" "name"

Index to order published services by.

Responses

Response samples

Content type
application/json
{
  • "list": [
    ],
  • "total": 1
}

List all internal services in a Kubernetes service registry

IAM Action: gateway:GetServiceRegistry, Resource: arn:api7:gateway:gatewaygroup/%s

Authorizations:
APIKeyAuthBasicAuth
path Parameters
service_registry_id
required
string >= 1
Example: 86fb9981-d9d2-4555-9df8-91ae92129335

Service registry ID.

gateway_group_id
required
string >= 1
Example: 86fb9981-d9d2-4555-9df8-91ae92129335

Gateway group ID.

Responses

Response samples

Content type
application/json
{
  • "value": {
    }
}

List all namespaces in a Nacos service registry

Authorizations:
APIKeyAuthBasicAuth
path Parameters
service_registry_id
required
string >= 1
Example: 86fb9981-d9d2-4555-9df8-91ae92129335

Service registry ID.

gateway_group_id
required
string >= 1
Example: 86fb9981-d9d2-4555-9df8-91ae92129335

Gateway group ID.

Responses

Response samples

Content type
application/json
{
  • "list": [
    ],
  • "total": 1
}

List all groups in a Nacos namespace

IAM Action: gateway:GetServiceRegistry, Resource: arn:api7:gateway:gatewaygroup/%s

Authorizations:
APIKeyAuthBasicAuth
path Parameters
service_registry_id
required
string >= 1
Example: 86fb9981-d9d2-4555-9df8-91ae92129335

Service registry ID.

gateway_group_id
required
string >= 1
Example: 86fb9981-d9d2-4555-9df8-91ae92129335

Gateway group ID.

nacos_namespace
required
string >= 1
Example: public

Nacos namespace name.

Responses

Response samples

Content type
application/json
{
  • "list": [
    ],
  • "total": 5
}

List all internal services in a Nacos group

IAM Action: gateway:GetServiceRegistry, Resource: arn:api7:gateway:gatewaygroup/%s

Authorizations:
APIKeyAuthBasicAuth
path Parameters
service_registry_id
required
string >= 1
Example: 86fb9981-d9d2-4555-9df8-91ae92129335

Service registry ID.

gateway_group_id
required
string >= 1
Example: 86fb9981-d9d2-4555-9df8-91ae92129335

Gateway group ID.

nacos_namespace
required
string >= 1
Example: public

Nacos namespace name.

nacos_group
required
string >= 1
Example: DEFAULT_GROUP

Nacos group.

Responses

Response samples

Content type
application/json
{
  • "list": [
    ],
  • "total": 5
}

Get all instance metadata of a Nacos services registry

IAM Action: gateway:GetServiceRegistry, Resource: arn:api7:gateway:gatewaygroup/%s

Authorizations:
APIKeyAuthBasicAuth
path Parameters
service_registry_id
required
string >= 1
Example: 86fb9981-d9d2-4555-9df8-91ae92129335

Service registry ID.

gateway_group_id
required
string >= 1
Example: 86fb9981-d9d2-4555-9df8-91ae92129335

Gateway group ID.

nacos_namespace
required
string >= 1
Example: public

Nacos namespace name.

nacos_group
required
string >= 1
Example: DEFAULT_GROUP

Nacos group.

nacos_service
required
string >= 1
Example: api7ee3-keycloak

Nacos service.

Responses

Response samples

Content type
application/json
{
  • "list": [
    ],
  • "total": 3,
  • "value": {
    }
}

Get health check history of a service registry connection on a gateway group

IAM Action: gateway:GetServiceRegistry, Resource: arn:api7:gateway:gatewaygroup/%s

Authorizations:
APIKeyAuthBasicAuth
path Parameters
service_registry_id
required
string >= 1
Example: 86fb9981-d9d2-4555-9df8-91ae92129335

Service registry ID.

gateway_group_id
required
string >= 1
Example: 86fb9981-d9d2-4555-9df8-91ae92129335

Gateway group ID.

query Parameters
page
integer <int64> >= 1

Page number of the listed resources. Used together with page_size. For example, when there are 13 resources in total, if the query parameters are page=1&page_size=10, the GET response will show the route total as 13 and display 10 resources in the first page. If the query parameters are page=2&page_size=10, the GET response will show the route total as 13 and display 3 resources in the second page.

page_size
integer <int64> >= 1

Number of resources listed per page. Used together with page. For example, when there are 13 resources in total, if the query parameters are page=1&page_size=10, the GET response will show the route total as 13 and display 10 resources in the first page. If the query parameters are page=2&page_size=10, the GET response will show the route total as 13 and display 3 resources in the second page.

direction
string
Default: "desc"
Enum: "asc" "desc"

Order to list the resources by. The sorting index follows the configuration of order_by.

order_by
string
Default: "connect_time"
Value: "connect_time"

Index to order health check history by.

status
Array of strings
Items Enum: "healthy" "lost_connection" "connecting"

Service registry connection status.

search
string
Example: search=version%3Dv2

Condition to search resources by.

Responses

Response samples

Content type
application/json
{
  • "list": [
    ],
  • "total": 1
}

Label

Get all labels of a resource type

Authorizations:
APIKeyAuthBasicAuth
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" "sni"

Resource type.

query Parameters
gateway_group_id
string >= 1

Gateway group ID.

Responses

Response samples

Content type
application/json
{
  • "value": {
    }
}

System Settings

Update deployment settings

IAM Action: gateway:UpdateDeploymentSetting, Resource: arn:api7:gateway:gatewaysetting/*

Authorizations:
APIKeyAuthBasicAuth
Request Body schema: application/json
dp_manager_address
Array of strings <url_scheme_port> [ 0 .. 32 ] items unique [ items <url_scheme_port > non-empty [^\/]$ ]

DP manager address.

source
string
Enum: "database" "config"

The source of the control plane address and Admin API address.

admin_api_address
string <url_scheme>

The URL address of the Admin API.

Responses

Request samples

Content type
application/json
{}

Response samples

Content type
application/json
{}

Get deployment settings

Authorizations:
APIKeyAuthBasicAuth

Responses

Response samples

Content type
application/json
{}

Update SCIM settings

IAM Action: iam:UpdateSCIMProvisioning, Resource: arn:api7:iam:organization/*

Authorizations:
APIKeyAuthBasicAuth
Request Body schema: application/json
enable_scim
boolean

Enable or disable the SCIM endpoint for provisioning and user management.

Responses

Request samples

Content type
application/json
{
  • "enable_scim": true
}

Response samples

Content type
application/json
{
  • "value": {
    }
}

Get SCIM settings

IAM Action: iam:GetSCIMProvisioning, Resource: arn:api7:iam:organization/*

Authorizations:
APIKeyAuthBasicAuth

Responses

Response samples

Content type
application/json
{
  • "value": {
    }
}

Generate SCIM Token

IAM Action: iam:UpdateSCIMProvisioning, Resource: arn:api7:iam:organization/*

Authorizations:
APIKeyAuthBasicAuth

Responses

Response samples

Content type
application/json
{
  • "value": "a7scim-t1dJGY89gg8tqMwV2QunhV7472Z26C9VjE3mkZUfgIEpj0WJ1I7FGoEXG92SMYpEw9iciDB2gQI-default"
}

Update SMTP server settings

IAM Action: iam:UpdateSMTPServer, Resource: arn:api7:iam:organization/*

Authorizations:
APIKeyAuthBasicAuth
Request Body schema: application/json
enable
required
boolean

Enable SMTP Server.

address
required
string <host_port>

The SMTP server address in host:port format.

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

Username used to authenticate with the SMTP server.

password
required
string

Password used to authenticate with the SMTP server.

from_name
required
string^\s*("(?:[^"\\]|\\.)*"|([^<>@]+))?\s*$

Sender's name.

from_address
required
string <email>

Sender's email address.

Responses

Request samples

Content type
application/json
{
  • "enable": true,
  • "address": "smtp.example.com:587",
  • "authentication_type": "TLS",
  • "ssl_verify": true,
  • "username": "smtp-user@example.com",
  • "password": "secretpassword123",
  • "from_name": "John Doe",
  • "from_address": "sender@example.com"
}

Response samples

Content type
application/json
{
  • "value": {
    }
}

Get SMTP server settings

IAM Action: iam:GetSMTPServer, Resource: arn:api7:iam:organization/*

Authorizations:
APIKeyAuthBasicAuth

Responses

Response samples

Content type
application/json
{
  • "value": {
    }
}

Get SMTP server settings status

Get SMTP server settings status.

Authorizations:
APIKeyAuthBasicAuth

Responses

Response samples

Content type
application/json
{
  • "value": {
    }
}

System Infos

Get all system infos

Authorizations:
APIKeyAuthBasicAuth

Responses

Response samples

Content type
application/json
{
  • "value": {
    }
}

Developer Portal Settings

Update developer portal public access

IAM Action: portal:UpdateDeveloperPortalPublicAccess, Resource: arn:api7:portal:loginsetting/*

Authorizations:
APIKeyAuthBasicAuth
Request Body schema: application/json
portal_public_access
boolean

If true, allow public access to the developer portal.

Responses

Request samples

Content type
application/json
{
  • "portal_public_access": true
}

Response samples

Content type
application/json
{
  • "value": {
    }
}

Get developer portal public access

IAM Action: portal:GetDeveloperPortalPublicAccess, Resource: arn:api7:portal:loginsetting/*

Authorizations:
APIKeyAuthBasicAuth

Responses

Response samples

Content type
application/json
{
  • "value": {
    }
}

List all developer login options

IAM Action: portal:GetDeveloperLoginOption, Resource: arn:api7:portal:loginsetting/*

Authorizations:
APIKeyAuthBasicAuth
query Parameters
page
integer <int64> >= 1

Page number of the listed resources. Used together with page_size. For example, when there are 13 resources in total, if the query parameters are page=1&page_size=10, the GET response will show the route total as 13 and display 10 resources in the first page. If the query parameters are page=2&page_size=10, the GET response will show the route total as 13 and display 3 resources in the second page.

page_size
integer <int64> >= 1

Number of resources listed per page. Used together with page. For example, when there are 13 resources in total, if the query parameters are page=1&page_size=10, the GET response will show the route total as 13 and display 10 resources in the first page. If the query parameters are page=2&page_size=10, the GET response will show the route total as 13 and display 3 resources in the second page.

direction
string
Default: "desc"
Enum: "asc" "desc"

Order to list the resources by. The sorting index follows the configuration of order_by.

order_by
string
Default: "updated_at"
Enum: "created_at" "updated_at"

Index to order resources by.

search
string
Example: search=version%3Dv2

Condition to search resources by.

name
string

Name of the resource.

Responses

Response samples

Content type
application/json
{
  • "value": {
    }
}

Create a developer login option

IAM Action: portal:CreateDeveloperLoginOption, Resource: arn:api7:portal:loginsetting/*

Authorizations:
APIKeyAuthBasicAuth
Request Body schema: application/json
One of
name
string [ 1 .. 256 ] characters

Name of the login option.

logo
string

The base64-encoded logo image.

disable
boolean
Default: false

If true, disable the login option.

provider_type
string
Value: "oidc"

The login option type.

object

OIDC configuration.

Responses

Request samples

Content type
application/json
Example
{
  • "name": "example-login",
  • "logo": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAH4SURBVHgBrVVLUhsxEH3SaBJSxJQWLLJKzAkClcqCVcINkhuYk6RygnCDkBOYI3iXTVKQE9ipggIGKKb42TAjNWrbY0+BkcY2b6ceqV/3688Ac6CrF+r/tfzmuyMxI25rL75klO+exDbFcxP0luItAjXbKteSsOe7qzAFWBJpbZOIVhNlkAkgyvHP96ZyBiyJMGaXnd8JQhJZgNBZSzGfRKS1LiRxR822dpwPPgq/PAyvRCzJnb1pukhXC9uZi5ylGfgPEzyZQbcWNwpJChtLcxyZ8WOaMYPua/XZRffzoT1xzq0Yn3vGX+B+EJOMr67yFkXZivO1XdjOnTRpROVr6XqKDmYh6JO4xy8vs00mMpJ2kpI0QwTl8RKUiZSlX+9yhcWSPqIiQaVBEyQ/Lbi2X7EK19LiULlOArWqvK00aC7wUSctWom3WcQZNH6/QT30VqACerX4HMMhY+yrfFxwgW3H9339aHLBgwQ8bG4e2sWZu+lAPSq4m0VsfDxF66E9KJE02Uge099Bj5ynzntjknNGuMgk3hd5JqU1McReluOrbx7CRRaynwGvCd5DIzOw5Vb1RmjYghkQdxCVNuhAks0PZ9hBBXgJSEPfGqoXPxdUkGQq8NK7WFL0Zxn0dxk/MAO8GQhX4E6cTSXJVAQnsdHXBmvzSHIP3R3bZScnj8UAAAAASUVORK5CYII=",
  • "disable": false,
  • "provider_type": "oidc",
  • "oidc_config": {}
}

Response samples

Content type
application/json
{
  • "list": [
    ],
  • "total": 1
}

Get a developer login option

IAM Action: portal:GetDeveloperLoginOption, Resource: arn:api7:portal:loginsetting/*

Authorizations:
APIKeyAuthBasicAuth
path Parameters
login_option_id
required
string

Login option ID.

Responses

Response samples

Content type
application/json
{
  • "value": {
    }
}

Update a developer login option

IAM Action: portal:UpdateDeveloperLoginOption, Resource: arn:api7:portal:loginsetting/*

Authorizations:
APIKeyAuthBasicAuth
path Parameters
login_option_id
required
string

Login option ID.

Request Body schema: application/json
One of
name
string [ 1 .. 256 ] characters

Name of the login option.

logo
string

The base64-encoded logo image.

disable
boolean
Default: false

If true, disable the login option.

provider_type
string
Value: "oidc"

The login option type.

object

OIDC configuration.

Responses

Request samples

Content type
application/json
Example
{
  • "name": "example-login",
  • "logo": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAH4SURBVHgBrVVLUhsxEH3SaBJSxJQWLLJKzAkClcqCVcINkhuYk6RygnCDkBOYI3iXTVKQE9ipggIGKKb42TAjNWrbY0+BkcY2b6ceqV/3688Ac6CrF+r/tfzmuyMxI25rL75klO+exDbFcxP0luItAjXbKteSsOe7qzAFWBJpbZOIVhNlkAkgyvHP96ZyBiyJMGaXnd8JQhJZgNBZSzGfRKS1LiRxR822dpwPPgq/PAyvRCzJnb1pukhXC9uZi5ylGfgPEzyZQbcWNwpJChtLcxyZ8WOaMYPua/XZRffzoT1xzq0Yn3vGX+B+EJOMr67yFkXZivO1XdjOnTRpROVr6XqKDmYh6JO4xy8vs00mMpJ2kpI0QwTl8RKUiZSlX+9yhcWSPqIiQaVBEyQ/Lbi2X7EK19LiULlOArWqvK00aC7wUSctWom3WcQZNH6/QT30VqACerX4HMMhY+yrfFxwgW3H9339aHLBgwQ8bG4e2sWZu+lAPSq4m0VsfDxF66E9KJE02Uge099Bj5ynzntjknNGuMgk3hd5JqU1McReluOrbx7CRRaynwGvCd5DIzOw5Vb1RmjYghkQdxCVNuhAks0PZ9hBBXgJSEPfGqoXPxdUkGQq8NK7WFL0Zxn0dxk/MAO8GQhX4E6cTSXJVAQnsdHXBmvzSHIP3R3bZScnj8UAAAAASUVORK5CYII=",
  • "disable": false,
  • "provider_type": "oidc",
  • "oidc_config": {}
}

Response samples

Content type
application/json
{
  • "value": {
    }
}

Patch a developer login option

IAM Action: portal:UpdateDeveloperLoginOption, Resource: arn:api7:portal:loginsetting/*

Authorizations:
APIKeyAuthBasicAuth
path Parameters
login_option_id
required
string

Login option ID.

Request Body schema: application/json
Array
One of
op
required
string
Enum: "add" "replace"

The operation to be performed.

path
required
string

Path to the field to be replaced or added. Path should follow the JSON Pointer format.

value
required
any

Value to be added or replaced.

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Response samples

Content type
application/json
{
  • "value": {
    }
}

Delete a developer login option

IAM Action: portal:DeleteDeveloperLoginOption, Resource: arn:api7:portal:loginsetting/*

Authorizations:
APIKeyAuthBasicAuth
path Parameters
login_option_id
required
string

Login option ID.

Responses

Response samples

Content type
application/json
{
  • "value": { }
}

Update Developer SCIM settings

IAM Action: portal:UpdateDeveloperSCIMProvisioning, Resource: arn:api7:portal:loginsetting/*

Authorizations:
APIKeyAuthBasicAuth
Request Body schema: application/json
enable_scim
boolean

Enable or disable the SCIM endpoint for provisioning and user management.

Responses

Request samples

Content type
application/json
{
  • "enable_scim": true
}

Response samples

Content type
application/json
{
  • "value": {
    }
}

Get Developer SCIM settings

IAM Action: portal:GetDeveloperSCIMProvisioning, Resource: arn:api7:portal:loginsetting/*

Authorizations:
APIKeyAuthBasicAuth

Responses

Response samples

Content type
application/json
{
  • "value": {
    }
}

Generate Developer SCIM Token

IAM Action: portal:UpdateDeveloperSCIMProvisioning, Resource: arn:api7:portal:loginsetting/*

Authorizations:
APIKeyAuthBasicAuth

Responses

Response samples

Content type
application/json
{
  • "value": "a7scim-t1dJGY89gg8tqMwV2QunhV7472Z26C9VjE3mkZUfgIEpj0WJ1I7FGoEXG92SMYpEw9iciDB2gQI-default"
}

Dashbord Login Option

Get a login option

IAM Action: iam:GetLoginOption, Resource: arn:api7:iam:organization/*

Authorizations:
APIKeyAuthBasicAuth
path Parameters
login_option_id
required
string

Login option ID.

Responses

Response samples

Content type
application/json
{
  • "value": {
    }
}

Update a login option

IAM Action: iam:UpdateLoginOption, Resource: arn:api7:iam:organization/*

Authorizations:
APIKeyAuthBasicAuth
path Parameters
login_option_id
required
string

Login option ID.

Request Body schema: application/json
One of
name
string [ 1 .. 256 ] characters

Name of the login option.

logo
string

The base64-encoded logo image.

disable
boolean
Default: false

If true, disable the login option.

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.

provider_type
string
Value: "oidc"

The login option type.

object

OIDC configuration.

Responses

Request samples

Content type
application/json
Example
{
  • "name": "example-login",
  • "logo": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAH4SURBVHgBrVVLUhsxEH3SaBJSxJQWLLJKzAkClcqCVcINkhuYk6RygnCDkBOYI3iXTVKQE9ipggIGKKb42TAjNWrbY0+BkcY2b6ceqV/3688Ac6CrF+r/tfzmuyMxI25rL75klO+exDbFcxP0luItAjXbKteSsOe7qzAFWBJpbZOIVhNlkAkgyvHP96ZyBiyJMGaXnd8JQhJZgNBZSzGfRKS1LiRxR822dpwPPgq/PAyvRCzJnb1pukhXC9uZi5ylGfgPEzyZQbcWNwpJChtLcxyZ8WOaMYPua/XZRffzoT1xzq0Yn3vGX+B+EJOMr67yFkXZivO1XdjOnTRpROVr6XqKDmYh6JO4xy8vs00mMpJ2kpI0QwTl8RKUiZSlX+9yhcWSPqIiQaVBEyQ/Lbi2X7EK19LiULlOArWqvK00aC7wUSctWom3WcQZNH6/QT30VqACerX4HMMhY+yrfFxwgW3H9339aHLBgwQ8bG4e2sWZu+lAPSq4m0VsfDxF66E9KJE02Uge099Bj5ynzntjknNGuMgk3hd5JqU1McReluOrbx7CRRaynwGvCd5DIzOw5Vb1RmjYghkQdxCVNuhAks0PZ9hBBXgJSEPfGqoXPxdUkGQq8NK7WFL0Zxn0dxk/MAO8GQhX4E6cTSXJVAQnsdHXBmvzSHIP3R3bZScnj8UAAAAASUVORK5CYII=",
  • "disable": false,
  • "role_mapping": [
    ],
  • "boundary_mapping": [
    ],
  • "provider_type": "oidc",
  • "oidc_config": {}
}

Response samples

Content type
application/json
{
  • "value": {
    }
}

Patch a login option

IAM Action: iam:UpdateLoginOption, Resource: arn:api7:iam:organization/*

Authorizations:
APIKeyAuthBasicAuth
path Parameters
login_option_id
required
string

Login option ID.

Request Body schema: application/json
Array
One of
op
required
string
Enum: "add" "replace"

The operation to be performed.

path
required
string

Path to the field to be replaced or added. Path should follow the JSON Pointer format.

value
required
any

Value to be added or replaced.

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Response samples

Content type
application/json
{
  • "value": {
    }
}

Delete a login option

IAM Action: iam:DeleteLoginOption, Resource: arn:api7:iam:organization/*

Authorizations:
APIKeyAuthBasicAuth
path Parameters
login_option_id
required
string

Login option ID.

Responses

Response samples

Content type
application/json
{
  • "value": { }
}

List all login options

IAM Action: iam:GetLoginOption, Resource: arn:api7:iam:organization/*

Authorizations:
APIKeyAuthBasicAuth
query Parameters
page
integer <int64> >= 1

Page number of the listed resources. Used together with page_size. For example, when there are 13 resources in total, if the query parameters are page=1&page_size=10, the GET response will show the route total as 13 and display 10 resources in the first page. If the query parameters are page=2&page_size=10, the GET response will show the route total as 13 and display 3 resources in the second page.

page_size
integer <int64> >= 1

Number of resources listed per page. Used together with page. For example, when there are 13 resources in total, if the query parameters are page=1&page_size=10, the GET response will show the route total as 13 and display 10 resources in the first page. If the query parameters are page=2&page_size=10, the GET response will show the route total as 13 and display 3 resources in the second page.

direction
string
Default: "desc"
Enum: "asc" "desc"

Order to list the resources by. The sorting index follows the configuration of order_by.

order_by
string
Default: "updated_at"
Enum: "created_at" "updated_at"

Index to order resources by.

search
string
Example: search=version%3Dv2

Condition to search resources by.

name
string

Name of the resource.

Responses

Response samples

Content type
application/json
{
  • "list": [
    ],
  • "total": 1
}

Create a login option

IAM Action: iam:CreateLoginOption, Resource: arn:api7:iam:organization/*

Authorizations:
APIKeyAuthBasicAuth
Request Body schema: application/json
One of
name
string [ 1 .. 256 ] characters

Name of the login option.

logo
string

The base64-encoded logo image.

disable
boolean
Default: false

If true, disable the login option.

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.

provider_type
string
Value: "oidc"

The login option type.

object

OIDC configuration.

Responses

Request samples

Content type
application/json
Example
{
  • "name": "example-login",
  • "logo": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAH4SURBVHgBrVVLUhsxEH3SaBJSxJQWLLJKzAkClcqCVcINkhuYk6RygnCDkBOYI3iXTVKQE9ipggIGKKb42TAjNWrbY0+BkcY2b6ceqV/3688Ac6CrF+r/tfzmuyMxI25rL75klO+exDbFcxP0luItAjXbKteSsOe7qzAFWBJpbZOIVhNlkAkgyvHP96ZyBiyJMGaXnd8JQhJZgNBZSzGfRKS1LiRxR822dpwPPgq/PAyvRCzJnb1pukhXC9uZi5ylGfgPEzyZQbcWNwpJChtLcxyZ8WOaMYPua/XZRffzoT1xzq0Yn3vGX+B+EJOMr67yFkXZivO1XdjOnTRpROVr6XqKDmYh6JO4xy8vs00mMpJ2kpI0QwTl8RKUiZSlX+9yhcWSPqIiQaVBEyQ/Lbi2X7EK19LiULlOArWqvK00aC7wUSctWom3WcQZNH6/QT30VqACerX4HMMhY+yrfFxwgW3H9339aHLBgwQ8bG4e2sWZu+lAPSq4m0VsfDxF66E9KJE02Uge099Bj5ynzntjknNGuMgk3hd5JqU1McReluOrbx7CRRaynwGvCd5DIzOw5Vb1RmjYghkQdxCVNuhAks0PZ9hBBXgJSEPfGqoXPxdUkGQq8NK7WFL0Zxn0dxk/MAO8GQhX4E6cTSXJVAQnsdHXBmvzSHIP3R3bZScnj8UAAAAASUVORK5CYII=",
  • "disable": false,
  • "role_mapping": [
    ],
  • "boundary_mapping": [
    ],
  • "provider_type": "oidc",
  • "oidc_config": {}
}

Response samples

Content type
application/json
{
  • "list": [
    ],
  • "total": 1
}

List all login options (public)

List login options. No authentication is required, and provider or policy/role details are not included in the response.

Authorizations:
APIKeyAuthBasicAuth
query Parameters
page
integer <int64> >= 1

Page number of the listed resources. Used together with page_size. For example, when there are 13 resources in total, if the query parameters are page=1&page_size=10, the GET response will show the route total as 13 and display 10 resources in the first page. If the query parameters are page=2&page_size=10, the GET response will show the route total as 13 and display 3 resources in the second page.

page_size
integer <int64> >= 1

Number of resources listed per page. Used together with page. For example, when there are 13 resources in total, if the query parameters are page=1&page_size=10, the GET response will show the route total as 13 and display 10 resources in the first page. If the query parameters are page=2&page_size=10, the GET response will show the route total as 13 and display 3 resources in the second page.

direction
string
Default: "desc"
Enum: "asc" "desc"

Order to list the resources by. The sorting index follows the configuration of order_by.

order_by
string
Default: "updated_at"
Enum: "created_at" "updated_at"

Index to order resources by.

search
string
Example: search=version%3Dv2

Condition to search resources by.

name
string

Name of the resource.

Responses

Response samples

Content type
application/json
{
  • "list": [
    ],
  • "total": 1
}

Common

Get Dashboard Version

Authorizations:
APIKeyAuthBasicAuth

Responses

Response samples

Content type
application/json
{
  • "value": "dev"
}

Get resource names

Authorizations:
APIKeyAuthBasicAuth
Request Body schema: application/json
One of
resource_type
required
string
Enum: "gateway_group" "contact_point"

Resource type.

ids
required
Array of strings non-empty unique [ items non-empty ]

An array of resource IDs.

Responses

Request samples

Content type
application/json
Example
{
  • "resource_type": "gateway_group",
  • "ids": [
    ]
}

Response samples

Content type
application/json
{
  • "value": {
    }
}

Custom Plugin

List all custom plugins

IAM Action: gateway:GetCustomPlugin, Resource: arn:api7:gateway:gatewaysetting/*

Authorizations:
APIKeyAuthBasicAuth
query Parameters
gateway_group_id
string >= 1

Gateway group ID.

page
integer <int64> >= 1

Page number of the listed resources. Used together with page_size. For example, when there are 13 resources in total, if the query parameters are page=1&page_size=10, the GET response will show the route total as 13 and display 10 resources in the first page. If the query parameters are page=2&page_size=10, the GET response will show the route total as 13 and display 3 resources in the second page.

page_size
integer <int64> >= 1

Number of resources listed per page. Used together with page. For example, when there are 13 resources in total, if the query parameters are page=1&page_size=10, the GET response will show the route total as 13 and display 10 resources in the first page. If the query parameters are page=2&page_size=10, the GET response will show the route total as 13 and display 3 resources in the second page.

direction
string
Default: "desc"
Enum: "asc" "desc"

Order to list the resources by. The sorting index follows the configuration of order_by.

order_by
string
Default: "updated_at"
Enum: "created_at" "updated_at"

Index to order resources by.

search
string
Example: search=version%3Dv2

Condition to search resources by.

name
string

Name of the resource.

Responses

Response samples

Content type
application/json
{
  • "list": [
    ],
  • "total": 1
}

Create a custom plugin

IAM Action: gateway:CreateCustomPlugin, Resource: arn:api7:gateway:gatewaysetting/*

Authorizations:
APIKeyAuthBasicAuth
Request Body schema: application/json
One of
source_code
required
string

The source code for the plugin.

catalog
string

Plugin category, such as "Traffic" or "Observability".

description
string

A brief description of the plugin.

documentation_link
string

Link to the plugin's documentation.

author
string

Author of the plugin.

logo
string

The base64-encoded logo image.

gateway_groups
required
Array of strings[ items [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$ ]

An array of gateway group IDs that the custom plugin is associated with.

Responses

Request samples

Content type
application/json
Example
{
  • "source_code": "local core = require(\"apisix.core\")\nlocal ngx = ngx\n\nlocal schema = {\n type = \"object\"\n}\n\nlocal plugin_name = \"route-id-register\"\n\nlocal _M = {\n version = 0.2,\n priority = 1,\n name = plugin_name,\n schema = schema,\n scope = \"global\",\n}\n\nfunction _M.check_schema(conf)\n return core.schema.check(schema, conf);\nend\n\nfunction _M.log(conf, ctx)\n if ctx.var.route_id then\n ngx.var.route_id = ctx.var.route_id\n end\nend\n\nreturn _M\n",
  • "catalog": "General",
  • "description": "This plugin records the matched route’s ID into an Nginx variable ($route_id) for use in logging and monitoring.",
  • "author": "plugindev",
  • "logo": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAH4SURBVHgBrVVLUhsxEH3SaBJSxJQWLLJKzAkClcqCVcINkhuYk6RygnCDkBOYI3iXTVKQE9ipggIGKKb42TAjNWrbY0+BkcY2b6ceqV/3688Ac6CrF+r/tfzmuyMxI25rL75klO+exDbFcxP0luItAjXbKteSsOe7qzAFWBJpbZOIVhNlkAkgyvHP96ZyBiyJMGaXnd8JQhJZgNBZSzGfRKS1LiRxR822dpwPPgq/PAyvRCzJnb1pukhXC9uZi5ylGfgPEzyZQbcWNwpJChtLcxyZ8WOaMYPua/XZRffzoT1xzq0Yn3vGX+B+EJOMr67yFkXZivO1XdjOnTRpROVr6XqKDmYh6JO4xy8vs00mMpJ2kpI0QwTl8RKUiZSlX+9yhcWSPqIiQaVBEyQ/Lbi2X7EK19LiULlOArWqvK00aC7wUSctWom3WcQZNH6/QT30VqACerX4HMMhY+yrfFxwgW3H9339aHLBgwQ8bG4e2sWZu+lAPSq4m0VsfDxF66E9KJE02Uge099Bj5ynzntjknNGuMgk3hd5JqU1McReluOrbx7CRRaynwGvCd5DIzOw5Vb1RmjYghkQdxCVNuhAks0PZ9hBBXgJSEPfGqoXPxdUkGQq8NK7WFL0Zxn0dxk/MAO8GQhX4E6cTSXJVAQnsdHXBmvzSHIP3R3bZScnj8UAAAAASUVORK5CYII=",
  • "gateway_groups": [
    ]
}

Response samples

Content type
application/json
{
  • "value": {
    }
}

Get a custom plugin

IAM Action: gateway:GetCustomPlugin, Resource: arn:api7:gateway:gatewaysetting/*

Authorizations:
APIKeyAuthBasicAuth
path Parameters
custom_plugin_id
required
string

Custom plugin ID.

Responses

Response samples

Content type
application/json
{
  • "value": {
    }
}

Update a custom plugin

IAM Action: gateway:UpdateCustomPlugin, Resource: arn:api7:gateway:gatewaysetting/*

Authorizations:
APIKeyAuthBasicAuth
path Parameters
custom_plugin_id
required
string

Custom plugin ID.

Request Body schema: application/json
One of
source_code
required
string

The source code for the plugin.

catalog
string

Plugin category, such as "Traffic" or "Observability".

description
string

A brief description of the plugin.

documentation_link
string

Link to the plugin's documentation.

author
string

Author of the plugin.

logo
string

The base64-encoded logo image.

gateway_groups
required
Array of strings[ items [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$ ]

An array of gateway group IDs that the custom plugin is associated with.

Responses

Request samples

Content type
application/json
Example
{
  • "source_code": "local core = require(\"apisix.core\")\nlocal ngx = ngx\n\nlocal schema = {\n type = \"object\"\n}\n\nlocal plugin_name = \"route-id-register\"\n\nlocal _M = {\n version = 0.2,\n priority = 1,\n name = plugin_name,\n schema = schema,\n scope = \"global\",\n}\n\nfunction _M.check_schema(conf)\n return core.schema.check(schema, conf);\nend\n\nfunction _M.log(conf, ctx)\n if ctx.var.route_id then\n ngx.var.route_id = ctx.var.route_id\n end\nend\n\nreturn _M\n",
  • "catalog": "General",
  • "description": "This plugin records the matched route’s ID into an Nginx variable ($route_id) for use in logging and monitoring.",
  • "author": "plugindev",
  • "logo": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAH4SURBVHgBrVVLUhsxEH3SaBJSxJQWLLJKzAkClcqCVcINkhuYk6RygnCDkBOYI3iXTVKQE9ipggIGKKb42TAjNWrbY0+BkcY2b6ceqV/3688Ac6CrF+r/tfzmuyMxI25rL75klO+exDbFcxP0luItAjXbKteSsOe7qzAFWBJpbZOIVhNlkAkgyvHP96ZyBiyJMGaXnd8JQhJZgNBZSzGfRKS1LiRxR822dpwPPgq/PAyvRCzJnb1pukhXC9uZi5ylGfgPEzyZQbcWNwpJChtLcxyZ8WOaMYPua/XZRffzoT1xzq0Yn3vGX+B+EJOMr67yFkXZivO1XdjOnTRpROVr6XqKDmYh6JO4xy8vs00mMpJ2kpI0QwTl8RKUiZSlX+9yhcWSPqIiQaVBEyQ/Lbi2X7EK19LiULlOArWqvK00aC7wUSctWom3WcQZNH6/QT30VqACerX4HMMhY+yrfFxwgW3H9339aHLBgwQ8bG4e2sWZu+lAPSq4m0VsfDxF66E9KJE02Uge099Bj5ynzntjknNGuMgk3hd5JqU1McReluOrbx7CRRaynwGvCd5DIzOw5Vb1RmjYghkQdxCVNuhAks0PZ9hBBXgJSEPfGqoXPxdUkGQq8NK7WFL0Zxn0dxk/MAO8GQhX4E6cTSXJVAQnsdHXBmvzSHIP3R3bZScnj8UAAAAASUVORK5CYII=",
  • "gateway_groups": [
    ]
}

Response samples

Content type
application/json
{
  • "value": {
    }
}

Delete a custom plugin

IAM Action: gateway:DeleteCustomPlugin, Resource: arn:api7:gateway:gatewaysetting/*

Authorizations:
APIKeyAuthBasicAuth
path Parameters
custom_plugin_id
required
string

Custom plugin ID.

Responses

Response samples

Content type
application/json
{
  • "value": { }
}

Parse custom plugin code

Authorizations:
APIKeyAuthBasicAuth
Request Body schema: application/json
file
required
string

Base64-encoded ZIP archive that contains the plugin package. The archive includes the plugin code and the plugin metadata.

Responses

Request samples

Content type
application/json
{
  • "file": "bG9jYWwgY29yZSA9IHJlcXVpcmUoImFwaXNpeC5jb3JlIikKbG9jYWwgbmd4ID0gbmd4Cgpsb2NhbCBzY2hlbWEgPSB7CiAgICB0eXBlID0gIm9iamVjdCIKfQoKbG9jYWwgcGx1Z2luX25hbWUgPSAicm91dGUtaWQtcmVnaXN0ZXIiCgpsb2NhbCBfTSA9IHsKICB2ZXJzaW9uID0gMC4yLAogIHByaW9yaXR5ID0gMSwKICBuYW1lID0gcGx1Z2luX25hbWUsCiAgc2NoZW1hID0gc2NoZW1hLAogIHNjb3BlID0gImdsb2JhbCIsCn0KCmZ1bmN0aW9uIF9NLmNoZWNrX3NjaGVtYShjb25mKQogIHJldHVybiBjb3JlLnNjaGVtYS5jaGVjayhzY2hlbWEsIGNvbmYpOwplbmQKCmZ1bmN0aW9uIF9NLmxvZyhjb25mLCBjdHgpCiAgaWYgY3R4LnZhci5yb3V0ZV9pZCB0aGVuCiAgICBuZ3gudmFyLnJvdXRlX2lkID0gY3R4LnZhci5yb3V0ZV9pZAogIGVuZAplbmQKCnJldHVybiBfTQo="
}

Response samples

Content type
application/json
{
  • "value": {
    }
}

Contact Point

Create a contact point

IAM Action: iam:CreateContactPoint, Resource: arn:api7:iam:contactpoint/*

Authorizations:
APIKeyAuthBasicAuth
Request Body schema: application/json
One of
name
string [ 1 .. 256 ] characters

Name of the contact point.

desc
string <= 65536 characters

The object description.

object

Key-value pairs of labels.

type
string
Value: "email"

Type of contact point.

required
object

Contact point email configurations.

Responses

Request samples

Content type
application/json
Example
{
  • "name": "cp-docs-test",
  • "desc": "Object description.",
  • "labels": {
    },
  • "type": "email",
  • "email_config": {
    }
}

Response samples

Content type
application/json
{
  • "value": {
    }
}

List Contact Points

IAM Action: iam:GetContactPoint, Resource: arn:api7:iam:contactpoint/%s

Authorizations:
APIKeyAuthBasicAuth
query Parameters
type
string
Enum: "email" "webhook"
labels
string non-empty
Example: labels=labels%5Bversion%5D=v2

Label(s) to filter resources by. The format is labels[key]=value and should be URL-encoded.

search
string
Example: search=version%3Dv2

Condition to search resources by.

order_by
string
Default: "updated_at"
Enum: "created_at" "updated_at"

Index to order resources by.

direction
string
Default: "desc"
Enum: "asc" "desc"

Order to list the resources by. The sorting index follows the configuration of order_by.

page
integer <int64> >= 1

Page number of the listed resources. Used together with page_size. For example, when there are 13 resources in total, if the query parameters are page=1&page_size=10, the GET response will show the route total as 13 and display 10 resources in the first page. If the query parameters are page=2&page_size=10, the GET response will show the route total as 13 and display 3 resources in the second page.

page_size
integer <int64> >= 1

Number of resources listed per page. Used together with page. For example, when there are 13 resources in total, if the query parameters are page=1&page_size=10, the GET response will show the route total as 13 and display 10 resources in the first page. If the query parameters are page=2&page_size=10, the GET response will show the route total as 13 and display 3 resources in the second page.

Responses

Response samples

Content type
application/json
{
  • "list": [
    ],
  • "total": 1
}

Get a contact point

IAM Action: iam:GetContactPoint, Resource: arn:api7:iam:contactpoint/%s

Authorizations:
APIKeyAuthBasicAuth
path Parameters
contact_point_id
required
string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$
Example: bd58fce2-b6cc-4d2d-a53c-6ce11b19c101

Contact point ID.

Responses

Response samples

Content type
application/json
{
  • "value": {
    }
}

Update a contact point

IAM Action: iam:UpdateContactPoint, Resource: arn:api7:iam:contactpoint/%s

Authorizations:
APIKeyAuthBasicAuth
path Parameters
contact_point_id
required
string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$
Example: bd58fce2-b6cc-4d2d-a53c-6ce11b19c101

Contact point ID.

Request Body schema: application/json
One of
name
string [ 1 .. 256 ] characters

Name of the contact point.

desc
string <= 65536 characters

The object description.

object

Key-value pairs of labels.

type
string
Value: "email"

Type of contact point.

required
object

Contact point email configurations.

Responses

Request samples

Content type
application/json
Example
{
  • "name": "cp-docs-test",
  • "desc": "Object description.",
  • "labels": {
    },
  • "type": "email",
  • "email_config": {
    }
}

Response samples

Content type
application/json
{
  • "value": {
    }
}

Delete a contact point

IAM Action: iam:DeleteContactPoint, Resource: arn:api7:iam:contactpoint/%s

Authorizations:
APIKeyAuthBasicAuth
path Parameters
contact_point_id
required
string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$
Example: bd58fce2-b6cc-4d2d-a53c-6ce11b19c101

Contact point ID.

Responses

Response samples

Content type
application/json
""

List notification logs of a contact point

IAM Action: iam:GetContactPoint, Resource: arn:api7:iam:contactpoint/%s

Authorizations:
APIKeyAuthBasicAuth
path Parameters
contact_point_id
required
string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$
Example: bd58fce2-b6cc-4d2d-a53c-6ce11b19c101

Contact point ID.

query Parameters
start_at
integer

Start at timestamp to filter the audit logs.

end_at
integer

End at timestamp to filter the audit logs.

resource_type
string
Enum: "alert_policy" "api_product_notification"

Type of notification.

status
string
Enum: "success" "failed"

Notification sending status.

order_by
string
Default: "send_time"
Value: "send_time"

Index to order the notifications by.

direction
string
Default: "desc"
Enum: "asc" "desc"

Order to list the resources by. The sorting index follows the configuration of order_by.

page
integer <int64> >= 1

Page number of the listed resources. Used together with page_size. For example, when there are 13 resources in total, if the query parameters are page=1&page_size=10, the GET response will show the route total as 13 and display 10 resources in the first page. If the query parameters are page=2&page_size=10, the GET response will show the route total as 13 and display 3 resources in the second page.

page_size
integer <int64> >= 1

Number of resources listed per page. Used together with page. For example, when there are 13 resources in total, if the query parameters are page=1&page_size=10, the GET response will show the route total as 13 and display 10 resources in the first page. If the query parameters are page=2&page_size=10, the GET response will show the route total as 13 and display 3 resources in the second page.

Responses

Response samples

Content type
application/json
{
  • "list": [
    ],
  • "total": 1
}

List a contact point usages

IAM Action: iam:GetContactPoint, Resource: arn:api7:iam:contactpoint/%s

Authorizations:
APIKeyAuthBasicAuth
path Parameters
contact_point_id
required
string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$
Example: bd58fce2-b6cc-4d2d-a53c-6ce11b19c101

Contact point ID.

query Parameters
resource_type
string
Enum: "alert_policy" "api_product_notification"

Type of notification.

page
integer <int64> >= 1

Page number of the listed resources. Used together with page_size. For example, when there are 13 resources in total, if the query parameters are page=1&page_size=10, the GET response will show the route total as 13 and display 10 resources in the first page. If the query parameters are page=2&page_size=10, the GET response will show the route total as 13 and display 3 resources in the second page.

page_size
integer <int64> >= 1

Number of resources listed per page. Used together with page. For example, when there are 13 resources in total, if the query parameters are page=1&page_size=10, the GET response will show the route total as 13 and display 10 resources in the first page. If the query parameters are page=2&page_size=10, the GET response will show the route total as 13 and display 3 resources in the second page.

Responses

Response samples

Content type
application/json
{
  • "list": [
    ],
  • "total": 1
}

Approval

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:
APIKeyAuthBasicAuth
query Parameters
status
string
Enum: "pending" "finished"

Approval status.

result
string
Enum: "accepted" "rejected" "cancelled"

Approval outcome.

event
string
Enum: "api_product_subscription" "developer_registration"

Approval event.

resource_type
string
Enum: "api_product" "developer"

Resource type.

resource_name
string

Resource name.

operator_name
string

Operator name.

applicant_name
string

Applicant name.

page
integer <int64> >= 1

Page number of the listed resources. Used together with page_size. For example, when there are 13 resources in total, if the query parameters are page=1&page_size=10, the GET response will show the route total as 13 and display 10 resources in the first page. If the query parameters are page=2&page_size=10, the GET response will show the route total as 13 and display 3 resources in the second page.

page_size
integer <int64> >= 1

Number of resources listed per page. Used together with page. For example, when there are 13 resources in total, if the query parameters are page=1&page_size=10, the GET response will show the route total as 13 and display 10 resources in the first page. If the query parameters are page=2&page_size=10, the GET response will show the route total as 13 and display 3 resources in the second page.

direction
string
Default: "desc"
Enum: "asc" "desc"

Order to list the resources by. The sorting index follows the configuration of order_by.

order_by
string
Default: "applied_at"
Enum: "applied_at" "resource_name" "operated_at"

Index to order approvals by.

search
string
Example: search=version%3Dv2

Condition to search resources by.

Responses

Response samples

Content type
application/json
{
  • "list": [
    ],
  • "total": 1
}

Accept an approval request

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:
APIKeyAuthBasicAuth
path Parameters
approval_id
required
string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$
Example: bd58fce2-b6cc-4d2d-a53c-6ce11b19c101

Approval ID.

Responses

Response samples

Content type
application/json
{
  • "value": { }
}

Reject an approval request

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:
APIKeyAuthBasicAuth
path Parameters
approval_id
required
string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$
Example: bd58fce2-b6cc-4d2d-a53c-6ce11b19c101

Approval ID.

Responses

Response samples

Content type
application/json
{
  • "value": { }
}