Modifying an API
Function
This API is used to modify the information about an API, including its backend information.
Calling Method
For details, see Calling APIs.
URI
PUT /v2/{project_id}/apigw/instances/{instance_id}/apis/{api_id}
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
project_id |
Yes |
String |
Project ID. For details about how to obtain it, see Obtaining a Project ID. |
instance_id |
Yes |
String |
Gateway ID, which can be obtained from the gateway information on the APIG console. |
api_id |
Yes |
String |
API ID. |
Request Parameters
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
X-Auth-Token |
Yes |
String |
User token. It can be obtained by calling the IAM API used to obtain a user token. The value of X-Subject-Token in the response header is a token. |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
name |
Yes |
String |
API name. It can contain 3 to 255 characters, starting with a letter or digit. Only letters, digits, and these special characters are allowed: -_./:() |
type |
Yes |
Integer |
API type.
|
version |
No |
String |
API version. Maximum: 16 |
req_protocol |
Yes |
String |
API request protocol:
Default: HTTPS |
req_method |
Yes |
String |
API request method. If the request protocol is set to GRPC, the request method is fixed to POST. |
req_uri |
Yes |
String |
Request address, which can contain request parameters enclosed with braces ({}). For example, /getUserInfo/{userId}. Special characters, such as asterisks (*), slashes (/), percent signs (%), hyphens (-), underscores (_), and periods (.), are allowed. It can contain a maximum of 512 characters and must comply with URI specifications.
NOTE:
The address must comply with the URI specifications. |
auth_type |
Yes |
String |
API authentication mode. Options:
|
auth_opt |
No |
AuthOpt object |
Security authentication parameter. |
cors |
No |
Boolean |
Indicates whether CORS is supported.
Default: false |
match_mode |
No |
String |
API matching mode: |
backend_type |
Yes |
String |
Backend type. Options:
|
remark |
No |
String |
API description. It cannot exceed 255 characters. |
group_id |
Yes |
String |
ID of the API group to which the API belongs. |
body_remark |
No |
String |
API request body, which can be an example request body, media type, or parameters. Ensure that the request body does not exceed 20,480 characters. |
result_normal_sample |
No |
String |
Example response for a successful request. Ensure that the response does not exceed 20,480 characters. This is unavailable if the request protocol is set to GRPC. |
result_failure_sample |
No |
String |
Example response for a failed request. Ensure that the response does not exceed 20,480 characters. This is unavailable if the request protocol is set to GRPC. |
authorizer_id |
No |
String |
ID of the frontend custom authorizer |
tags |
No |
Array of strings |
Tag. Use letters, digits, and special characters (-*#%.:_) and start with a letter. By default, 10 tags are supported. To increase the quota, contact technical support to modify the API_TAG_NUM_LIMIT configuration. Minimum: 1 Maximum: 128 |
response_id |
No |
String |
Group response ID. |
roma_app_id |
No |
String |
Integration application ID. Currently, this parameter is not supported. |
domain_name |
No |
String |
Custom domain name bound to the API. Currently, this parameter is not supported. |
tag |
No |
String |
Tag. This field will be deprecated. You can use the tags field instead. |
content_type |
No |
String |
Request content type: application/json application/xml multipart/form-data text/plain |
is_send_fg_body_base64 |
No |
Boolean |
Specifies whether to perform Base64 encoding on the body for interaction with FunctionGraph. The body does not need to be encoded using Base64 only when content_type is set to application/json. Application scenario:
Default: true |
mock_info |
No |
ApiMockCreate object |
Mock backend details. |
func_info |
No |
ApiFuncCreate object |
FunctionGraph backend details. |
req_params |
No |
Array of ReqParamBase objects |
Request parameters. This is unavailable if the request protocol is set to GRPC. |
backend_params |
No |
Array of BackendParamBase objects |
Backend parameters. This is unavailable if the request protocol is set to GRPC. |
policy_mocks |
No |
Array of ApiPolicyMockCreate objects |
Mock backend policies. |
policy_functions |
No |
Array of ApiPolicyFunctionCreate objects |
FunctionGraph backend policies. |
backend_api |
No |
BackendApiCreate object |
Web backend details. |
policy_https |
No |
Array of ApiPolicyHttpCreate objects |
Web backend policies. |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
app_code_auth_type |
No |
String |
Indicates whether AppCode authentication is enabled. This parameter is valid only if auth_type is set to App. The default value is DISABLE.
Default: DISABLE |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
remark |
No |
String |
Description. It cannot exceed 255 characters. |
result_content |
No |
String |
Response. |
version |
No |
String |
Function version. It cannot exceed 64 characters. |
authorizer_id |
No |
String |
Backend custom authorizer ID. |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
function_urn |
Yes |
String |
Function URN. |
remark |
No |
String |
Description. It cannot exceed 255 characters. |
invocation_type |
Yes |
String |
Invocation mode.
|
network_type |
Yes |
String |
Function network architecture.
|
version |
No |
String |
Function version. If both a function alias URN and version are passed, only the alias URN will be used. Maximum: 64 |
alias_urn |
No |
String |
Function alias URN. If both a function alias URN and version are passed, the alias URN will be used and the version will be ignored. |
timeout |
Yes |
Integer |
Timeout allowed for APIG to request the backend service. If the function network architecture is set to V1, the maximum timeout is 60,000. If the network architecture is set to V2, the maximum timeout is 600,000 and can be modified by using the gateway parameter backend_timeout. Unit: ms. Minimum: 1 |
authorizer_id |
No |
String |
Backend custom authorizer ID. |
req_protocol |
No |
String |
Backend request protocol of a function. The value can be HTTPS (default) or GRPCS (available when the frontend request protocol is GRPCS). Default: HTTPS |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
name |
Yes |
String |
Parameter name. The parameter name can contain 1 to 32 characters and must start with a letter. Only letters, digits, hyphens (-), underscores (_), and periods (.) are allowed. |
type |
Yes |
String |
Parameter type. |
location |
Yes |
String |
Parameter location. |
default_value |
No |
String |
Default value. |
sample_value |
No |
String |
Example value. |
required |
No |
Integer |
Indicates whether the parameter is required. 1: yes 2: no The value of this parameter is 1 if Location is set to PATH, and 2 if Location is set to another value. |
valid_enable |
No |
Integer |
Indicates whether validity check is enabled.
Default: 2 |
remark |
No |
String |
Description. It cannot exceed 255 characters. |
enumerations |
No |
String |
Enumerated value. |
min_num |
No |
Integer |
Minimum value. This parameter is valid when type is set to NUMBER. |
max_num |
No |
Integer |
Maximum value. This parameter is valid when type is set to NUMBER. |
min_size |
No |
Integer |
Minimum length. This parameter is valid when type is set to STRING. |
max_size |
No |
Integer |
Maximum length. This parameter is valid when type is set to STRING. |
regular |
No |
String |
Regular expression validation rule. Currently, this parameter is not supported. |
json_schema |
No |
String |
JSON validation rule. Currently, this parameter is not supported. |
pass_through |
No |
Integer |
Indicates whether to transparently transfer the parameter. 1: yes 2: no |
orchestrations |
No |
Array of strings |
Request parameter orchestration rules are prioritized in the same sequence as the list. The none_value rule in a rule list has the highest priority. A maximum of one none_value rule can be bound. The default rule in a rule list has the lowest priority. A maximum of one default rule can be bound. The preprocessing orchestration rule cannot be used as the last orchestration rule except the default rule. Only one parameter of each API can be bound with unique orchestration rules. The number of orchestration rules that can be bound is limited by quota. For details, see "Notes and Constraints" in APIG Service Overview. |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
result_content |
No |
String |
Response. |
effect_mode |
Yes |
String |
Effective mode of the backend policy.
|
name |
Yes |
String |
Backend name. It must start with a letter and can contain letters, digits, and underscores (_). Minimum: 3 Maximum: 64 |
backend_params |
No |
Array of BackendParamBase objects |
Backend parameters. This is unavailable for the GRPC backend. |
conditions |
Yes |
Array of ApiConditionBase objects |
Policy conditions. |
authorizer_id |
No |
String |
Backend custom authorizer ID. |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
function_urn |
Yes |
String |
Function URN. |
invocation_type |
Yes |
String |
Invocation mode.
|
network_type |
Yes |
String |
Function network architecture.
|
version |
No |
String |
Function version. If both a function alias URN and version are passed, the alias URN will be used and the version will be ignored. Maximum: 64 |
alias_urn |
No |
String |
Function alias URN. If both a function alias URN and version are passed, the alias URN will be used and the version will be ignored. |
timeout |
No |
Integer |
Timeout allowed for APIG to request the backend service. If the function network architecture is set to V1, the maximum timeout is 60,000. If the network architecture is set to V2, the maximum timeout is 600,000 and can be modified by using the gateway parameter backend_timeout. Unit: ms. Minimum: 1 |
req_protocol |
No |
String |
Backend request protocol of a function. The value can be HTTPS (default) or GRPCS (available when the frontend request protocol is GRPCS). Default: HTTPS |
effect_mode |
Yes |
String |
Effective mode of the backend policy.
|
name |
Yes |
String |
Backend name. It must start with a letter and can contain letters, digits, and underscores (_). Minimum: 3 Maximum: 64 |
backend_params |
No |
Array of BackendParamBase objects |
Backend parameters. This is unavailable for the GRPC backend. |
conditions |
Yes |
Array of ApiConditionBase objects |
Policy conditions. |
authorizer_id |
No |
String |
Backend custom authorizer ID. |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
authorizer_id |
No |
String |
Backend custom authorizer ID. |
url_domain |
No |
String |
Backend service address. Required when no VPC channel is used. A backend service address consists of a domain name or IP address and a port number, with not more than 255 characters. It must be in the format "Host name:Port number", for example, apig.example.com:7443. If the port number is not specified, the default HTTPS port 443 or the default HTTP port 80 is used. Environment variables are supported. Each must start with a letter and can consist of 3 to 32 characters. Only letters, digits, hyphens (-), and underscores (_) are allowed. |
req_protocol |
Yes |
String |
Request protocol. You can select GRPC or GRPCS for the GRPC backend. |
remark |
No |
String |
Description. It cannot exceed 255 characters. |
req_method |
Yes |
String |
Request method. For the GRPC backend, the request method is fixed to POST. |
version |
No |
String |
Web backend version, which can contain a maximum of 16 characters. |
req_uri |
Yes |
String |
Request address, which can contain request parameters enclosed with braces ({}). For example, /getUserInfo/{userId}. Special characters, such as asterisks (*), slashes (/), percent signs (%), hyphens (-), underscores (_), and periods (.), are allowed. It can contain a maximum of 512 characters and must comply with URI specifications. Environment variables are supported. Each must start with a letter and can consist of 3 to 32 characters. Only letters, digits, hyphens (-), and underscores (_) are allowed.
NOTE:
The address must comply with the URI specifications. For the GRPC backend, the request address is fixed to /. |
timeout |
Yes |
Integer |
Timeout allowed for APIG to request the backend service. You can set the maximum timeout using the backend_timeout configuration item. The maximum value is 600,000. Unit: ms. Minimum: 1 |
enable_client_ssl |
No |
Boolean |
Indicates whether to enable two-way authentication. |
retry_count |
No |
String |
Number of retry attempts to request the backend service. The default value is –1. The value ranges from –1 to 10. –1 indicates that idempotent APIs will retry once and non-idempotent APIs will not retry. POST and PATCH are non-idempotent. GET, HEAD, PUT, OPTIONS, and DELETE are idempotent. Default: -1 |
enable_sm_channel |
No |
Boolean |
Indicates whether to enable SM cryptographic algorithms. This feature is only available if the gateway supports the SM cryptographic algorithms. |
vpc_channel_info |
No |
ApiBackendVpcReq object |
VPC channel details. This parameter is required if vpc_channel_status is set to 1. |
vpc_channel_status |
No |
Integer |
Indicates whether to use a VPC channel.
|
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
url_domain |
No |
String |
Endpoint of the policy backend. Required when no VPC channel is used. An endpoint consists of a domain name or IP address and a port number, with not more than 255 characters. It must be in the format "Domain name:Port number", for example, apig.example.com:7443. If the port number is not specified, the default HTTPS port 443 or the default HTTP port 80 is used. Environment variables are supported. Each must start with a letter and can consist of 3 to 32 characters. Only letters, digits, hyphens (-), and underscores (_) are allowed. |
req_protocol |
Yes |
String |
Request protocol. Options include HTTP, HTTPS, GRPC, or GRPCS. You can select GRPC or GRPCS for the GRPC backend. |
req_method |
Yes |
String |
Request method. Options include GET, POST, PUT, DELETE, HEAD, PATCH, OPTIONS, and ANY. This is fixed to POST for the GRPC backend. |
req_uri |
Yes |
String |
Request address, which can contain request parameters enclosed with braces ({}). For example, /getUserInfo/{userId}. Special characters, such as asterisks (*), slashes (/), percent signs (%), hyphens (-), underscores (_), and periods (.), are allowed. It can contain a maximum of 512 characters and must comply with URI specifications. Environment variables are supported. Each must start with a letter and can consist of 3 to 32 characters. Only letters, digits, hyphens (-), and underscores (_) are allowed.
NOTE:
The address must comply with the URI specifications. For the GRPC backend, the request address is fixed to /. |
timeout |
No |
Integer |
Timeout allowed for APIG to request the backend service. You can set the maximum timeout using the backend_timeout configuration item. The maximum value is 600,000. Unit: ms. Minimum: 1 |
retry_count |
No |
String |
Number of retry attempts to request the backend service. The default value is –1. The value ranges from –1 to 10. –1 indicates that idempotent APIs will retry once and non-idempotent APIs will not retry. POST and PATCH are non-idempotent. GET, HEAD, PUT, OPTIONS, and DELETE are idempotent. Default: -1 |
enable_sm_channel |
No |
Boolean |
Indicates whether to enable SM cryptographic algorithms. This feature is only available if the gateway supports the SM cryptographic algorithms. |
effect_mode |
Yes |
String |
Effective mode of the backend policy.
|
name |
Yes |
String |
Backend name. It must start with a letter and can contain letters, digits, and underscores (_). Minimum: 3 Maximum: 64 |
backend_params |
No |
Array of BackendParamBase objects |
Backend parameters. This is unavailable for the GRPC backend. |
conditions |
Yes |
Array of ApiConditionBase objects |
Policy conditions. |
authorizer_id |
No |
String |
Backend custom authorizer ID. |
vpc_channel_info |
No |
ApiBackendVpcReq object |
VPC channel details. This parameter is required if vpc_channel_status is set to 1. |
vpc_channel_status |
No |
Integer |
Indicates whether to use a VPC channel.
|
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
origin |
Yes |
String |
Parameter type.
|
name |
Yes |
String |
Parameter name. The parameter name must start with a letter and can only contain letters, digits, hyphens (-), underscores (_), and periods (.). Minimum: 1 Maximum: 32 |
remark |
No |
String |
Description, which can contain a maximum of 255 characters. |
location |
Yes |
String |
Parameter location. The value can be PATH, QUERY, or HEADER. |
value |
Yes |
String |
Parameter value, which can contain a maximum of 255 characters. If the origin type is REQUEST, the value of this parameter is the parameter name in req_params. If the origin type is CONSTANT, the value is a constant. If the origin type is SYSTEM, the value is a system parameter name. System parameters include gateway parameters, frontend authentication parameters, and backend authentication parameters. You can set the frontend or backend authentication parameters after enabling custom frontend or backend authentication. The gateway parameters are as follows:
Frontend authentication parameter: prefixed with "$context.authorizer.frontend.". For example, to return "aaa" upon successful custom authentication, set this parameter to "$context.authorizer.frontend.aaa". Backend authentication parameter: prefixed with "$context.authorizer.backend.". For example, to return "aaa" upon successful custom authentication, set this parameter to "$context.authorizer.backend.aaa". |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
req_param_name |
No |
String |
Input parameter name. This parameter is required if the policy type is param. |
sys_param_name |
No |
String |
Name of a built-in gateway parameter. This parameter is required if the policy type is system. The following parameters are supported:
|
cookie_param_name |
No |
String |
COOKIE parameter name. This parameter is required if the policy type is cookie. Minimum: 0 Maximum: 255 |
frontend_authorizer_param_name |
No |
String |
System parameter: frontend authentication parameter name. This parameter is mandatory when the policy type is frontend_authorizer. The frontend authentication parameter name is prefixed with $context.authorizer.frontend. For example, if the frontend authentication parameter name is user_name, the name with the prefix will be $context.authorizer.frontend.user_name. |
condition_type |
No |
String |
Policy condition.
This parameter is required when the policy type is param, system, cookie, or frontend_authorizer. |
condition_origin |
Yes |
String |
Policy type
|
condition_value |
Yes |
String |
Policy value. Maximum: 1024 |
mapped_param_name |
No |
String |
Name of a parameter generated after orchestration. This parameter is mandatory when condition_origin is set to orchestration. The generated parameter name must exist in the orchestration rule bound to the API. |
mapped_param_location |
No |
String |
Location of a parameter generated after orchestration. This parameter is mandatory when condition_origin is set to orchestration. This location must exist in the orchestration rule bound to the API. |
Response Parameters
Status code: 200
Parameter |
Type |
Description |
---|---|---|
name |
String |
API name. It can contain 3 to 255 characters, starting with a letter or digit. Only letters, digits, and these special characters are allowed: -_./:() |
type |
Integer |
API type.
|
version |
String |
API version. Maximum: 16 |
req_protocol |
String |
API request protocol:
Default: HTTPS |
req_method |
String |
API request method. If the request protocol is set to GRPC, the request method is fixed to POST. |
req_uri |
String |
Request address, which can contain request parameters enclosed with braces ({}). For example, /getUserInfo/{userId}. Special characters, such as asterisks (*), slashes (/), percent signs (%), hyphens (-), underscores (_), and periods (.), are allowed. It can contain a maximum of 512 characters and must comply with URI specifications.
NOTE:
The address must comply with the URI specifications. |
auth_type |
String |
API authentication mode. Options:
|
auth_opt |
AuthOpt object |
Security authentication parameter. |
cors |
Boolean |
Indicates whether CORS is supported.
Default: false |
match_mode |
String |
API matching mode: |
backend_type |
String |
Backend type. Options:
|
remark |
String |
API description. It cannot exceed 255 characters. |
group_id |
String |
ID of the API group to which the API belongs. |
body_remark |
String |
API request body, which can be an example request body, media type, or parameters. Ensure that the request body does not exceed 20,480 characters. |
result_normal_sample |
String |
Example response for a successful request. Ensure that the response does not exceed 20,480 characters. This is unavailable if the request protocol is set to GRPC. |
result_failure_sample |
String |
Example response for a failed request. Ensure that the response does not exceed 20,480 characters. This is unavailable if the request protocol is set to GRPC. |
authorizer_id |
String |
ID of the frontend custom authorizer |
tags |
Array of strings |
Tag. Use letters, digits, and special characters (-*#%.:_) and start with a letter. By default, 10 tags are supported. To increase the quota, contact technical support to modify the API_TAG_NUM_LIMIT configuration. Minimum: 1 Maximum: 128 |
response_id |
String |
Group response ID. |
roma_app_id |
String |
Integration application ID. Currently, this parameter is not supported. |
domain_name |
String |
Custom domain name bound to the API. Currently, this parameter is not supported. |
tag |
String |
Tag. This field will be deprecated. You can use the tags field instead. |
content_type |
String |
Request content type: application/json application/xml multipart/form-data text/plain |
is_send_fg_body_base64 |
Boolean |
Specifies whether to perform Base64 encoding on the body for interaction with FunctionGraph. The body does not need to be encoded using Base64 only when content_type is set to application/json. Application scenario:
Default: true |
id |
String |
API ID. |
status |
Integer |
App status.
|
arrange_necessary |
Integer |
Indicates whether to enable orchestration. |
register_time |
String |
Time when the API is registered. |
update_time |
String |
Time when the API was last modified. |
group_name |
String |
Name of the API group to which the API belongs. |
group_version |
String |
Version of the API group to which the API belongs. The default value is V1. Other versions are not supported. Default: V1 |
run_env_id |
String |
ID of the environment in which the API has been published. Separate multiple environment IDs with vertical bars (|). |
run_env_name |
String |
Name of the environment in which the API has been published. Separate multiple environment names with vertical bars (|). |
publish_id |
String |
Publication record ID. Separate multiple publication record IDs with vertical bars (|). |
publish_time |
String |
Publication time. Separate the time of multiple publication records with vertical bars (|). |
roma_app_name |
String |
Name of the integration application to which the API belongs. Currently, this parameter is not supported. |
ld_api_id |
String |
ID of the corresponding custom backend API. Currently, this parameter is not supported. |
backend_api |
BackendApi object |
Web backend details. |
api_group_info |
ApiGroupCommonInfo object |
API group information. |
func_info |
ApiFunc object |
FunctionGraph backend details. |
mock_info |
ApiMock object |
Mock backend details. |
req_params |
Array of ReqParam objects |
Request parameters. |
backend_params |
Array of BackendParam objects |
Backend parameters. |
policy_functions |
Array of ApiPolicyFunctionResp objects |
FunctionGraph backend policies. |
policy_mocks |
Array of ApiPolicyMockResp objects |
Mock backend policies. |
policy_https |
Array of ApiPolicyHttpResp objects |
Web backend policies. |
Parameter |
Type |
Description |
---|---|---|
app_code_auth_type |
String |
Indicates whether AppCode authentication is enabled. This parameter is valid only if auth_type is set to App. The default value is DISABLE.
Default: DISABLE |
Parameter |
Type |
Description |
---|---|---|
authorizer_id |
String |
Backend custom authorizer ID. |
url_domain |
String |
Backend service address. A backend service address consists of a domain name or IP address and a port number, with not more than 255 characters. It must be in the format "Host name:Port number", for example, apig.example.com:7443. If the port number is not specified, the default HTTPS port 443 or the default HTTP port 80 is used. Environment variables are supported. Each must start with a letter and can consist of 3 to 32 characters. Only letters, digits, hyphens (-), and underscores (_) are allowed. |
req_protocol |
String |
Request protocol. You can select GRPC or GRPCS for the GRPC backend. |
remark |
String |
Description. It cannot exceed 255 characters. |
req_method |
String |
Request method. For the GRPC backend, the request method is fixed to POST. |
version |
String |
Web backend version, which can contain a maximum of 16 characters. |
req_uri |
String |
Request address, which can contain request parameters enclosed with braces ({}). For example, /getUserInfo/{userId}. Special characters, such as asterisks (*), slashes (/), percent signs (%), hyphens (-), underscores (_), and periods (.), are allowed. It can contain a maximum of 512 characters and must comply with URI specifications. Environment variables are supported. Each must start with a letter and can consist of 3 to 32 characters. Only letters, digits, hyphens (-), and underscores (_) are allowed.
NOTE:
The address must comply with the URI specifications. For the GRPC backend, the request address is fixed to /. |
timeout |
Integer |
Timeout allowed for APIG to request the backend service. You can set the maximum timeout using the backend_timeout configuration item. The maximum value is 600,000. Unit: ms. Minimum: 1 |
enable_client_ssl |
Boolean |
Indicates whether to enable two-way authentication. |
retry_count |
String |
Number of retry attempts to request the backend service. The default value is –1. The value ranges from –1 to 10. –1 indicates that idempotent APIs will retry once and non-idempotent APIs will not retry. POST and PATCH are non-idempotent. GET, HEAD, PUT, OPTIONS, and DELETE are idempotent. Default: -1 |
enable_sm_channel |
Boolean |
Indicates whether to enable SM cryptographic algorithms. This feature is only available if the gateway supports the SM cryptographic algorithms. |
id |
String |
ID. |
status |
Integer |
Backend service status.
|
register_time |
String |
Registration time. |
update_time |
String |
Update time. |
vpc_channel_info |
VpcInfo object |
VPC channel details. This parameter is required if vpc_channel_status is set to 1. |
vpc_channel_status |
Integer |
Indicates whether to use a VPC channel.
|
Parameter |
Type |
Description |
---|---|---|
id |
String |
ID. |
name |
String |
API group name. |
status |
Integer |
Status.
|
sl_domain |
String |
Subdomain name that APIG automatically allocates to the API group. |
register_time |
String |
Creation time. |
update_time |
String |
Last modification time. |
on_sell_status |
Integer |
Indicates whether the API group has been listed on KooGallery.
Not supported currently. |
url_domains |
Array of UrlDomain objects |
Independent domain names bound to the API group. |
sl_domain_access_enabled |
Boolean |
Whether the debugging domain name is accessible. Options: true and false. Default: true |
Parameter |
Type |
Description |
---|---|---|
id |
String |
Domain ID. |
domain |
String |
Domain name. |
cname_status |
Integer |
CNAME resolution status of the domain name.
|
ssl_id |
String |
SSL certificate ID. |
ssl_name |
String |
SSL certificate name. |
min_ssl_version |
String |
Minimum SSL version. TLS 1.1 and TLS 1.2 are supported. Default: TLSv1.1 |
verified_client_certificate_enabled |
Boolean |
Whether to enable client certificate verification. This parameter is available only when a certificate is bound. It is enabled by default if trusted_root_ca exists, and disabled if trusted_root_ca does not exist. Default: false |
is_has_trusted_root_ca |
Boolean |
Whether a trusted root certificate (CA) exists. The value is true if trusted_root_ca exists in the bound certificate. Default: false |
ingress_http_port |
Integer |
Inbound HTTP port bound to the domain name. -1 indicates that no port is available and the protocol is not supported. In this case, you can use the default port 80. Other valid ports must be included in the HTTP inbound ports of the gateway. The value ranges from 1024 to 49151. When creating a domain name, if this parameter is not set, the default port 80 is used. If this parameter is set, https_port must be set. If both http_port and https_port need to use the default port, leave both parameters blank. If this parameter is not specified when you modify the domain name, the port number remains unchanged. Minimum: -1 Maximum: 49151 |
ingress_https_port |
Integer |
Inbound HTTPS port bound to the domain name. -1 indicates that no port is available and the protocol is not supported. In this case, you can use the default port 443. Other valid ports must be included in the HTTPS inbound ports of the gateway. The value ranges from 1024 to 49151. When creating a domain name, if this parameter is not set, the default port 443 is used. If this parameter is set, http_port must be set. If both http_port and https_port need to use the default port, leave both parameters blank. If this parameter is not specified when you modify the domain name, the port number remains unchanged. Minimum: -1 Maximum: 49151 |
ssl_infos |
Array of SslInfo objects |
SSL certificate list. |
Parameter |
Type |
Description |
---|---|---|
ssl_id |
String |
SSL certificate ID. |
ssl_name |
String |
SSL certificate name. |
algorithm_type |
String |
Certificate algorithm type:
|
type |
String |
Certificate scope:
Default: global |
Parameter |
Type |
Description |
---|---|---|
function_urn |
String |
Function URN. |
remark |
String |
Description. It cannot exceed 255 characters. |
invocation_type |
String |
Invocation mode.
|
network_type |
String |
Function network architecture.
|
version |
String |
Function version. If both a function alias URN and version are passed, only the alias URN will be used. Maximum: 64 |
alias_urn |
String |
Function alias URN. If both a function alias URN and version are passed, the alias URN will be used and the version will be ignored. |
timeout |
Integer |
Timeout allowed for APIG to request the backend service. If the function network architecture is set to V1, the maximum timeout is 60,000. If the network architecture is set to V2, the maximum timeout is 600,000 and can be modified by using the gateway parameter backend_timeout. Unit: ms. Minimum: 1 |
authorizer_id |
String |
Backend custom authorizer ID. |
req_protocol |
String |
Backend request protocol of a function. The value can be HTTPS (default) or GRPCS (available when the frontend request protocol is GRPCS). Default: HTTPS |
id |
String |
ID. |
register_time |
String |
Registration time. |
status |
Integer |
Backend service status.
|
update_time |
String |
Update time. |
Parameter |
Type |
Description |
---|---|---|
remark |
String |
Description. It cannot exceed 255 characters. |
result_content |
String |
Response. |
version |
String |
Function version. It cannot exceed 64 characters. |
authorizer_id |
String |
Backend custom authorizer ID. |
id |
String |
ID. |
register_time |
String |
Registration time. |
status |
Integer |
Backend service status.
|
update_time |
String |
Update time. |
Parameter |
Type |
Description |
---|---|---|
name |
String |
Parameter name. The parameter name can contain 1 to 32 characters and must start with a letter. Only letters, digits, hyphens (-), underscores (_), and periods (.) are allowed. |
type |
String |
Parameter type. |
location |
String |
Parameter location. |
default_value |
String |
Default value. |
sample_value |
String |
Example value. |
required |
Integer |
Indicates whether the parameter is required. 1: yes 2: no The value of this parameter is 1 if Location is set to PATH, and 2 if Location is set to another value. |
valid_enable |
Integer |
Indicates whether validity check is enabled.
Default: 2 |
remark |
String |
Description. It cannot exceed 255 characters. |
enumerations |
String |
Enumerated value. |
min_num |
Integer |
Minimum value. This parameter is valid when type is set to NUMBER. |
max_num |
Integer |
Maximum value. This parameter is valid when type is set to NUMBER. |
min_size |
Integer |
Minimum length. This parameter is valid when type is set to STRING. |
max_size |
Integer |
Maximum length. This parameter is valid when type is set to STRING. |
regular |
String |
Regular expression validation rule. Currently, this parameter is not supported. |
json_schema |
String |
JSON validation rule. Currently, this parameter is not supported. |
pass_through |
Integer |
Indicates whether to transparently transfer the parameter. 1: yes 2: no |
orchestrations |
Array of strings |
Request parameter orchestration rules are prioritized in the same sequence as the list. The none_value rule in a rule list has the highest priority. A maximum of one none_value rule can be bound. The default rule in a rule list has the lowest priority. A maximum of one default rule can be bound. The preprocessing orchestration rule cannot be used as the last orchestration rule except the default rule. Only one parameter of each API can be bound with unique orchestration rules. The number of orchestration rules that can be bound is limited by quota. For details, see "Notes and Constraints" in APIG Service Overview. |
id |
String |
Parameter ID. |
Parameter |
Type |
Description |
---|---|---|
function_urn |
String |
Function URN. |
invocation_type |
String |
Invocation mode.
|
network_type |
String |
Function network architecture.
|
version |
String |
Function version. If both a function alias URN and version are passed, the alias URN will be used and the version will be ignored. Maximum: 64 |
alias_urn |
String |
Function alias URN. If both a function alias URN and version are passed, the alias URN will be used and the version will be ignored. |
timeout |
Integer |
Timeout allowed for APIG to request the backend service. If the function network architecture is set to V1, the maximum timeout is 60,000. If the network architecture is set to V2, the maximum timeout is 600,000 and can be modified by using the gateway parameter backend_timeout. Unit: ms. Minimum: 1 |
req_protocol |
String |
Backend request protocol of a function. The value can be HTTPS (default) or GRPCS (available when the frontend request protocol is GRPCS). Default: HTTPS |
id |
String |
ID. |
effect_mode |
String |
Effective mode of the backend policy.
|
name |
String |
Backend name, which must start with a letter and can contain letters, digits, and underscores (_). Minimum: 3 Maximum: 64 |
backend_params |
Array of BackendParam objects |
Backend parameters. |
conditions |
Array of CoditionResp objects |
Policy conditions. |
authorizer_id |
String |
Backend custom authorizer ID. |
Parameter |
Type |
Description |
---|---|---|
id |
String |
ID. |
effect_mode |
String |
Effective mode of the backend policy.
|
name |
String |
Backend name, which must start with a letter and can contain letters, digits, and underscores (_). Minimum: 3 Maximum: 64 |
backend_params |
Array of BackendParam objects |
Backend parameters. |
conditions |
Array of CoditionResp objects |
Policy conditions. |
authorizer_id |
String |
Backend custom authorizer ID. |
result_content |
String |
Response. |
Parameter |
Type |
Description |
---|---|---|
id |
String |
ID. |
effect_mode |
String |
Effective mode of the backend policy.
|
name |
String |
Backend name, which must start with a letter and can contain letters, digits, and underscores (_). Minimum: 3 Maximum: 64 |
backend_params |
Array of BackendParam objects |
Backend parameters. |
conditions |
Array of CoditionResp objects |
Policy conditions. |
authorizer_id |
String |
Backend custom authorizer ID. |
url_domain |
String |
Endpoint of the policy backend. An endpoint consists of a domain name or IP address and a port number, with not more than 255 characters. It must be in the format "Domain name:Port number", for example, apig.example.com:7443. If the port number is not specified, the default HTTPS port 443 or the default HTTP port 80 is used. Environment variables are supported. Each must start with a letter and can consist of 3 to 32 characters. Only letters, digits, hyphens (-), and underscores (_) are allowed. |
req_protocol |
String |
Request protocol. Options include HTTP, HTTPS, GRPC, or GRPCS. You can select GRPC or GRPCS for the GRPC backend. |
req_method |
String |
Request method. Options include GET, POST, PUT, DELETE, HEAD, PATCH, OPTIONS, and ANY. This is fixed to POST for the GRPC backend. |
req_uri |
String |
Request address, which can contain request parameters enclosed with braces ({}). For example, /getUserInfo/{userId}. Special characters, such as asterisks (*), slashes (/), percent signs (%), hyphens (-), underscores (_), and periods (.), are allowed. It can contain a maximum of 512 characters and must comply with URI specifications. Environment variables are supported. Each must start with a letter and can consist of 3 to 32 characters. Only letters, digits, hyphens (-), and underscores (_) are allowed.
NOTE:
The address must comply with the URI specifications. For the GRPC backend, the request address is fixed to /. |
timeout |
Integer |
Timeout allowed for APIG to request the backend service. You can set the maximum timeout using the backend_timeout configuration item. The maximum value is 600,000. Unit: ms. Minimum: 1 |
retry_count |
String |
Number of retry attempts to request the backend service. The default value is –1. The value ranges from –1 to 10. –1 indicates that idempotent APIs will retry once and non-idempotent APIs will not retry. POST and PATCH are non-idempotent. GET, HEAD, PUT, OPTIONS, and DELETE are idempotent. Default: -1 |
enable_sm_channel |
Boolean |
Indicates whether to enable SM cryptographic algorithms. This feature is only available if the gateway supports the SM cryptographic algorithms. |
vpc_channel_info |
VpcInfo object |
VPC channel details. This parameter is required if vpc_channel_status is set to 1. |
vpc_channel_status |
Integer |
Indicates whether to use a VPC channel.
|
Parameter |
Type |
Description |
---|---|---|
origin |
String |
Parameter type.
|
name |
String |
Parameter name. The parameter name must start with a letter and can only contain letters, digits, hyphens (-), underscores (_), and periods (.). Minimum: 1 Maximum: 32 |
remark |
String |
Description, which can contain a maximum of 255 characters. |
location |
String |
Parameter location. The value can be PATH, QUERY, or HEADER. |
value |
String |
Parameter value, which can contain a maximum of 255 characters. If the origin type is REQUEST, the value of this parameter is the parameter name in req_params. If the origin type is CONSTANT, the value is a constant. If the origin type is SYSTEM, the value is a system parameter name. System parameters include gateway parameters, frontend authentication parameters, and backend authentication parameters. You can set the frontend or backend authentication parameters after enabling custom frontend or backend authentication. The gateway parameters are as follows:
Frontend authentication parameter: prefixed with "$context.authorizer.frontend.". For example, to return "aaa" upon successful custom authentication, set this parameter to "$context.authorizer.frontend.aaa". Backend authentication parameter: prefixed with "$context.authorizer.backend.". For example, to return "aaa" upon successful custom authentication, set this parameter to "$context.authorizer.backend.aaa". |
id |
String |
Parameter ID. |
req_param_id |
String |
Request parameter ID. |
Parameter |
Type |
Description |
---|---|---|
req_param_name |
String |
Input parameter name. This parameter is required if the policy type is param. |
sys_param_name |
String |
Name of a built-in gateway parameter. This parameter is required if the policy type is system. The following parameters are supported:
|
cookie_param_name |
String |
COOKIE parameter name. This parameter is required if the policy type is cookie. Minimum: 0 Maximum: 255 |
frontend_authorizer_param_name |
String |
System parameter: frontend authentication parameter name. This parameter is mandatory when the policy type is frontend_authorizer. The frontend authentication parameter name is prefixed with $context.authorizer.frontend. For example, if the frontend authentication parameter name is user_name, the name with the prefix will be $context.authorizer.frontend.user_name. |
condition_type |
String |
Policy condition.
This parameter is required when the policy type is param, system, cookie, or frontend_authorizer. |
condition_origin |
String |
Policy type
|
condition_value |
String |
Policy value. Maximum: 1024 |
mapped_param_name |
String |
Name of a parameter generated after orchestration. This parameter is mandatory when condition_origin is set to orchestration. The generated parameter name must exist in the orchestration rule bound to the API. |
mapped_param_location |
String |
Location of a parameter generated after orchestration. This parameter is mandatory when condition_origin is set to orchestration. This location must exist in the orchestration rule bound to the API. |
id |
String |
ID. |
req_param_id |
String |
Input parameter ID. |
req_param_location |
String |
Input parameter location. |
Parameter |
Type |
Description |
---|---|---|
ecs_id |
String |
Cloud server ID. |
ecs_name |
String |
Cloud server name. |
cascade_flag |
Boolean |
Indicates whether to use the cascading mode. Currently, this parameter is not supported. |
vpc_channel_proxy_host |
String |
Proxy host. |
vpc_channel_id |
String |
VPC channel ID. |
vpc_channel_port |
Integer |
VPC channel port. |
Status code: 400
Parameter |
Type |
Description |
---|---|---|
error_code |
String |
Error code. |
error_msg |
String |
Error message. |
Status code: 401
Parameter |
Type |
Description |
---|---|---|
error_code |
String |
Error code. |
error_msg |
String |
Error message. |
Status code: 403
Parameter |
Type |
Description |
---|---|---|
error_code |
String |
Error code. |
error_msg |
String |
Error message. |
Status code: 404
Parameter |
Type |
Description |
---|---|---|
error_code |
String |
Error code. |
error_msg |
String |
Error message. |
Status code: 500
Parameter |
Type |
Description |
---|---|---|
error_code |
String |
Error code. |
error_msg |
String |
Error message. |
Example Requests
Modifying an API (authentication mode: app; backend: VPC channel)
{ "group_id" : "c77f5e81d9cb4424bf704ef2b0ac7600", "match_mode" : "NORMAL", "name" : "Api_http", "auth_type" : "APP", "backend_type" : "HTTP", "backend_api" : { "vpc_channel_status" : 1, "vpc_channel_info" : { "vpc_channel_id" : "56a7d7358e1b42459c9d730d65b14e59", "vpc_channel_proxy_host" : "www.example.com" }, "req_protocol" : "HTTPS", "req_method" : "GET", "req_uri" : "/test/benchmark", "timeout" : 5000, "retry_count" : "-1" }, "cors" : false, "req_protocol" : "HTTPS", "req_uri" : "/test/http", "remark" : "Web backend API", "type" : 1, "req_method" : "GET", "result_normal_sample" : "Example success response", "result_failure_sample" : "Example failure response", "backend_params" : [ { "name" : "X-CONSTANT-HEADER", "value" : "demo", "location" : "HEADER", "origin" : "CONSTANT", "remark" : "constant_demo" }, { "name" : "app-id", "value" : "$context.appId", "location" : "HEADER", "origin" : "SYSTEM", "remark" : "App ID of the API caller" } ], "tags" : [ "webApi" ] }
Example Responses
Status code: 200
OK
{ "id" : "5f918d104dc84480a75166ba99efff21", "tags" : [ "webApi" ], "arrange_necessary" : 2, "backend_type" : "HTTP", "auth_type" : "APP", "auth_opt" : { "app_code_auth_type" : "DISABLE" }, "backend_api" : { "update_time" : "2020-08-02T16:32:47.077028841Z", "vpc_channel_status" : 1, "vpc_channel_info" : { "vpc_channel_id" : "56a7d7358e1b42459c9d730d65b14e59", "vpc_channel_proxy_host" : "www.example.com" }, "url_domain" : "56a7d7358e1b42459c9d730d65b14e59", "req_protocol" : "HTTPS", "id" : "1ce8fda3586d4371bd83c955df37e102", "req_method" : "GET", "register_time" : "2020-07-31T12:42:51Z", "req_uri" : "/test/benchmark", "timeout" : 5000, "status" : 1, "retry_count" : "-1" }, "cors" : false, "status" : 1, "group_name" : "api_group_001", "group_id" : "c77f5e81d9cb4424bf704ef2b0ac7600", "group_version" : "V1", "match_mode" : "NORMAL", "name" : "Api_http", "req_protocol" : "HTTPS", "req_method" : "GET", "req_uri" : "/test/http", "type" : 1, "version" : "V0.0.1", "result_normal_sample" : "Example success response", "result_failure_sample" : "Example failure response", "register_time" : "2020-07-31T12:42:51Z", "update_time" : "2020-08-02T16:32:47.046288842Z", "remark" : "Web backend API", "backend_params" : [ { "name" : "X-CONSTANT-HEADER", "value" : "demo", "location" : "HEADER", "origin" : "CONSTANT", "remark" : "constant_demo", "id" : "8cb2eba19e7a4423a4e835647a8b8d76" }, { "name" : "app-id", "value" : "$context.appId", "location" : "HEADER", "origin" : "SYSTEM", "remark" : "App ID of the API caller", "id" : "216ddda836e74d528f364ff589d9dd21" } ] }
Status code: 400
Bad Request
{ "error_code" : "APIG.2011", "error_msg" : "Invalid parameter value,parameterName:name. Please refer to the support documentation" }
Status code: 401
Unauthorized
{ "error_code" : "APIG.1002", "error_msg" : "Incorrect token or token resolution failed" }
Status code: 403
Forbidden
{ "error_code" : "APIG.1005", "error_msg" : "No permissions to request this method" }
Status code: 404
Not Found
{ "error_code" : "APIG.3002", "error_msg" : "API 5f918d104dc84480a75166ba99efff21 does not exist" }
Status code: 500
Internal Server Error
{ "error_code" : "APIG.9999", "error_msg" : "System error" }
Status Codes
Status Code |
Description |
---|---|
200 |
OK |
400 |
Bad Request |
401 |
Unauthorized |
403 |
Forbidden |
404 |
Not Found |
500 |
Internal Server Error |
Error Codes
See Error Codes.
Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.See the reply and handling status in My Cloud VOC.
For any further questions, feel free to contact us through the chatbot.
Chatbot