Registration state
Registration added or removed, status changes, and other reviewed registration-record changes can appear as explicit event types.
GET https://api.grizzlybulls.com/v1/aircraft/changes exposes reviewed observation-time events and privacy-safe diffs over a bounded window. Free can evaluate the read feed. Developer and Business add retained watch workflows and signed outbound delivery for exact N-numbers.
Supply explicit since and until timestamps. Windows are bounded, results use opaque cursor pagination, and an optional reviewed event type can narrow the feed. These are changes Grizzly Bulls observed between accepted FAA snapshots, not claims about the exact legal effective time of an underlying real-world event.
curl --fail-with-body \
-H "Authorization: Bearer $GRIZZLY_BULLS_API_KEY" \
"https://api.grizzlybulls.com/v1/aircraft/changes?since=2026-10-12T00%3A00%3A00.000Z&until=2026-10-13T00%3A00%3A00.000Z&limit=25"import json
import os
import urllib.parse
import urllib.request
query = urllib.parse.urlencode({
"since": "2026-10-12T00:00:00.000Z",
"until": "2026-10-13T00:00:00.000Z",
"limit": 25,
})
request = urllib.request.Request(
f"https://api.grizzlybulls.com/v1/aircraft/changes?{query}",
headers={"Authorization": f"Bearer {os.environ['GRIZZLY_BULLS_API_KEY']}"},
)
with urllib.request.urlopen(request) as response:
changes = json.load(response)
for item in changes["data"]:
print(item["event"]["nNumber"], item["event"]["eventType"] )Registration added or removed, status changes, and other reviewed registration-record changes can appear as explicit event types.
Changes to the aircraft assignment behind an N-number are represented separately from a generic record update.
Diffs are limited to the public change contract, including fields such as aircraft/model assignment, manufacture year, status, Mode S code, and reviewed certificate/activity dates.
Registrant changes and PII withholding/release can be represented as event semantics without turning the change feed into an owner-history reconstruction service.
When your application cares about a known set of aircraft, paid watch lists reuse the same reviewed change-event authority. A watch can contain exact N-numbers, select event types, retain alert/read state, and deliver matching realtime events to an HTTPS endpoint with a signing secret returned when the watch is created.
curl --fail-with-body \
-X POST \
-H "Authorization: Bearer $GRIZZLY_BULLS_API_KEY" \
-H "Content-Type: application/json" \
--data '{
"name": "Fleet registrations",
"nNumbers": ["N172SP", "N12345"],
"endpointUrl": "https://example.com/webhooks/aircraft",
"eventTypes": ["registration_record_changed", "status_changed"],
"frequency": "realtime"
}' \
"https://api.grizzlybulls.com/v1/aircraft/watch-lists"Up to 25 watched-aircraft memberships across named lists, plus alert history and signed webhooks. Use it when a small production integration should react to exact aircraft changes automatically.
Up to 250 watched-aircraft memberships across named lists for higher-volume monitored workflows. The same account key and public change semantics continue across the upgrade.
Free currently has no watch capacity. You can evaluate the change feed on Free before deciding whether server-to-server delivery removes enough polling and diffing work to justify a paid plan.
A change event records when Grizzly Bulls observed a difference between accepted source states. Source-reported effective dates remain separate when the FAA provides them.
The public diff model is intentionally PII-safe. Historical retention is not used to restore registrant details that the current FAA public source withholds.
Outbound delivery is HTTPS-only, signed, retry-bounded, redirect-free, and constrained by reviewed network-safety checks rather than accepting arbitrary callback behavior.
Use the retained history route for bounded versions and events attached to one registration identifier.
Read the registration history guide →Use the lifecycle resolver when the job is determining which reviewed FAA evidence currently applies to one N-number.
Read the N-number status guide →Use exact N-number lookup when you want normalized aircraft, registration, currently releasable registrant, source, and history-summary fields.
Read the exact lookup guide →Create a Free key, query a bounded change window, then upgrade only when named watches and signed delivery replace work your application would otherwise own.