Skyfleet marketplace contract (Seam 1), version 0.3.0

The interface between the marketplace and Skyfleet: quoting, booking, handover, recovery, events, settlement and data subject rights. This sandbox serves the contract it runs on, so what you read below is what this instance answers to, not a copy that may have drifted from it.

Vocabularies as JSON Schema. They are versioned apart from the contract, and a consumer must tolerate values it does not yet know:
ServiceTier HandlingClass SizeBand EventType CostComponent ReasonCode ProofType ErrorClass FulfilmentMode

A first call, no client of your own required. It takes a token from the client-credentials flow and uses it to search the point network around Berlin:

TOKEN=$(curl -s -X POST "$BASE/oauth2/token" -H 'content-type: application/json' \
  -d "{\"grant_type\":\"client_credentials\",\"client_id\":\"$CLIENT_ID\",\"client_secret\":\"$CLIENT_SECRET\"}" \
  | sed -E 's/.*"access_token":"([^"]+)".*/\1/')

curl -s "$BASE/v1/network/points?lat=52.52&lng=13.405&radius_m=2000" -H "authorization: Bearer $TOKEN"

Events reach you two ways, both documented in the event contract. A signed webhook is the primary one: Skyfleet posts each event to a URL you register, and you verify the signature and the timestamp before trusting the body. GET /v1/events is the recovery path, walked by cursor, for closing a gap after a disruption. Start with the pull mode if you want to try the sandbox today, because it needs no endpoint on your side.