Authenticated Azure REST API calls
Automatic OAuth scope detection for 20+ Azure services. No manual token management — just run and go.
Features
All HTTP Methods
GET, POST, PUT, PATCH, DELETE, HEAD, and OPTIONS with JSON body support from inline data or files.
Smart Azure Auth
Automatic OAuth scope detection for 20+ Azure services — Management API, Graph, Key Vault, Storage, Cosmos DB, and more.
Auto Pagination
Follows nextLink, @odata.nextLink, and Link headers automatically with --paginate.
Retry Logic
Exponential backoff with configurable retries for transient errors (5xx, network failures). Default 3 retries.
Response Formatting
Pretty-printed JSON by default. Raw, compact JSON, or binary output modes. Save responses to file.
Token Security
Automatic token redaction in verbose output. SSRF protection, header sanitization, and response size limits built in.
Smart Scope Detection
Just provide a URL. azd rest detects the correct OAuth scope automatically.
Azure Management
azd rest get https://management.azure.com/subscriptions?api-version=2020-01-01→ Scope: https://management.azure.com/.default
Key Vault
azd rest get https://myvault.vault.azure.net/secrets/mysecret?api-version=7.4→ Scope: https://vault.azure.net/.default
Microsoft Graph
azd rest get https://graph.microsoft.com/v1.0/me→ Scope: https://graph.microsoft.com/.default
Public API (No Auth)
azd rest get https://api.github.com/repos/Azure/azure-dev --no-auth→ No authentication needed
Quick Start
Install Extension
# Install Azure Developer CLIwinget install microsoft.azd
# Add extension sourceazd extension source add -n jongio -t url -l https://jongio.github.io/azd-extensions/registry.json
# Install extensionazd extension install jongio.azd.rest# Install Azure Developer CLIbrew tap azure/azd && brew install azd
# Add extension sourceazd extension source add -n jongio -t url -l https://jongio.github.io/azd-extensions/registry.json
# Install extensionazd extension install jongio.azd.rest# Install Azure Developer CLIcurl -fsSL https://aka.ms/install-azd.sh | bash
# Add extension sourceazd extension source add -n jongio -t url -l https://jongio.github.io/azd-extensions/registry.json
# Install extensionazd extension install jongio.azd.restVerify Installation
azd rest versionMake Your First Request
# List your Azure subscriptionsazd rest get https://management.azure.com/subscriptions?api-version=2020-01-01Usage Examples
POST with JSON Body
azd rest post https://management.azure.com/subscriptions/{sub}/resourceGroups/{rg}/providers/Microsoft.Storage/storageAccounts/{name}?api-version=2021-04-01 \ --data '{"location":"eastus","kind":"StorageV2","sku":{"name":"Standard_LRS"}}'Verbose Output with Headers
azd rest get https://management.azure.com/subscriptions?api-version=2020-01-01 --verbose
# > GET https://management.azure.com/subscriptions?api-version=2020-01-01# > Authorization: Bearer ***REDACTED***# < 200 OK# Request completed in 234msSave Response to File
azd rest get https://management.azure.com/subscriptions?api-version=2020-01-01 \ --output-file subscriptions.jsonReady to get started?
Install azd rest and start making authenticated Azure REST API calls in seconds.
Get Started Now