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": {
    }
}

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": {
    }
}

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": {
    }
}

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": {
    }
}

Control Planes

List Control Planes

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 Control Plane

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 Control Plane Details

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

ID is the organization id

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

ControlPlaneID is the control plane id

Responses

Response samples

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

Update Control Plane

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

ID is the organization id

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

ControlPlaneID is the control plane id

Request Body schema: application/json
custom_server_header
string

CustomServerHeader is the server filed in HTTP response header

plugins
Array of strings

Plugins is the enabled plugin list that defined in apisix

object

SSLConfig is config for apisix ssl module

Responses

Request samples

Content type
application/json
{
  • "custom_server_header": "string",
  • "plugins": [
    ],
  • "ssl": {
    }
}

Response samples

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

Applications

List Applications

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

ControlPlaneID is the control plane 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
control_plane_id
required
string non-empty ^[1-9][0-9]*$

ControlPlaneID is the control plane 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

Policies 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

Responses

Request samples

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

Response samples

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

Get Application Details

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

ControlPlaneID is the control plane 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
control_plane_id
required
string non-empty ^[1-9][0-9]*$

ControlPlaneID is the control plane 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

Policies 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

Responses

Request samples

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

Response samples

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

Patch Application

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

ControlPlaneID is the control plane 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

Policies 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

Responses

Request samples

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

Response samples

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

Delete Application

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

ControlPlaneID is the control plane 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
control_plane_id
required
string non-empty ^[1-9][0-9]*$

ControlPlaneID is the control plane 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

Policies 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": [
    ],
  • "policies": {
    },
  • "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

Policies 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": [
    ],
  • "policies": {
    },
  • "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

Policies 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": [
    ],
  • "policies": {
    },
  • "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
control_plane_id
required
string non-empty ^[1-9][0-9]*$

ControlPlaneID is the control plane 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
control_plane_id
required
string non-empty ^[1-9][0-9]*$

ControlPlaneID is the control plane 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 control plane.

object or null

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

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": {
    },
  • "labels": [
    ]
}

Response samples

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

Get Consumer Details

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

ControlPlaneID is the control plane 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
control_plane_id
required
string non-empty ^[1-9][0-9]*$

ControlPlaneID is the control plane 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 control plane.

object or null

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

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": {
    },
  • "labels": [
    ]
}

Response samples

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

Patch Consumer

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

ControlPlaneID is the control plane 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 control plane.

object or null

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

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": {
    },
  • "labels": [
    ]
}

Response samples

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

Delete Consumer

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

ControlPlaneID is the control plane 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
control_plane_id
required
string non-empty ^[1-9][0-9]*$

ControlPlaneID is the control plane 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
control_plane_id
required
string non-empty ^[1-9][0-9]*$

ControlPlaneID is the control plane 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
control_plane_id
required
string non-empty ^[1-9][0-9]*$

ControlPlaneID is the control plane 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.

client_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

Responses

Request samples

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

Response samples

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

Get Certificate Details

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

ControlPlaneID is the control plane 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
control_plane_id
required
string non-empty ^[1-9][0-9]*$

ControlPlaneID is the control plane 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.

client_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

Responses

Request samples

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

Response samples

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

deleteCertificate

Delete Certificate

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

ControlPlaneID is the control plane 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": {
    }
}

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": {
    }
}

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
created_at
string <date-time>

CreatedAt is the object creation time.

first_name
string^[A-Za-z0-9-]{1,32}$

FirstName is the member first name

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

ID is a unique identifier for an object.

last_name
string^[A-Za-z0-9-]{1,32}$

LastName is the member last name

org_id
string

OrgId indicates the organization where the member is in.

state
string
Enum: "Pending" "Active"

State indicates the state of the member.

  • Pending: The member is pending approval.
  • Active: The member had accepted the invitation.
status
integer <int32>
Enum: 0 50 100

the status of entity, candidate values are:

  • 0:Uninitialized, represents the entity has been saved to the db, but the associated resource has not yet been ready
  • 50:Normal, indicates that the entity and associated resources are ready
  • 100:Deleted, indicates the entity has been deleted
updated_at
string <date-time>

UpdatedAt is the last modified time of this object.

user_id
string

UserId refers to an user, since an 3rd party User Management Service might be used so the type is not int64.

Responses

Request samples

Content type
application/json
{
  • "created_at": "2019-08-24T14:15:22Z",
  • "first_name": "string",
  • "id": "string",
  • "last_name": "string",
  • "org_id": "string",
  • "state": "Pending",
  • "status": 0,
  • "updated_at": "2019-08-24T14:15:22Z",
  • "user_id": "string"
}

Response samples

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

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

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": {
    }
}

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": {
    }
}

List Personal Access Tokens

Authorizations:

Responses

Response samples

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

Create Personal Access Token

Authorizations:
Request Body schema: application/json
expire
required
integer <int64>
notes
string <= 256 characters

Notes is the description for the token.

Responses

Request samples

Content type
application/json
{
  • "expire": 0,
  • "notes": "string"
}

Response samples

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

Delete All Personal Access Tokens

Authorizations:

Responses

Response samples

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

Delete Personal Access Token

Authorizations:
path Parameters
id
required
string

Responses

Response samples

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

Labels

List Labels

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

ControlPlaneID is the control plane id

label_source
required
string
Enum: "api" "application" "consumer" "certificate"

label_source indicates the source of the labels

Responses

Response samples

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

Controlplanes

Generate Control Plane Certificate

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

ControlPlaneID is the control plane id

Responses

Response samples

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

List DP Instances

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

ControlPlaneID is the control plane id

Responses

Response samples

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

Controlplanes Operation

Get DP Instance Configuration Template

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

ControlPlaneID is the control plane 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 Control Plane Metrics

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

ControlPlaneID is the control plane 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=2006-01-02T15:04:05Z07:00

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

end
required
string <date-time>
Example: end=2006-01-02T15:04:05Z07:00

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": {
    }
}

Canary Releases

List Canary Release Rules

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

Responses

Response samples

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

Create Canary Release Rule

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

The id of the pet to retrieve

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

name specify the name of canary release

state
string
Enum: "paused" "in_progress" "finished"

state specify the state of the canary release

type
required
string
Enum: "percent" "rule"

type specify the type of canary release

canary_upstream_version