API template library

Azure Container Registry management mock API and live sandbox

A WireMock simulation of Microsoft Azure's REST API — covering registry create and read, credentials, replications, webhooks, and private endpoints.

Vendor
Microsoft Azure
Functionality
Registry provisioning and management
Spec version
2025-11-01
Endpoints
58
Stubs
67
Protocol
REST
Validation
AI-validated Before publication, an AI agent exercised these endpoints against the real Microsoft Azure API through WireMock's recording proxy, and the recorded traffic was used to verify each stub's request and response shapes.

Live sandbox · no signup, no API key

Azure Container Registry - Resource Manager

A running WireMock Cloud instance of this template, callable right now from a terminal, a script, or an AI agent.

Base URL
https://6gmg1.wiremockapi.cloud

GET List operations

curl -s -X GET 'https://6gmg1.wiremockapi.cloud/providers/Microsoft.ContainerRegistry/operations'

POST Check name availability

curl -s -X POST 'https://6gmg1.wiremockapi.cloud/subscriptions/your-subscriptionId/providers/Microsoft.ContainerRegistry/checkNameAvailability' \
  -H 'Content-Type: application/json' \
  -d '{}'

PUT Create registry

curl -s -X PUT 'https://6gmg1.wiremockapi.cloud/subscriptions/your-subscriptionId/resourceGroups/your-resourceGroupName/providers/Microsoft.ContainerRegistry/registries/your-registryName' \
  -H 'Content-Type: application/json' \
  -d '{}'
Method Path Summary
GET /providers/Microsoft.ContainerRegistry/operations Lists all of the available Azure Container Registry REST API operations.
POST /subscriptions/{subscriptionId}/providers/Microsoft.ContainerRegistry/checkNameAvailability Checks whether the container registry name is available for use.
GET /subscriptions/{subscriptionId}/providers/Microsoft.ContainerRegistry/registries Lists all the container registries under the specified subscription.
GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries Lists all the container registries under the specified resource group.
DELETE /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName} Deletes a container registry.
GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName} Gets the properties of the specified container registry.
PATCH /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName} Updates a container registry with the specified parameters.
PUT /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName} Creates a container registry with the specified parameters.
GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/cacheRules Lists all cache rule resources for the specified container registry.
DELETE /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/cacheRules/{cacheRuleName} Deletes a cache rule resource from a container registry.
GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/cacheRules/{cacheRuleName} Gets the properties of the specified cache rule resource.
PATCH /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/cacheRules/{cacheRuleName} Updates a cache rule for a container registry.
PUT /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/cacheRules/{cacheRuleName} Creates a cache rule for a container registry.
GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/connectedRegistries Lists all connected registries for the specified container registry.
DELETE /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/connectedRegistries/{connectedRegistryName} Deletes a connected registry from a container registry.
GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/connectedRegistries/{connectedRegistryName} Gets the properties of the connected registry.
PATCH /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/connectedRegistries/{connectedRegistryName} Updates a connected registry with the specified parameters.
PUT /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/connectedRegistries/{connectedRegistryName} Creates a connected registry for a container registry.
POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/connectedRegistries/{connectedRegistryName}/deactivate Deactivates the connected registry instance.
GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/credentialSets Lists all credential set resources for the specified container registry.
DELETE /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/credentialSets/{credentialSetName} Deletes a credential set from a container registry.
GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/credentialSets/{credentialSetName} Gets the properties of the specified credential set resource.
PATCH /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/credentialSets/{credentialSetName} Updates a credential set for a container registry.
PUT /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/credentialSets/{credentialSetName} Creates a credential set for a container registry.
POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/generateCredentials Generate keys for a token of a specified container registry.
POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/importImage Copies an image to this container registry from the specified container registry.
POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/listCredentials Lists the login credentials for the specified container registry.
GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/listUsages Gets the quota usages for the specified container registry.
GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/privateEndpointConnections List all private endpoint connections in a container registry.
DELETE /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/privateEndpointConnections/{privateEndpointConnectionName} Deletes the specified private endpoint connection associated with the container registry.
GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/privateEndpointConnections/{privateEndpointConnectionName} Get the specified private endpoint connection associated with the container registry.
PUT /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/privateEndpointConnections/{privateEndpointConnectionName} Update the state of specified private endpoint connection associated with the container registry.
GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/privateLinkResources Lists the private link resources for a container registry.
GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/privateLinkResources/{groupName} Gets a private link resource by a specified group name for a container registry.
POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/regenerateCredential Regenerates one of the login credentials for the specified container registry.
GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/replications Lists all the replications for the specified container registry.
DELETE /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/replications/{replicationName} Deletes a replication from a container registry.
GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/replications/{replicationName} Gets the properties of the specified replication.
PATCH /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/replications/{replicationName} Updates a replication for a container registry with the specified parameters.
PUT /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/replications/{replicationName} Creates a replication for a container registry with the specified parameters.
GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/scopeMaps Lists all the scope maps for the specified container registry.
DELETE /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/scopeMaps/{scopeMapName} Deletes a scope map from a container registry.
GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/scopeMaps/{scopeMapName} Gets the properties of the specified scope map.
PATCH /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/scopeMaps/{scopeMapName} Updates a scope map with the specified parameters.
PUT /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/scopeMaps/{scopeMapName} Creates a scope map for a container registry with the specified parameters.
GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/tokens Lists all the tokens for the specified container registry.
DELETE /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/tokens/{tokenName} Deletes a token from a container registry.
GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/tokens/{tokenName} Gets the properties of the specified token.
PATCH /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/tokens/{tokenName} Updates a token with the specified parameters.
PUT /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/tokens/{tokenName} Creates a token for a container registry with the specified parameters.
GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/webhooks Lists all the webhooks for the specified container registry.
DELETE /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/webhooks/{webhookName} Deletes a webhook from a container registry.
GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/webhooks/{webhookName} Gets the properties of the specified webhook.
PATCH /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/webhooks/{webhookName} Updates a webhook with the specified parameters.
PUT /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/webhooks/{webhookName} Creates a webhook for a container registry with the specified parameters.
POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/webhooks/{webhookName}/getCallbackConfig Gets the configuration of service URI and custom headers for the webhook.
GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/webhooks/{webhookName}/listEvents Lists recent events for the specified webhook.
POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/webhooks/{webhookName}/ping Triggers a ping event to be sent to the webhook.

Unauthenticated WireMock Cloud demo sandbox for Microsoft Azure — not an official Microsoft Azure sandbox, and it returns simulated example data only.

What's inside the registry-management template

This is the control-plane half of ACR, and it keeps Azure Resource Manager's grammar intact: every route nests under subscription and resource-group path segments, and a PUT comes back as a proper ARM envelope — your request body merged with a resource id assembled from your own path, a loginServer of {name}.azurecr.io, and provisioningState Succeeded. Better still, the sandbox remembers. A registry you create can be fetched back with the location and SKU you gave it, while names you never created draw Azure's ResourceNotFound error body on a 404.

  • Registry lifecycle — create, read, update, and delete, plus the name-availability pre-check
  • Login credentials — list and regenerate operations that template the registry name into the username
  • Geo-replication — replication resources across regions
  • Webhooks — webhook CRUD alongside ping triggers and event history
  • Network isolation — private endpoint connections and private link resources
  • Fine-grained access — scope maps, registry tokens, credential sets, and cache rules

Example implementation using the Azure management SDK

Every Azure management client for Python takes a base_url, so aiming azure-mgmt-containerregistry at the sandbox needs only that argument and a credential object it never has to redeem:

The same base_url parameter exists on every azure-mgmt-* client, so the pattern scales to whatever slice of ARM your code manages — swap in your own WireMock Cloud copy's URL when the responses need to be yours to define.

That unlocks testing infrastructure code the expensive part-free way: provisioning logic runs without a subscription or service principal, teardown paths can be exercised without fear, and nothing you create accrues an Azure bill.

from azure.core.credentials import AccessToken
from azure.mgmt.containerregistry import (
    ContainerRegistryManagementClient,
)

class MockCredential:
    def get_token(self, *scopes, **kwargs):
        # handed to the mock, which never inspects it
        return AccessToken("mock-token", 4102444800)

client = ContainerRegistryManagementClient(
    credential=MockCredential(),
    subscription_id="00000000-0000-0000-0000-000000000000",
    base_url="https://6gmg1.wiremockapi.cloud",
)

result = client.registries.check_name_availability(
    {"name": "myregistry",
     "type": "Microsoft.ContainerRegistry/registries"}
)
print(result.name_available)

Frequently asked questions

For the core registry resource, yes — a PUT is recorded, and later GETs return the exact body you stored, region and SKU included, whatever registry name you choose. Keep in mind the instance is shared, so registries left behind by other visitors may surface in listings alongside yours.

Live ARM rejects every call that lacks one; the mock waves through calls that carry none at all. That inversion removes the tenant, app registration, and role assignment a real control-plane test drags in — and it's why a throwaway credential object satisfies the SDK.

Instantly. Real registry creation is an LRO that ARM reports as Accepted and completes later; here the response already carries provisioningState Succeeded, so SDK pollers finish on their first check. Time-out and retry branches of your poller logic need a private copy where you can stage the intermediate states.

No — a Basic-tier request accepts features Premium gates in production, and the usage-listing route reports fixed numbers. When your code must react to QuotaExceeded or a feature-not-supported response, add those ARM error payloads to a WireMock Cloud copy and drive the branch deliberately.

Vendor names identify APIs represented by WireMock template sources. This page does not imply vendor endorsement, certification, partnership, or official integration status.