Consent · API reference
Withdrawing and giving again the consent to contribute.
POST /v1/consents/withdrawals
Withdraw a pilot's consent to the shared layers
Pilot-wide (no flight_ids): forward-looking, the flights uploaded from now on do
not enter the shared layers until a pilot-wide grant; earlier flights stay in the
anonymous aggregates. With flight_ids: those flights leave the shared layers, at
once for new layer computations, within 24 hours in every published grid cell and
take-off/landing count. Raw IGC and fixes stay (withdrawal is not deletion).
Repeating the request is safe.
Authentication: X-Api-Key header; required scope: scope table.
Request body
application/json → ConsentRequest
Responses
| Status | Description | Content |
|---|---|---|
202 | Successful Response | application/json → ConsentReceipt |
401 | code: auth_missing, auth_invalid, auth_revoked | application/json → ErrorBody |
403 | code: auth_scope | application/json → ErrorBody |
404 | code: flight_not_found | application/json → ErrorBody |
422 | code: request_invalid | application/json → ErrorBody |
429 | code: rate_limited, quota_exceeded (Retry-After seconds)Headers: Retry-After — Seconds until the exhausted window resets | application/json → ErrorBody |
POST /v1/consents/grants
Give consent to the shared layers again
Re-consent after a withdrawal: the flights (those passing the quality gate) count again after the consent sync, which this request queues; a pilot-wide grant also opens the flights uploaded while the pilot was withdrawn (not the ones it left out by list). Repeating it is safe.
Authentication: X-Api-Key header; required scope: scope table.
Request body
application/json → ConsentRequest
Responses
| Status | Description | Content |
|---|---|---|
202 | Successful Response | application/json → ConsentReceipt |
401 | code: auth_missing, auth_invalid, auth_revoked | application/json → ErrorBody |
403 | code: auth_scope | application/json → ErrorBody |
404 | code: flight_not_found | application/json → ErrorBody |
422 | code: request_invalid | application/json → ErrorBody |
429 | code: rate_limited, quota_exceeded (Retry-After seconds)Headers: Retry-After — Seconds until the exhausted window resets | application/json → ErrorBody |
503 | code: queue_unavailable | application/json → ErrorBody |