openapi: 3.2.0 info: title: Bee Maps Data Imagery 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: imagery description: Street-level dashcam imagery paths: /latest/poly: post: tags: - imagery summary: Query latest imagery within polygon description: Returns the most recent dashcam frames captured within the given GeoJSON polygon. parameters: - name: headings in: query schema: type: boolean description: Include orientation data per frame - name: min_week in: query schema: type: string format: date description: Earliest week to include (YYYY-MM-DD) requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/GeoJSONPolygon' example: type: Polygon coordinates: - - - -122.415 - 37.785 - - -122.413 - 37.785 - - -122.413 - 37.787 - - -122.415 - 37.787 - - -122.415 - 37.785 responses: '200': description: Imagery frames content: application/json: schema: type: object properties: frames: type: array items: $ref: '#/components/schemas/ImageryFrame' '400': $ref: '#/components/responses/BadRequest' '403': $ref: '#/components/responses/Forbidden' '402': $ref: '#/components/responses/PaymentRequired' '429': $ref: '#/components/responses/RateLimited' operationId: postLatestPoly x-operation-id-source: derived components: 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 schemas: ImageryFrame: type: object properties: url: type: string format: uri description: Signed image URL (temporary) timestamp: type: string format: date-time position: type: object properties: lat: type: number lon: type: number device: type: string description: Device type (e.g. 'bee') sequence: type: string idx: type: integer description: Frame index in sequence width: type: integer height: 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 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