Skip to main content
All Beam API endpoints require authentication via the Allium App. Requests are made to https://app.allium.so/api/beam.

Configuration endpoints

List pipelines

GET /api/beam
Returns all Beam pipeline configs for the authenticated user. Response: BeamConfig[]

Get pipeline

GET /api/beam/{config_id}
Returns a single pipeline config by ID. Response: BeamConfig

Create pipeline

POST /api/beam
Creates a new pipeline configuration. Request body:
{
  "name": "USDC Transfer Monitor",
  "description": "Monitor USDC transfers on Polygon",
  "pipeline_config": {
    "source": {
      "chain": "polygon",
      "entity": "log",
      "is_zerolag": false
    },
    "transforms": [
      {
        "type": "redis_set_filter",
        "set_values": ["0x3c499c542cef5e3811e1192ce70d8cc03d5c3359"],
        "filter_expr": "root = this.address"
      }
    ],
    "sinks": [
      {
        "type": "kafka",
        "name": "usdc-logs"
      }
    ]
  }
}
Response: BeamConfig (with generated id, created_at, updated_at)

Update pipeline

PUT /api/beam/{config_id}
Updates an existing pipeline configuration. After updating, deploy again to apply changes. Request body: Same as Create pipeline.

Delete pipeline

DELETE /api/beam/{config_id}
Deletes the pipeline configuration and tears down any active deployment (Kafka topics, workers, subscriptions).

Deployment endpoints

Deploy pipeline

POST /api/beam/{config_id}/deploy
Deploys the pipeline to start processing data. Creates Kafka topics, provisions credentials, and spins up workers. Deployment is idempotent — call it again after updating a config to apply changes with zero downtime. Do not teardown before redeploying. Response: Returns deployment status and sink connection details (Kafka credentials, topic names, consumer code snippets).

Teardown pipeline

POST /api/beam/{config_id}/teardown
Removes the deployed infrastructure (workers, Kafka topics, subscriptions). Use this only when you want to fully stop the pipeline.

Get deployment stats

GET /api/beam/{config_id}/deploy/stats
Returns worker health information for the deployment. Response:
{
  "workers_health": {
    "total_workers": 2,
    "healthy_workers": 2,
    "unhealthy_workers": 0,
    "crashing_workers": 0,
    "oom_killed_workers": 0,
    "workers": [
      {
        "name": "abc12",
        "status": "Running",
        "is_ready": true,
        "is_crash_looping": false,
        "is_oom_killed": false,
        "restart_count": 0,
        "start_time": "2026-02-20T10:00:00Z"
      }
    ]
  }
}
FieldDescription
total_workersNumber of worker pods
healthy_workersWorkers running normally
unhealthy_workersWorkers not ready
crashing_workersWorkers in crash loop
oom_killed_workersWorkers killed due to memory

Get deployment metrics

GET /api/beam/{config_id}/deploy/metrics
Returns throughput metrics for the deployment. Query parameters:
ParameterDefaultDescription
time_range1hTime range: 1h, 1d, or 1w
metricsallSpecific metric types to fetch (optional)
Response:
[
  {
    "config_id": "abc123",
    "metric_type": "count",
    "points": [
      { "timestamp": "2026-02-20T10:00:00Z", "value": 1523.0 },
      { "timestamp": "2026-02-20T10:01:00Z", "value": 1487.0 }
    ],
    "unit": "messages",
    "tag_set": ["status:success"]
  }
]

Data models

BeamConfig

FieldDescription
idAuto-generated pipeline ID
namePipeline name
descriptionPipeline description
owner_org_team_user_idOwner organization/team/user ID
created_atCreation timestamp
updated_atLast update timestamp
pipeline_configPipeline configuration (source, transforms, sinks)
See Configuration reference for full details on the pipeline_config schema (source, transforms, and sinks).

Supported chains and entities

ChainEntities
Polygonlog, decoded_log, erc20_token_transfer, erc721_token_transfer, erc1155_token_transfer
Baselog, decoded_log, erc20_token_transfer, erc721_token_transfer, erc1155_token_transfer
Solananonvoting_transaction
More chains and entities are being added regularly. Check the Datastreams catalog for the latest availability, or contact support@allium.so to request support for a specific chain.