Skip to content
Beam Docs

API Reference

Use the BeamCore REST and WebSocket APIs, authentication, and audit routes.

The BeamCore API is a REST + WebSocket API served at beamcore.b1m.ai.

New to Beam? Start with the Developer Quickstart to create an API key and send your first transfer.

Interactive Documentation

Authentication

All non-public endpoints require an X-Api-Key header.

X-Api-Key: your_api_key

API keys are scoped by role (client, orchestrator, worker, validator). Each role has access only to the routes relevant to that role.

Base URL

http://<host>:8000

The OpenAPI schema is also available as JSON at /openapi.json.

Transfer Metadata Privacy

Public transfer-list, dashboard transfer, and dashboard audit responses redact transfer display names. Existing transfer_name fields remain present as null, and returned transfer metadata omits metadata.name.

Dashboard Audit Routes

These dashboard routes expose audit evidence for verifying transfer behavior: database rows grouped by table, with sensitive credentials and signatures redacted. They are intended for data verification and operator investigation, not for public client API use.

Audit routes are served from the dashboard domain:

https://data.b1m.ai

Orchestrator transfer raw data

GET https://data.b1m.ai/api/audit/orchestrator/{orchestratorId}/transfers/{transferId}?limit=100&offset=0

Returns raw rows for one orchestrator on one transfer, grouped by table:

  • transfer_assignment_plans
  • task_offer_batches
  • tasks
  • task_attempts
  • task_results
  • overseer_interventions

orchestratorId may be an orchestrator UUID, UID, or hotkey. transferId must be a transfer UUID.

Worker transfer raw data

GET https://data.b1m.ai/api/audit/worker/{workerId}/transfers/{transferId}?limit=100&offset=0

Returns raw rows for one worker on one transfer, grouped by table:

  • workers
  • transfer_assignment_plans
  • tasks
  • task_attempts
  • task_results
  • overseer_interventions

workerId may be a worker ID or hotkey. transferId must be a transfer UUID.

Pagination

Both routes accept:

  • limit: number of rows per table, default 1000, max 5000
  • offset: row offset per table, default 0

Responses include per-table pagination metadata:

{
  "pagination": {
    "limit": 100,
    "offset": 0,
    "tables": {
      "tasks": {
        "limit": 100,
        "offset": 0,
        "returned": 100,
        "has_more": true,
        "next_offset": 100
      }
    }
  }
}

Decentralized distributed bandwidth infrastructure.

On this page