API template library

Azure DevOps mock API and live sandbox

A WireMock simulation of Microsoft Azure's REST API — covering project creation, Git repositories, pipelines, and work-item tracking.

Vendor
Microsoft Azure
Functionality
Projects, repos, pipelines, work items
Spec version
7.1
Endpoints
270
Stubs
290
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 DevOps

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

Base URL
https://7m768.wiremockapi.cloud

GET Pipeline Approvals - List

curl -s -X GET 'https://7m768.wiremockapi.cloud/your-organization/your-project/_apis/pipelines/approvals'

PATCH Pipeline Approvals - Update

curl -s -X PATCH 'https://7m768.wiremockapi.cloud/your-organization/your-project/_apis/pipelines/approvals' \
  -H 'Content-Type: application/json' \
  -d '{}'

POST ACLs - Set

curl -s -X POST 'https://7m768.wiremockapi.cloud/your-organization/_apis/accesscontrollists/your-securityNamespaceId' \
  -H 'Content-Type: application/json' \
  -d '{}'
Method Path Summary
GET /_apis/accounts List accounts
GET /_apis/health Get service health
GET /_apis/profile/profiles/{id} Get profile
PATCH /_apis/profile/profiles/{id} Update profile
GET /_apis/status/health Get status health
DELETE /{organization}/_apis/accesscontrolentries/{securityNamespaceId} Remove ACEs
POST /{organization}/_apis/accesscontrolentries/{securityNamespaceId} Set ACEs
DELETE /{organization}/_apis/accesscontrollists/{securityNamespaceId} Remove ACLs
GET /{organization}/_apis/accesscontrollists/{securityNamespaceId} Get ACLs
POST /{organization}/_apis/accesscontrollists/{securityNamespaceId} Set ACLs
GET /{organization}/_apis/audit/auditLog Query audit log
GET /{organization}/_apis/audit/streams List audit streams
POST /{organization}/_apis/audit/streams Create audit stream
DELETE /{organization}/_apis/audit/streams/{streamId} Delete audit stream
GET /{organization}/_apis/delegatedauth/tokens List delegated auth tokens
GET /{organization}/_apis/distributedtask/pools List agent pools
POST /{organization}/_apis/distributedtask/pools Create agent pool
DELETE /{organization}/_apis/distributedtask/pools/{poolId} Delete agent pool
GET /{organization}/_apis/distributedtask/pools/{poolId} Get agent pool
GET /{organization}/_apis/distributedtask/pools/{poolId}/agents List agents
DELETE /{organization}/_apis/distributedtask/pools/{poolId}/agents/{agentId} Delete agent
GET /{organization}/_apis/distributedtask/pools/{poolId}/agents/{agentId} Get agent
GET /{organization}/_apis/distributedtask/resourceusage Get resource usage
GET /{organization}/_apis/extensionmanagement/installedextensions List installed extensions
POST /{organization}/_apis/extensionmanagement/installedextensions Install extension
DELETE /{organization}/_apis/extensionmanagement/installedextensions/{publisherName}/{extensionName} Uninstall extension
GET /{organization}/_apis/extensionmanagement/installedextensions/{publisherName}/{extensionName} Get installed extension
PATCH /{organization}/_apis/extensionmanagement/installedextensions/{publisherName}/{extensionName} Update installed extension
GET /{organization}/_apis/favorite/favorites List favorites
POST /{organization}/_apis/favorite/favorites Create favorite
DELETE /{organization}/_apis/favorite/favorites/{favoriteId} Delete favorite
GET /{organization}/_apis/favorite/favorites/{favoriteId} Get favorite
GET /{organization}/_apis/governance/policy Get governance policy
PATCH /{organization}/_apis/governance/policy Update governance policy
GET /{organization}/_apis/graph/descriptors/{storageKey} Get descriptor
GET /{organization}/_apis/graph/groups List groups
POST /{organization}/_apis/graph/groups Create group
DELETE /{organization}/_apis/graph/groups/{groupDescriptor} Delete group
GET /{organization}/_apis/graph/groups/{groupDescriptor} Get group
PATCH /{organization}/_apis/graph/groups/{groupDescriptor} Update group
GET /{organization}/_apis/graph/memberships/{subjectDescriptor} List memberships
DELETE /{organization}/_apis/graph/memberships/{subjectDescriptor}/{containerDescriptor} Remove membership
POST /{organization}/_apis/graph/memberships/{subjectDescriptor}/{containerDescriptor} Add membership
GET /{organization}/_apis/graph/users List users
POST /{organization}/_apis/graph/users Create user
DELETE /{organization}/_apis/graph/users/{userDescriptor} Delete user
GET /{organization}/_apis/graph/users/{userDescriptor} Get user
GET /{organization}/_apis/hooks/consumers List consumers
GET /{organization}/_apis/hooks/publishers List publishers
GET /{organization}/_apis/hooks/subscriptions List subscriptions
POST /{organization}/_apis/hooks/subscriptions Create subscription
DELETE /{organization}/_apis/hooks/subscriptions/{subscriptionId} Delete subscription
GET /{organization}/_apis/hooks/subscriptions/{subscriptionId} Get subscription
PUT /{organization}/_apis/hooks/subscriptions/{subscriptionId} Update subscription
GET /{organization}/_apis/ims/identities List identities
GET /{organization}/_apis/ims/identities/{identityId} Get identity
GET /{organization}/_apis/management/enablement Get org-level advanced security enablement
PATCH /{organization}/_apis/management/enablement Update org-level advanced security enablement
GET /{organization}/_apis/memberentitlementmanagement/userentitlements List user entitlements
POST /{organization}/_apis/memberentitlementmanagement/userentitlements Add user entitlement

+210 more endpoints in the full spec.

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 Azure DevOps template

Azure DevOps scopes its v7.1 REST routes by organization and project path segments, and the template honors that layout across more than a dozen functional areas. The core loop is live, not canned: POST a project and a 202 returns it with a freshly generated GUID; list projects afterwards and yours is in the collection. Create a Git repository and the response assembles remoteUrl, sshUrl, and webUrl from the org, project, and repo names you chose — the exact URLs a clone step would consume — while the work-item route accepts the json-patch documents the real service demands.

  • Projects & core — organization accounts plus project creation and listing with recorded state
  • Git repositories — repo CRUD whose clone URLs are assembled from your own path segments
  • Pipelines & builds — pipeline listings, build queries, and the approvals routes
  • Work item tracking — json-patch creation against the typed $Task-style routes
  • Identity & security — graph users and groups, memberships, and access-control lists
  • Governance — audit logs, extension management, and user entitlements

Frequently asked questions

Setup is the wrong word — there is none. Basic-auth headers pass unread, so the token-scoping and expiry ceremony a real ADO organization imposes never enters the picture. Which is also the reminder: a live PAT should never appear in traffic to a shared, unauthenticated mock.

They report a blank slate honestly — count zero, empty value array — until something is created, at which point lists reflect it. That behavior suits setup-then-verify test flows far better than pre-canned listings, since what comes back is what your test actually made.

Names, descriptions, and identifiers derived from your path all stick. Some interior values are fixtures — a created work item reports its type and project from your URL but a placeholder title — so pin assertions to ids and structure on the shared instance, and use a private copy when the response must mirror every field you posted.

It lingers on the shared sandbox, visible to every later visitor, and other visitors' projects can equally appear in your listings. Treat the public instance as communal scratch space for smoke tests; anything needing a pristine, resettable organization belongs in your own WireMock Cloud copy.

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