FeatureClient
azure · Cloud
Azure Feature Exposure Control (AFEC) provides a mechanism for the resource providers to control feature exposure to users. Resource providers typically use this mechanism to provide public/private preview for new features prior to making them generally available. Users need to explicitly register for AFEC features to get access to such functionality.
Authentication
Sample Requests
Lists all of the available Microsoft.Features REST API operations.
Hover any highlighted part to learn what it does
curl -X GET "https://api.apis.guru/v2/specs/azure.com/resources-features/2015-12-01/providers/Microsoft.Features/operations?api-version=v1"
import requests
params = {
"api-version": "v1"
}
response = requests.get(
"https://api.apis.guru/v2/specs/azure.com/resources-features/2015-12-01/providers/Microsoft.Features/operations",
params=params,
)
print(response.json())const url = new URL('https://api.apis.guru/v2/specs/azure.com/resources-features/2015-12-01/providers/Microsoft.Features/operations');
url.searchParams.set('api-version', 'v1');
const response = await fetch(url);
const data = await response.json();
console.log(data);package main
import (
"fmt"
"io"
"net/http"
"net/url"
)
func main() {
baseURL, _ := url.Parse("https://api.apis.guru/v2/specs/azure.com/resources-features/2015-12-01/providers/Microsoft.Features/operations")
q := baseURL.Query()
q.Set("api-version", "v1")
baseURL.RawQuery = q.Encode()
targetURL := baseURL.String()
req, _ := http.NewRequest("GET", targetURL, nil)
client := &http.Client{}
resp, _ := client.Do(req)
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(string(body))
}require "net/http"
require "json"
uri = URI("https://api.apis.guru/v2/specs/azure.com/resources-features/2015-12-01/providers/Microsoft.Features/operations")
uri.query = URI.encode_www_form({
"api-version" => "v1"
})
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = uri.scheme == "https"
req = Net::HTTP::Get.new(uri)
res = http.request(req)
puts JSON.parse(res.body)<?php
$url = "https://api.apis.guru/v2/specs/azure.com/resources-features/2015-12-01/providers/Microsoft.Features/operations?" . http_build_query([
"api-version" => "v1"
]);
$opts = ["http" => [
"method" => "GET",
]];
$ctx = stream_context_create($opts);
$res = file_get_contents($url, false, $ctx);
print_r(json_decode($res, true));Gets all the preview features that are available through AFEC for the subscription.
Hover any highlighted part to learn what it does
curl -X GET "https://api.apis.guru/v2/specs/azure.com/resources-features/2015-12-01/subscriptions/{subscriptionId}/providers/Microsoft.Features/features?api-version=v1"import requests
params = {
"api-version": "v1"
}
response = requests.get(
"https://api.apis.guru/v2/specs/azure.com/resources-features/2015-12-01/subscriptions/{subscriptionId}/providers/Microsoft.Features/features",
params=params,
)
print(response.json())const url = new URL('https://api.apis.guru/v2/specs/azure.com/resources-features/2015-12-01/subscriptions/{subscriptionId}/providers/Microsoft.Features/features');
url.searchParams.set('api-version', 'v1');
const response = await fetch(url);
const data = await response.json();
console.log(data);package main
import (
"fmt"
"io"
"net/http"
"net/url"
)
func main() {
baseURL, _ := url.Parse("https://api.apis.guru/v2/specs/azure.com/resources-features/2015-12-01/subscriptions/{subscriptionId}/providers/Microsoft.Features/features")
q := baseURL.Query()
q.Set("api-version", "v1")
baseURL.RawQuery = q.Encode()
targetURL := baseURL.String()
req, _ := http.NewRequest("GET", targetURL, nil)
client := &http.Client{}
resp, _ := client.Do(req)
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(string(body))
}require "net/http"
require "json"
uri = URI("https://api.apis.guru/v2/specs/azure.com/resources-features/2015-12-01/subscriptions/{subscriptionId}/providers/Microsoft.Features/features")
uri.query = URI.encode_www_form({
"api-version" => "v1"
})
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = uri.scheme == "https"
req = Net::HTTP::Get.new(uri)
res = http.request(req)
puts JSON.parse(res.body)<?php
$url = "https://api.apis.guru/v2/specs/azure.com/resources-features/2015-12-01/subscriptions/{subscriptionId}/providers/Microsoft.Features/features?" . http_build_query([
"api-version" => "v1"
]);
$opts = ["http" => [
"method" => "GET",
]];
$ctx = stream_context_create($opts);
$res = file_get_contents($url, false, $ctx);
print_r(json_decode($res, true));Gets all the preview features in a provider namespace that are available through AFEC for the subscription.
Hover any highlighted part to learn what it does
curl -X GET "https://api.apis.guru/v2/specs/azure.com/resources-features/2015-12-01/subscriptions/{subscriptionId}/providers/Microsoft.Features/providers/{resourceProviderNamespace}/features?api-version=v1"import requests
params = {
"api-version": "v1"
}
response = requests.get(
"https://api.apis.guru/v2/specs/azure.com/resources-features/2015-12-01/subscriptions/{subscriptionId}/providers/Microsoft.Features/providers/{resourceProviderNamespace}/features",
params=params,
)
print(response.json())const url = new URL('https://api.apis.guru/v2/specs/azure.com/resources-features/2015-12-01/subscriptions/{subscriptionId}/providers/Microsoft.Features/providers/{resourceProviderNamespace}/features');
url.searchParams.set('api-version', 'v1');
const response = await fetch(url);
const data = await response.json();
console.log(data);package main
import (
"fmt"
"io"
"net/http"
"net/url"
)
func main() {
baseURL, _ := url.Parse("https://api.apis.guru/v2/specs/azure.com/resources-features/2015-12-01/subscriptions/{subscriptionId}/providers/Microsoft.Features/providers/{resourceProviderNamespace}/features")
q := baseURL.Query()
q.Set("api-version", "v1")
baseURL.RawQuery = q.Encode()
targetURL := baseURL.String()
req, _ := http.NewRequest("GET", targetURL, nil)
client := &http.Client{}
resp, _ := client.Do(req)
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(string(body))
}require "net/http"
require "json"
uri = URI("https://api.apis.guru/v2/specs/azure.com/resources-features/2015-12-01/subscriptions/{subscriptionId}/providers/Microsoft.Features/providers/{resourceProviderNamespace}/features")
uri.query = URI.encode_www_form({
"api-version" => "v1"
})
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = uri.scheme == "https"
req = Net::HTTP::Get.new(uri)
res = http.request(req)
puts JSON.parse(res.body)<?php
$url = "https://api.apis.guru/v2/specs/azure.com/resources-features/2015-12-01/subscriptions/{subscriptionId}/providers/Microsoft.Features/providers/{resourceProviderNamespace}/features?" . http_build_query([
"api-version" => "v1"
]);
$opts = ["http" => [
"method" => "GET",
]];
$ctx = stream_context_create($opts);
$res = file_get_contents($url, false, $ctx);
print_r(json_decode($res, true));Postman Setup Guide
- See official documentation for authentication and setup.
What can you build with FeatureClient?
FeatureClient is a Cloud API. Developers commonly use cloud APIs for:
- provisioning and managing cloud infrastructure
- automating deployments and container orchestration
- monitoring uptime and performance metrics
- managing storage buckets and databases
- setting up auto-scaling and load balancing
No authentication required. This API is open — no signup or key needed. Ideal for quick prototypes and public-facing features. FeatureClient is free to use, making it a low-risk choice to experiment with.
New to APIs? Read our beginner's guide · Learn about API keys · What is REST?