{"openapi":"3.1.0","info":{"title":"Apizie","version":"2.0.0","description":"One API key, one envelope, many public data sources."},"servers":[{"url":"https://zieapi.vercel.app"}],"security":[{"ApiKeyAuth":[]}],"paths":{"/v1/transport:tfl-status/line-status":{"get":{"operationId":"transport_tfl_status_line_status","summary":"Line status","description":"Current status of every line for a mode.","tags":["transport"],"parameters":[{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["tube","overground","dlr","elizabeth-line","tram","bus","river-bus"],"default":"tube"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RunEnvelope"}}}},"4XX":{"$ref":"#/components/responses/Error"},"5XX":{"$ref":"#/components/responses/Error"}},"x-apizie-cache-ttl":60,"x-apizie-min-plan":null,"x-apizie-bulk":true,"x-apizie-status":"live"}},"/v1/transport:tfl-status/arrivals":{"get":{"operationId":"transport_tfl_status_arrivals","summary":"Stop arrivals","description":"Next arrivals at a stop point (NaPTAN id).","tags":["transport"],"parameters":[{"name":"stopId","in":"query","required":true,"description":"StopPoint id, e.g. 940GZZLUOXC (Oxford Circus)","schema":{"type":"string","description":"StopPoint id, e.g. 940GZZLUOXC (Oxford Circus)"},"example":"940GZZLUOXC"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RunEnvelope"}}}},"4XX":{"$ref":"#/components/responses/Error"},"5XX":{"$ref":"#/components/responses/Error"}},"x-apizie-cache-ttl":30,"x-apizie-min-plan":null,"x-apizie-bulk":true,"x-apizie-status":"live"}},"/v1/transport:tfl-status/bike-points":{"get":{"operationId":"transport_tfl_status_bike_points","summary":"Santander bikes","description":"Docking stations with bikes and spaces available.","tags":["transport"],"parameters":[],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RunEnvelope"}}}},"4XX":{"$ref":"#/components/responses/Error"},"5XX":{"$ref":"#/components/responses/Error"}},"x-apizie-cache-ttl":120,"x-apizie-min-plan":null,"x-apizie-bulk":true,"x-apizie-status":"live"}}},"components":{"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"x-api-key"}},"schemas":{"RunEnvelope":{"type":"object","required":["project","data","timestamp"],"properties":{"project":{"type":"string","example":"dev-tools:hash"},"data":{},"timestamp":{"type":"string","format":"date-time"}}},"ErrorEnvelope":{"type":"object","properties":{"content":{},"message":{"type":"string"},"errors":{"type":"array","items":{}},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"}}}}}},"responses":{"Error":{"description":"Invalid key, plan gate, rate limit or upstream failure","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}}}}}