API Lifecycle Management

Workflow capability for API Platform Admins to manage the full API lifecycle including creating and versioning APIs, configuring policies, managing products and subscriptions, organizing with tags, and maintaining backends and certificates across Azure API Management.

Run with Naftiko API LifecyclePlatform AdministrationAPI GovernanceProductsSubscriptionsPolicies

Capability Spec

api-lifecycle-management.yaml Raw ↑
naftiko: "1.0.0-alpha1"
info:
  label: API Lifecycle Management
  description: >-
    Workflow capability for API Platform Admins to manage the full API lifecycle
    including creating and versioning APIs, configuring policies, managing
    products and subscriptions, organizing with tags, and maintaining backends
    and certificates across Azure API Management.
  tags:
    - API Lifecycle
    - Platform Administration
    - API Governance
    - Products
    - Subscriptions
    - Policies
  created: "2026-04-21"
  modified: "2026-04-21"
capability:
  consumes:
    - type: http
      namespace: azure-apim-rest
      baseUri: https://management.azure.com
      auth:
        type: oauth2
        scopes:
          - user_impersonation
      resources:
        - name: service
          label: API Management Service
          path: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}
          operations:
            - name: ApiManagementService_List
              label: List Services
              method: GET
            - name: ApiManagementService_Get
              label: Get Service
              method: GET
            - name: ApiManagementService_CreateOrUpdate
              label: Create Or Update Service
              method: PUT
            - name: ApiManagementService_Update
              label: Update Service
              method: PATCH
            - name: ApiManagementService_Delete
              label: Delete Service
              method: DELETE
            - name: ApiManagementService_CheckNameAvailability
              label: Check Name Availability
              method: POST
        - name: api
          label: APIs
          path: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}
          operations:
            - name: Api_ListByService
              label: List APIs
              method: GET
            - name: Api_Get
              label: Get API
              method: GET
            - name: Api_CreateOrUpdate
              label: Create Or Update API
              method: PUT
            - name: Api_Update
              label: Update API
              method: PATCH
            - name: Api_Delete
              label: Delete API
              method: DELETE
        - name: api-operation
          label: API Operations
          path: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/operations/{operationId}
          operations:
            - name: ApiOperation_ListByApi
              label: List API Operations
              method: GET
            - name: ApiOperation_Get
              label: Get API Operation
              method: GET
            - name: ApiOperation_CreateOrUpdate
              label: Create Or Update API Operation
              method: PUT
            - name: ApiOperation_Delete
              label: Delete API Operation
              method: DELETE
        - name: api-policy
          label: API Policies
          path: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/policies/{policyId}
          operations:
            - name: ApiPolicy_ListByApi
              label: List API Policies
              method: GET
            - name: ApiPolicy_Get
              label: Get API Policy
              method: GET
            - name: ApiPolicy_CreateOrUpdate
              label: Create Or Update API Policy
              method: PUT
            - name: ApiPolicy_Delete
              label: Delete API Policy
              method: DELETE
        - name: api-version-set
          label: API Version Sets
          path: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apiVersionSets/{versionSetId}
          operations:
            - name: ApiVersionSet_ListByService
              label: List API Version Sets
              method: GET
            - name: ApiVersionSet_Get
              label: Get API Version Set
              method: GET
            - name: ApiVersionSet_CreateOrUpdate
              label: Create Or Update API Version Set
              method: PUT
            - name: ApiVersionSet_Delete
              label: Delete API Version Set
              method: DELETE
        - name: api-release
          label: API Releases
          path: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/releases/{releaseId}
          operations:
            - name: ApiRelease_ListByService
              label: List API Releases
              method: GET
            - name: ApiRelease_Get
              label: Get API Release
              method: GET
            - name: ApiRelease_CreateOrUpdate
              label: Create Or Update API Release
              method: PUT
            - name: ApiRelease_Delete
              label: Delete API Release
              method: DELETE
        - name: api-revision
          label: API Revisions
          path: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/revisions
          operations:
            - name: ApiRevision_ListByService
              label: List API Revisions
              method: GET
        - name: api-schema
          label: API Schemas
          path: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/schemas/{schemaId}
          operations:
            - name: ApiSchema_ListByApi
              label: List API Schemas
              method: GET
            - name: ApiSchema_Get
              label: Get API Schema
              method: GET
            - name: ApiSchema_CreateOrUpdate
              label: Create Or Update API Schema
              method: PUT
            - name: ApiSchema_Delete
              label: Delete API Schema
              method: DELETE
        - name: product
          label: Products
          path: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}
          operations:
            - name: Product_ListByService
              label: List Products
              method: GET
            - name: Product_Get
              label: Get Product
              method: GET
            - name: Product_CreateOrUpdate
              label: Create Or Update Product
              method: PUT
            - name: Product_Update
              label: Update Product
              method: PATCH
            - name: Product_Delete
              label: Delete Product
              method: DELETE
        - name: product-api
          label: Product APIs
          path: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}/apis/{apiId}
          operations:
            - name: ProductApi_ListByProduct
              label: List Product APIs
              method: GET
            - name: ProductApi_CreateOrUpdate
              label: Add API To Product
              method: PUT
            - name: ProductApi_Delete
              label: Remove API From Product
              method: DELETE
        - name: product-policy
          label: Product Policies
          path: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}/policies/{policyId}
          operations:
            - name: ProductPolicy_ListByProduct
              label: List Product Policies
              method: GET
            - name: ProductPolicy_CreateOrUpdate
              label: Create Or Update Product Policy
              method: PUT
            - name: ProductPolicy_Delete
              label: Delete Product Policy
              method: DELETE
        - name: subscription
          label: Subscriptions
          path: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/subscriptions/{sid}
          operations:
            - name: Subscription_List
              label: List Subscriptions
              method: GET
            - name: Subscription_Get
              label: Get Subscription
              method: GET
            - name: Subscription_CreateOrUpdate
              label: Create Or Update Subscription
              method: PUT
            - name: Subscription_Update
              label: Update Subscription
              method: PATCH
            - name: Subscription_Delete
              label: Delete Subscription
              method: DELETE
            - name: Subscription_RegeneratePrimaryKey
              label: Regenerate Primary Key
              method: POST
            - name: Subscription_RegenerateSecondaryKey
              label: Regenerate Secondary Key
              method: POST
        - name: policy
          label: Global Policies
          path: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/policies/{policyId}
          operations:
            - name: Policy_ListByService
              label: List Policies
              method: GET
            - name: Policy_Get
              label: Get Policy
              method: GET
            - name: Policy_CreateOrUpdate
              label: Create Or Update Policy
              method: PUT
            - name: Policy_Delete
              label: Delete Policy
              method: DELETE
        - name: backend
          label: Backends
          path: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/backends/{backendId}
          operations:
            - name: Backend_ListByService
              label: List Backends
              method: GET
            - name: Backend_Get
              label: Get Backend
              method: GET
            - name: Backend_CreateOrUpdate
              label: Create Or Update Backend
              method: PUT
            - name: Backend_Update
              label: Update Backend
              method: PATCH
            - name: Backend_Delete
              label: Delete Backend
              method: DELETE
        - name: tag
          label: Tags
          path: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tags/{tagId}
          operations:
            - name: Tag_ListByService
              label: List Tags
              method: GET
            - name: Tag_CreateOrUpdate
              label: Create Or Update Tag
              method: PUT
            - name: Tag_Delete
              label: Delete Tag
              method: DELETE
            - name: Tag_AssignToApi
              label: Assign Tag To API
              method: PUT
            - name: Tag_AssignToProduct
              label: Assign Tag To Product
              method: PUT
        - name: certificate
          label: Certificates
          path: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/certificates/{certificateId}
          operations:
            - name: Certificate_ListByService
              label: List Certificates
              method: GET
            - name: Certificate_Get
              label: Get Certificate
              method: GET
            - name: Certificate_CreateOrUpdate
              label: Create Or Update Certificate
              method: PUT
            - name: Certificate_Delete
              label: Delete Certificate
              method: DELETE
        - name: named-value
          label: Named Values
          path: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/namedValues/{namedValueId}
          operations:
            - name: NamedValue_ListByService
              label: List Named Values
              method: GET
            - name: NamedValue_Get
              label: Get Named Value
              method: GET
            - name: NamedValue_CreateOrUpdate
              label: Create Or Update Named Value
              method: PUT
            - name: NamedValue_Delete
              label: Delete Named Value
              method: DELETE
        - name: workspace
          label: Workspaces
          path: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/workspaces/{workspaceId}
          operations:
            - name: Workspace_ListByService
              label: List Workspaces
              method: GET
            - name: Workspace_Get
              label: Get Workspace
              method: GET
            - name: Workspace_CreateOrUpdate
              label: Create Or Update Workspace
              method: PUT
            - name: Workspace_Delete
              label: Delete Workspace
              method: DELETE