openapi: 3.2.0 info: title: Bee Maps Data Bursts API description: REST APIs for street-level imagery, AI event videos, road feature detections, and on-demand mapping from the world's largest decentralized dashcam network. version: 1.0.0 contact: name: Bee Maps url: https://beemaps.com/contact license: name: Proprietary servers: - url: https://beemaps.com/api/developer description: Production security: - ApiKeyQuery: [] tags: - name: bursts description: On-demand mapping requests paths: /burst/create: post: tags: - bursts summary: Create burst requests for on-demand mapping description: Request fresh imagery at specific locations. Network devices in the area are dispatched to capture it. Pay only on success. security: - ApiKeyQuery: [] requestBody: required: true content: application/json: schema: type: array items: $ref: '#/components/schemas/BurstRequest' example: - geojson: type: Point coordinates: - -122.413 - 37.786 radius: 50 credits: 125 responses: '200': description: Created burst locations content: application/json: schema: type: array items: $ref: '#/components/schemas/BurstLocation' '400': $ref: '#/components/responses/BadRequest' '403': $ref: '#/components/responses/Forbidden' '402': $ref: '#/components/responses/PaymentRequired' '429': $ref: '#/components/responses/RateLimited' operationId: postBurstCreate x-operation-id-source: derived /bursts: get: tags: - bursts summary: List burst requests description: List all burst requests and their statuses. responses: '200': description: Burst locations content: application/json: schema: type: object properties: bursts: type: array items: $ref: '#/components/schemas/BurstLocation' total: type: integer limit: type: integer skip: type: integer '403': $ref: '#/components/responses/Forbidden' operationId: getBursts x-operation-id-source: derived components: schemas: BurstRequest: type: object required: - geojson properties: geojson: type: object description: GeoJSON Point with radius properties: type: type: string enum: - Point coordinates: type: array items: type: number minItems: 2 maxItems: 2 radius: type: number description: Radius in meters credits: type: integer description: Credits to allocate BurstLocation: type: object properties: id: type: string status: type: string enum: - active - expired - refunded - completed location: type: object properties: lat: type: number lng: type: number geojson: $ref: '#/components/schemas/GeoJSONPolygon' validFrom: type: string format: date-time validUntil: type: string format: date-time hit: type: boolean hitTimestamp: type: - string - 'null' format: date-time credits: type: integer GeoJSONPolygon: type: object required: - type - coordinates properties: type: type: string enum: - Polygon coordinates: type: array items: type: array items: type: array items: type: number minItems: 2 maxItems: 2 minItems: 4 responses: RateLimited: description: 'Too Many Requests — rate limit exceeded (default: 100 req/min)' BadRequest: description: Bad Request — invalid geometry, missing required fields, or malformed JSON Forbidden: description: Forbidden — missing or invalid API key PaymentRequired: description: Payment Required — insufficient credits securitySchemes: BasicAuth: type: http scheme: basic description: 'API key passed as Basic auth header: `Authorization: Basic `' ApiKeyQuery: type: apiKey in: query name: apiKey description: API key passed as query parameter (used for burst endpoints) externalDocs: description: Full documentation url: https://docs.beemaps.com