Skip to main content

API7 Cloud OpenAPI Specification (0.11.0)

Download OpenAPI specification:Download

The OpenAPI specification for API7 Cloud APIs. All APIs are built around Rest. They accept JSON-encoded request body (if necessary) and return JSON-encoded response. The actual API response payload is decorated with some metadata fields:

{
  "status": {
    "code": <ERROR CODE>,
    "message": "<ERROR MESSAGE>"
  },
  "error": "ERROR DETAILS",
  "payload": <SPECIFIC API RESPONSE>
}

The status and error fields indicate the error code and error message for this API call. payload field contains the specific API response and should be decoded according to the given schema.

Authentication

token

Security Scheme Type HTTP
HTTP Authorization Scheme bearer
Bearer format "JWT"

Organizations

Create Organization

Authorizations:
Request Body schema: application/json
name
required
string [ 1 .. 32 ] characters \S+

Responses

Request samples

Content type
application/json
{
  • "name": "string"
}

Response samples

Content type
application/json
{
  • "error": "string",
  • "status": {
    },
  • "payload": {
    }
}

Get Organization Information

Authorizations:
path Parameters
id
required
string non-empty ^[1-9][0-9]*$

ID is the organization id

Responses

Response samples

Content type
application/json
{
  • "error": "string",
  • "status": {
    },
  • "payload": {
    }
}

Delete Organization

Authorizations:
path Parameters
id
required
string non-empty ^[1-9][0-9]*$

ID is the organization id

Responses

Response samples

Content type
application/json
{
  • "error": "string",
  • "status": {
    }
}

Create a new subscription

Authorizations:
path Parameters
id
required
string non-empty ^[1-9][0-9]*$

ID is the organization id

Request Body schema: application/json
plan
required
string non-empty

Responses

Request samples

Content type
application/json
{
  • "plan": "string"
}

Response samples

Content type
application/json
{
  • "error": "string",
  • "status": {
    },
  • "payload": {}
}

Get Upcoming Invoice

Authorizations:
path Parameters
id
required
string non-empty ^[1-9][0-9]*$

ID is the organization id

Responses

Response samples

Content type
application/json
{
  • "error": "string",
  • "status": {
    },
  • "payload": {
    }
}

Redirect to stripe customer portal

Authorizations:
path Parameters
id
required
string non-empty ^[1-9][0-9]*$

ID is the organization id

Responses

Response samples

Content type
application/json
{
  • "error": "string",
  • "status": {
    }
}

Initialize Organization

Authorizations:
Request Body schema: application/json
name
required
string [ 1 .. 32 ] characters \S+

Responses

Request samples

Content type
application/json
{
  • "name": "string"
}

Response samples

Content type
application/json
{
  • "error": "string",
  • "status": {
    }
}

List Available Plugins

Authorizations:
path Parameters
id
required
string non-empty ^[1-9][0-9]*$

ID is the organization id

Responses

Response samples

Content type
application/json
{
  • "error": "string",
  • "status": {
    },
  • "payload": {
    }
}

Clusters

List Clusters

Authorizations:
path Parameters
id
required
string non-empty ^[1-9][0-9]*$

ID is the organization id

query Parameters
order_by
string
Default: "updated_at"
Enum: "created_at" "updated_at"
direction
string
Default: "DESC"
Enum: "ASC" "DESC"

Direction should be ASC or DESC (case-insensitive). Default value is DESC.

page_size
integer <int64> >= 1
Default: 10

PageSize is the page size. Must greater than 0.

page
integer <int64> >= 1
Default: 1

Page is the page number, starting from 1.

Responses

Response samples

Content type
application/json
{
  • "error": "string",
  • "status": {
    },
  • "payload": {
    }
}

Create Cluster

Authorizations:
path Parameters
id
required
string non-empty ^[1-9][0-9]*$

ID is the organization id

Request Body schema: application/json
object

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
{
  • "error": "string",
  • "status": {
    },
  • "payload": {
    }
}

Get Cluster Details

Authorizations:
path Parameters
id
required
string non-empty ^[1-9][0-9]*$

ID is the organization id

cluster_id
required
string non-empty ^[1-9][0-9]*$

ClusterID is the cluster id

Responses

Response samples

Content type
application/json
{
  • "error": "string",
  • "status": {
    },
  • "payload": {
    }
}

Update Cluster

Authorizations:
path Parameters
id
required
string non-empty ^[1-9][0-9]*$

ID is the organization id

cluster_id
required
string non-empty ^[1-9][0-9]*$

ClusterID is the cluster id

Request Body schema: application/json
object
object
object

Responses

Request samples

Content type
application/json
{
  • "client_settings": {
    },
  • "observability_settings": {
    },
  • "api_proxy_settings": {
    }
}

Response samples

Content type
application/json
{
  • "error": "string",
  • "status": {
    }
}

Update Cluster Plugins

Authorizations:
path Parameters
id
required
string non-empty ^[1-9][0-9]*$

ID is the organization id

cluster_id
required
string non-empty ^[1-9][0-9]*$

ClusterID is the cluster id

Request Body schema: application/json
(object or object)
object

LoggingPolicy is used to decide how to handle the access log of the gateway instance instances.

object or object or object or object or object

AuthenticationPlugin is the definition of the authentication plugin.

property name*
any

Responses

Request samples

Content type
application/json
{
  • "acl": {
    },
  • "logging": {
    },
  • "authentication": {
    }
}

Response samples

Content type
application/json
{
  • "error": "string",
  • "status": {
    }
}

Generate a client certificate for communicating with the control plane for the given cluster.

Authorizations:
path Parameters
cluster_id
required
string non-empty ^[1-9][0-9]*$

ClusterID is the cluster id

Responses

Response samples

Content type
application/json
{
  • "error": "string",
  • "status": {
    },
  • "payload": {
    }
}

List Gateway Instances

Authorizations:
path Parameters
cluster_id
required
string non-empty ^[1-9][0-9]*$

ClusterID is the cluster id

Responses

Response samples

Content type
application/json
{
  • "error": "string",
  • "status": {
    },
  • "payload": {
    }
}

Get Gateway Instance Configuration Template

Authorizations:
path Parameters
cluster_id
required
string non-empty ^[1-9][0-9]*$

ClusterID is the cluster id

config_type
required
string
Enum: "apisix" "helm"

config_type is used to filter the config

  • apisix is the key of apisix startup config.
  • helm is the key of apisix helm chart values config.

Responses

Response samples

Content type
application/json
{
  • "error": "string",
  • "status": {
    },
  • "payload": {
    }
}

Get Cluster Metrics

Authorizations:
path Parameters
cluster_id
required
string non-empty ^[1-9][0-9]*$

ClusterID is the cluster id

metric_type
required
string
Enum: "api-requests" "api-failure-requests" "api-status-dist" "api-latency" "api-bandwidth" "api-connections" "api-qps"

metrics_type is used to filter the metrics

  • api-requests is the key of api requests metrics.
  • api-failure-requests is the key of failed api requests (status code >= 400) metrics.
  • api-status-dist is the key of api http status metrics.
  • api-latency is the key of api latency metrics.
  • api-bandwidth is the key of api bandwidth metrics.
  • api-connections is the key of api connections metrics.
  • api-qps is the key of api qps metrics.
query Parameters
start
required
string <date-time>
Example: start=2022-09-19T12:57:08.177Z

Start time of query time range, the date-time notation as defined by RFC 3339.

end
required
string <date-time>
Example: end=2022-09-19T12:57:08.177Z

End time of query time range, the date-time notation as defined by RFC 3339.

step
required
integer <int64>
Example: step=15

Query resolution step width in the number of seconds.

api_id
string^[1-9][0-9]*$

api_id is used to filter by specific the api id

app_id
string^[1-9][0-9]*$

app_id is used to filter by specific application id

instance_id
string^[A-Za-z0-9_-]*$

instance_id is used to filter by specific instance id

Responses

Response samples

Content type
application/json
{
  • "error": "string",
  • "status": {
    },
  • "payload": {
    }
}

Load Plugin

Authorizations:
path Parameters
cluster_id
required
string non-empty ^[1-9][0-9]*$

ClusterID is the cluster id

Request Body schema: application/json
plugin_management_id
string

The id of the data.

name
required
string non-empty

The name of the plugin.

type
string

The category of the plugin.

object

The metadata of the plugin in Apache APISIX

Responses

Request samples

Content type
application/json
{
  • "plugin_management_id": "string",
  • "name": "string",
  • "type": "string",
  • "metadata": { }
}

Response samples

Content type
application/json
{
  • "error": "string",
  • "status": {
    }
}

List Loaded Plugins

Authorizations:
path Parameters
cluster_id
required
string non-empty ^[1-9][0-9]*$

ClusterID is the cluster id

query Parameters
order_by
string
Default: "updated_at"
Enum: "created_at" "updated_at"
direction
string
Default: "DESC"
Enum: "ASC" "DESC"

Direction should be ASC or DESC (case-insensitive). Default value is DESC.

page_size
integer <int64> >= 1
Default: 10

PageSize is the page size. Must greater than 0.

page
integer <int64> >= 1
Default: 1

Page is the page number, starting from 1.

search
string

search is used to filter the result

Responses

Response samples

Content type
application/json
{
  • "error": "string",
  • "status": {
    },
  • "payload": {
    }
}

Update Loaded Plugin

Authorizations:
path Parameters
cluster_id
required
string non-empty ^[1-9][0-9]*$

ClusterID is the cluster id

plugin_management_id
required
string non-empty

PluginManagementId is the plugin management id

Request Body schema: application/json
object

The metadata of the plugin in Apache APISIX

property name*
any

Responses

Request samples

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

Response samples

Content type
application/json
{
  • "error": "string",
  • "status": {
    }
}

Delete Loaded Plugin

Authorizations:
path Parameters
cluster_id
required
string non-empty ^[1-9][0-9]*$

ClusterID is the cluster id

plugin_management_id
required
string non-empty

PluginManagementId is the plugin management id

Responses

Response samples

Content type
application/json
{
  • "error": "string",
  • "status": {
    }
}

Get Plugin Reference

Authorizations:
path Parameters
cluster_id
required
string non-empty ^[1-9][0-9]*$

ClusterID is the cluster id

plugin_management_id
required
string non-empty

PluginManagementId is the plugin management id

Responses

Response samples

Content type
application/json
{
  • "error": "string",
  • "status": {
    },
  • "payload": {
    }
}

Applications

List Applications

Authorizations:
path Parameters
cluster_id
required
string non-empty ^[1-9][0-9]*$

ClusterID is the cluster id

query Parameters
order_by
string
Enum: "created_at" "updated_at"
direction
string
Default: "DESC"
Enum: "ASC" "DESC"

Direction should be ASC or DESC (case-insensitive). Default value is DESC.

page_size
integer <int64> >= 1
Default: 10

PageSize is the page size. Must greater than 0.

page
integer <int64> >= 1
Default: 1

Page is the page number, starting from 1.

search
string

search is used to filter the result

labels
Array of strings [ 0 .. 32 ] items [ items [ 1 .. 32 ] characters ^[0-9a-zA-Z-_]+$ ]

Labels are used to filter the result

Responses

Response samples

Content type
application/json
{
  • "error": "string",
  • "status": {
    },
  • "payload": {
    }
}

Create Application

Authorizations:
path Parameters
cluster_id
required
string non-empty ^[1-9][0-9]*$

ClusterID is the cluster id

Request Body schema: application/json
description
string <= 256 characters
hosts
required
Array of strings non-empty unique
name
required
string [ 1 .. 64 ] characters
path_prefix
required
string [ 1 .. 4096 ] characters ^/

The listening path prefix for this application

object

Plugins contains a collect of polices like CORS.

protocol
string
Enum: "HTTP" "HTTPS"

The API Protocol definition

protocols
Array of strings [ 1 .. 2 ] items unique
Items Enum: "HTTP" "HTTPS"
required
Array of objects [ 1 .. 10 ] items unique [ items ]

Upstream settings for the Application

default_upstream_version
string [ 0 .. 64 ] characters
Default: "default"
labels
Array of strings [ 0 .. 32 ] items unique [ items [ 1 .. 32 ] characters ^[0-9a-zA-Z-_]+$ ]

Labels are used for resources classification and indexing

active
integer
Default: 0
Enum: 0 1

Active is the status of the Application 0 stands for active 1 stands for inactive

Responses

Request samples

Content type
application/json
{
  • "description": "string",
  • "hosts": [
    ],
  • "name": "string",
  • "path_prefix": "string",
  • "plugins": {
    },
  • "protocol": "HTTP",
  • "protocols": [
    ],
  • "upstreams": [
    ],
  • "default_upstream_version": "default",
  • "labels": [
    ],
  • "active": 0
}

Response samples

Content type
application/json
{
  • "error": "string",
  • "status": {
    },
  • "payload": {
    }
}

Get Application Details

Authorizations:
path Parameters
cluster_id
required
string non-empty ^[1-9][0-9]*$

ClusterID is the cluster id

app_id
required
string^[1-9][0-9]*$

The id of the pet to retrieve

Responses

Response samples

Content type
application/json
{
  • "error": "string",
  • "status": {
    },
  • "payload": {
    }
}

Update Application

Authorizations:
path Parameters
cluster_id
required
string non-empty ^[1-9][0-9]*$

ClusterID is the cluster id

app_id
required
string^[1-9][0-9]*$

The id of the pet to retrieve

Request Body schema: application/json
description
string <= 256 characters
hosts
required
Array of strings non-empty unique
name
required
string [ 1 .. 64 ] characters
path_prefix
required
string [ 1 .. 4096 ] characters ^/

The listening path prefix for this application

object

Plugins contains a collect of polices like CORS.

protocol
string
Enum: "HTTP" "HTTPS"

The API Protocol definition

protocols
Array of strings [ 1 .. 2 ] items unique
Items Enum: "HTTP" "HTTPS"
required
Array of objects [ 1 .. 10 ] items unique [ items ]

Upstream settings for the Application

default_upstream_version
string [ 0 .. 64 ] characters
Default: "default"
labels
Array of strings [ 0 .. 32 ] items unique [ items [ 1 .. 32 ] characters ^[0-9a-zA-Z-_]+$ ]

Labels are used for resources classification and indexing

active
integer
Default: 0
Enum: 0 1

Active is the status of the Application 0 stands for active 1 stands for inactive

Responses

Request samples

Content type
application/json
{
  • "description": "string",
  • "hosts": [
    ],
  • "name": "string",
  • "path_prefix": "string",
  • "plugins": {
    },
  • "protocol": "HTTP",
  • "protocols": [
    ],
  • "upstreams": [
    ],
  • "default_upstream_version": "default",
  • "labels": [
    ],
  • "active": 0
}

Response samples

Content type
application/json
{
  • "error": "string",
  • "status": {
    },
  • "payload": {
    }
}

Patch Application

Authorizations:
path Parameters
cluster_id
required
string non-empty ^[1-9][0-9]*$

ClusterID is the cluster id

app_id
required
string^[1-9][0-9]*$

The id of the pet to retrieve

Request Body schema: application/json
description
string <= 256 characters
hosts
Array of strings non-empty unique
name
string [ 1 .. 64 ] characters
path_prefix
string [ 1 .. 4096 ] characters ^/

The listening path prefix for this application

object

Plugins contains a collect of polices like CORS.

protocol
string
Enum: "HTTP" "HTTPS"

The API Protocol definition

protocols
Array of strings [ 1 .. 2 ] items unique
Items Enum: "HTTP" "HTTPS"
Array of objects [ 1 .. 10 ] items unique [ items ]

Upstream settings for the Application

default_upstream_version
string [ 0 .. 64 ] characters
Default: "default"
labels
Array of strings [ 0 .. 32 ] items unique [ items [ 1 .. 32 ] characters ^[0-9a-zA-Z-_]+$ ]

Labels are used for resources classification and indexing

active
integer
Default: 0
Enum: 0 1

Active is the status of the Application 0 stands for active 1 stands for inactive

Responses

Request samples

Content type
application/json
{
  • "description": "string",
  • "hosts": [
    ],
  • "name": "string",
  • "path_prefix": "string",
  • "plugins": {
    },
  • "protocol": "HTTP",
  • "protocols": [
    ],
  • "upstreams": [
    ],
  • "default_upstream_version": "default",
  • "labels": [
    ],
  • "active": 0
}

Response samples

Content type
application/json
{
  • "error": "string",
  • "status": {
    },
  • "payload": {
    }
}

Delete Application

Authorizations:
path Parameters
cluster_id
required
string non-empty ^[1-9][0-9]*$

ClusterID is the cluster id

app_id
required
string^[1-9][0-9]*$

The id of the pet to retrieve

Responses

Response samples

Content type
application/json
{
  • "error": "string",
  • "status": {
    }
}

Create Application

Authorizations:
path Parameters
cluster_id
required
string non-empty ^[1-9][0-9]*$

ClusterID is the cluster id

Request Body schema: application/json
openapi
required
string

Responses

Request samples

Content type
application/json
{
  • "openapi": "string"
}

Response samples

Content type
application/json
{
  • "error": "string",
  • "status": {
    }
}

APIs

List APIs

Authorizations:
path Parameters
app_id
required
string^[1-9][0-9]*$

The id of the pet to retrieve

query Parameters
order_by
string
Default: "updated_at"
Enum: "created_at" "updated_at"
direction
string
Default: "DESC"
Enum: "ASC" "DESC"

Direction should be ASC or DESC (case-insensitive). Default value is DESC.

page_size
integer <int64> >= 1
Default: 10

PageSize is the page size. Must greater than 0.

page
integer <int64> >= 1
Default: 1

Page is the page number, starting from 1.

search
string

search is used to filter the result

labels
Array of strings [ 0 .. 32 ] items [ items [ 1 .. 32 ] characters ^[0-9a-zA-Z-_]+$ ]

Labels are used to filter the result

Responses

Response samples

Content type
application/json
{
  • "error": "string",
  • "status": {
    },
  • "payload": {
    }
}

Create API

Authorizations:
path Parameters
app_id
required
string^[1-9][0-9]*$

The id of the pet to retrieve

Request Body schema: application/json
active
integer <int64>
Enum: 0 1

Active is the status of the API 0 stands for active 1 stands for inactive

description
string <= 256 characters
Array of strings or Array of strings

Allowed HTTP methods to access this API, if absent, all HTTP methods are allowed

name
required
string [ 1 .. 64 ] characters
required
Array of objects [ 1 .. 64 ] items [ items ]

Which URI paths can be matched to this API

object

Fine grained route control settings.

object

Plugins contains a collect of polices like CORS.

strip_path_prefix
boolean

Whether to strip the path prefix (defined in the Application)

labels
Array of strings [ 0 .. 32 ] items unique [ items [ 1 .. 32 ] characters ^[0-9a-zA-Z-_]+$ ]

Labels are used for resources classification and indexing

type
string
Default: "Rest"
Enum: "Rest" "WebSocket"

Type is the type of the API Rest means this is a Rest API. WebSocket means this is a WebSocket API.

Responses

Request samples

Content type
application/json
{
  • "active": 0,
  • "description": "string",
  • "methods": [
    ],
  • "name": "string",
  • "paths": [
    ],
  • "fine_grained_route_control": {
    },
  • "plugins": {
    },
  • "strip_path_prefix": true,
  • "labels": [
    ],
  • "type": "Rest"
}

Response samples

Content type
application/json
{
  • "error": "string",
  • "status": {
    }
}

Delete All APIs

Authorizations:
path Parameters
app_id
required
string^[1-9][0-9]*$

The id of the pet to retrieve

Responses

Response samples

Content type
application/json
{
  • "error": "string",
  • "status": {
    }
}

Get API Details

Authorizations:
path Parameters
app_id
required
string^[1-9][0-9]*$

The id of the pet to retrieve

api_id
required
string^[1-9][0-9]*$

APIID is the API id

Responses

Response samples

Content type
application/json
{
  • "error": "string",
  • "status": {
    },
  • "payload": {
    }
}

Update API

Authorizations:
path Parameters
app_id
required
string^[1-9][0-9]*$

The id of the pet to retrieve

api_id
required
string^[1-9][0-9]*$

APIID is the API id

Request Body schema: application/json
active
integer <int64>
Enum: 0 1

Active is the status of the API 0 stands for active 1 stands for inactive

description
string <= 256 characters
Array of strings or Array of strings

Allowed HTTP methods to access this API, if absent, all HTTP methods are allowed

name
required
string [ 1 .. 64 ] characters
required
Array of objects [ 1 .. 64 ] items [ items ]

Which URI paths can be matched to this API

object

Fine grained route control settings.

object

Plugins contains a collect of polices like CORS.

strip_path_prefix
boolean

Whether to strip the path prefix (defined in the Application)

labels
Array of strings [ 0 .. 32 ] items unique [ items [ 1 .. 32 ] characters ^[0-9a-zA-Z-_]+$ ]

Labels are used for resources classification and indexing

type
string
Default: "Rest"
Enum: "Rest" "WebSocket"

Type is the type of the API Rest means this is a Rest API. WebSocket means this is a WebSocket API.

Responses

Request samples

Content type
application/json
{
  • "active": 0,
  • "description": "string",
  • "methods": [
    ],
  • "name": "string",
  • "paths": [
    ],
  • "fine_grained_route_control": {
    },
  • "plugins": {
    },
  • "strip_path_prefix": true,
  • "labels": [
    ],
  • "type": "Rest"
}

Response samples

Content type
application/json
{
  • "error": "string",
  • "status": {
    },
  • "payload": {
    }
}

Patch API

Authorizations:
path Parameters
app_id
required
string^[1-9][0-9]*$

The id of the pet to retrieve

api_id
required
string^[1-9][0-9]*$

APIID is the API id

Request Body schema: application/json
active
integer <int64>
Enum: 0 1

Active is the status of the API 0 stands for active 1 stands for inactive

description
string <= 256 characters
Array of strings or Array of strings

Allowed HTTP methods to access this API, if absent, all HTTP methods are allowed

name
string [ 1 .. 64 ] characters
Array of objects [ 1 .. 64 ] items [ items ]

Which URI paths can be matched to this API

object

Fine grained route control settings.

object

Plugins contains a collect of polices like CORS.

strip_path_prefix
boolean

Whether to strip the path prefix (defined in the Application)

labels
Array of strings [ 0 .. 32 ] items unique [ items [ 1 .. 32 ] characters ^[0-9a-zA-Z-_]+$ ]

Labels are used for resources classification and indexing

type
string
Default: "Rest"
Enum: "Rest" "WebSocket"

Type is the type of the API Rest means this is a Rest API. WebSocket means this is a WebSocket API.

Responses

Request samples

Content type
application/json
{
  • "active": 0,
  • "description": "string",
  • "methods": [
    ],
  • "name": "string",
  • "paths": [
    ],
  • "fine_grained_route_control": {
    },
  • "plugins": {
    },
  • "strip_path_prefix": true,
  • "labels": [
    ],
  • "type": "Rest"
}

Response samples

Content type
application/json
{
  • "error": "string",
  • "status": {
    },
  • "payload": {
    }
}

Delete API

Authorizations:
path Parameters
app_id
required
string^[1-9][0-9]*$

The id of the pet to retrieve

api_id
required
string^[1-9][0-9]*$

APIID is the API id

Responses

Response samples

Content type
application/json
{
  • "error": "string",
  • "status": {
    }
}

Consumers

List Consumers

Authorizations:
path Parameters
cluster_id
required
string non-empty ^[1-9][0-9]*$

ClusterID is the cluster id

query Parameters
direction
string
Default: "DESC"
Enum: "ASC" "DESC"

Direction should be ASC or DESC (case-insensitive). Default value is DESC.

page_size
integer <int64> >= 1
Default: 10

PageSize is the page size. Must greater than 0.

page
integer <int64> >= 1
Default: 1

Page is the page number, starting from 1.

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

search is used to filter the result

labels
Array of strings [ 0 .. 32 ] items [ items [ 1 .. 32 ] characters ^[0-9a-zA-Z-_]+$ ]

Labels are used to filter the result

Responses

Response samples

Content type
application/json
{
  • "error": "string",
  • "status": {
    },
  • "payload": {
    }
}

Create Consumer

Authorizations:
path Parameters
cluster_id
required
string non-empty ^[1-9][0-9]*$

ClusterID is the cluster id

Request Body schema: application/json
description
string <= 256 characters

Description for this consumer.

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

Name of the consumer, should be unique among all applications in the same cluster.

object or null

ConsumerCredentials contains a collect of policies can be configured on the consumer.

object

Policies contains a collect of polices like CORS, but exclude authentication policy

labels
Array of strings [ 0 .. 32 ] items unique [ items [ 1 .. 32 ] characters ^[0-9a-zA-Z-_]+$ ]

Labels are used for resources classification and indexing

Responses

Request samples

Content type
application/json
{
  • "description": "jack is the most important API consumer.",
  • "name": "jack",
  • "credentials": {
    },
  • "plugins": {
    },
  • "labels": [
    ]
}

Response samples

Content type
application/json
{
  • "error": "string",
  • "status": {
    },
  • "payload": {
    }
}

Get Consumer Details

Authorizations:
path Parameters
cluster_id
required
string non-empty ^[1-9][0-9]*$

ClusterID is the cluster id

consumer_id
required
string non-empty ^[1-9][0-9]*$

ConsumerId is the consumer id

Responses

Response samples

Content type
application/json
{
  • "error": "string",
  • "status": {
    },
  • "payload": {
    }
}

Update Consumer

Authorizations:
path Parameters
cluster_id
required
string non-empty ^[1-9][0-9]*$

ClusterID is the cluster id

consumer_id
required
string non-empty ^[1-9][0-9]*$

ConsumerId is the consumer id

Request Body schema: application/json
description
string <= 256 characters

Description for this consumer.

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

Name of the consumer, should be unique among all applications in the same cluster.

object or null

ConsumerCredentials contains a collect of policies can be configured on the consumer.

object

Policies contains a collect of polices like CORS, but exclude authentication policy

labels
Array of strings [ 0 .. 32 ] items unique [ items [ 1 .. 32 ] characters ^[0-9a-zA-Z-_]+$ ]

Labels are used for resources classification and indexing

Responses

Request samples

Content type
application/json
{
  • "description": "jack is the most important API consumer.",
  • "name": "jack",
  • "credentials": {
    },
  • "plugins": {
    },
  • "labels": [
    ]
}

Response samples

Content type
application/json
{
  • "error": "string",
  • "status": {
    }
}

Patch Consumer

Authorizations:
path Parameters
cluster_id
required
string non-empty ^[1-9][0-9]*$

ClusterID is the cluster id

consumer_id
required
string non-empty ^[1-9][0-9]*$

ConsumerId is the consumer id

Request Body schema: application/json
description
string <= 256 characters

Description for this consumer.

name
string [ 1 .. 100 ] characters ^[a-zA-Z0-9_]+$

Name of the consumer, should be unique among all applications in the same cluster.

object or null

ConsumerCredentials contains a collect of policies can be configured on the consumer.

object

Policies contains a collect of polices like CORS, but exclude authentication policy

labels
Array of strings [ 0 .. 32 ] items unique [ items [ 1 .. 32 ] characters ^[0-9a-zA-Z-_]+$ ]

Labels are used for resources classification and indexing

Responses

Request samples

Content type
application/json
{
  • "description": "jack is the most important API consumer.",
  • "name": "jack",
  • "credentials": {
    },
  • "plugins": {
    },
  • "labels": [
    ]
}

Response samples

Content type
application/json
{
  • "error": "string",
  • "status": {
    }
}

Delete Consumer

Authorizations:
path Parameters
cluster_id
required
string non-empty ^[1-9][0-9]*$

ClusterID is the cluster id

consumer_id
required
string non-empty ^[1-9][0-9]*$

ConsumerId is the consumer id

Responses

Response samples

Content type
application/json
{
  • "error": "string",
  • "status": {
    }
}

Create an JSON Web Token

Authorizations:
path Parameters
cluster_id
required
string non-empty ^[1-9][0-9]*$

ClusterID is the cluster id

consumer_id
required
string non-empty ^[1-9][0-9]*$

ConsumerId is the consumer id

Request Body schema: application/json
ttl
integer <int64> >= 1
Default: 86400

TTL is the time to live of token.

custom_payload
object

CustomPayload contains some custom key-value fields. These fields will also be kept in the JSON Web Token.

Responses

Request samples

Content type
application/json
{
  • "ttl": 86400,
  • "custom_payload": { }
}

Response samples

Content type
application/json
{
  • "error": "string",
  • "status": {
    }
}

Certificates

List Certificates

Authorizations:
path Parameters
cluster_id
required
string non-empty ^[1-9][0-9]*$

ClusterID is the cluster id

query Parameters
direction
string
Default: "DESC"
Enum: "ASC" "DESC"

Direction should be ASC or DESC (case-insensitive). Default value is DESC.

page_size
integer <int64> >= 1
Default: 10

PageSize is the page size. Must greater than 0.

page
integer <int64> >= 1
Default: 1

Page is the page number, starting from 1.

order_by
string
Default: "updated_at"
Enum: "expiry_time" "created_at" "updated_at"
labels
Array of strings [ 0 .. 32 ] items [ items [ 1 .. 32 ] characters ^[0-9a-zA-Z-_]+$ ]

Labels are used to filter the result

Responses

Response samples

Content type
application/json
{
  • "error": "string",
  • "status": {
    },
  • "payload": {
    }
}

Create Certificate

Authorizations:
path Parameters
cluster_id
required
string non-empty ^[1-9][0-9]*$

ClusterID is the cluster id

Request Body schema: application/json
certificate
required
string [ 128 .. 65536 ] characters

The certificate in PEM format.

private_key
required
string [ 128 .. 65536 ] characters

The private key for the corresponding certificate in PEM format.

ca_certificate
string [ 128 .. 65536 ] characters

The client CA certificate in PEM format.

labels
Array of strings [ 0 .. 32 ] items unique [ items [ 1 .. 32 ] characters ^[0-9a-zA-Z-_]+$ ]

Labels are used for resources classification and indexing

type
string
Default: "Server"
Enum: "Server" "Client"

The certificate type.

Responses

Request samples

Content type
application/json
{
  • "certificate": "stringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringst",
  • "private_key": "stringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringst",
  • "ca_certificate": "stringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringst",
  • "labels": [
    ],
  • "type": "Server"
}

Response samples

Content type
application/json
{
  • "error": "string",
  • "status": {
    },
  • "payload": {
    }
}

Get Certificate Details

Authorizations:
path Parameters
cluster_id
required
string non-empty ^[1-9][0-9]*$

ClusterID is the cluster id

certificate_id
required
string^[1-9][0-9]*$

CertificateId is the certificate id

Responses

Response samples

Content type
application/json
{
  • "error": "string",
  • "status": {
    },
  • "payload": {
    }
}

Update Certificate

Authorizations:
path Parameters
cluster_id
required
string non-empty ^[1-9][0-9]*$

ClusterID is the cluster id

certificate_id
required
string^[1-9][0-9]*$

CertificateId is the certificate id

Request Body schema: application/json
certificate
required
string [ 128 .. 65536 ] characters

The certificate in PEM format.

private_key
required
string [ 128 .. 65536 ] characters

The private key for the corresponding certificate in PEM format.

ca_certificate
string [ 128 .. 65536 ] characters

The client CA certificate in PEM format.

labels
Array of strings [ 0 .. 32 ] items unique [ items [ 1 .. 32 ] characters ^[0-9a-zA-Z-_]+$ ]

Labels are used for resources classification and indexing

type
string
Default: "Server"
Enum: "Server" "Client"

The certificate type.

Responses

Request samples

Content type
application/json
{
  • "certificate": "stringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringst",
  • "private_key": "stringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringst",
  • "ca_certificate": "stringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringst",
  • "labels": [
    ],
  • "type": "Server"
}

Response samples

Content type
application/json
{
  • "error": "string",
  • "status": {
    },
  • "payload": {
    }
}

Patch Certificate

Authorizations:
path Parameters
cluster_id
required
string non-empty ^[1-9][0-9]*$

ClusterID is the cluster id

certificate_id
required
string^[1-9][0-9]*$

CertificateId is the certificate id

Request Body schema: application/json
certificate
string [ 128 .. 65536 ] characters

The certificate in PEM format.

private_key
string [ 128 .. 65536 ] characters

The private key for the corresponding certificate in PEM format.

ca_certificate
string [ 128 .. 65536 ] characters

The client CA certificate in PEM format.

labels
Array of strings [ 0 .. 32 ] items unique [ items [ 1 .. 32 ] characters ^[0-9a-zA-Z-_]+$ ]

Labels are used for resources classification and indexing

type
string
Default: "Server"
Enum: "Server" "Client"

The certificate type.

Responses

Request samples

Content type
application/json
{
  • "certificate": "stringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringst",
  • "private_key": "stringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringst",
  • "ca_certificate": "stringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringst",
  • "labels": [
    ],
  • "type": "Server"
}

Response samples

Content type
application/json
{
  • "error": "string",
  • "status": {
    },
  • "payload": {
    }
}

deleteCertificate

Delete Certificate

Authorizations:
path Parameters
cluster_id
required
string non-empty ^[1-9][0-9]*$

ClusterID is the cluster id

certificate_id
required
string^[1-9][0-9]*$

CertificateId is the certificate id

Responses

Response samples

Content type
application/json
{
  • "error": "string",
  • "status": {
    }
}

Members

List Members

Authorizations:
path Parameters
id
required
string non-empty ^[1-9][0-9]*$

ID is the organization id

query Parameters
direction
string
Default: "DESC"
Enum: "ASC" "DESC"

Direction should be ASC or DESC (case-insensitive). Default value is DESC.

page_size
integer <int64> >= 1
Default: 10

PageSize is the page size. Must greater than 0.

page
integer <int64> >= 1
Default: 1

Page is the page number, starting from 1.

order_by
string
Default: "updated_at"
Enum: "id" "org_id" "role" "user_id" "created_at" "updated_at"

Responses

Response samples

Content type
application/json
{
  • "error": "string",
  • "status": {
    },
  • "payload": {
    }
}

Create Member

Authorizations:
path Parameters
id
required
string non-empty ^[1-9][0-9]*$

ID is the organization id

Request Body schema: application/json
email
required
string <email>

Email is the email address of the member

role_id
required
string^[1-9][0-9]*$

Role ID is the role id of the member

Responses

Request samples

Content type
application/json
{
  • "email": "user@example.com",
  • "role_id": "string"
}

Response samples

Content type
application/json
{
  • "error": "string",
  • "status": {
    },
  • "payload": {
    }
}

Get Member Details

Authorizations:
path Parameters
id
required
string non-empty ^[1-9][0-9]*$

ID is the organization id

member_id
required
string >= 1

MemberID is the member id

Responses

Response samples

Content type
application/json
{
  • "error": "string",
  • "status": {
    },
  • "payload": {
    }
}

Delete Member

Authorizations:
path Parameters
id
required
string non-empty ^[1-9][0-9]*$

ID is the organization id

member_id
required
string >= 1

MemberID is the member id

Responses

Response samples

Content type
application/json
{
  • "error": "string",
  • "status": {
    }
}

Update Member

Authorizations:
path Parameters
id
required
string non-empty ^[1-9][0-9]*$

ID is the organization id

member_id
required
string >= 1

MemberID is the member id

Request Body schema: application/json
required
Array of objects[ items ]
Array
role_id
string^[1-9][0-9]*$

ID is a unique identifier for an object.

cluster_id
string or null^[1-9][0-9]*$

ID is a unique identifier for an object.

Responses

Request samples

Content type
application/json
{
  • "role_bindings": [
    ]
}

Response samples

Content type
application/json
{
  • "error": "string",
  • "status": {
    }
}

Transfer Organization Ownership

Authorizations:
path Parameters
id
required
string non-empty ^[1-9][0-9]*$

ID is the organization id

member_id
required
string >= 1

MemberID is the member id

Responses

Response samples

Content type
application/json
{
  • "error": "string",
  • "status": {
    }
}

Re-invite a member.

Authorizations:
path Parameters
id
required
string non-empty ^[1-9][0-9]*$

ID is the organization id

member_id
required
string >= 1

MemberID is the member id

Responses

Response samples

Content type
application/json
{
  • "error": "string",
  • "status": {
    },
  • "payload": {
    }
}

Plans

Get Plan Details

Authorizations:
path Parameters
id
required
string non-empty ^[1-9][0-9]*$

ID is the organization id

Responses

Response samples

Content type
application/json
{
  • "error": "string",
  • "status": {
    },
  • "payload": {
    }
}

Regions

List Regions

Authorizations:
query Parameters
direction
string
Default: "DESC"
Enum: "ASC" "DESC"

Direction should be ASC or DESC (case-insensitive). Default value is DESC.

page_size
integer <int64> >= 1
Default: 10

PageSize is the page size. Must greater than 0.

page
integer <int64> >= 1
Default: 1

Page is the page number, starting from 1.

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

OrderBy is the name of field to be sorted (case-sensitive). Default value is created_at.

Responses

Response samples

Content type
application/json
{
  • "error": "string",
  • "status": {
    },
  • "payload": {
    }
}

Users

Resend verification email to user

Authorizations:
Request Body schema: application/json
user_id
required
string non-empty

user_id of the user to send the verification email to.

Responses

Request samples

Content type
application/json
{
  • "user_id": "string"
}

Response samples

Content type
application/json
{
  • "error": "string",
  • "status": {
    }
}

Callback API for the Identity Server

Authorizations:
query Parameters
state
required
string

State is the field of OIDC protocol

code
required
string

Code is the field of OIDC protocol

Responses

Response samples

Content type
application/json
{
  • "error": "string",
  • "status": {
    }
}

Accept Invitation

Authorizations:
query Parameters
email
required
string <email>

Email is the email address of invited user

org_id
required
string

OrgID is the ID of organization

Responses

Response samples

Content type
application/json
{
  • "error": "string",
  • "status": {
    }
}

Login

Authorizations:

Responses

Response samples

Content type
application/json
{
  • "error": "string",
  • "status": {
    }
}

Logout

Authorizations:

Responses

Response samples

Content type
application/json
{
  • "error": "string",
  • "status": {
    }
}

Get User Profile

Authorizations:

Responses

Response samples

Content type
application/json
{
  • "error": "string",
  • "status": {
    },
  • "payload": {
    }
}

Delete Current User

Authorizations:

Responses

Response samples

Content type
application/json
{
  • "error": "string",
  • "status": {
    }
}

Update User Profile

Authorizations:
Request Body schema: application/json
first_name
required
string [ 1 .. 150 ] characters
last_name
required
string [ 1 .. 150 ] characters