API Version Detection
developer/v1/domain/api-versionAnalyzes how an API implements versioning. Detects URL-path versioning, generic header versioning, and date-based versioning (Stripe, GitHub, Anthropic, Shopify convention). Also surfaces RFC 9745 Deprecation / Sunset / successor-version signals when present.
What It Does
Probes common URL-path versioning patterns (/v1/, /v2/, /api/v1/, etc.) and validates by content-type. Then performs a vendor header sweep on the root URL — `Stripe-Version`, `X-GitHub-Api-Version`, `Anthropic-Version`, `X-Shopify-Api-Version`, `X-Databricks-Api-Version`, `X-Ms-Version` — and classifies date-format values (YYYY-MM-DD) as `date-based` rather than the generic `header`. Inspects the same response for RFC 9745 deprecation signals: `Deprecation: true`, `Sunset: <date>`, `Link: <…>; rel="successor-version"`. Picks the HIGHEST URL-path version as `currentVersion` so integration developers default to the latest API instead of v1.
Why It's Useful
Understanding API versioning helps with integration planning, security assessment (older versions may have vulnerabilities), and competitive analysis of API maturity.
Use Cases
API Integration
Understand versioning strategy before integrating with an API.
Choose the right API version for integration.
Security Assessment
Discover older API versions that may have known vulnerabilities.
Identify deprecated API versions for security testing.
API Design Research
Study how other APIs implement versioning for best practices.
Learn from industry API versioning patterns.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
domain | string | Required | Domain or full URL — accepts `example.com` or `https://example.com/path`.Example: https://api.example.com |
Response Fields
| Field | Type | Description |
|---|---|---|
domain | string | The queried domain (bare hostname). |
url | string | Full URL that was fetched, echoing the protocol used in the request. |
detected | boolean | Whether API versioning was detected |
versioningMethod | string | Detected strategy: "url-path", "header", "date-based" (Stripe/GitHub/Anthropic convention), or "none" |
currentVersion | string | Default/current API version. For URL-path versioning, set to the HIGHEST detected version (e.g., "v3" when v1/v2/v3 all respond) so integration developers default to the latest API. |
supportedVersions | array | Available URL-path API versions discovered (deduplicated) |
vendor | string | Detected vendor when a vendor-specific version header fired: "stripe", "github", "anthropic", "shopify", "databricks", "azure", or null |
headers | object | Version-related headers: apiVersion, acceptVersionSupported |
deprecation | object | RFC 9745 deprecation signal: { deprecated: boolean, sunsetDate: string | null, successorUrl: string | null } |
recommendations | array | API versioning improvement suggestions, including deprecation warnings when sunset dates are surfaced |
Code Examples
curl "https://api.edgedns.dev/v1/domain/api-version" \
-H "Authorization: Bearer YOUR_API_KEY" \
-d "domain=https://api.example.com"const response = await fetch(
'https://api.edgedns.dev/v1/domain/api-version?domain=https%3A%2F%2Fapi.example.com',
{
headers: {
'Authorization': 'Bearer YOUR_API_KEY'
}
}
);
const data = await response.json();
console.log(data);import requests
response = requests.get(
'https://api.edgedns.dev/v1/domain/api-version',
headers={'Authorization': 'Bearer YOUR_API_KEY'},
params={
'domain': 'https://api.example.com'
}
)
data = response.json()
print(data)Read the full API Version Detection guide
Why it matters, real-world use cases, parameters, response fields, and how to call it from Claude, ChatGPT, or Gemini via MCP.
Read the guide →Related Endpoints
External References
Learn more about the standards and protocols behind this endpoint.
Try This Endpoint
Test the API Version Detection endpoint live in the playground.