Skip to main content
POST

Authorizations

Authorization
string
header
required

API key authentication. Your API key should start with brb_.

Example: Authorization: Bearer brb_1234567890abcdef

Path Parameters

subnet_id
string
required

The unique identifier of the subnet (ULID format)

Pattern: ^[0-9A-HJKMNP-TV-Z]{26}$

Body

application/json

Request body for the dedicated Grant Subnet Points endpoint. The same grant fields as the points_grant event, without the event_type discriminator. The recipient is identified by exactly one of bitrobot_user_id, email, discord_user_id, or wallet_address. The grant is recorded against the current open distribution window; the server assigns the timestamp and epoch automatically, so granted_at and brb_epoch_id are not accepted.

recipient
Reward Recipient · object
required

Exactly one of bitrobot_user_id, email, discord_user_id, or wallet_address must be provided. On grants, email, discord_user_id, and wallet_address support pre-registration attribution: if the recipient is not yet on BitRobot, the grant is held on a placeholder and applied when they create a BitRobot account or connect the wallet. bitrobot_user_id must reference an existing user, and revocations always require a recipient who already exists.

Example:
points
integer
required

The number of points to grant (must be greater than 0).

Required range: x >= 1
Example:

100

reason
string
required

The reason for granting these points.

Maximum string length: 256
Example:

"Task completion bonus"

client_ref
string

Optional client reference ID for idempotency and tracking. Duplicate values for the same subnet are rejected.

Maximum string length: 64
Example:

"task_123_completion"

Response

Subnet Points granted successfully.

message
string
required

Human-readable confirmation message.

Example:

"Subnet Points granted successfully"

ledger_id
string
required

ID of the points ledger entry created for this grant.

Pattern: ^[0-9A-HJKMNP-TV-Z]{26}$
Example:

"01ARZ3NDEKTSV4RRFFQ69G5FAX"

resolved_user_id
string
required

ID of the BitRobot user (or newly created placeholder user) the grant was applied to.

Pattern: ^[0-9A-HJKMNP-TV-Z]{26}$
Example:

"01HQXK5V7YWQZ8NGQB2RJVT9MS"

resolved_by
enum<string>
required

Which recipient identifier was used to resolve or create the user.

Available options:
bitrobot_user_id,
email,
discord,
wallet_address
Example:

"bitrobot_user_id"

created_placeholder_user
boolean
required

Whether a placeholder account was created because the recipient was not yet a BitRobot user. The grant is applied to the real account when they sign up (email or Discord) or connect the wallet. Always false when granting by bitrobot_user_id.

Example:

false