openapi: 3.2.0 info: title: Bee Maps Data AI Events 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: ai-events description: AI-detected driving events with video paths: /aievents/search: post: tags: - ai-events summary: Search AI-detected driving events description: Search for AI-detected driving events filtered by date range, event type, and more. requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/AIEventSearch' example: startDate: '2026-01-01T00:00:00Z' endDate: '2026-01-31T00:00:00Z' types: - HARSH_BRAKING - SWERVING limit: 50 responses: '200': description: AI events content: application/json: schema: type: object properties: data: type: array items: $ref: '#/components/schemas/AIEvent' total: type: integer limit: type: integer offset: type: integer '400': $ref: '#/components/responses/BadRequest' '403': $ref: '#/components/responses/Forbidden' '402': $ref: '#/components/responses/PaymentRequired' '429': $ref: '#/components/responses/RateLimited' operationId: postAieventsSearch x-operation-id-source: derived /aievents/{id}: get: tags: - ai-events summary: Get AI event by ID description: Retrieve a single AI event with optional high-frequency sensor data. parameters: - name: id in: path required: true schema: type: string description: AI event ID - name: includeGnssData in: query schema: type: boolean description: Include ~1Hz GPS trace - name: includeImuData in: query schema: type: boolean description: Include ~100Hz 6-axis IMU data responses: '200': description: AI event details content: application/json: schema: $ref: '#/components/schemas/AIEvent' '403': $ref: '#/components/responses/Forbidden' '402': $ref: '#/components/responses/PaymentRequired' operationId: getAieventsById x-operation-id-source: derived components: schemas: AIEventSearch: type: object description: Date range must be 31 days or less. properties: startDate: type: string format: date-time endDate: type: string format: date-time types: type: array items: type: string enum: - HARSH_BRAKING - AGGRESSIVE_ACCELERATION - SWERVING - HIGH_SPEED - HIGH_G_FORCE - STOP_SIGN_VIOLATION limit: type: integer default: 50 maximum: 500 offset: type: integer default: 0 AIEvent: type: object properties: id: type: string type: type: string timestamp: type: string format: date-time lat: type: number lng: type: number videoUrl: type: string format: uri description: Signed video URL (temporary) duration: type: number description: Video duration in seconds gnssData: type: array description: GPS trace (~1Hz), included when includeGnssData=true items: type: object properties: timestamp: type: number lat: type: number lon: type: number imuData: type: array description: IMU data (~100Hz), included when includeImuData=true items: type: object properties: timestamp: type: number ax: type: number ay: type: number az: type: number gx: type: number gy: type: number gz: type: number responses: Forbidden: description: Forbidden — missing or invalid API key RateLimited: description: 'Too Many Requests — rate limit exceeded (default: 100 req/min)' BadRequest: description: Bad Request — invalid geometry, missing required fields, or malformed JSON 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