Create Sweepstakes

Create a new sweepstakes with all necessary configurations including entry pages, groups, short links, and default settings.

POST sweepstakes/create

Description

This endpoint allows you to create a new sweepstakes programmatically. The system validates user plan limits, handler uniqueness, and date constraints before creating the sweepstakes.

When you create a sweepstakes, the system automatically generates:

Request Parameters

Parameter Type Required Description
SweepstakesName String Required The name of the sweepstakes
SweepstakesType Integer Required Type of sweepstakes: 1 = SMS, 2 = Email, 3 = Social
Handler String Required Unique handler/keyword (max 20 chars, alphanumeric only, e.g., "WIN2026")
StartDate String Required Start date in YYYY-MM-DD format (must be today or future)
EndDate String Required End date in YYYY-MM-DD format (must be today or future, cannot be before StartDate)
StartTime String Required Start time in HH:MM format (24-hour, default: "00:00")
EndTime String Required End time in HH:MM format (24-hour, default: "23:59")
CreateInCalendar Boolean Optional Create START and END calendar events (default: false)
SyncWithWinners Boolean Optional Sync sweepstakes with Winners APP (default: false)
DeleteIfDeleted Boolean Optional Delete from Winners APP if sweepstakes is deleted (default: false)
DeleteIfAcctDeleted Boolean Optional Delete from Winners APP if user account is deleted (default: false)

Note: The timezone is automatically set from the user's account settings and cannot be specified as a parameter.

Handler Validation Rules


Valid Examples
WIN2026 SUMMER GIVEAWAY123 PRIZE
Invalid Examples
WIN 2026 (contains space) SUMMER-GIVEAWAY (contains hyphen) PRIZE! (contains special character) VERYLONGHANDLERNAME123 (exceeds 20 characters)

Date Validation Rules


Request Example

{ "SweepstakesName": "Summer Giveaway 2026", "SweepstakesType": 2, "Handler": "SUMMER2026", "StartDate": "2026-06-01", "EndDate": "2026-08-31", "StartTime": "00:00", "EndTime": "23:59", "CreateInCalendar": true, "SyncWithWinners": false }

Code Examples

curl -X POST "https://api-v3.sweeppea.com/sweepstakes/create" \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "SweepstakesName": "Summer Giveaway 2026", "SweepstakesType": 2, "Handler": "SUMMER2026", "StartDate": "2026-06-01", "EndDate": "2026-08-31", "StartTime": "00:00", "EndTime": "23:59", "CreateInCalendar": true, "SyncWithWinners": false }'

Response

200 OK

{ "Response": true, "Message": "Sweepstakes Created Successfully", "Data": { "SweepstakesToken": "a1b2c3d4-e5f6-7890-abcd-ef1234567890", "SweepstakesName": "Summer Giveaway 2026", "SweepstakesType": 2, "Handler": "SUMMER2026", "StartDate": "2026-06-01", "EndDate": "2026-08-31", "Status": true, "CreationDate": "2026-01-27T12:34:56.789Z" } }
Error Responses

401 Unauthorized

{ "Response": false, "Message": "Invalid or Missing Bearer Token", "Code": 401 }

403 Forbidden

{ "Response": false, "Message": "Invalid API Token", "Code": 403 }

400 Bad Request - Missing Fields

{ "Response": false, "Message": "Missing Required Fields: SweepstakesName, SweepstakesType, and Handler are required", "Code": 400 }

400 Bad Request - Invalid Handler

{ "Response": false, "Message": "Handler Must Be 20 Characters or Less", "Code": 400 }

400 Bad Request - Handler Exists

{ "Response": false, "Message": "Handler \"SUMMER2026\" Already Exists. Please Choose a Different Handler", "Code": 400 }

400 Bad Request - Invalid Date

{ "Response": false, "Message": "StartDate Cannot Be in the Past. Must Be Today or Later", "Code": 400 }

403 Forbidden - Plan Limit

{ "Response": false, "Message": "Sweepstakes Limit Reached. Your plan allows 5 sweepstakes and you currently have 5. Please upgrade your plan to create more sweepstakes", "Code": 403 }

Important Notes