Skip to main content
Version: v1.10 (stable)

Container Registry

This page tracks which Azure Container Registry REST API operations are implemented in Topaz, split by control plane (ARM resource management) and data plane (OCI / Docker Registry HTTP API).

Legend​

SymbolMeaning
✅Implemented
❌Not implemented

Control Plane​

The control plane covers ARM operations available under management.azure.com — creating and managing registry resources, replications, webhooks, etc.

Cache Rules​

REST reference

OperationStatus
Create❌
Delete❌
Get❌
List❌
Update❌

Connected Registries​

REST reference

OperationStatus
Create❌
Deactivate❌
Delete❌
Get❌
List❌
Update❌

Credential Sets​

REST reference

OperationStatus
Create❌
Delete❌
Get❌
List❌
Update❌

Operations​

REST reference

OperationStatus
List❌

Private Endpoint Connections​

REST reference

OperationStatus
Create Or Update❌
Delete❌
Get❌
List❌

Registries​

REST reference

OperationStatusNotes
Check Name Availability✅
Create✅Implemented via PUT (CreateOrUpdate)
Delete✅
Generate Credentials✅
Get✅
Get Private Link Resource❌
Import Image❌
List✅Lists all registries under a subscription
List By Resource Group✅
List Credentials✅
List Private Link Resources❌
List Usages✅
Regenerate Credential✅
Update✅PATCH

Replications​

REST reference

OperationStatus
Create❌
Delete❌
Get❌
List✅
Update❌

Scope Maps​

REST reference

OperationStatus
Create❌
Delete❌
Get❌
List❌
Update❌

Tokens​

REST reference

OperationStatus
Create❌
Delete❌
Get❌
List❌
Update❌

Webhooks​

REST reference

OperationStatus
Create❌
Delete❌
Get❌
Get Callback Config❌
List❌
List Events❌
Ping❌
Update❌

Data Plane​

The data plane covers the OCI Distribution Spec / Docker Registry HTTP API v2, served from the registry's own hostname (e.g. <registry>.cr.topaz.local.dev:8892).

Authentication​

ACR OAuth2 token exchange docs

OperationStatusNotes
GET /v2/ (challenge)✅Returns 401 Bearer challenge; accepts Basic (admin creds) or Bearer (JWT)
POST /oauth2/exchange✅Exchanges AAD access token for ACR refresh token
GET /oauth2/token✅Fetch repository-scoped Bearer access token (Docker daemon flow)
POST /oauth2/token✅Exchange refresh token for scoped repository access token

Manifests​

OperationStatusNotes
Get✅GET /v2/{name}/manifests/{reference} — returns stored manifest JSON with original Content-Type
Put✅PUT /v2/{name}/manifests/{reference} — stores by tag and by digest
Delete✅DELETE /v2/{name}/manifests/{reference} — deletes by tag or digest; also removes digest-indexed copy
Check existence✅HEAD /v2/{name}/manifests/{reference} — returns 200 + Docker-Content-Digest + Content-Type + Content-Length when manifest exists

Blobs​

OperationStatusNotes
Get✅GET /v2/{name}/blobs/{digest} — returns raw blob bytes with Content-Length
Check existence✅HEAD /v2/{name}/blobs/{digest} — returns 200 + Content-Length when blob exists
Delete✅DELETE /v2/{name}/blobs/{digest} — deletes existing blob by digest
Initiate upload✅POST /v2/{name}/blobs/uploads/ — returns session UUID
Upload (monolithic)✅PUT /v2/{name}/blobs/uploads/{uuid}?digest=... with body
Upload (chunked)✅PATCH /v2/{name}/blobs/uploads/{uuid} then PUT to finalize

Tags​

OperationStatusNotes
List✅GET /v2/{name}/tags/list (OCI) and GET /acr/v1/{name}/_tags (ACR data-plane) — supports n and last pagination params
Delete✅DELETE /acr/v1/{name}/_tags/{tag} — used by az acr repository delete --image <name:tag>

Repositories​

OperationStatusNotes
List✅GET /v2/_catalog and GET /acr/v1/_catalog — returns {"repositories":[...]} sorted; supports n and last pagination params
Delete✅DELETE /acr/v1/{name} — used by az acr repository delete --repository <name>

Tasks API​

This section tracks task-oriented ARM operations for building and running container images via triggers and pipelines.

Registries (Tasks)​

REST reference

OperationStatus
Get Build Source Upload Url❌
Schedule Run✅

Runs​

REST reference

OperationStatus
Cancel❌
Get✅
Get Log Sas Url✅
List✅
Update✅

Tasks​

REST reference

OperationStatus
Create✅
Delete✅
Get✅
Get Details✅
List✅
Run✅
Update✅
Star on GitHub