{"openapi":"3.0.1","info":{"title":"CellOffer Dispatch API","description":"Bounded per-cell priority queue with TTL and push metrics","contact":{"name":"j143","url":"https://github.com/j143/cell-offer"},"version":"v1"},"servers":[{"url":"http://localhost:8080","description":"Generated server url"}],"tags":[{"name":"Dispatch","description":"H3-cell offer queue operations"}],"paths":{"/cells/{cellId}/offers":{"post":{"tags":["Dispatch"],"summary":"Enqueue a driver offer","description":"Push a driver offer into the bounded priority queue for a given H3 cell.","operationId":"enqueueOffer","parameters":[{"name":"cellId","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EnqueueOfferRequest"}}},"required":true},"responses":{"202":{"description":"Offer accepted, returns offerId","content":{"*/*":{"schema":{"type":"object","additionalProperties":{"type":"string"}}}}}}}},"/cells/{cellId}/stats":{"get":{"tags":["Dispatch"],"summary":"Get stats for a single cell","operationId":"getCellStats","parameters":[{"name":"cellId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Cell queue stats","content":{"*/*":{"schema":{"type":"object","additionalProperties":{"type":"object"}}}}}}}},"/cells/stats":{"get":{"tags":["Dispatch"],"summary":"Get aggregate stats for all cells","operationId":"getAllStats","responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object","additionalProperties":{"type":"object","additionalProperties":{"type":"object"}}}}}}}}}},"components":{"schemas":{"EnqueueOfferRequest":{"type":"object","properties":{"driverId":{"type":"string"},"riderId":{"type":"string"},"priority":{"type":"integer","format":"int32"},"ttlMillis":{"type":"integer","format":"int64"}}}}}}