Updated on 2025-03-26 GMT+08:00

Binding a Plug-in to an API

Function

This API is used to bind a plug-in to APIs.

  • Only published APIs can be bound with plug-ins.

  • Plug-ins take effect immediately after binding.

  • Plug-ins take effect immediately after being modified.

  • An API can be bound with only one plug-in of the same type.

URI

POST /v2/{project_id}/apic/instances/{instance_id}/apis/{api_id}/plugins/attach

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).

Table 3 Request body parameters

Parameter

Mandatory

Type

Description

env_id

Yes

String

ID of the environment for API calling authorization.

plugin_ids

Yes

Array of strings

Bound plug-in IDs.

Response Parameters

Status code: 201

Table 4 Response body parameters

Parameter

Type

Description

attached_plugins

Array of PluginApiAttachInfo objects

Bound plug-ins.

Table 5 PluginApiAttachInfo

Parameter

Type

Description

plugin_attach_id

String

Plug-in binding ID.

plugin_id

String

Plug-in ID.

plugin_name

String

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

NOTE:

Chinese characters must be in UTF-8 or Unicode format.

plugin_type

String

Plug-in type.

  • 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.

  • proxy_cache: Response cache.

  • proxy_mirror: Request mirroring.

plugin_scope

String

Plug-in scope. Options:

  • global: visible to all integration applications

  • app: visible to the current integration application

env_id

String

ID of the environment for API calling authorization.

env_name

String

Name of the environment for API calling authorization.

api_id

String

Bound API ID.

api_name

String

API name.

attached_time

String

Time when the API is bound.

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

Bind a plug-in to a specified API.

{
  "env_id" : "DEFAULT_ENVIRONMENT_RELEASE_ID",
  "plugin_ids" : [ "5b729aa252764739b3s237ef0d66dc63" ]
}

Example Responses

Status code: 201

OK

{
  "attached_plugins" : [ {
    "plugin_attach_id" : "8aa097b00e9843efacb9c593d11b769e",
    "plugin_id" : "5b729aa252764739b3s237ef0d66dc63",
    "plugin_name" : "CORS plug-in.",
    "plugin_type" : "cors",
    "plugin_scope" : "global",
    "env_id" : "DEFAULT_ENVIRONMENT_RELEASE_ID",
    "env_name" : "RELEASE",
    "api_id" : "8aa097b00e9843efabc9c593d11b769d",
    "api_name" : "api_name",
    "attached_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.3068",
  "error_msg" : "Plugin b294018ee0554156a875b3513e02e5b9 does not exist"
}

Status code: 500

Internal Server Error

{
  "error_code" : "APIG.9999",
  "error_msg" : "System error"
}

Status Codes

Status Code

Description

201

OK

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

500

Internal Server Error

Error Codes

See Error Codes.