Idempotency-Key. Cada ruta se puede reintentar sin riesgo a su manera.
Totales de vuelo
PUT /v1/partner/grants/{grant_id}/flight-totals envía un estado completo, no un cambio, y as_of hace que un reintento sea seguro:
as_ofes obligatorio. Indica el instante del estado del logbook, en RFC 3339, y se compara al microsegundo.- No puede estar más de 5 minutos adelantado respecto del reloj del servidor. Un
as_ofposterior se rechaza con400 invalid_request. - Enviar de nuevo el mismo
as_ofy los mismos totales, por ejemplo después de perder la respuesta, responde200y no aplica nada, mientras ese envío siga siendo el último aceptado del grant. - Después de que se acepta un envío más reciente, el mismo reintento responde
409 conflictcon el motivostale_totals. Lo mismo ocurre con cualquier envío cuyoas_ofsea anterior al último aceptado. No se aplica nada. Envía el estado actual del logbook. - Un reintento se reconoce por su
as_ofy por los totales que suma, no por sus bytes: dos cuerpos distintos enviados con un mismoas_ofque suman los mismos totales son el mismo envío.
200 incluso dentro de la ventana, un as_of anterior es 409 stale_totals, y solo un envío nuevo dentro de la ventana responde 429 push_throttled.
MyPilotIndex sube cada columna de horas al valor del logbook cuando este es mayor y nunca baja ninguna, así que un envío repetido no puede sumar tiempo dos veces.
Intercambio del código
Un código sirve una sola vez. Intercambiarlo de nuevo, después de perder la respuesta, responde400 invalid_request con el motivo invalid_grant, como en OAuth. Reinicia el consentimiento para obtener un código nuevo.

