WSO2 Advanced Policy (Individual) API

The Advanced Policy (Individual) API from WSO2 — 1 operation(s) for advanced policy (individual).

Business capability
API Consumption Governance BC-4270.50

Operations 3

GET /throttling/policies/advanced/{policyId} Get an Advanced Throttling Policy #
PUT /throttling/policies/advanced/{policyId} Update an Advanced Throttling Policy #
DELETE /throttling/policies/advanced/{policyId} Delete an Advanced Throttling Policy #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/wso2-advanced-policy-individual-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

wso2-advanced-policy-individual-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: WSO2 API Manager - Admin Advanced Policy (Individual) API
  description: This document specifies a **RESTful API** for WSO2 **API Manager** - **Admin Portal**.
  contact:
    name: WSO2
    url: https://wso2.com/api-manager/
    email: architecture@wso2.com
  license:
    name: Apache 2.0
    url: http://www.apache.org/licenses/LICENSE-2.0.html
  version: v4
servers:
- url: https://apis.wso2.com/api/am/admin/v4
tags:
- name: Advanced Policy (Individual)
paths:
  /throttling/policies/advanced/{policyId}:
    get:
      tags:
      - Advanced Policy (Individual)
      summary: Get an Advanced Throttling Policy
      description: Retrieves an advanced throttling policy.
      parameters:
      - $ref: '#/components/parameters/policyId'
      responses:
        200:
          description: 'OK.

            Policy returned

            '
          headers:
            Content-Type:
              description: 'The content type of the body.

                '
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AdvancedThrottlePolicy'
              example:
                policyId: 4cf46441-a538-4f79-a499-ab81200c9bca
                policyName: 10KPerMin
                displayName: 10KPerMin
                description: Allows 10000 requests per minute
                isDeployed: true
                defaultLimit:
                  type: REQUESTCOUNTLIMIT
                  requestCount:
                    timeUnit: min
                    unitTime: 1
                    requestCount: 10000
                conditionalGroups: []
        404:
          $ref: '#/components/responses/NotFound'
        406:
          $ref: '#/components/responses/NotAcceptable'
      security:
      - OAuth2Security:
        - apim:admin
        - apim:tier_view
        - apim:admin_tier_view
      x-code-samples:
      - lang: Curl
        source: 'curl -k -H "Authorization: Bearer ae4eae22-3f65-387b-a171-d37eaa366fa8" "https://127.0.0.1:9443/api/am/admin/v4/throttling/policies/advanced/229a3c46-c836-43c8-b988-8eebd9c7774b"'
      operationId: getThrottlingPoliciesAdvancedByPolicyId
      x-operation-id-source: derived
    put:
      tags:
      - Advanced Policy (Individual)
      summary: Update an Advanced Throttling Policy
      description: Updates an existing Advanced throttling policy.
      parameters:
      - $ref: '#/components/parameters/policyId'
      - $ref: '#/components/parameters/Content-Type'
      requestBody:
        description: 'Policy object that needs to be modified

          '
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AdvancedThrottlePolicy'
        required: true
      responses:
        200:
          description: 'OK.

            Policy updated.

            '
          headers:
            Location:
              description: 'The URL of the newly created resource.

                '
              schema:
                type: string
            Content-Type:
              description: 'The content type of the body.

                '
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AdvancedThrottlePolicy'
              example:
                policyId: 4cf46441-a538-4f79-a499-ab81200c9bca
                policyName: 10KPerMin
                displayName: 10KPerMin
                description: Allows 10000 requests per minute
                isDeployed: true
                defaultLimit:
                  type: REQUESTCOUNTLIMIT
                  requestCount:
                    timeUnit: min
                    unitTime: 1
                    requestCount: 10000
                conditionalGroups: []
        400:
          $ref: '#/components/responses/BadRequest'
        404:
          $ref: '#/components/responses/NotFound'
      security:
      - OAuth2Security:
        - apim:admin
        - apim:tier_manage
        - apim:admin_tier_manage
      x-code-samples:
      - lang: Curl
        source: 'curl -k -X PUT -H "Authorization: Bearer ae4eae22-3f65-387b-a171-d37eaa366fa8" -H "Content-Type: application/json" -d @data.json "https://127.0.0.1:9443/api/am/admin/v4/throttling/policies/advanced/229a3c46-c836-43c8-b988-8eebd9c7774b"'
      operationId: putThrottlingPoliciesAdvancedByPolicyId
      x-operation-id-source: derived
    delete:
      tags:
      - Advanced Policy (Individual)
      summary: Delete an Advanced Throttling Policy
      description: Deletes an advanced throttling policy.
      parameters:
      - $ref: '#/components/parameters/policyId'
      responses:
        200:
          description: 'OK.

            Resource successfully deleted.

            '
          content: {}
        404:
          $ref: '#/components/responses/NotFound'
      security:
      - OAuth2Security:
        - apim:admin
        - apim:tier_manage
        - apim:admin_tier_manage
        - apim:policies_import_export
      x-code-samples:
      - lang: Curl
        source: 'curl -k -X DELETE -H "Authorization: Bearer ae4eae22-3f65-387b-a171-d37eaa366fa8" "https://127.0.0.1:9443/api/am/admin/v4/throttling/policies/advanced/229a3c46-c836-43c8-b988-8eebd9c7774b"'
      operationId: deleteThrottlingPoliciesAdvancedByPolicyId
      x-operation-id-source: derived
components:
  schemas:
    JWTClaimsCondition:
      title: JWT claim attibute based throttling condition
      required:
      - attribute
      - claimUrl
      type: object
      properties:
        claimUrl:
          type: string
          description: JWT claim URL
        attribute:
          type: string
          description: Attribute to be matched
    HeaderCondition:
      title: HTTP Header based throttling condition
      required:
      - headerName
      - headerValue
      type: object
      properties:
        headerName:
          type: string
          description: Name of the header
        headerValue:
          type: string
          description: Value of the header
    ThrottleCondition:
      title: Throttling Conditions
      required:
      - type
      type: object
      properties:
        type:
          type: string
          description: 'Type of the throttling condition. Allowed values are "HEADERCONDITION", "IPCONDITION", "JWTCLAIMSCONDITION"

            and "QUERYPARAMETERCONDITION".

            '
          enum:
          - HEADERCONDITION
          - IPCONDITION
          - JWTCLAIMSCONDITION
          - QUERYPARAMETERCONDITION
        invertCondition:
          type: boolean
          description: 'Specifies whether inversion of the condition to be matched against the request.


            **Note:** When you add conditional groups for advanced throttling policies, this paramater should have the

            same value (''true'' or ''false'') for the same type of conditional group.

            '
          default: false
        headerCondition:
          $ref: '#/components/schemas/HeaderCondition'
        ipCondition:
          $ref: '#/components/schemas/IPCondition'
        jwtClaimsCondition:
          $ref: '#/components/schemas/JWTClaimsCondition'
        queryParameterCondition:
          $ref: '#/components/schemas/QueryParameterCondition'
      description: Conditions used for Throttling
    EventCountLimit:
      title: Event Count Limit object
      allOf:
      - $ref: '#/components/schemas/ThrottleLimitBase'
      - required:
        - eventCount
        type: object
        properties:
          eventCount:
            type: integer
            description: Maximum number of events allowed
            format: int64
            example: 3000
    ErrorListItem:
      title: Description of individual errors that may have occurred during a request.
      required:
      - code
      - message
      type: object
      properties:
        code:
          type: string
          description: Error code
        message:
          type: string
          description: 'Description about individual errors occurred

            '
    QueryParameterCondition:
      title: Query parameter based throttling condition
      required:
      - parameterName
      - parameterValue
      type: object
      properties:
        parameterName:
          type: string
          description: Name of the query parameter
        parameterValue:
          type: string
          description: Value of the query parameter to be matched
    RequestCountLimit:
      title: Request Count Limit object
      allOf:
      - $ref: '#/components/schemas/ThrottleLimitBase'
      - required:
        - requestCount
        type: object
        properties:
          requestCount:
            type: integer
            description: Maximum number of requests allowed
            format: int64
            example: 30
    ThrottleLimitBase:
      title: Throttle Limit Base
      required:
      - timeUnit
      - unitTime
      type: object
      properties:
        timeUnit:
          type: string
          description: Unit of the time. Allowed values are "sec", "min", "hour", "day"
          example: min
        unitTime:
          type: integer
          description: Time limit that the throttling limit applies.
          example: 10
    AdvancedThrottlePolicy:
      title: Advanced Throttling Policy
      allOf:
      - $ref: '#/components/schemas/ThrottlePolicy'
      - required:
        - defaultLimit
        type: object
        properties:
          defaultLimit:
            $ref: '#/components/schemas/ThrottleLimit'
          conditionalGroups:
            type: array
            description: 'Group of conditions which allow adding different parameter conditions to the throttling limit.

              '
            items:
              $ref: '#/components/schemas/ConditionalGroup'
    ThrottlePolicy:
      title: Generic Throttling Policy
      required:
      - policyName
      type: object
      properties:
        policyId:
          type: string
          description: Id of policy
          readOnly: true
          example: 0c6439fd-9b16-3c2e-be6e-1086e0b9aa93
        policyName:
          maxLength: 60
          minLength: 1
          type: string
          description: Name of policy
          example: 30PerMin
        displayName:
          type: string
          description: Display name of the policy
          example: 30PerMin
          maxLength: 512
        description:
          maxLength: 1024
          type: string
          description: Description of the policy
          example: Allows 30 request per minute
        isDeployed:
          type: boolean
          description: Indicates whether the policy is deployed successfully or not.
          default: false
        type:
          type: string
          description: Indicates the type of throttle policy
      discriminator:
        propertyName: type
    Error:
      title: Error object returned with 4XX HTTP status
      required:
      - code
      - message
      type: object
      properties:
        code:
          type: integer
          description: Error code
          format: int64
        message:
          type: string
          description: Error message.
        description:
          type: string
          description: 'A detail description about the error message.

            '
        moreInfo:
          type: string
          description: 'Preferably an url with more details about the error.

            '
        error:
          type: array
          description: 'If there are more than one error list them out.

            For example, list out validation errors by each field.

            '
          items:
            $ref: '#/components/schemas/ErrorListItem'
    ConditionalGroup:
      title: Conditional Groups for Throttling
      required:
      - conditions
      - limit
      type: object
      properties:
        description:
          type: string
          description: Description of the Conditional Group
        conditions:
          type: array
          description: 'Individual throttling conditions. They can be defined as either HeaderCondition, IPCondition, JWTClaimsCondition, QueryParameterCondition

            Please see schemas of each of those throttling condition in Definitions section.

            '
          example: "[\n  {\n    \"type\": \"HEADERCONDITION\",\n    \"invertCondition\": false,\n    \"headerCondition\":\n    {\n      \"headerName\": \"Host\",\n      \"headerValue\": \"10.100.7.77\"\n    }\n  },\n  {\n    \"type\": \"IPCONDITION\",\n    \"invertCondition\": false,\n    \"ipCondition\":\n    {\n      \"ipConditionType\": \"IPSPECIFIC\",\n      \"specificIP\": \"10.100.1.22\",\n      \"startingIP\": null,\n      \"endingIP\": null\n    }\n  },\n  {\n    \"type\": \"QUERYPARAMETERCONDITION\",\n    \"invertCondition\": false,\n    \"queryParameterCondition\":\n    {\n      \"parameterName\": \"name\",\n      \"parameterValue\": \"admin\"\n    }\n  },\n  {\n    \"type\": \"JWTCLAIMSCONDITION\",\n    \"invertCondition\": true,\n    \"jwtClaimsCondition\":\n    {\n      \"claimUrl\": \"claimUrl0\",\n      \"attribute\": \"claimAttr0\"\n    }\n  }\n]\n"
          items:
            $ref: '#/components/schemas/ThrottleCondition'
        limit:
          $ref: '#/components/schemas/ThrottleLimit'
    ThrottleLimit:
      title: Throttle Limit
      required:
      - type
      type: object
      properties:
        type:
          type: string
          description: "Type of the throttling limit. Allowed values are \"REQUESTCOUNTLIMIT\", \"BANDWIDTHLIMIT\", \"EVENTCOUNTLIMIT\"\nand \"AIAPIQUOTALIMIT\".\nPlease see schemas of \"RequestCountLimit\", \"BandwidthLimit\", \"EventCountLimit\" and \"AIAPIQuotaLimit\" \nthrottling limit types in Definitions section.\n"
          example: REQUESTCOUNTLIMIT
          enum:
          - REQUESTCOUNTLIMIT
          - BANDWIDTHLIMIT
          - EVENTCOUNTLIMIT
          - AIAPIQUOTALIMIT
        requestCount:
          $ref: '#/components/schemas/RequestCountLimit'
        bandwidth:
          $ref: '#/components/schemas/BandwidthLimit'
        eventCount:
          $ref: '#/components/schemas/EventCountLimit'
        aiApiQuota:
          $ref: '#/components/schemas/AIAPIQuotaLimit'
    AIAPIQuotaLimit:
      title: AI API Quota Limit object
      allOf:
      - $ref: '#/components/schemas/ThrottleLimitBase'
      - required:
        - requestCount
        type: object
        properties:
          requestCount:
            type: integer
            description: Maximum number of requests allowed
            format: int64
            example: 300
          totalTokenCount:
            type: integer
            description: Maximum number of total tokens allowed
            format: int64
            example: 800
          promptTokenCount:
            type: integer
            description: Maximum number of prompt tokens allowed
            format: int64
            example: 400
          completionTokenCount:
            type: integer
            description: Maximum number of completion tokens allowed
            format: int64
            example: 500
    BandwidthLimit:
      title: Bandwidth Limit object
      allOf:
      - $ref: '#/components/schemas/ThrottleLimitBase'
      - required:
        - dataAmount
        - dataUnit
        type: object
        properties:
          dataAmount:
            type: integer
            description: Amount of data allowed to be transfered
            format: int64
            example: 1000
          dataUnit:
            type: string
            description: Unit of data allowed to be transfered. Allowed values are "KB", "MB" and "GB"
            example: KB
    IPCondition:
      title: IP based throttling condition
      type: object
      properties:
        ipConditionType:
          type: string
          description: Type of the IP condition. Allowed values are "IPRANGE" and "IPSPECIFIC"
          enum:
          - IPRANGE
          - IPSPECIFIC
        specificIP:
          type: string
          description: Specific IP when "IPSPECIFIC" is used as the ipConditionType
        startingIP:
          type: string
          description: Staring IP when "IPRANGE" is used as the ipConditionType
        endingIP:
          type: string
          description: Ending IP when "IPRANGE" is used as the ipConditionType
  responses:
    BadRequest:
      description: Bad Request. Invalid request or validation error.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            code: 400
            message: Bad Request
            description: Invalid request or validation error
            moreInfo: ''
            error: []
    NotAcceptable:
      description: Not Acceptable. The requested media type is not supported.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            code: 406
            message: Not Acceptable
            description: The requested media type is not supported
            moreInfo: ''
            error: []
    NotFound:
      description: Not Found. The specified resource does not exist.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            code: 404
            message: Not Found
            description: The specified resource does not exist
            moreInfo: ''
            error: []
  parameters:
    Content-Type:
      name: Content-Type
      in: header
      description: 'Media type of the entity in the body. Default is application/json.

        '
      required: true
      schema:
        type: string
        default: application/json
    policyId:
      name: policyId
      in: path
      description: 'Thorttle policy UUID

        '
      required: true
      schema:
        type: string
  securitySchemes:
    OAuth2Security:
      type: oauth2
      flows:
        password:
          tokenUrl: https://localhost:9443/oauth2/token
          scopes:
            openid: Authorize access to user details
            apim:policies_import_export: Export and import policies related operations
            apim:admin: Manage all admin operations
            apim:tier_view: View throttling policies
            apim:tier_manage: Update and delete throttling policies
            apim:admin_tier_view: View throttling policies
            apim:admin_tier_manage: Update and delete throttling policies
            apim:bl_view: View deny policies
            apim:bl_manage: Update and delete deny policies
            apim:mediation_policy_view: View mediation policies
            apim:mediation_policy_create: Create and update mediation policies
            apim:app_owner_change: Retrieve and manage applications
            apim:app_settings_change: Change Application Settings
            apim:app_import_export: Import and export applications related operations
            apim:api_import_export: Import and export APIs related operations
            apim:api_product_import_export: Import and export API Products related operations
            apim:environment_manage: Manage gateway environments
            apim:environment_read: Retrieve gateway environments
            apim:monetization_usage_publish: Retrieve and publish Monetization related usage records
            apim:api_workflow_approve: Manage workflows
            apim:bot_data: Retrieve bot detection data
            apim:tenantInfo: Retrieve tenant related information
            apim:tenant_theme_manage: Manage tenant themes
            apim:admin_operations: Manage API categories and Key Managers related operations
            apim:api_category: Manage API categories
            apim:admin_settings: Retrieve admin settings
            apim:admin_alert_manage: Manage admin alerts
            apim:api_workflow_view: Retrive workflow requests
            apim:scope_manage: Manage system scopes
            apim:role_manage: Manage system roles
            apim:admin_application_view: View Applications
            apim:keymanagers_manage: Manage Key Managers
            apim:api_provider_change: Retrieve and manage applications
            apim:llm_provider_manage: Manage LLM Providers
            apim:gov_policy_read: Retrieve governance policies
            apim:gov_policy_manage: Manage governance policies
            apim:gov_result_read: Retrieve governance results
            apim:gov_rule_read: Retrieve governance rules
            apim:gov_rule_manage: Manage governance rules
            apim:organization_manage: Manage Organizations
            apim:organization_read: Read Organizations