Updated on 2022-12-05 GMT+08:00

Querying Details of an API

Function

This API is used to query the details of an API.

URI

GET /v2/{project_id}/apic/instances/{instance_id}/apis/{api_id}

Table 1 Path parameters

Parameter

Mandatory

Type

Description

project_id

Yes

String

Project ID. For details about how to obtain the project ID, see Appendix > Obtaining a Project ID in the ROMA Connect API Reference.

instance_id

Yes

String

Instance ID.

api_id

Yes

String

API ID.

Request Parameters

Table 2 Request header parameters

Parameter

Mandatory

Type

Description

X-Auth-Token

Yes

String

User token, which can be obtained by calling the IAM API (value of X-Subject-Token in the response header).

Response Parameters

Status code: 200

Table 3 Response body parameters

Parameter

Type

Description

name

String

API name.

The value can contain 3 to 255 characters, including letters, digits, hyphens (-), underscores (_), periods (.), slashes (/), parentheses, and colons (:). The value must start with a letter or digit.

NOTE:

Characters must be encoded using UTF-8 or Unicode.

Minimum: 3

Maximum: 255

type

Integer

API type.

  • 1: public

  • 2: private

version

String

API version.

Maximum: 16

req_protocol

String

API request protocol.

  • HTTP

  • HTTPS

  • BOTH: Both HTTP and HTTPS are supported.

Default: HTTPS

req_method

String

API request method.

req_uri

String

Request address, which can contain request parameters enclosed with brackets ({}). For example, /getUserInfo/{userId}. The request address can contain special characters, such as asterisks (*), percent signs (%), hyphens (-), and underscores (_). It can contain a maximum of 512 characters and must comply with URI specifications.

The request address must comply with URI specifications.

auth_type

String

Security authentication mode.

  • NONE

  • APP

  • IAM

  • AUTHORIZER

auth_opt

AuthOpt object

Security authentication parameter.

cors

Boolean

Whether CORS is supported.

  • TRUE: supported

  • FALSE: not supported

Default: false

match_mode

String

Route matching mode.

  • SWA: prefix match

  • NORMAL: exact match The default value is NORMAL.

backend_type

String

Backend type.

  • HTTP: web backend

  • FUNCTION: FunctionGraph backend

  • MOCK: Mock backend

remark

String

Description of the API, which cannot contain < and >.

NOTE:

Characters must be encoded using UTF-8 or Unicode.

Minimum: 0

Maximum: 1000

group_id

String

ID of the API group to which the API belongs.

Minimum: 1

Maximum: 65

body_remark

String

API request body, which can be an example request body, media type, or parameters. Ensure that the response does not exceed 20,480 characters.

Maximum: 20480

result_normal_sample

String

Example response for a successful request.

NOTE:

Characters must be encoded using UTF-8 or Unicode.

Maximum: 20480

result_failure_sample

String

Example response for a failed request.

NOTE:

Characters must be encoded using UTF-8 or Unicode.

Maximum: 20480

authorizer_id

String

ID of the frontend custom authorizer.

Minimum: 1

Maximum: 65

tags

Array of strings

Tags.

The value can contain only letters, digits, and underscores (_), and must start with a letter. You can enter multiple tags and separate them with commas (,).

Minimum: 1

Maximum: 128

response_id

String

Group response ID.

This parameter is currently not supported.

Minimum: 1

Maximum: 65

roma_app_id

String

ID of the integration application to which an API belongs.

This parameter is mandatory when the API group is a global group or when an API is bound to a user-defined domain name.

Minimum: 1

Maximum: 65

domain_name

String

User-defined domain name bound to the API. If a user-defined domain name is used, the roma_app_id field is mandatory.

Maximum: 255

tag

String

Tag.

This field will be deprecated. You can use the tags field instead.

Maximum: 255

id

String

API ID.

status

Integer

API status.

  • 1: valid

arrange_necessary

Integer

Indicates whether orchestration is required.

register_time

String

Time when the API was registered.

update_time

String

Time when the API was last modified.

group_name

String

API group name.

group_version

String

Version of the API group to which the API belongs.

run_env_name

String

Name of the environment in which the API was published

run_env_id

String

ID of the environment in which the API was published.

publish_id

String

Publication record ID.

You can separate multiple publication records with vertical bars (|).

roma_app_name

String

Name of the integration application to which the API belongs.

ld_api_id

String

ID of the custom backend API when the API backend is a custom backend.

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 policy backends

policy_mocks

Array of ApiPolicyMockResp objects

Mock policy backends

backend_api

BackendApi object

Web backend details

policy_https

Array of ApiPolicyHttpResp objects

Web policy backends

Table 4 AuthOpt

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.

  • DISABLE: AppCode authentication is disabled.

  • HEADER: AppCode authentication is enabled and the AppCode is located in the header.

Default: DISABLE

Table 5 ApiFunc

Parameter

Type

Description

function_urn

String

Function URN.

remark

String

Description.

NOTE:

Characters must be encoded using UTF-8 or Unicode.

Maximum: 255

invocation_type

String

Invocation mode.

  • async: asynchronous

  • sync: synchronous

version

String

Version.

Maximum: 64

timeout

Integer

Timeout interval allowed for ROMA Connect APIC to request the backend service.

The unit is millisecond. The default value will be used if the specified value is outside the allowable range.

Minimum: 1

authorizer_id

String

Backend custom authorizer ID.

id

String

ID.

register_time

String

Registration time.

status

Integer

Backend status.

  • 1: valid

update_time

String

Update time.

Table 6 ApiMock

Parameter

Type

Description

remark

String

Description.

NOTE:

Characters must be encoded using UTF-8 or Unicode.

Maximum: 255

result_content

String

Response.

version

String

Version. Ensure that the version does not exceed 64 characters.

authorizer_id

String

Backend custom authorizer ID.

id

String

ID.

register_time

String

Registration time.

status

Integer

Backend status.

  • 1: valid

update_time

String

Update time.

Table 7 ReqParam

Parameter

Type

Description

name

String

Parameter name. The value can contain letters, digits, hyphens (-), underscores (_), and periods (.) and must start with a letter.

Minimum: 1

Maximum: 32

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 mandatory. 1: The parameter is mandatory. 2: The parameter is optional.

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.

  • 1: enabled

  • 2: disabled

remark

String

Description.

NOTE:

Characters must be in UTF-8 or Unicode format.

Maximum: 255

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.

This parameter is currently not supported.

json_schema

String

JSON validation rule.

This parameter is currently not supported.

pass_through

Integer

Indicates whether to transparently transmit the parameter. 1: The parameter is transparently transmitted. 2: The parameter is not transparently transmitted.

id

String

Parameter ID.

Table 8 ApiPolicyFunctionResp

Parameter

Type

Description

function_urn

String

Function URN.

invocation_type

String

Invocation mode.

  • async: asynchronous

  • sync: synchronous

timeout

Integer

Timeout interval allowed for ROMA Connect APIC to request the backend service.

The unit is millisecond. The default value will be used if the specified value is outside the allowable range.

Minimum: 1

version

String

Version. Ensure that the version does not exceed 64 characters.

id

String

ID.

name

String

Backend name, which must start with a letter and can contain letters, digits, and underscores (_).

Minimum: 3

Maximum: 64

conditions

Array of ConditionResp objects

Policy conditions

backend_params

Array of BackendParam objects

Backend parameters

effect_mode

String

Effective mode of the backend policy.

  • ALL: All conditions are met.

  • ANY: Any condition is met.

authorizer_id

String

Backend custom authorizer ID.

Minimum: 1

Maximum: 65

Table 9 ApiPolicyMockResp

Parameter

Type

Description

id

String

ID.

name

String

Backend name, which must start with a letter and can contain letters, digits, and underscores (_).

Minimum: 3

Maximum: 64

conditions

Array of ConditionResp objects

Policy conditions

backend_params

Array of BackendParam objects

Backend parameters

effect_mode

String

Effective mode of the backend policy.

  • ALL: All conditions are met.

  • ANY: Any condition is met.

authorizer_id

String

Backend custom authorizer ID.

Minimum: 1

Maximum: 65

result_content

String

Response.

Table 10 BackendApi

Parameter

Type

Description

authorizer_id

String

Backend custom authorizer ID.

url_domain

String

Address of the backend service.

The value consists of the host (IP address or domain name) and port number. The total length cannot exceed 255 characters. The format is Host name:Port number (for example, apig.example.com:7443). If the port number is not specified, the default HTTPS port number is 443, and the default HTTP port number is 80.

Environment variables are supported. If environment variables are used, each variable name is a string of 3 to 32 characters. The string consists of letters, digits, underscores (_), and hyphens (-), and must start with an English letter.

req_protocol

String

Request protocol.

remark

String

Description.

NOTE:

Characters must be encoded using UTF-8 or Unicode.

Maximum: 255

req_method

String

Request method.

version

String

Web backend version, which can contain a maximum of 16 characters.

req_uri

String

Request URI. The value can contain request parameters identified by braces ({}), for example, /getUserInfo/{userId}. Special characters such as * % - _ . are supported. The total length cannot exceed 512 characters and must meet the URI specifications.

Environment variables are supported. If environment variables are used, each variable name is a string of 3 to 32 characters. The string consists of letters, digits, hyphens (-), and underscores (_) and must start with an English letter.

The value must comply with the URI specifications.

timeout

Integer

Timeout interval allowed for ROMA Connect APIC to request the backend service.

The unit is millisecond. The default value will be used if the specified value is outside the allowable range.

Minimum: 1

enable_client_ssl

Boolean

Whether to enable two-way authentication.

id

String

ID.

status

Integer

Backend status.

  • 1: valid

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.

  • 1: A VPC channel is used.

  • 2: No VPC channel is used.

Table 11 VpcInfo

Parameter

Type

Description

ecs_id

String

Cloud server ID.

ecs_name

Integer

Cloud server name.

cascade_flag

Boolean

Indicates whether to use the cascading mode.

This parameter is currently not supported.

vpc_channel_proxy_host

String

Proxy host.

vpc_channel_id

String

VPC channel ID.

Maximum: 64

vpc_channel_port

String

VPC channel port.

Table 12 ApiPolicyHttpResp

Parameter

Type

Description

id

String

ID.

name

String

Backend name, which must start with a letter and can contain letters, digits, and underscores (_).

Minimum: 3

Maximum: 64

conditions

Array of ConditionResp objects

Policy conditions

backend_params

Array of BackendParam objects

Backend parameters

effect_mode

String

Effective mode of the backend policy.

  • ALL: All conditions are met.

  • ANY: Any condition is met.

authorizer_id

String

Backend custom authorizer ID.

Minimum: 1

Maximum: 65

url_domain

String

Endpoint of the policy backend.

The value consists of a domain name (or an IP address) and a port number. The total length cannot exceed 255 characters. The value is in Domain name:Port number format, for example, apig.example.com:7443. If the port number is not specified, the default HTTPS port number is 443 and the default HTTP port number is 80.

Environment variables are supported. If environment variables are used, each variable name must contain 3 to 32 characters, including letters, digits, underscores (_), and hyphens (-). The value must start with a letter.

req_protocol

String

Request protocol. The value can be HTTP or HTTPS.

req_method

String

Request method

req_uri

String

Request URI. The value can contain request parameters identified by braces ({}), for example, /getUserInfo/{userId}. Special characters such as * % - _ . are supported. The total length cannot exceed 512 characters and must meet the URI specifications.

Environment variables are supported. If environment variables are used, each variable name is a string of 3 to 32 characters. The string consists of letters, digits, hyphens (-), and underscores (_) and must start with an English letter.

The value must comply with the URI specifications.

timeout

Integer

Timeout interval allowed for ROMA Connect APIC to request the backend service.

The unit is millisecond. The default value will be used if the specified value is outside the allowable range.

Minimum: 1

enable_client_ssl

Boolean

Whether to enable two-way authentication.

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.

  • 1: A VPC channel is used.

  • 2: No VPC channel is used.

Table 13 ConditionResp

Parameter

Type

Description

req_param_name

String

Input parameter name. This parameter is required if the policy type is param.

condition_type

String

Policy condition.

  • exact: exact match

  • enum: enumeration

  • pattern: regular expression

This parameter is required if the policy type is param.

condition_origin

String

Policy type.

  • param: input parameter

  • source: source IP address

condition_value

String

Policy value.

id

String

ID.

req_param_id

String

Input parameter ID.

req_param_location

String

Input parameter location.

Table 14 BackendParam

Parameter

Type

Description

name

String

Parameter name, which must start with a letter and can only contain letters, digits, hyphens (-), underscores (_), and periods (.).

Minimum: 1

Maximum: 32

location

String

Parameter location. The value can be PATH, QUERY, or HEADER.

origin

String

Parameter type. The value can be REQUEST, CONSTANT, and SYSTEM.

value

String

Parameter value, which can contain a maximum of 255 characters. If the parameter type is REQUEST, the value is a parameter name in req_params. If the parameter type is CONSTANT, the value is a constant. If the parameter type is SYSTEM, the value is a gateway parameter name.

Maximum: 255

remark

String

Description.

NOTE:

Characters must be encoded using UTF-8 or Unicode.

Maximum: 255

id

String

Parameter ID.

req_param_id

String

ID of the request parameter to which the backend parameter is mapped.

Status code: 401

Table 15 Response body parameters

Parameter

Type

Description

error_code

String

Error code.

error_msg

String

Error description.

Status code: 403

Table 16 Response body parameters

Parameter

Type

Description

error_code

String

Error code.

error_msg

String

Error description.

Status code: 404

Table 17 Response body parameters

Parameter

Type

Description

error_code

String

Error code.

error_msg

String

Error description.

Status code: 500

Table 18 Response body parameters

Parameter

Type

Description

error_code

String

Error code.

error_msg

String

Error description.

Example Requests

None

Example Responses

Status code: 200

OK

{
  "id" : "5f918d104dc84480a75166ba99efff21",
  "tags" : [ "webApi" ],
  "arrange_necessary" : 2,
  "backend_type" : "HTTP",
  "auth_type" : "AUTHORIZER",
  "auth_opt" : {
    "app_code_auth_type" : "DISABLE"
  },
  "authorizer_id" : "8d0443832a194eaa84244e0c1c1912ac",
  "backend_api" : {
    "update_time" : "2020-08-02T16:32:47.077029Z",
    "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
  },
  "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" : "Normal response example",
  "result_failure_sample" : "Failure response example",
  "register_time" : "2020-07-31T12:42:51Z",
  "update_time" : "2020-08-02T16:32:47.046289Z",
  "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" : "Application ID of the invoker.",
    "id" : "216ddda836e74d528f364ff589d9dd21"
  } ]
}

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

401

Unauthorized

403

Forbidden

404

Not Found

500

Internal Server Error

Error Codes

See Error Codes.