API Reference

Entries

Create, retrieve, update, and manage contest entries

Entries

Manage contest participants and their entries.


List Entries

GET/api/v1/contests/:contestId/entries
Public or Private API Key

Returns a paginated list of entries for a specific contest.

Path Parameters

contestIdstring required

The unique contest identifier

Query Parameters

pagenumber optional

Page number, starting at 1. Default: 1

limitnumber optional

Entries per page (1-100). Default: 20

searchstring optional

Search by email or name (case-insensitive)

Request

bash
curl -X GET "https://blitzrocket.com/api/v1/contests/clx1abc123/entries?page=1&limit=10" \
  -H "x-api-key: your_api_key_here"

Response

json
{
  "success": true,
  "data": [
    {
      "id": "entry_abc123",
      "email": "jane@example.com",
      "name": "Jane Doe",
      "phone": null,
      "points": 150,
      "emailConfirmed": true,
      "disqualified": false,
      "referralCode": "REF-XYZ789",
      "createdAt": "2025-06-15T10:30:00.000Z"
    },
    {
      "id": "entry_def456",
      "email": "john@example.com",
      "name": "John Smith",
      "phone": "+1234567890",
      "points": 85,
      "emailConfirmed": true,
      "disqualified": false,
      "referralCode": "REF-ABC456",
      "createdAt": "2025-06-16T14:20:00.000Z"
    }
  ],
  "pagination": {
    "page": 1,
    "limit": 10,
    "total": 1523,
    "totalPages": 153
  }
}

Response Fields

idstring

Unique identifier for the entry

emailstring

Participant's email address

namestring | null

Participant's name

phonestring | null

Participant's phone number

pointsnumber

Total points earned

emailConfirmedboolean

Whether the email has been confirmed

disqualifiedboolean

Whether the entry is disqualified

referralCodestring | null

Unique referral code for this entry

createdAtstring

ISO 8601 timestamp when the entry was created


Get Entry

GET/api/v1/entries/:entryId
Public or Private API Key

Retrieve detailed information about a specific entry.

Path Parameters

entryIdstring required

The unique entry identifier

Request

bash
curl -X GET https://blitzrocket.com/api/v1/entries/entry_abc123 \
  -H "x-api-key: your_api_key_here"

Response

json
{
  "success": true,
  "data": {
    "id": "entry_abc123",
    "email": "jane@example.com",
    "name": "Jane Doe",
    "phone": null,
    "points": 150,
    "pointsUsed": 25,
    "emailConfirmed": true,
    "disqualified": false,
    "referralCode": "REF-XYZ789",
    "contestId": "clx1abc123def456",
    "contestTitle": "Summer Giveaway 2025",
    "referralsCount": 3,
    "bonusActionsCompleted": 5,
    "totalPurchaseValue": 129.99,
    "totalPurchaseCount": 2,
    "createdAt": "2025-06-15T10:30:00.000Z"
  }
}

Create Entry

POST/api/v1/contests/:contestId/entries
Private API Key Required

Create a new entry for a contest. Requires a private API key.

Path Parameters

contestIdstring required

The unique contest identifier

Request Body

emailstring optional

Participant's email address. Either email or phone is required.

phonestring optional

Participant's phone number. Either email or phone is required.

namestring optional

Participant's name (optional)

referralCodestring optional

Referral code from another participant (optional)

customFieldDataobject optional

Custom field data object (optional)

Request

bash
curl -X POST https://blitzrocket.com/api/v1/contests/clx1abc123/entries \
  -H "x-api-key: your_private_key_here" \
  -H "Content-Type: application/json" \
  -d '{
    "email": "newuser@example.com",
    "name": "New User",
    "referralCode": "REF-XYZ789"
  }'

Response (201 Created)

json
{
  "success": true,
  "data": {
    "entryId": "entry_new789",
    "email": "newuser@example.com",
    "alreadyExists": false,
    "isReferred": true,
    "pointsAwarded": {
      "advocate": 10,
      "friend": 5
    }
  }
}

If the email already exists in the contest, the response will include "alreadyExists": true with a 200 OK status.


Update Entry

PUT/api/v1/entries/:entryId
Private API Key Required

Update an existing entry's information. At least one field must be provided.

Path Parameters

entryIdstring required

The unique entry identifier

Request Body

namestring optional

Updated name

emailstring optional

Updated email address

phonestring optional

Updated phone number

customFieldDataobject optional

Updated custom field data

Request

bash
curl -X PUT https://blitzrocket.com/api/v1/entries/entry_abc123 \
  -H "x-api-key: your_private_key_here" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Jane Updated",
    "phone": "+1987654321"
  }'

Response

json
{
  "success": true,
  "data": {
    "id": "entry_abc123",
    "email": "jane@example.com",
    "name": "Jane Updated",
    "phone": "+1987654321",
    "points": 150
  }
}

Disqualify Entry

POST/api/v1/entries/:entryId/disqualify
Private API Key Required

Disqualify or re-qualify an entry.

Path Parameters

entryIdstring required

The unique entry identifier

Request Body

disqualifyboolean optional

Set to true to disqualify, false to re-qualify. Omit to toggle.

Request

bash
curl -X POST https://blitzrocket.com/api/v1/entries/entry_abc123/disqualify \
  -H "x-api-key: your_private_key_here" \
  -H "Content-Type: application/json" \
  -d '{"disqualify": true}'

Response

json
{
  "success": true,
  "data": {
    "entryId": "entry_abc123",
    "disqualified": true,
    "message": "Entry has been disqualified"
  }
}

Adjust Points

POST/api/v1/entries/:entryId/points
Private API Key Required

Add or remove points from an entry. Points cannot go below zero.

Path Parameters

entryIdstring required

The unique entry identifier

Request Body

pointsnumber required

Points to add (positive) or remove (negative)

reasonstring required

Reason for the adjustment

Request

bash
curl -X POST https://blitzrocket.com/api/v1/entries/entry_abc123/points \
  -H "x-api-key: your_private_key_here" \
  -H "Content-Type: application/json" \
  -d '{
    "points": 50,
    "reason": "Bonus for completing survey"
  }'

Response

json
{
  "success": true,
  "data": {
    "message": "Successfully added 50 points",
    "previousTotal": 150,
    "newTotal": 200,
    "adjustment": 50
  }
}

To remove points, use a negative value:

json
{
  "points": -25,
  "reason": "Penalty for rule violation"
}

Error Responses

Common error responses for this endpoint.

StatusErrorDescription
400Missing points or reasonBoth fields are required
403Private key requiredThis endpoint requires a private API key
404Entry not foundNo entry exists with the given ID