azure-mgmt-apicenter-py

Azure API Center Management SDK for Python

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "azure-mgmt-apicenter-py" with this command: npx skills add claudedjale/skillset/claudedjale-skillset-azure-mgmt-apicenter-py

Azure API Center Management SDK for Python

Manage API inventory, metadata, and governance in Azure API Center.

Installation

pip install azure-mgmt-apicenter pip install azure-identity

Environment Variables

AZURE_SUBSCRIPTION_ID=your-subscription-id

Authentication

from azure.identity import DefaultAzureCredential from azure.mgmt.apicenter import ApiCenterMgmtClient import os

client = ApiCenterMgmtClient( credential=DefaultAzureCredential(), subscription_id=os.environ["AZURE_SUBSCRIPTION_ID"] )

Create API Center

from azure.mgmt.apicenter.models import Service

api_center = client.services.create_or_update( resource_group_name="my-resource-group", service_name="my-api-center", resource=Service( location="eastus", tags={"environment": "production"} ) )

print(f"Created API Center: {api_center.name}")

List API Centers

api_centers = client.services.list_by_subscription()

for api_center in api_centers: print(f"{api_center.name} - {api_center.location}")

Register an API

from azure.mgmt.apicenter.models import Api, ApiKind, LifecycleStage

api = client.apis.create_or_update( resource_group_name="my-resource-group", service_name="my-api-center", workspace_name="default", api_name="my-api", resource=Api( title="My API", description="A sample API for demonstration", kind=ApiKind.REST, lifecycle_stage=LifecycleStage.PRODUCTION, terms_of_service={"url": "https://example.com/terms"}, contacts=[{"name": "API Team", "email": "api-team@example.com"}] ) )

print(f"Registered API: {api.title}")

Create API Version

from azure.mgmt.apicenter.models import ApiVersion, LifecycleStage

version = client.api_versions.create_or_update( resource_group_name="my-resource-group", service_name="my-api-center", workspace_name="default", api_name="my-api", version_name="v1", resource=ApiVersion( title="Version 1.0", lifecycle_stage=LifecycleStage.PRODUCTION ) )

print(f"Created version: {version.title}")

Add API Definition

from azure.mgmt.apicenter.models import ApiDefinition

definition = client.api_definitions.create_or_update( resource_group_name="my-resource-group", service_name="my-api-center", workspace_name="default", api_name="my-api", version_name="v1", definition_name="openapi", resource=ApiDefinition( title="OpenAPI Definition", description="OpenAPI 3.0 specification" ) )

Import API Specification

from azure.mgmt.apicenter.models import ApiSpecImportRequest, ApiSpecImportSourceFormat

Import from inline content

client.api_definitions.import_specification( resource_group_name="my-resource-group", service_name="my-api-center", workspace_name="default", api_name="my-api", version_name="v1", definition_name="openapi", body=ApiSpecImportRequest( format=ApiSpecImportSourceFormat.INLINE, value='{"openapi": "3.0.0", "info": {"title": "My API", "version": "1.0"}, "paths": {}}' ) )

List APIs

apis = client.apis.list( resource_group_name="my-resource-group", service_name="my-api-center", workspace_name="default" )

for api in apis: print(f"{api.name}: {api.title} ({api.kind})")

Create Environment

from azure.mgmt.apicenter.models import Environment, EnvironmentKind

environment = client.environments.create_or_update( resource_group_name="my-resource-group", service_name="my-api-center", workspace_name="default", environment_name="production", resource=Environment( title="Production", description="Production environment", kind=EnvironmentKind.PRODUCTION, server={"type": "Azure API Management", "management_portal_uri": ["https://portal.azure.com"]} ) )

Create Deployment

from azure.mgmt.apicenter.models import Deployment, DeploymentState

deployment = client.deployments.create_or_update( resource_group_name="my-resource-group", service_name="my-api-center", workspace_name="default", api_name="my-api", deployment_name="prod-deployment", resource=Deployment( title="Production Deployment", description="Deployed to production APIM", environment_id="/workspaces/default/environments/production", definition_id="/workspaces/default/apis/my-api/versions/v1/definitions/openapi", state=DeploymentState.ACTIVE, server={"runtime_uri": ["https://api.example.com"]} ) )

Define Custom Metadata

from azure.mgmt.apicenter.models import MetadataSchema

metadata = client.metadata_schemas.create_or_update( resource_group_name="my-resource-group", service_name="my-api-center", metadata_schema_name="data-classification", resource=MetadataSchema( schema='{"type": "string", "title": "Data Classification", "enum": ["public", "internal", "confidential"]}' ) )

Client Types

Client Purpose

ApiCenterMgmtClient

Main client for all operations

Operations

Operation Group Purpose

services

API Center service management

workspaces

Workspace management

apis

API registration and management

api_versions

API version management

api_definitions

API definition management

deployments

Deployment tracking

environments

Environment management

metadata_schemas

Custom metadata definitions

Best Practices

  • Use workspaces to organize APIs by team or domain

  • Define metadata schemas for consistent governance

  • Track deployments to understand where APIs are running

  • Import specifications to enable API analysis and linting

  • Use lifecycle stages to track API maturity

  • Add contacts for API ownership and support

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Coding

github-issue-creator

No summary provided by upstream source.

Repository SourceNeeds Review
General

azure-observability

No summary provided by upstream source.

Repository SourceNeeds Review
General

azure-appconfiguration-java

No summary provided by upstream source.

Repository SourceNeeds Review
General

copilot-sdk

No summary provided by upstream source.

Repository SourceNeeds Review