For the complete documentation index, see llms.txt. This page is also available as Markdown.

Campaigns

Campaign management operations

Get user campaigns

get
/api/campaigns

Retrieve a list of campaigns for the authenticated user with optional filtering

Query parameters
statusstring · enumOptional

Filter campaigns by status

Possible values:
limitstringOptional

Maximum number of results per request

Default: 25
offsetstringOptional

Number of results to skip

Default: 0
Responses
200

List of campaigns

application/json
okbooleanOptionalExample: true
totalnumberOptional

Total number of campaigns matching the filter

get/api/campaigns
GET /api/campaigns HTTP/1.1
Host: rewards.decentraland.org
Accept: */*
{
  "ok": true,
  "data": [
    {
      "id": "123e4567-e89b-12d3-a456-426614174000",
      "name": "Summer Rewards Campaign",
      "enabled": true,
      "active_since": "2024-01-01T00:00:00Z",
      "active_until": "2024-12-31T23:59:59Z",
      "max_gas": 200,
      "chain_id": "137",
      "created_at": "2024-01-01T00:00:00Z",
      "updated_at": "2024-01-01T00:00:00Z"
    }
  ],
  "total": 1
}

Create a new campaign

post
/api/campaigns

Create a new reward campaign with specified configuration

Body
namestring · min: 3Required

Campaign name

Example: Summer Rewards Campaign
chain_idstring · enumOptional

Blockchain chain ID

Example: 137Possible values:
enabledbooleanOptional

Whether the campaign is enabled

Default: trueExample: true
max_gasnumberOptional

Maximum gas fee per transaction

Default: 200Example: 200
active_sincestring · date-time · nullableOptional

Campaign start time

Example: 2024-01-01T00:00:00Z
active_untilstring · date-time · nullableOptional

Campaign end time

Example: 2024-12-31T23:59:59Z
Responses
201

Campaign created successfully

application/json
okbooleanOptionalExample: true
post/api/campaigns
POST /api/campaigns HTTP/1.1
Host: rewards.decentraland.org
Content-Type: application/json
Accept: */*
Content-Length: 156

{
  "name": "Summer Rewards Campaign",
  "chain_id": "137",
  "enabled": true,
  "max_gas": 200,
  "active_since": "2024-01-01T00:00:00Z",
  "active_until": "2024-12-31T23:59:59Z"
}
{
  "ok": true,
  "data": {
    "id": "123e4567-e89b-12d3-a456-426614174000",
    "name": "Summer Rewards Campaign",
    "enabled": true,
    "active_since": "2024-01-01T00:00:00Z",
    "active_until": "2024-12-31T23:59:59Z",
    "max_gas": 200,
    "chain_id": "137",
    "created_at": "2024-01-01T00:00:00Z",
    "updated_at": "2024-01-01T00:00:00Z"
  }
}

Get public campaigns

get
/api/campaigns/publics

Retrieve public campaign information by IDs

Query parameters
idstring · uuid[] · min: 1 · max: 100Required

Array of campaign IDs to retrieve

Responses
200

Public campaign information

application/json
okbooleanOptionalExample: true
get/api/campaigns/publics
GET /api/campaigns/publics?id=123e4567-e89b-12d3-a456-426614174000 HTTP/1.1
Host: rewards.decentraland.org
Accept: */*
{
  "ok": true,
  "data": [
    {
      "id": "123e4567-e89b-12d3-a456-426614174000",
      "name": "Summer Rewards Campaign",
      "enabled": true,
      "active_since": "2024-01-01T00:00:00Z",
      "active_until": "2024-12-31T23:59:59Z",
      "max_gas": 200,
      "chain_id": "137",
      "created_at": "2024-01-01T00:00:00Z",
      "updated_at": "2024-01-01T00:00:00Z",
      "role": "owner"
    }
  ]
}

Get campaign details

get
/api/campaigns/{campaign_id}

Retrieve detailed information about a specific campaign

Path parameters
campaign_idstring · uuidRequired

Campaign ID

Responses
200

Campaign details

application/json
okbooleanOptionalExample: true
get/api/campaigns/{campaign_id}
GET /api/campaigns/{campaign_id} HTTP/1.1
Host: rewards.decentraland.org
Accept: */*
{
  "ok": true,
  "data": {
    "id": "123e4567-e89b-12d3-a456-426614174000",
    "name": "Summer Rewards Campaign",
    "enabled": true,
    "active_since": "2024-01-01T00:00:00Z",
    "active_until": "2024-12-31T23:59:59Z",
    "max_gas": 200,
    "chain_id": "137",
    "created_at": "2024-01-01T00:00:00Z",
    "updated_at": "2024-01-01T00:00:00Z"
  }
}

Update campaign

patch
/api/campaigns/{campaign_id}

Update campaign configuration and settings

Path parameters
campaign_idstring · uuidRequired

Campaign ID

Body
namestring · min: 3Optional

Campaign name

Example: Updated Campaign Name
chain_idstring · enumOptional

Blockchain chain ID

Example: 137Possible values:
enabledbooleanOptional

Whether the campaign is enabled

Example: true
max_gasnumberOptional

Maximum gas fee per transaction

Example: 200
active_sincestring · date-time · nullableOptional

Campaign start time

Example: 2024-01-01T00:00:00Z
active_untilstring · date-time · nullableOptional

Campaign end time

Example: 2024-12-31T23:59:59Z
Responses
200

Campaign updated successfully

application/json
okbooleanOptionalExample: true
patch/api/campaigns/{campaign_id}
PATCH /api/campaigns/{campaign_id} HTTP/1.1
Host: rewards.decentraland.org
Content-Type: application/json
Accept: */*
Content-Length: 154

{
  "name": "Updated Campaign Name",
  "chain_id": "137",
  "enabled": true,
  "max_gas": 200,
  "active_since": "2024-01-01T00:00:00Z",
  "active_until": "2024-12-31T23:59:59Z"
}
{
  "ok": true,
  "data": {
    "id": "123e4567-e89b-12d3-a456-426614174000",
    "name": "Summer Rewards Campaign",
    "enabled": true,
    "active_since": "2024-01-01T00:00:00Z",
    "active_until": "2024-12-31T23:59:59Z",
    "max_gas": 200,
    "chain_id": "137",
    "created_at": "2024-01-01T00:00:00Z",
    "updated_at": "2024-01-01T00:00:00Z"
  }
}

Claim campaign funds

post
/api/campaigns/{campaign_id}/claim_funds

Claim funds from a campaign to a specified address

Path parameters
campaign_idstring · uuidRequired

Campaign ID

Body
addressstring · addressRequired

Address to send funds to

Example: 0x1234567890123456789012345678901234567890
Responses
200

Funds claimed successfully

application/json
okbooleanOptionalExample: true
dataobjectOptional

Transaction details

post/api/campaigns/{campaign_id}/claim_funds
POST /api/campaigns/{campaign_id}/claim_funds HTTP/1.1
Host: rewards.decentraland.org
Content-Type: application/json
Accept: */*
Content-Length: 56

{
  "address": "0x1234567890123456789012345678901234567890"
}
{
  "ok": true,
  "data": {}
}

Last updated