Help Center/ ROMA Connect/ API Reference/ Service Integration APIs/ Plug-in Management/ Querying Plug-ins that Can Be Bound to the Current API
Updated on 2023-06-29 GMT+08:00

Querying Plug-ins that Can Be Bound to the Current API

Function

Query plug-ins that can be bound to the current API.

  • Pagination

  • Fuzzy query by plug-in name

URI

GET /v2/{project_id}/apic/instances/{instance_id}/apis/{api_id}/attachable-plugins

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.

Table 2 Query Parameters

Parameter

Mandatory

Type

Description

offset

No

Long

Offset from which the query starts. If the offset is less than 0, the value is automatically converted to 0.

Default: 0

limit

No

Integer

Number of items displayed on each page.

Minimum: 1

Maximum: 500

Default: 20

env_id

Yes

String

ID of the environment in which the API has been published.

plugin_name

No

String

Plug-in name.

plugin_type

No

String

Plug-in type.

plugin_id

No

String

Plug-in ID.

roma_app_id

No

String

Integration application ID.

roma_app_name

No

String

Integration application name.

Request Parameters

Table 3 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 4 Response body parameters

Parameter

Type

Description

size

Integer

Length of the returned resource list.

total

Long

Number of resources that match the query conditions.

plugins

Array of PluginInfo objects

Plug-in list.

Table 5 PluginInfo

Parameter

Type

Description

plugin_id

String

Plug-in ID.

plugin_name

String

Plug-in name. Enter 3 to 255 characters, starting with a letter. Only letters, digits, hyphens (-), and underscores (_) are allowed.

plugin_type

String

Plug-in type. Options:

  • cors: cross-origin resource sharing

  • set_resp_headers: HTTP response header management

  • kafka_log: Kafka log push

  • breaker: circuit breaker

  • rate_limit: request throttling

  • third_auth: third-party authentication

plugin_scope

String

Plug-in scope. Options:

  • global: visible to all integration applications

  • app: visible to the current integration application

plugin_content

String

Plug-in definition, in JSON. Example: CorsPluginContent: cross-origin resource sharing SetRespHeadersContent: HTTP response header management KafkaLogContent: Kafka log push BreakerContent: circuit breaker RateLimitContent: request throttling ThirdAuthContent: third-party authentication

Maximum: 65535

remark

String

Plug-in description. Max. 255 characters.

Maximum: 255

create_time

String

Creation time.

update_time

String

Update time.

roma_app_id

String

Integration application ID. Valid when plugin_scope is set to app.

roma_app_name

String

Name of the integration application to which the API belongs.

Status code: 400

Table 6 Response body parameters

Parameter

Type

Description

error_code

String

Error code.

error_msg

String

Error description.

Status code: 401

Table 7 Response body parameters

Parameter

Type

Description

error_code

String

Error code.

error_msg

String

Error description.

Status code: 403

Table 8 Response body parameters

Parameter

Type

Description

error_code

String

Error code.

error_msg

String

Error description.

Status code: 404

Table 9 Response body parameters

Parameter

Type

Description

error_code

String

Error code.

error_msg

String

Error description.

Status code: 500

Table 10 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

{
  "total" : 1,
  "size" : 1,
  "quotas" : [ {
    "plugin_id" : "5b729aa252764739b3s237ef0d66dc63",
    "plugin_name" : "CORS plug-in.",
    "plugin_type" : "cors",
    "plugin_scope" : "global",
    "plugin_content" : "{\"allow_origin\": \"*\",\"allow_methods\": \"GET,POST,PUT\",\"allow_headers\": \"Content-Type,Accept,Accept-Ranges,Cache-Control\",\"expose_headers\": \"X-Request-Id,X-Apig-Latency\",\"max_age\": 172800,\"allow_credentials\": true}",
    "remark" : "Cross-origin resource sharing.",
    "create_time" : "2022-11-02T12:31:23.353Z",
    "update_time" : "2022-11-02T12:31:23.353Z"
  } ]
}

Status code: 400

Bad Request

{
  "error_code" : "APIG.2012",
  "error_msg" : "Invalid parameter value,parameterName:instance_id. 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.