canonical: https://jentic.com/apis/azure.com/azure-marketplace-rp-service

# Microsoft Azure Marketplace RP Service

Jentic publishes the only available OpenAPI specification for Marketplace RP Service, keeping it validated and agent-ready. The Azure Marketplace private store API lets organisations curate which marketplace offers their users can deploy by managing private stores at the tenant level. Use it to create or update a private store, list available stores, and admit specific offers into a store so only approved publishers and SKUs are visible to end users. Authentication is via Azure Active Directory OAuth 2.0 on Azure Resource Manager.

## For AI agents

Curate Azure Marketplace private stores: create stores at tenant scope and admit specific marketplace offers so only approved third-party software is deployable by users.

## Scope

Does not handle marketplace billing, agreement signing, or resource deployment - use for curating tenant-scoped private store catalogs only.

## Capabilities

- Create or update a tenant-scoped private store to control which marketplace offers users see
- List the private stores configured for the current tenant
- Admit a specific marketplace offer to a private store so it becomes deployable
- Remove an offer from a private store to revoke deployment rights
- Inspect the current admitted offers under a private store
- Enumerate Microsoft.Marketplace resource provider operations exposed by the API

## Use cases

### Curate a private marketplace catalog

Procurement and platform teams use the API to create a tenant-level private store and admit only the marketplace offers the organisation has reviewed and approved. This restricts what end users can deploy from the Azure portal marketplace, removing the risk of unvetted third-party software entering production subscriptions while still letting teams self-serve approved offers.

Example prompt: PUT `/providers/Microsoft.Marketplace/privateStores/{PrivateStoreId}` to create the store, then PUT `/providers/Microsoft.Marketplace/privateStores/{PrivateStoreId}/offers/{OfferId}` for each approved offer.

### Audit which marketplace offers are deployable

Compliance teams query the offers list under a private store to confirm which marketplace items users can deploy and trace back the publishers behind each one. Combining the list output with internal procurement records produces an attestation that only approved software is reachable through self-service marketplace deployment.

Example prompt: GET `/providers/Microsoft.Marketplace/privateStores/{PrivateStoreId}/offers` and emit a CSV of offer IDs and publisher IDs cross-checked against the approved-software list.

### Revoke an approved marketplace offer

When an offer is deprecated or fails a renewed security review, the agent removes it from the private store with a single DELETE. Existing deployments remain in place, but new deployments of the offer through the Azure portal are blocked because the store no longer admits it.

Example prompt: DELETE `/providers/Microsoft.Marketplace/privateStores/{PrivateStoreId}/offers/{OfferId}` for the offer and confirm the offer no longer appears in PrivateStoreOffers_List.

### Agent-driven catalog management

Through Jentic, an AI agent can react to a procurement ticket and admit or revoke marketplace offers automatically. The agent searches Jentic for 'admit marketplace offer to private store', loads the input schema, and executes with the private store ID and offer ID. Jentic injects the Azure AD token at execution time, so the agent never sees raw secrets.

Example prompt: Use Jentic search 'admit azure marketplace offer', load PrivateStoreOffer_CreateOrUpdate, supply private store ID and offer ID, and execute.

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| PUT | `/providers/Microsoft.Marketplace/privateStores/{PrivateStoreId}` | Create or update a private store |
| GET | `/providers/Microsoft.Marketplace/privateStores` | List private stores in the tenant |
| GET | `/providers/Microsoft.Marketplace/privateStores/{PrivateStoreId}` | Get a private store by ID |
| PUT | `/providers/Microsoft.Marketplace/privateStores/{PrivateStoreId}/offers/{OfferId}` | Admit an offer to a private store |
| GET | `/providers/Microsoft.Marketplace/privateStores/{PrivateStoreId}/offers` | List admitted offers |
| DELETE | `/providers/Microsoft.Marketplace/privateStores/{PrivateStoreId}/offers/{OfferId}` | Revoke an admitted offer |

## Key resources

- **PrivateStore** — Create, list, get, update, and delete tenant-scoped private stores that filter the Azure Marketplace catalog.
- **PrivateStoreOffers** — Admit and revoke specific marketplace offers under a private store.
- **Operations** — Enumerate the Microsoft.Marketplace resource provider operations available to private store tooling.

## Why Jentic

- **Setup:** Wiring the Marketplace private store API by hand means setting up MSAL and an Azure AD service principal, minting bearer tokens against management.azure.com, and handling the tenant-scoped paths and offer idempotency yourself. Through Jentic you install once, import Marketplace RP Service from the API Directory, store the service principal credentials once, and your agent calls it.
- **Permission scoping:** The private store id and offer id travel in the URL path (`/privateStores/{PrivateStoreId}/offers/{OfferId}`), so a rule can pin your agent to admitting and listing offers under a named private store. You choose the operations it may call, so revoking an admitted offer is not included unless you add it.
- **Credential handling:** Your Azure AD client credentials are stored once, encrypted, by your own Jentic One instance and exchanged for a short-lived ARM-scoped bearer token at execution time. The raw secret never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'admit a marketplace offer to an azure private store' or 'list admitted offers', and Jentic returns the matching PrivateStore or PrivateStoreOffer operation with its input schema so the agent calls the right endpoint without reading the Azure REST docs.

## Related APIs

- **MarketplaceOrdering.Agreements** — Sign and cancel the legal agreements required before deploying marketplace plans.
- **Policy Client** — Govern marketplace deployments via Azure Policy allowed-publishers rules instead of private stores.
- **Subscription Client** — Discover the subscriptions that inherit the tenant private store configuration.
- **Management Lock Client** — Lock the private store resource against accidental modification.

## FAQ

### Why is there no official OpenAPI spec for Marketplace RP Service?

Microsoft Azure does not publish a standalone OpenAPI specification for the marketplace private store resource provider. Jentic generates and maintains this spec so that AI agents and developers can call Marketplace RP Service via structured tooling. It is validated against the live API and kept up to date. Get started with Jentic One, the self-hosted execution layer.

### What authentication does the Marketplace RP Service use?

The API uses Azure Active Directory OAuth 2.0 via the azure_auth scheme on https://management.azure.com/. Through Jentic, your Azure AD application credentials are stored encrypted in your Jentic One instance and exchanged for a short-lived bearer token at execution time.

### Can I admit a marketplace offer to a private store with this API?

Yes. Call PUT `/providers/Microsoft.Marketplace/privateStores/{PrivateStoreId}/offers/{OfferId}` with a body that identifies the offer. Once admitted, end users in the tenant can deploy that offer from the Azure portal marketplace; non-admitted offers are filtered out of their view.

### What are the rate limits for the Marketplace API?

The endpoints inherit the standard Azure Resource Manager throttle quotas, surfaced through x-ms-ratelimit-remaining-* response headers. Bulk admit operations should respect those headers and back off when the remaining quota approaches zero.

### How do I curate a private store through Jentic?

Search Jentic for 'create azure private store', load PrivateStore_CreateOrUpdate, supply the desired store name and tenant settings, then execute. Chain PrivateStoreOffer_CreateOrUpdate for each offer you want admitted, then verify with PrivateStoreOffers_List.

### Does revoking an offer remove existing deployments?

No. DELETE `/providers/Microsoft.Marketplace/privateStores/{PrivateStoreId}/offers/{OfferId}` removes the offer from the admitted list, blocking new deployments through the marketplace. Resources already deployed from that offer continue to run normally and must be retired through their own resource provider APIs.

### Is the Marketplace API free?

The control-plane API itself does not incur charges. Costs apply to the marketplace offers users actually deploy, billed under each offer's marketplace pricing. Standard Azure operational charges apply to those workloads.

### Can I limit what my agent is allowed to do with the Microsoft Azure Marketplace Private Store API?

Yes. Because you run Jentic One yourself, your own rules decide which operations the agent may call and which credentials it may use. The private store ID and offer ID travel in the URL path, so a rule can pin the agent to admitting and listing offers under one named private store while leaving other stores untouched. You choose the exact operations it can run, so revoking an admitted offer is excluded unless you explicitly grant it, and your Azure AD credentials are only ever exchanged for a short-lived token at execution time.
