Skip to content

List browser deprecations and interventions

GET
/v1/browser-changes
curl --request GET \
--url 'https://api.us.headerhawk.com/v1/browser-changes?reportType=deprecation&limit=50' \
--header 'Authorization: Bearer <token>'

The deprecated APIs your pages use and the interventions browsers made on them, one entry per API, type and source file, ordered by the date the browser expects to remove the API (soonest first, then those with no date), then by volume; with the totals and the volume per browser. Reads reported data, so it spends the tenant’s budget too.

Both types are sampled, so every estimated count stands for the reports sampling left out; sampled says whether any was.

Window: at most 31 days, the last 31 by default; longer is 400. Each page reads every deprecation and intervention in the window twice, once for the totals. Measured worst case: 38 ms for 14,660 reports (5 MB) in 90 days.

At most the first 10,000 entries of a query can be paged through.

siteId
string format: uuid

Only this site’s reports. Another tenant’s site, or none, is 404.

reportType
string
Allowed values: deprecation intervention

Only deprecations, or only interventions. Defaults to both.

from
string format: date-time

Only reports received at or after this instant. Defaults to the start of your retention window, or where the operation bounds its window, to that many days before to. Earlier than your retention reaches is 400.

to
string format: date-time

Only reports received before this instant. Defaults to now.

limit
integer
default: 50 >= 1 <= 200

How many items a page holds.

cursor
string
>= 1 characters <= 1024 characters

The previous page’s nextCursor. Omit it for the first page.

A page of entries, and the totals

Media typeapplication/json
object
data
required
Array<object>
object
reportType
required

deprecation or intervention. An open enum.

string
Allowed values: deprecation intervention
feature
required

The browser’s identifier for the API.

string
sourceFile
required

The script that used it, without its query; null when the browser did not say.

string
nullable
lineNumber
required
integer
nullable
message
required

The browser’s own explanation.

string
anticipatedRemoval
required

When the browser expects to remove the API; null when it has not said.

string format: date-time
nullable
reportCount
required
integer
estimatedReportCount
required
integer
sampled
required
boolean
pageCount
required

Distinct pages, without their query, that used it.

integer
topPages
required

Up to three of those pages, the most frequent first.

Array<string>
browsers
required
Array<string>
firstSeen
required
string format: date-time
lastSeen
required
string format: date-time
totals
required

Across every entry in the window, not only this page’s.

object
estimatedReportCount
required
integer
reportCount
required
integer
apiCount
required

Distinct APIs.

integer
withRemovalDateCount
required

How many of them have an anticipated removal date.

integer
soonestRemoval
required
string format: date-time
nullable
sampled
required
boolean
browsers
required

The estimated reports per browser across the window, largest first.

Array<object>
object
browser
required

The browser family; empty when the user agent could not be read.

string
estimatedReportCount
required
integer
nextCursor
required
string
nullable
Example
{
"data": [
{
"reportType": "deprecation"
}
]
}
RateLimit-Limit
integer

The budget nearest to running out, per minute.

RateLimit-Remaining
integer

What is left of that budget this minute.

RateLimit-Reset
integer

Seconds until that budget starts again.

A parameter was refused, or one the operation does not take was sent. The message names it.

Media typeapplication/json
object
error
required
object
code
required

What went wrong. An open enum: treat a code you do not know by its HTTP status.

string
Allowed values: bad_request validation_error invalid_api_key plan_upgrade_required forbidden not_found rate_limited rate_limit_unavailable upstream_unavailable internal_error
message
required

For people. Branch on code.

string
requestId
required

Quote it when you write to us about this request.

string
Example
{
"error": {
"code": "bad_request"
}
}

invalid_api_key: no key, or one that is malformed, unknown, revoked or expired. One answer for all of them.

Media typeapplication/json
object
error
required
object
code
required

What went wrong. An open enum: treat a code you do not know by its HTTP status.

string
Allowed values: bad_request validation_error invalid_api_key plan_upgrade_required forbidden not_found rate_limited rate_limit_unavailable upstream_unavailable internal_error
message
required

For people. Branch on code.

string
requestId
required

Quote it when you write to us about this request.

string
Example
{
"error": {
"code": "bad_request"
}
}

plan_upgrade_required: the tenant’s plan does not include API access (the key works again when it does), or does not include what this operation reads.

Media typeapplication/json
object
error
required
object
code
required

What went wrong. An open enum: treat a code you do not know by its HTTP status.

string
Allowed values: bad_request validation_error invalid_api_key plan_upgrade_required forbidden not_found rate_limited rate_limit_unavailable upstream_unavailable internal_error
message
required

For people. Branch on code.

string
requestId
required

Quote it when you write to us about this request.

string
Example
{
"error": {
"code": "bad_request"
}
}

No such resource in your tenant.

Media typeapplication/json
object
error
required
object
code
required

What went wrong. An open enum: treat a code you do not know by its HTTP status.

string
Allowed values: bad_request validation_error invalid_api_key plan_upgrade_required forbidden not_found rate_limited rate_limit_unavailable upstream_unavailable internal_error
message
required

For people. Branch on code.

string
requestId
required

Quote it when you write to us about this request.

string
Example
{
"error": {
"code": "bad_request"
}
}

rate_limited: over a budget. Wait Retry-After seconds.

Media typeapplication/json
object
error
required
object
code
required

What went wrong. An open enum: treat a code you do not know by its HTTP status.

string
Allowed values: bad_request validation_error invalid_api_key plan_upgrade_required forbidden not_found rate_limited rate_limit_unavailable upstream_unavailable internal_error
message
required

For people. Branch on code.

string
requestId
required

Quote it when you write to us about this request.

string
Example
{
"error": {
"code": "bad_request"
}
}
Retry-After
integer

Seconds to wait before trying again.

rate_limit_unavailable or upstream_unavailable: HeaderHawk could not serve this now. Nothing is wrong with the request; try again after Retry-After seconds.

Media typeapplication/json
object
error
required
object
code
required

What went wrong. An open enum: treat a code you do not know by its HTTP status.

string
Allowed values: bad_request validation_error invalid_api_key plan_upgrade_required forbidden not_found rate_limited rate_limit_unavailable upstream_unavailable internal_error
message
required

For people. Branch on code.

string
requestId
required

Quote it when you write to us about this request.

string
Example
{
"error": {
"code": "bad_request"
}
}
Retry-After
integer

Seconds to wait before trying again.