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

Open
#868 3 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
5/5
Estimated time
Over a week
Newbie friendliness
35/100
Issue type
Feature
Clarity
Mostly clear
Activity status
Active
Tech stack
azure, csharp
Domain
api, cloud

Research direction

Start by reading the APIOps Extractor and Publisher areas alongside the referenced APIM Schemas REST API and Microsoft.ApiManagement/service/schemas resource model. Done means extracting schema metadata and content, deploying schemas before referencing APIs, and documenting the capability under Limitations if appropriate.

Written by the indexing model from the issue text.

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


Dominant language
C#
Stars
448
Forks
247
PR merge metrics
No merged PRs in 30d

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from Azure/apiops

All issues in Azure/apiops

Similar issues

More C# issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.