Hivemapper Bursts API

On-demand incentivized mapping requests.

OpenAPI Specification

hivemapper-bursts-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Bee Maps (Hivemapper) Developer Account Bursts API
  version: '1.0'
  x-generated: '2026-07-19'
  x-method: generated
  x-source: https://docs.beemaps.com/api-reference
  description: The Bee Maps (Hivemapper) Developer API delivers fresh street-level imagery, ML-detected map features, AI event videos, and on-demand mapping (Bursts) from the world's largest decentralized dashcam network. Data is queried by point, polygon, or linestring and billed on a two-tier model (API credits per query plus per-view USD metering for signed imagery URLs). Requests are limited to a maximum query area of 5 sq km and use GeoJSON [longitude, latitude] coordinate order. This specification was generated faithfully from the public Bee Maps API reference; it is not a provider-published OpenAPI document.
  contact:
    name: Bee Maps
    email: hi@hivemapper.com
    url: https://docs.beemaps.com
  license:
    name: Bee Maps API Terms
    url: https://hivemapper.com/tos
servers:
- url: https://beemaps.com/api/developer
  description: Bee Maps Developer API (current)
- url: https://hivemapper.com/api/developer
  description: Legacy Hivemapper Developer API host
security:
- basicAuth: []
- apiKeyQuery: []
tags:
- name: Bursts
  description: On-demand incentivized mapping requests.
paths:
  /burst/create:
    post:
      operationId: createBurst
      summary: Create an on-demand mapping burst
      description: Create incentivized mapping requests (Bursts) for specific locations. Network devices are dispatched to capture fresh imagery; you pay only on successful capture.
      tags:
      - Bursts
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BurstCreate'
      responses:
        '200':
          description: Created burst objects.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BurstCreateResult'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '500':
          $ref: '#/components/responses/ServerError'
  /bursts:
    get:
      operationId: listBursts
      summary: List created bursts
      description: List and monitor created bursts with coverage status.
      tags:
      - Bursts
      parameters:
      - name: limit
        in: query
        schema:
          type: integer
          default: 100
          maximum: 1000
        description: Maximum results to return.
      - name: skip
        in: query
        schema:
          type: integer
          default: 0
        description: Pagination offset.
      responses:
        '200':
          description: Array of bursts plus pagination metadata.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BurstListResult'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '500':
          $ref: '#/components/responses/ServerError'
components:
  schemas:
    BurstCreate:
      type: object
      properties:
        geojson:
          $ref: '#/components/schemas/GeoJSONGeometry'
        trackedLocation:
          type: string
        expiration:
          type: string
        deviceType:
          type: string
          enum:
          - bee
      required:
      - geojson
    GeoJSONGeometry:
      type: object
      description: A GeoJSON geometry (Point, LineString, or Polygon) with [lon, lat] order.
      properties:
        type:
          type: string
          enum:
          - Point
          - LineString
          - Polygon
        coordinates: {}
        radius:
          type: number
          description: Radius in meters (for Point queries).
        buffer:
          type: number
          description: Buffer in meters (for LineString queries).
      required:
      - type
      - coordinates
    HoneyBurst:
      type: object
      properties:
        _id:
          type: string
        geojson:
          $ref: '#/components/schemas/GeoJSONGeometry'
        amount:
          type: number
        status:
          type: string
        validFrom:
          type: string
          format: date-time
        validUntil:
          type: string
          format: date-time
        isHit:
          type: boolean
        latestHitAt:
          type: string
          format: date-time
    BurstListResult:
      type: object
      properties:
        total:
          type: integer
        limit:
          type: integer
        skip:
          type: integer
        bursts:
          type: array
          items:
            $ref: '#/components/schemas/HoneyBurst'
    BurstCreateResult:
      type: object
      properties:
        success:
          type: boolean
        bursts:
          type: array
          items:
            $ref: '#/components/schemas/HoneyBurst'
    Error:
      type: object
      properties:
        error:
          type: string
          description: Human-readable error message.
        statusCode:
          type: integer
  responses:
    Unauthorized:
      description: Authentication failed.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    BadRequest:
      description: Bad request.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    ServerError:
      description: Server error.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  securitySchemes:
    basicAuth:
      type: http
      scheme: basic
      description: 'HTTP Basic authentication. Send Authorization: Basic <base64(username:api-key)>.'
    apiKeyQuery:
      type: apiKey
      in: query
      name: apiKey
      description: API key passed as the apiKey query parameter.