Red Hat 3scale · Capability

Red Hat 3scale API Management

Unified capability for managing APIs, developer accounts, applications, and monitoring usage through the Red Hat 3scale API Management platform. Combines the Service Management API for gateway authorization with the Account Management API for developer lifecycle operations.

Run with Naftiko API ManagementDeveloper PortalRed HatTraffic Management

What You Can Do

GET
Authorize api call — Authorize an API call against 3scale usage limits
/v1/authorize
GET
Authorize and report — Authorize and report API usage in one call
/v1/authrep
GET
List accounts — List developer accounts
/v1/accounts
POST
Create account — Create a new developer account
/v1/accounts
GET
Get account — Get developer account details
/v1/accounts/{id}
DELETE
Delete account — Delete a developer account
/v1/accounts/{id}
GET
List applications — List applications for a developer account
/v1/accounts/{id}/applications
POST
Create application — Subscribe account to an application plan
/v1/accounts/{id}/applications

MCP Tools

authorize-api-call

Authorize an API call by checking application usage limits in 3scale

read-only
authorize-and-report

Authorize an API call and simultaneously report usage to 3scale

list-developer-accounts

List all developer accounts registered in the 3scale developer portal

read-only
create-developer-account

Create a new developer account for API access

get-developer-account

Get details of a specific developer account including subscriptions

read-only
list-account-applications

List API applications and credentials for a developer account

read-only
create-application

Subscribe a developer account to an API application plan

delete-developer-account

Delete a developer account and all associated applications

idempotent

APIs Used

threescale-service-mgmt threescale-account-mgmt

Capability Spec

api-management.yaml Raw ↑
naftiko: "1.0.0-alpha1"

info:
  label: "Red Hat 3scale API Management"
  description: >-
    Unified capability for managing APIs, developer accounts, applications,
    and monitoring usage through the Red Hat 3scale API Management platform.
    Combines the Service Management API for gateway authorization with the
    Account Management API for developer lifecycle operations.
  tags:
    - API Management
    - Developer Portal
    - Red Hat
    - Traffic Management
  created: "2026-05-02"
  modified: "2026-05-02"

binds:
  - namespace: env
    keys:
      THREESCALE_PROVIDER_KEY: THREESCALE_PROVIDER_KEY
      THREESCALE_ACCESS_TOKEN: THREESCALE_ACCESS_TOKEN
      THREESCALE_ADMIN_DOMAIN: THREESCALE_ADMIN_DOMAIN

capability:
  consumes:
    - import: threescale-service-mgmt
      location: ./shared/service-management-api.yaml
    - import: threescale-account-mgmt
      location: ./shared/account-management-api.yaml

  exposes:
    - type: rest
      port: 8080
      namespace: threescale-api-mgmt-rest
      description: "Unified REST API for 3scale API management operations."
      resources:
        - path: /v1/authorize
          name: authorization
          description: "API call authorization"
          operations:
            - method: GET
              name: authorize-api-call
              description: "Authorize an API call against 3scale usage limits"
              call: "threescale-service-mgmt.authorize-transaction"
              with:
                user_key: "rest.user_key"
              outputParameters:
                - type: object
                  mapping: "$."
        - path: /v1/authrep
          name: authrep
          description: "Authorize and report API usage"
          operations:
            - method: GET
              name: authorize-and-report
              description: "Authorize and report API usage in one call"
              call: "threescale-service-mgmt.authorize-and-report"
              with:
                user_key: "rest.user_key"
              outputParameters:
                - type: object
                  mapping: "$."
        - path: /v1/accounts
          name: accounts
          description: "Developer account management"
          operations:
            - method: GET
              name: list-accounts
              description: "List developer accounts"
              call: "threescale-account-mgmt.list-accounts"
              outputParameters:
                - type: object
                  mapping: "$."
            - method: POST
              name: create-account
              description: "Create a new developer account"
              call: "threescale-account-mgmt.create-account"
              outputParameters:
                - type: object
                  mapping: "$."
        - path: /v1/accounts/{id}
          name: account
          description: "Individual developer account"
          operations:
            - method: GET
              name: get-account
              description: "Get developer account details"
              call: "threescale-account-mgmt.get-account"
              with:
                id: "rest.id"
              outputParameters:
                - type: object
                  mapping: "$."
            - method: DELETE
              name: delete-account
              description: "Delete a developer account"
              call: "threescale-account-mgmt.delete-account"
              with:
                id: "rest.id"
              outputParameters:
                - type: object
                  mapping: "$."
        - path: /v1/accounts/{id}/applications
          name: applications
          description: "Developer account applications"
          operations:
            - method: GET
              name: list-applications
              description: "List applications for a developer account"
              call: "threescale-account-mgmt.list-applications"
              with:
                account_id: "rest.id"
              outputParameters:
                - type: object
                  mapping: "$."
            - method: POST
              name: create-application
              description: "Subscribe account to an application plan"
              call: "threescale-account-mgmt.create-application"
              with:
                account_id: "rest.id"
              outputParameters:
                - type: object
                  mapping: "$."

    - type: mcp
      port: 9080
      namespace: threescale-api-mgmt-mcp
      transport: http
      description: "MCP server for AI-assisted 3scale API management."
      tools:
        - name: authorize-api-call
          description: "Authorize an API call by checking application usage limits in 3scale"
          hints:
            readOnly: true
            openWorld: false
          call: "threescale-service-mgmt.authorize-transaction"
          with:
            user_key: "tools.user_key"
          outputParameters:
            - type: object
              mapping: "$."
        - name: authorize-and-report
          description: "Authorize an API call and simultaneously report usage to 3scale"
          hints:
            readOnly: false
            openWorld: false
          call: "threescale-service-mgmt.authorize-and-report"
          with:
            user_key: "tools.user_key"
          outputParameters:
            - type: object
              mapping: "$."
        - name: list-developer-accounts
          description: "List all developer accounts registered in the 3scale developer portal"
          hints:
            readOnly: true
            openWorld: true
          call: "threescale-account-mgmt.list-accounts"
          outputParameters:
            - type: object
              mapping: "$."
        - name: create-developer-account
          description: "Create a new developer account for API access"
          hints:
            readOnly: false
            openWorld: false
          call: "threescale-account-mgmt.create-account"
          with:
            org_name: "tools.org_name"
            username: "tools.username"
            email: "tools.email"
            password: "tools.password"
          outputParameters:
            - type: object
              mapping: "$."
        - name: get-developer-account
          description: "Get details of a specific developer account including subscriptions"
          hints:
            readOnly: true
            openWorld: true
          call: "threescale-account-mgmt.get-account"
          with:
            id: "tools.account_id"
          outputParameters:
            - type: object
              mapping: "$."
        - name: list-account-applications
          description: "List API applications and credentials for a developer account"
          hints:
            readOnly: true
            openWorld: true
          call: "threescale-account-mgmt.list-applications"
          with:
            account_id: "tools.account_id"
          outputParameters:
            - type: object
              mapping: "$."
        - name: create-application
          description: "Subscribe a developer account to an API application plan"
          hints:
            readOnly: false
            openWorld: false
          call: "threescale-account-mgmt.create-application"
          with:
            account_id: "tools.account_id"
            plan_id: "tools.plan_id"
            app_name: "tools.app_name"
          outputParameters:
            - type: object
              mapping: "$."
        - name: delete-developer-account
          description: "Delete a developer account and all associated applications"
          hints:
            readOnly: false
            destructive: true
            idempotent: true
          call: "threescale-account-mgmt.delete-account"
          with:
            id: "tools.account_id"
          outputParameters:
            - type: object
              mapping: "$."