API7 Docs

Get the permission policy authoring catalog

GET /api/permission_policies/metadata

GET /api/permission_policies/metadata

Interactive request editor loads with JavaScript.

Authorization

X-API-KEY<token>

In: header

Response Body

application/json

curl -X GET "$API_BASE_URL/api/permission_policies/metadata"

Successfully retrieved the permission policy authoring catalog.

{
  "value": {
    "resource_types": [
      {
        "name": "GatewayGroup",
        "display_name": "Gateway Group",
        "namespace": "ai_gateway",
        "item_arn_template": "arn:api7:gateway:gatewaygroup/%s",
        "all_arn_template": "arn:api7:gateway:gatewaygroup/*",
        "parents": [
          "string"
        ],
        "condition_keys": [
          "string"
        ],
        "list_endpoint": "/api/gateway_groups",
        "label_field": "name",
        "id_field": "id",
        "actions": [
          {
            "name": "gateway:GetGatewayGroup",
            "access_level": "Read",
            "resource_type": "GatewayGroup"
          }
        ]
      }
    ],
    "access_levels": [
      "Read"
    ],
    "operators": [
      "exact_match"
    ]
  }
}
Complete operation details and schema variants

GET /api/permission_policies/metadata

Get the permission policy authoring catalog

Return the static catalog used by the console Visual Editor to author permission policies: every supported resource type with its ARN templates, available list endpoint, condition keys, and the ordered list of actions classified by access level. The payload is purely configuration data, depends on no database state and is safe for any authenticated user to read.

Parameters

Responses

  • 200: Successfully retrieved the permission policy authoring catalog.
  • allOf variant 1
  • value (object, optional): The specific resource.
  • allOf variant 2
  • value (object, optional): Static catalog used by the console Visual Editor to author permission policies. Lists every supported resource type with its ARN templates, optional list endpoint, condition keys, and the ordered list of actions classified by access level.
  • value.resource_types (array, required): Every resource type that may appear in a policy statement.
  • value.resource_types[].name (string, required): Stable identifier (PascalCase) used as resource_type on actions.
  • value.resource_types[].display_name (string, required): Human-readable label shown in the console UI.
  • value.resource_types[].namespace (string, required): ARN namespace segment.
  • value.resource_types[].item_arn_template (string, optional): ARN pattern for one specific resource instance. Contains %s placeholders filled with parent IDs followed by the resource's own ID. Omitted when the resource type only supports wildcard form.
  • value.resource_types[].all_arn_template (string, required): ARN pattern selecting every resource of this type within the required parent scope.
  • value.resource_types[].parents (array, optional): Parent resource type names whose IDs must be supplied before this resource's own ID.
  • value.resource_types[].condition_keys (array, optional): Condition keys the Visual Editor may offer when authoring conditions for this resource type.
  • value.resource_types[].list_endpoint (string, optional): HTTP path the console can call to enumerate instances. May contain {Parent} placeholders.
  • value.resource_types[].label_field (string, optional): Field on each list-endpoint item used as the picker label.
  • value.resource_types[].id_field (string, optional): Field on each list-endpoint item substituted into item_arn_template's final placeholder.
  • value.resource_types[].actions (array, required): Ordered list of actions targeting this resource type.
  • value.resource_types[].actions[].name (string, required): Canonical action string.
  • value.resource_types[].actions[].access_level (string, required): Coarse-grained risk classification.
  • value.resource_types[].actions[].resource_type (string, required): PolicyResourceType.name this action belongs to.
  • value.access_levels (array, required): Ordered list of supported access levels.
  • value.operators (array, required): Operators the Visual Editor may offer when authoring conditions.

cURL

curl -X GET '$API_BASE_URL/api/permission_policies/metadata'