Download OpenAPI specification:Download
API7 Enterprise Developer Portal APIs are RESTful APIs that allow you to create and manage developer portal resources.
All API paths are relative to your API7 Developer Portal address, e.g. https://your-api7-developer-portal.
Every request must include a Developer Portal token:
Authorization HTTP header.Most developer resource requests must also include the active developer ID:
X-Portal-Developer-ID HTTP header where required by the operation.| page | integer <int32> >= 1 Page number of the listed resources. Used together with |
| page_size | integer <int32> >= 1 Number of resources listed per page. Used together with |
| direction | string Default: "desc" Enum: "asc" "desc" Order to list the resources by. The sorting index follows the configuration of |
| order_by | string Default: "last_active_at" Enum: "last_active_at" "created_at" Index to order developers by. |
| search | string Example: search=version%3Dv2 Condition to search resources by. |
{- "list": [
- {
- "id": "bd58fce2-b6cc-4d2d-a53c-6ce11b19c101",
- "name": "dev one",
- "last_active_at": "2025-01-01T00:00:00.000Z",
- "created_at": "2025-01-01T00:00:00.000Z",
- "updated_at": "2025-01-01T00:00:00.000Z"
}
], - "total": 1
}| developer_id required | string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$ The object ID. |
{- "developer_id": "bd58fce2-b6cc-4d2d-a53c-6ce11b19c101"
}{- "id": "bd58fce2-b6cc-4d2d-a53c-6ce11b19c101",
- "name": "dev one",
- "last_active_at": "2025-01-01T00:00:00.000Z",
- "created_at": "2025-01-01T00:00:00.000Z",
- "updated_at": "2025-01-01T00:00:00.000Z"
}| page | integer <int32> >= 1 Page number of the listed resources. Used together with |
| page_size | integer <int32> >= 1 Number of resources listed per page. Used together with |
| direction | string Default: "desc" Enum: "asc" "desc" Order to list the resources by. The sorting index follows the configuration of |
| order_by | string Default: "updated_at" Enum: "created_at" "updated_at" Index to order resources by. |
| search | string Example: search=version%3Dv2 Condition to search resources by. |
| subscription_status | string Enum: "unsubscribed" "wait_for_approval" "subscribed" |
| application_id | string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$ Example: application_id=bd58fce2-b6cc-4d2d-a53c-6ce11b19c101 The object ID. |
{- "list": [
- {
- "type": "gateway",
- "name": "Weather Insights API",
- "logo": "string",
- "desc": "The Weather Insights API provides real-time and historical weather data for any location worldwide.",
- "labels": {
- "version": "v2",
- "env": "prod"
}, - "auth": {
- "key-auth": {
- "header": "apikey",
- "hide_credentials": false,
- "query": "apikey"
}
}, - "status": "draft",
- "subscription_auto_approval": false,
- "can_view_unsubscribed": true,
- "visibility": "public",
- "raw_openapis": [
- "Raw OpenAPI spec"
], - "api_count": 10,
- "id": "bd58fce2-b6cc-4d2d-a53c-6ce11b19c101",
- "created_at": "2025-01-01T00:00:00.000Z",
- "updated_at": "2025-01-01T00:00:00.000Z",
- "subscription_status": "unsubscribed"
}
], - "total": 1
}| api_product_id required | string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$ Example: bd58fce2-b6cc-4d2d-a53c-6ce11b19c101 The unique identifier of the API product. |
{- "type": "gateway",
- "name": "Weather Insights API",
- "logo": "string",
- "desc": "The Weather Insights API provides real-time and historical weather data for any location worldwide.",
- "labels": {
- "version": "v2",
- "env": "prod"
}, - "auth": {
- "key-auth": {
- "header": "apikey",
- "hide_credentials": false,
- "query": "apikey"
}
}, - "status": "draft",
- "subscription_auto_approval": false,
- "can_view_unsubscribed": true,
- "visibility": "public",
- "raw_openapis": [
- "Raw OpenAPI spec"
], - "api_count": 10,
- "id": "bd58fce2-b6cc-4d2d-a53c-6ce11b19c101",
- "created_at": "2025-01-01T00:00:00.000Z",
- "updated_at": "2025-01-01T00:00:00.000Z",
- "subscription_status": "unsubscribed"
}| api_product_id required | string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$ Example: bd58fce2-b6cc-4d2d-a53c-6ce11b19c101 The unique identifier of the API product. |
| application_id required | string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$ Application ID. |
{- "application_id": "bd58fce2-b6cc-4d2d-a53c-6ce11b19c101"
}{- "status": 400,
- "message": "error message"
}| api_product_id | string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$ Example: api_product_id=bd58fce2-b6cc-4d2d-a53c-6ce11b19c101 The API product ID. |
| application_id | string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$ Example: application_id=bd58fce2-b6cc-4d2d-a53c-6ce11b19c101 The object ID. |
| status | Array of strings Items Enum: "unsubscribed" "wait_for_approval" "subscribed" |
| search | string Example: search=version%3Dv2 Condition to search resources by. |
| order_by | string Default: "subscribed_at" Enum: "developer_name" "subscribed_at" |
| page | integer <int32> >= 1 Page number of the listed resources. Used together with |
| page_size | integer <int32> >= 1 Number of resources listed per page. Used together with |
| direction | string Default: "desc" Enum: "asc" "desc" Order to list the resources by. The sorting index follows the configuration of |
{- "list": [
- {
- "id": "string",
- "developer_id": "string",
- "developer_name": "string",
- "subscribed_at": "2025-01-01T00:00:00.000Z",
- "application_id": "bd58fce2-b6cc-4d2d-a53c-6ce11b19c101",
- "application_name": "us-west-rsc",
- "api_product_id": "bd58fce2-b6cc-4d2d-a53c-6ce11b19c101",
- "api_product_name": "us-west-rsc",
- "status": "unsubscribed"
}
], - "total": 1
}| applications required | Array of strings non-empty [ items [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$ ] |
| api_products required | Array of strings non-empty [ items [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$ ] |
{- "applications": [
- "bd58fce2-b6cc-4d2d-a53c-6ce11b19c101"
], - "api_products": [
- "bd58fce2-b6cc-4d2d-a53c-6ce11b19c101"
]
}{- "status": 400,
- "message": "error message"
}| subscription_id required | string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$ Example: bd58fce2-b6cc-4d2d-a53c-6ce11b19c101 The object ID. |
{- "status": 400,
- "message": "error message"
}| name | string [ 1 .. 100 ] characters The object name. |
| desc | string <= 65536 characters The object description. |
object Key-value pairs of labels. |
{- "name": "us-west-rsc",
- "desc": "Object description.",
- "labels": {
- "version": "v2",
- "env": "prod"
}
}{- "name": "us-west-rsc",
- "desc": "Object description.",
- "labels": {
- "version": "v2",
- "env": "prod"
}, - "id": "bd58fce2-b6cc-4d2d-a53c-6ce11b19c101",
- "created_at": "2025-01-01T00:00:00.000Z",
- "updated_at": "2025-01-01T00:00:00.000Z"
}| api_product_id | string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$ Example: api_product_id=bd58fce2-b6cc-4d2d-a53c-6ce11b19c101 The API product ID. |
| search | string Example: search=version%3Dv2 Condition to search resources by. |
| labels | string non-empty Example: labels=labels%5Bversion%5D=v2 Label(s) to filter resources by. The format is |
| order_by | string Default: "updated_at" Enum: "created_at" "updated_at" Index to order resources by. |
| page | integer <int32> >= 1 Page number of the listed resources. Used together with |
| page_size | integer <int32> >= 1 Number of resources listed per page. Used together with |
| direction | string Default: "desc" Enum: "asc" "desc" Order to list the resources by. The sorting index follows the configuration of |
{- "list": [
- {
- "subscription_status": "unsubscribed",
- "name": "us-west-rsc",
- "desc": "Object description.",
- "labels": {
- "version": "v2",
- "env": "prod"
}, - "id": "bd58fce2-b6cc-4d2d-a53c-6ce11b19c101",
- "created_at": "2025-01-01T00:00:00.000Z",
- "updated_at": "2025-01-01T00:00:00.000Z"
}
], - "total": 1
}| application_id required | string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$ Default: "default" Example: bd58fce2-b6cc-4d2d-a53c-6ce11b19c101 The object ID. |
{- "name": "us-west-rsc",
- "desc": "Object description.",
- "labels": {
- "version": "v2",
- "env": "prod"
}, - "id": "bd58fce2-b6cc-4d2d-a53c-6ce11b19c101",
- "created_at": "2025-01-01T00:00:00.000Z",
- "updated_at": "2025-01-01T00:00:00.000Z"
}| application_id required | string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$ Default: "default" Example: bd58fce2-b6cc-4d2d-a53c-6ce11b19c101 The object ID. |
| name | string [ 1 .. 100 ] characters The object name. |
| desc | string <= 65536 characters The object description. |
object Key-value pairs of labels. |
{- "name": "us-west-rsc",
- "desc": "Object description.",
- "labels": {
- "version": "v2",
- "env": "prod"
}
}{- "name": "us-west-rsc",
- "desc": "Object description.",
- "labels": {
- "version": "v2",
- "env": "prod"
}, - "id": "bd58fce2-b6cc-4d2d-a53c-6ce11b19c101",
- "created_at": "2025-01-01T00:00:00.000Z",
- "updated_at": "2025-01-01T00:00:00.000Z"
}| application_id required | string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$ Default: "default" Example: bd58fce2-b6cc-4d2d-a53c-6ce11b19c101 The object ID. |
{- "status": 400,
- "message": "error message"
}| application_id required | string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$ Default: "default" Example: bd58fce2-b6cc-4d2d-a53c-6ce11b19c101 The object ID. |
| desc | string <= 65536 characters The object description. |
object Key-value pairs of labels. | |
| type required | string Value: "key-auth" The credential type. |
| name required | string [ 1 .. 100 ] characters The object name. |
object or null Key Auth configuration. If null, key will be auto-generated. |
{- "desc": "Object description.",
- "labels": {
- "version": "v2",
- "env": "prod"
}, - "type": "oauth",
- "oauth": {
- "dcr_provider_id": "string",
- "redirect_uris": [
- "string"
]
}
}{- "application_id": "default",
- "application_name": "us-west-rsc",
- "desc": "Object description.",
- "labels": {
- "version": "v2",
- "env": "prod"
}, - "type": "oauth",
- "oauth": {
- "dcr_provider_id": "string",
- "dcr_provider": {
- "id": "bd58fce2-b6cc-4d2d-a53c-6ce11b19c101",
- "name": "string",
- "provider_type": "oidc",
- "issuer": "string"
}, - "client_id": "string",
- "client_secret": "string",
- "redirect_uris": [
- "string"
]
}, - "id": "bd58fce2-b6cc-4d2d-a53c-6ce11b19c101",
- "created_at": "2025-01-01T00:00:00.000Z",
- "updated_at": "2025-01-01T00:00:00.000Z"
}| application_id required | string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$ Default: "default" Example: bd58fce2-b6cc-4d2d-a53c-6ce11b19c101 The object ID. |
| auth_method | string Enum: "key-auth" "basic-auth" "oauth" The authentication method of the developer credential. |
| plugin_name | string [ 1 .. 100 ] characters Deprecated Example: plugin_name=us-west-rsc The plugin name of the application credential, recommended to use |
| page | integer <int32> >= 1 Page number of the listed resources. Used together with |
| page_size | integer <int32> >= 1 Number of resources listed per page. Used together with |
| direction | string Default: "desc" Enum: "asc" "desc" Order to list the resources by. The sorting index follows the configuration of |
| order_by | string Default: "updated_at" Enum: "created_at" "updated_at" "name" Index to order credentials by. |
| search | string Example: search=version%3Dv2 Condition to search resources by. |
| labels | string non-empty Example: labels=labels%5Bversion%5D=v2 Label(s) to filter resources by. The format is |
{- "list": [
- {
- "application_id": "default",
- "application_name": "us-west-rsc",
- "desc": "Object description.",
- "labels": {
- "version": "v2",
- "env": "prod"
}, - "type": "key-auth",
- "name": "us-west-rsc",
- "key-auth": {
- "key": "string"
}, - "id": "bd58fce2-b6cc-4d2d-a53c-6ce11b19c101",
- "created_at": "2025-01-01T00:00:00.000Z",
- "updated_at": "2025-01-01T00:00:00.000Z"
}
], - "total": 1
}| application_id required | string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$ Default: "default" Example: bd58fce2-b6cc-4d2d-a53c-6ce11b19c101 The object ID. |
| credential_id required | string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$ Example: bd58fce2-b6cc-4d2d-a53c-6ce11b19c101 The unique identifier of the application credential. |
{- "application_id": "default",
- "application_name": "us-west-rsc",
- "desc": "Object description.",
- "labels": {
- "version": "v2",
- "env": "prod"
}, - "type": "oauth",
- "oauth": {
- "dcr_provider_id": "string",
- "dcr_provider": {
- "id": "bd58fce2-b6cc-4d2d-a53c-6ce11b19c101",
- "name": "string",
- "provider_type": "oidc",
- "issuer": "string"
}, - "client_id": "string",
- "client_secret": "string",
- "redirect_uris": [
- "string"
]
}, - "id": "bd58fce2-b6cc-4d2d-a53c-6ce11b19c101",
- "created_at": "2025-01-01T00:00:00.000Z",
- "updated_at": "2025-01-01T00:00:00.000Z"
}| application_id required | string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$ Default: "default" Example: bd58fce2-b6cc-4d2d-a53c-6ce11b19c101 The object ID. |
| credential_id required | string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$ Example: bd58fce2-b6cc-4d2d-a53c-6ce11b19c101 The unique identifier of the application credential. |
| type required | string Enum: "key-auth" "basic-auth" The credential type. |
| name required | string [ 1 .. 100 ] characters The object name. |
| desc | string <= 65536 characters The object description. |
object Key-value pairs of labels. |
{- "type": "oauth",
- "desc": "Object description.",
- "labels": {
- "version": "v2",
- "env": "prod"
}, - "oauth": {
- "redirect_uris": [
- "string"
]
}
}{- "application_id": "default",
- "application_name": "us-west-rsc",
- "desc": "Object description.",
- "labels": {
- "version": "v2",
- "env": "prod"
}, - "type": "oauth",
- "oauth": {
- "dcr_provider_id": "string",
- "dcr_provider": {
- "id": "bd58fce2-b6cc-4d2d-a53c-6ce11b19c101",
- "name": "string",
- "provider_type": "oidc",
- "issuer": "string"
}, - "client_id": "string",
- "client_secret": "string",
- "redirect_uris": [
- "string"
]
}, - "id": "bd58fce2-b6cc-4d2d-a53c-6ce11b19c101",
- "created_at": "2025-01-01T00:00:00.000Z",
- "updated_at": "2025-01-01T00:00:00.000Z"
}| application_id required | string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$ Default: "default" Example: bd58fce2-b6cc-4d2d-a53c-6ce11b19c101 The object ID. |
| credential_id required | string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$ Example: bd58fce2-b6cc-4d2d-a53c-6ce11b19c101 The unique identifier of the application credential. |
{- "status": 400,
- "message": "error message"
}| application_id required | string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$ Default: "default" Example: bd58fce2-b6cc-4d2d-a53c-6ce11b19c101 The object ID. |
| credential_id required | string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$ Example: bd58fce2-b6cc-4d2d-a53c-6ce11b19c101 The unique identifier of the application credential. |
| type required | string Value: "key-auth" The credential type. |
object or null Key Auth configuration. If null, key will be auto-generated. |
{- "type": "oauth"
}{- "application_id": "default",
- "application_name": "us-west-rsc",
- "desc": "Object description.",
- "labels": {
- "version": "v2",
- "env": "prod"
}, - "type": "oauth",
- "oauth": {
- "dcr_provider_id": "string",
- "dcr_provider": {
- "id": "bd58fce2-b6cc-4d2d-a53c-6ce11b19c101",
- "name": "string",
- "provider_type": "oidc",
- "issuer": "string"
}, - "client_id": "string",
- "client_secret": "string",
- "redirect_uris": [
- "string"
]
}, - "id": "bd58fce2-b6cc-4d2d-a53c-6ce11b19c101",
- "created_at": "2025-01-01T00:00:00.000Z",
- "updated_at": "2025-01-01T00:00:00.000Z"
}| application_id | Array of strings[ items [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$ ] Example: application_id=bd58fce2-b6cc-4d2d-a53c-6ce11b19c101 |
| auth_method | string Enum: "key-auth" "basic-auth" "oauth" The authentication method of the developer credential. |
| plugin_name | string [ 1 .. 100 ] characters Deprecated Example: plugin_name=us-west-rsc The plugin name of the application credential, recommended to use |
| page | integer <int32> >= 1 Page number of the listed resources. Used together with |
| page_size | integer <int32> >= 1 Number of resources listed per page. Used together with |
| direction | string Default: "desc" Enum: "asc" "desc" Order to list the resources by. The sorting index follows the configuration of |
| order_by | string Default: "updated_at" Enum: "created_at" "updated_at" "name" Index to order credentials by. |
| search | string Example: search=version%3Dv2 Condition to search resources by. |
| labels | string non-empty Example: labels=labels%5Bversion%5D=v2 Label(s) to filter resources by. The format is |
{- "list": [
- {
- "application_id": "default",
- "application_name": "us-west-rsc",
- "desc": "Object description.",
- "labels": {
- "version": "v2",
- "env": "prod"
}, - "type": "key-auth",
- "name": "us-west-rsc",
- "key-auth": {
- "key": "string"
}, - "id": "bd58fce2-b6cc-4d2d-a53c-6ce11b19c101",
- "created_at": "2025-01-01T00:00:00.000Z",
- "updated_at": "2025-01-01T00:00:00.000Z"
}
], - "total": 1
}Retrieve a list of API calls made by the user.
| application_id | Array of strings[ items [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$ ] Example: application_id=bd58fce2-b6cc-4d2d-a53c-6ce11b19c101 |
| api_product_id | Array of strings[ items [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$ ] Example: api_product_id=bd58fce2-b6cc-4d2d-a53c-6ce11b19c101 The API product IDs. |
| credential_id | Array of strings[ items [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$ ] Example: credential_id=bd58fce2-b6cc-4d2d-a53c-6ce11b19c101 |
| start_at required | integer |
| end_at required | integer |
{- "list": [
- {
- "api_product_id": "bd58fce2-b6cc-4d2d-a53c-6ce11b19c101",
- "api_product_name": "us-west-rsc",
- "hour_timestamp": 1742288230,
- "api_calls": 0
}
], - "total": 1
}| resource_type required | string Enum: "developer_credential" "developer_application" "api_product" |
{- "k8s/namespace": [
- "api7-ingress-system",
- "default",
- "api7"
], - "manager-by": [
- "api7-ingress-controller",
- "apisix-ingress-controller"
]
}| page | integer <int32> >= 1 Page number of the listed resources. Used together with |
| page_size | integer <int32> >= 1 Number of resources listed per page. Used together with |
| direction | string Default: "desc" Enum: "asc" "desc" Order to list the resources by. The sorting index follows the configuration of |
| order_by | string Default: "updated_at" Enum: "created_at" "updated_at" Index to order resources by. |
| search | string Example: search=version%3Dv2 Condition to search resources by. |
{- "list": [
- {
- "id": "bd58fce2-b6cc-4d2d-a53c-6ce11b19c101",
- "name": "string",
- "provider_type": "oidc",
- "issuer": "string"
}
], - "total": 1
}List pending and processed approval workflow items for the current portal, such as API product subscriptions and developer registrations. Results are scoped to the portal of the request token.
| status | string Enum: "pending" "finished" Approval status. |
| result | string Enum: "accepted" "rejected" "cancelled" Approval outcome. |
| event | string Enum: "api_product_subscription" "developer_registration" Approval event. |
| resource_type | string Enum: "api_product" "developer" Resource type. |
| resource_name | string Resource name. |
| operator_name | string Operator name. |
| applicant_name | string Applicant name. |
| page | integer <int32> >= 1 Page number of the listed resources. Used together with |
| page_size | integer <int32> >= 1 Number of resources listed per page. Used together with |
| direction | string Default: "desc" Enum: "asc" "desc" Order to list the resources by. The sorting index follows the configuration of |
| order_by | string Default: "applied_at" Enum: "applied_at" "resource_name" "operated_at" Index to order approvals by. |
| search | string Example: search=version%3Dv2 Condition to search resources by. |
{- "list": [
- {
- "id": "bd58fce2-b6cc-4d2d-a53c-6ce11b19c101",
- "created_at": "2025-01-01T00:00:00.000Z",
- "updated_at": "2025-01-01T00:00:00.000Z",
- "event": "api_product_subscription",
- "status": "pending",
- "result": "accepted",
- "resource_type": "api_product",
- "resource_id": "string",
- "resource_name": "string",
- "applicant_id": "string",
- "applicant_name": "string",
- "operator_id": "string",
- "operator_name": "string",
- "metadata": "string",
- "applied_at": "2025-01-01T00:00:00.000Z",
- "operated_at": "2025-01-01T00:00:00.000Z"
}
], - "total": 1
}Approve a specific workflow request and apply the corresponding portal-side change, such as granting an API product subscription or accepting a developer sign-up.
| approval_id required | string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$ Example: bd58fce2-b6cc-4d2d-a53c-6ce11b19c101 Approval ID. |
| metadata | string Opaque JSON string stored on the approval. The developer portal uses it to carry the acting platform admin's identity. |
{- "metadata": "string"
}{- "status": 400,
- "message": "error message"
}Reject a specific workflow approval request so the requested action is not applied.
| approval_id required | string [ 1 .. 256 ] characters ^[a-zA-Z0-9-_.]+$ Example: bd58fce2-b6cc-4d2d-a53c-6ce11b19c101 Approval ID. |
| metadata | string Opaque JSON string stored on the approval. The developer portal uses it to carry the acting platform admin's identity. |
{- "metadata": "string"
}{- "status": 400,
- "message": "error message"
}