SAP API Management · Capability

SAP API Lifecycle Management

Unified capability for managing the full API lifecycle in SAP API Management. Combines the API Portal management API to support end-to-end workflows for API platform engineers, integration architects, and developer experience teams. Enables programmatic API governance, proxy management, product publishing, and developer portal administration.

Run with Naftiko API LifecycleAPI ManagementDeveloper PortalSAP BTPGovernance

What You Can Do

GET
List api providers — List all registered API providers
/v1/providers
GET
List api proxies — List all API proxies
/v1/proxies
POST
Create api proxy — Create a new API proxy
/v1/proxies
GET
Get api proxy — Get API proxy details
/v1/proxies/{name}
DELETE
Delete api proxy — Delete an API proxy
/v1/proxies/{name}
GET
List api products — List all API products
/v1/products
POST
Create api product — Create a new API product
/v1/products
GET
List applications — List all developer applications
/v1/applications
GET
List key value maps — List all key-value maps
/v1/key-value-maps
POST
Create key value map — Create a new key-value map
/v1/key-value-maps

MCP Tools

list-api-providers

List all backend API providers registered in SAP API Management

read-only
list-api-proxies

List all API proxies in SAP API Management

read-only
get-api-proxy

Get details for a specific SAP API Management proxy

read-only
create-api-proxy

Create a new API proxy in SAP API Management

delete-api-proxy

Delete an API proxy from SAP API Management

idempotent
list-api-products

List all API products in the developer portal

read-only
create-api-product

Create a new API product bundle for the developer portal

list-applications

List all developer applications consuming API products

read-only
list-key-value-maps

List all key-value maps for policy configuration

read-only
create-key-value-map

Create a new runtime key-value map for API policies

APIs Used

api-portal

Capability Spec

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

info:
  label: "SAP API Lifecycle Management"
  description: >-
    Unified capability for managing the full API lifecycle in SAP API Management.
    Combines the API Portal management API to support end-to-end workflows for
    API platform engineers, integration architects, and developer experience teams.
    Enables programmatic API governance, proxy management, product publishing,
    and developer portal administration.
  tags:
    - API Lifecycle
    - API Management
    - Developer Portal
    - SAP BTP
    - Governance
  created: "2026-05-02"
  modified: "2026-05-02"

binds:
  - namespace: env
    keys:
      SAP_APIMGMT_CLIENT_ID: SAP_APIMGMT_CLIENT_ID
      SAP_APIMGMT_CLIENT_SECRET: SAP_APIMGMT_CLIENT_SECRET
      SAP_APIMGMT_TENANT_URL: SAP_APIMGMT_TENANT_URL

capability:
  consumes:
    - import: api-portal
      location: ./shared/api-portal.yaml

  exposes:
    - type: rest
      port: 8080
      namespace: sap-api-lifecycle-api
      description: "Unified REST API for SAP API Management lifecycle operations."
      resources:
        - path: /v1/providers
          name: api-providers
          description: "Backend API provider management"
          operations:
            - method: GET
              name: list-api-providers
              description: "List all registered API providers"
              call: "api-portal.list-api-providers"
              outputParameters:
                - type: object
                  mapping: "$."

        - path: /v1/proxies
          name: api-proxies
          description: "API proxy lifecycle operations"
          operations:
            - method: GET
              name: list-api-proxies
              description: "List all API proxies"
              call: "api-portal.list-api-proxies"
              outputParameters:
                - type: object
                  mapping: "$."
            - method: POST
              name: create-api-proxy
              description: "Create a new API proxy"
              call: "api-portal.create-api-proxy"
              outputParameters:
                - type: object
                  mapping: "$."

        - path: /v1/proxies/{name}
          name: api-proxy
          description: "Single API proxy operations"
          operations:
            - method: GET
              name: get-api-proxy
              description: "Get API proxy details"
              call: "api-portal.get-api-proxy"
              with:
                name: "rest.name"
              outputParameters:
                - type: object
                  mapping: "$."
            - method: DELETE
              name: delete-api-proxy
              description: "Delete an API proxy"
              call: "api-portal.delete-api-proxy"
              with:
                name: "rest.name"
              outputParameters:
                - type: object
                  mapping: "$."

        - path: /v1/products
          name: api-products
          description: "API product catalog management"
          operations:
            - method: GET
              name: list-api-products
              description: "List all API products"
              call: "api-portal.list-api-products"
              outputParameters:
                - type: object
                  mapping: "$."
            - method: POST
              name: create-api-product
              description: "Create a new API product"
              call: "api-portal.create-api-product"
              outputParameters:
                - type: object
                  mapping: "$."

        - path: /v1/applications
          name: applications
          description: "Developer application management"
          operations:
            - method: GET
              name: list-applications
              description: "List all developer applications"
              call: "api-portal.list-applications"
              outputParameters:
                - type: object
                  mapping: "$."

        - path: /v1/key-value-maps
          name: key-value-maps
          description: "Runtime configuration key-value maps"
          operations:
            - method: GET
              name: list-key-value-maps
              description: "List all key-value maps"
              call: "api-portal.list-key-value-maps"
              outputParameters:
                - type: object
                  mapping: "$."
            - method: POST
              name: create-key-value-map
              description: "Create a new key-value map"
              call: "api-portal.create-key-value-map"
              outputParameters:
                - type: object
                  mapping: "$."

    - type: mcp
      port: 9090
      namespace: sap-api-lifecycle-mcp
      transport: http
      description: "MCP server for AI-assisted SAP API Management lifecycle operations."
      tools:
        - name: list-api-providers
          description: "List all backend API providers registered in SAP API Management"
          hints:
            readOnly: true
            openWorld: false
          call: "api-portal.list-api-providers"
          outputParameters:
            - type: object
              mapping: "$."

        - name: list-api-proxies
          description: "List all API proxies in SAP API Management"
          hints:
            readOnly: true
            openWorld: false
          call: "api-portal.list-api-proxies"
          outputParameters:
            - type: object
              mapping: "$."

        - name: get-api-proxy
          description: "Get details for a specific SAP API Management proxy"
          hints:
            readOnly: true
            openWorld: false
          call: "api-portal.get-api-proxy"
          with:
            name: "tools.name"
          outputParameters:
            - type: object
              mapping: "$."

        - name: create-api-proxy
          description: "Create a new API proxy in SAP API Management"
          hints:
            readOnly: false
            destructive: false
          call: "api-portal.create-api-proxy"
          outputParameters:
            - type: object
              mapping: "$."

        - name: delete-api-proxy
          description: "Delete an API proxy from SAP API Management"
          hints:
            readOnly: false
            destructive: true
            idempotent: true
          call: "api-portal.delete-api-proxy"
          with:
            name: "tools.name"
          outputParameters:
            - type: object
              mapping: "$."

        - name: list-api-products
          description: "List all API products in the developer portal"
          hints:
            readOnly: true
            openWorld: false
          call: "api-portal.list-api-products"
          outputParameters:
            - type: object
              mapping: "$."

        - name: create-api-product
          description: "Create a new API product bundle for the developer portal"
          hints:
            readOnly: false
            destructive: false
          call: "api-portal.create-api-product"
          outputParameters:
            - type: object
              mapping: "$."

        - name: list-applications
          description: "List all developer applications consuming API products"
          hints:
            readOnly: true
            openWorld: false
          call: "api-portal.list-applications"
          outputParameters:
            - type: object
              mapping: "$."

        - name: list-key-value-maps
          description: "List all key-value maps for policy configuration"
          hints:
            readOnly: true
            openWorld: false
          call: "api-portal.list-key-value-maps"
          outputParameters:
            - type: object
              mapping: "$."

        - name: create-key-value-map
          description: "Create a new runtime key-value map for API policies"
          hints:
            readOnly: false
            destructive: false
          call: "api-portal.create-key-value-map"
          outputParameters:
            - type: object
              mapping: "$."