Azure / Azure/apiops

[FEATURE REQ] Add support for APIM Schema extraction in APIOps

Open
#868 3 comments 1 reaction 0 assignees View on GitHub
Dominant language
C#
Stars
448
Forks
247
PR merge metrics
No merged PRs in 30d

Description

### Please describe the feature.

# Feature Request: Add support for APIM Schema extraction in APIOps

## Summary
APIOps currently does not extract API Management Schemas (Microsoft.ApiManagement/service/schemas).
This prevents full‑fidelity environment replication and breaks parity with the APIM REST API and ARM/Bicep resource model.
I believe this has been requested for many years, but there has been no visible progress, and there is no documentation under the Limitations section regarding schema extraction.

This request is to add schema extraction + deployment support to the APIOps Extractor and Publisher
---

## Problem
APIM schemas are first‑class ARM resources and are commonly used for:

- XML/JSON schema validation
- Reusable schema references across multiple APIs
- Legacy SOAP/WSDL transformations
- Contract‑driven integration patterns

However, APIOps does not extract or publish schemas. This results in:

- Incomplete environment backups
- Inconsistent deployments between environments
- Manual schema management outside the APIOps workflow
- Drift between APIM instances

This is a gap compared to other APIM resource types already supported by APIOps.

---

## Requested Enhancement

### 1. Schema Extraction
Extract all schemas under:

/subscriptions/{sub}/resourceGroups/{rg}/providers/Microsoft.ApiManagement/service/{service}/schemas

Including:

- Schema metadata
- Schema content (XML, JSON, WSDL, XSD)
- Schema type (xml, json, wsdl, xsd)
- Associated API references (if applicable)

### 2. Schema Deployment
Publisher should deploy schemas before APIs that reference them.

### 3. Folder Structure Proposal
Suggested structure (aligned with existing APIOps conventions):

schemas/
{schemaName}/
schema.json
content.xml (or .json)

---

## Why This Matters
- APIM schemas are required for many enterprise API governance patterns.
- Without schema extraction, APIOps cannot be used as a complete DevOps solution for APIM.
- Manual schema management introduces drift and breaks reproducibility.
- The APIM REST API already supports full schema CRUD operations, so APIOps can implement this without platform limitations.

---

## References
APIM REST API – Schemas:
https://learn.microsoft.com/rest/api/apimanagement/2023-05-01-preview/schema

ARM Resource Type:
Microsoft.ApiManagement/service/schemas

---

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.