curl --request POST \
--url https://api-stage.bitrobot.ai/subnets/{subnet_id}/events \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"event_type": "register_resource",
"resource_name": "bot_001",
"resource_subtype": "frodobot"
}
'{
"status": "success",
"data": {
"resource_id": "01ARZ3NDEKTSV4RRFFQ69G5FAY",
"ent_address": "4uQeVj5tqViQh7yWWGStvkEG1Zmhx6uasJtWCJziofM"
}
}Create a new event
Creates a new event in the system. The behavior depends on the event_type provided:
- register_resource: Registers a new resource (robot/bot) in the system
- task_start: Creates a new task run
- task_end: Completes an existing task run
- task_validate: Validates a completed task run and awards VRW points
- points_grant: Grants uncapped Subnet Points to a user. The grant is recorded in the current open distribution window; the server assigns the timestamp and epoch, so callers cannot specify them.
- points_revoke: Revokes previously granted Subnet Points from a user. Only points that have not yet been converted to BitRobot Bolts can be revoked — once Subnet Points have been included in a conversion, they are immutable.
curl --request POST \
--url https://api-stage.bitrobot.ai/subnets/{subnet_id}/events \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"event_type": "register_resource",
"resource_name": "bot_001",
"resource_subtype": "frodobot"
}
'{
"status": "success",
"data": {
"resource_id": "01ARZ3NDEKTSV4RRFFQ69G5FAY",
"ent_address": "4uQeVj5tqViQh7yWWGStvkEG1Zmhx6uasJtWCJziofM"
}
}Authorizations
API key authentication. Your API key should start with brb_.
Example: Authorization: Bearer brb_1234567890abcdef
Path Parameters
The unique identifier of the subnet (ULID format)
^[0-9A-HJKMNP-TV-Z]{26}$Body
- Register Resource Event
- Task Start Event
- Task End Event
- Task Validate Event
- Points Grant Event
- Points Revoke Event
The type of event
register_resource The name of the resource to register
"bot_001"
The subtype of the resource (e.g., 'frodobot', 'delivery-drone', etc.)
"frodobot"
The Solana wallet address of the resource owner. Used to create a wallet record in the system and associate it with the resource for reward tracking. Required.
"HN7cABqLq46Es1jh92dQQisAq662SmxELLLsHHe4YWrH"
The type of resource to register. Use 'ent' (default) for full ENT NFT resources, or 'resource' for lightweight non-NFT participants that still earn rewards.
ent, resource Metadata for the ENT (Entity NFT) that represents this resource on-chain, following the Metaplex token standard. Provide this alongside ent_owner (on task_start) or owner (on register_resource) to mint a named, attributed NFT. If omitted, a placeholder metadata URI is used.
Show child attributes
Show child attributes
{
"name": "Frodobot #001",
"symbol": "FRODO",
"description": "Autonomous delivery robot with advanced navigation capabilities",
"image": "https://example.com/images/frodobot-001.png",
"external_url": "https://example.com/ents/frodobot-001",
"attributes": [
{ "trait_type": "Model", "value": "X-2000" },
{ "trait_type": "Generation", "value": 2 }
],
"properties": {
"category": "robot",
"files": [
{
"uri": "https://example.com/images/frodobot-001.png",
"type": "image/png"
}
]
}
}