Skip to main content
POST
/
api
/
v1
/
beam
Create config
curl --request POST \
  --url https://api.example.com/api/v1/beam
POST /api/v1/beam
Creates a new pipeline configuration. The response includes auto-generated fields (id, owner_org_team_user_id, created_at, updated_at). Request body: CreateBeamConfigRequest
curl -X POST https://api.allium.so/api/v1/beam \
  -H "X-API-Key: ${ALLIUM_API_KEY}" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "USDC Transfer Monitor",
    "description": "Monitors USDC ERC20 transfers on Base",
    "tags": ["production", "base"],
    "pipeline_config": {
      "source": {
        "type": "pubsub",
        "chain": "base",
        "entity": "erc20_token_transfer",
        "is_zerolag": false
      },
      "transforms": [
        {
          "type": "redis_set_filter",
          "filter_expr": "root = this.token_address"
        }
      ],
      "sinks": [
        {
          "type": "kafka",
          "name": "usdc-transfers"
        }
      ]
    }
  }'
Response: BeamConfig
Filter values are managed separately from the pipeline config. After creating a pipeline, use the filter values endpoints to populate set filter transforms.
See the Configuration reference for full details on sources, transforms, and sink types.