WSO2 Subscription Policy (Individual) API

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

Business capability
API Consumption Governance BC-4270.50

Operations 3

GET /throttling/policies/subscription/{policyId} Get a Subscription Policy #
PUT /throttling/policies/subscription/{policyId} Update a Subscription Policy #
DELETE /throttling/policies/subscription/{policyId} Delete a Subscription 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-subscription-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-subscription-policy-individual-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: WSO2 API Manager - Admin Subscription Policy (Individual)…
  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: Subscription Policy (Individual)
paths:
  /throttling/policies/subscription/{policyId}:
    get:
      tags:
      - Subscription Policy (Individual)
      summary: Get a Subscription Policy
      description: This operation can be used to retrieves subscription level throttling policy by specifying the Id of the policy as a path paramter
      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/SubscriptionThrottlePolicy'
              example:
                policyId: 78c3ebff-176d-40d8-9377-fb3276528291
                policyName: Gold
                displayName: Gold
                description: Allows 5000 requests per minute
                isDeployed: true
                graphQLMaxComplexity: 0
                graphQLMaxDepth: 0
                defaultLimit:
                  type: REQUESTCOUNTLIMIT
                  requestCount:
                    timeUnit: min
                    unitTime: 1
                    requestCount: 5000
                rateLimitCount: 0
                customAttributes: []
                stopOnQuotaReach: true
                billingPlan: FREE
        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/subscription/c948c723-71dd-4d50-8c77-0a0e99c8cbb1"'
      operationId: getThrottlingPoliciesSubscriptionByPolicyId
      x-operation-id-source: derived
    put:
      tags:
      - Subscription Policy (Individual)
      summary: Update a Subscription Policy
      description: Updates an existing subscription level 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/SubscriptionThrottlePolicy'
        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/SubscriptionThrottlePolicy'
              example:
                policyId: 78c3ebff-176d-40d8-9377-fb3276528291
                policyName: Gold
                displayName: Gold
                description: Allows 5000 requests per minute
                isDeployed: true
                graphQLMaxComplexity: 0
                graphQLMaxDepth: 0
                defaultLimit:
                  type: REQUESTCOUNTLIMIT
                  requestCount:
                    timeUnit: min
                    unitTime: 1
                    requestCount: 5000
                rateLimitCount: 0
                customAttributes: []
                stopOnQuotaReach: true
                billingPlan: FREE
        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/subscription/c948c723-71dd-4d50-8c77-0a0e99c8cbb1"'
      operationId: putThrottlingPoliciesSubscriptionByPolicyId
      x-operation-id-source: derived
    delete:
      tags:
      - Subscription Policy (Individual)
      summary: Delete a Subscription Policy
      description: This operation can be used to delete a subscription level throttling policy by specifying the Id of the policy as a path paramter.
      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/subscription/c948c723-71dd-4d50-8c77-0a0e99c8cbb1"'
      operationId: deleteThrottlingPoliciesSubscriptionByPolicyId
      x-operation-id-source: derived
components:
  schemas:
    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

            '
    MonetizationInfo:
      title: API monetization details object
      required:
      - properties
      type: object
      properties:
        monetizationPlan:
          type: string
          description: Flag to indicate the monetization plan
          example: FixedRate
          enum:
          - FIXEDRATE
          - DYNAMICRATE
        properties:
          type: object
          additionalProperties:
            type: string
          description: Map of custom properties related to each monetization plan
    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
    SubscriptionThrottlePolicy:
      title: Subscription Throttling Policy
      allOf:
      - $ref: '#/components/schemas/ThrottlePolicy'
      - $ref: '#/components/schemas/GraphQLQuery'
      - required:
        - defaultLimit
        type: object
        properties:
          defaultLimit:
            $ref: '#/components/schemas/ThrottleLimit'
          monetization:
            $ref: '#/components/schemas/MonetizationInfo'
          rateLimitCount:
            type: integer
            description: Burst control request count
            example: 10
          rateLimitTimeUnit:
            type: string
            description: Burst control time unit
            example: min
          subscriberCount:
            type: integer
            description: Number of subscriptions allowed
            example: 10
          customAttributes:
            type: array
            description: 'Custom attributes added to the Subscription Throttling Policy

              '
            example: []
            items:
              $ref: '#/components/schemas/CustomAttribute'
          stopOnQuotaReach:
            type: boolean
            description: 'This indicates the action to be taken when a user goes beyond the allocated quota. If checked, the user''s requests will be dropped. If unchecked, the requests will be allowed to pass through.

              '
            default: false
          billingPlan:
            type: string
            description: 'define whether this is Paid or a Free plan. Allowed values are FREE or COMMERCIAL.

              '
            example: FREE
          permissions:
            $ref: '#/components/schemas/SubscriptionThrottlePolicyPermission'
    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'
    GraphQLQuery:
      title: GraphQL Query
      type: object
      properties:
        graphQLMaxComplexity:
          type: integer
          description: Maximum Complexity of the GraphQL query
          example: 400
        graphQLMaxDepth:
          type: integer
          description: Maximum Depth of the GraphQL query
          example: 10
    SubscriptionThrottlePolicyPermission:
      title: SubscriptionThrottlePolicyPermission
      required:
      - permissionType
      - roles
      type: object
      properties:
        permissionType:
          type: string
          example: deny
          enum:
          - ALLOW
          - DENY
        roles:
          type: array
          example:
          - Internal/everyone
          items:
            type: string
    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
    CustomAttribute:
      title: Name-Value pair
      required:
      - name
      - value
      type: object
      properties:
        name:
          type: string
          description: Name of the custom attribute
          example: customAttr1
        value:
          type: string
          description: Value of the custom attribute
          example: value1
  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