ContestPad API Reference
Andrew Busuttil avatar
Written by Andrew Busuttil
Updated over a week ago

Login

Api endpoint for launchpad login.

Input will accept the following parameters (Method: POST)

Curl Example

curl -X POST \
https://<site url>/v2/api/login \
-H 'cache-control: no-cache' \
H 'content-type: multipart/form-data; boundary=---WebKitFormBoundary7MA4YWxkTrZu0gW' \
-H 'postman-token: 67365eea-83de-87ed-7132-70486a0db537' \
-F email={email} \
-F password={password}

The response could be:

200 (OK)

Response

{
"token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJhcGkuc3RhZy1zZXJ2ZXIudGVzdC5sYXVuY2hwYWQ2LmNvbSIsImF1ZCI6ImFwaS5zdGFnLXNlcnZlci50ZXN0LmxhdW5jaHBhZDYuY29tIiwiZXhwIjoiMTU3MjA4MDk2MyIsInVzZXJfaWQiOiI0IiwiZW1haWwiOiJzcmVlaml0aC5tQHhtaW5kcy5jb20ifQ.DXg8YKZPR8l7T_8rZutVmqmNxWU2-bxKNCXsfYK_UtE",
"expiry": 1572080963,
"status": true
}

Forms - user (Get User signup form)

Api endpoint to get user creation form based on the field configuration data in launchpad6 dashboard

Input will accept the following parameters (Method: GET)

Curl Example

curl -X GET \
https://<site url>/v2/api/forms/user/{contestId } \
-H 'cache-control: no-cache' \
-H 'postman-token: d4da93d4-e470-79c6-273a-264fea7c335a'

The response could be:

200 (OK)

Response

{

"schema": {

"title": "User signup Form",

"type": "object",

"properties": {

"user_name": {

"type": "string",

"title": "Username",

"required": true

},

"user_email": {

"type": "string",

"title": "Email",

"required": true

},

"user_last_name": {

"type": "string",

"title": "Last Name",

"required": true

},

"register_password": {

"type": "string",

"title": "Password",

"required": true

},

"register_repassword": {

"type": "string",

"title": "Confirm Password",

"required": true

},

"user_first_name": {

"type": "string",

"title": "First Name",

"required": true

}

}

},

"options": {

"fields": {

"user_name": {

"type": "text",

"title": "Username",

"placeholder": "Username",

"noneLabel": "Username",

"removeDefaultNone": false

},

"user_email": {

"type": "email",

"title": "Email",

"placeholder": "Enter your email",

"noneLabel": "Enter your email",

"removeDefaultNone": false

},

"user_last_name": {

"type": "text",

"title": "Last Name",

"placeholder": "Your last name",

"noneLabel": "Your last name",

"removeDefaultNone": false

},

"register_password": {

"type": "password",

"title": "Password",

"placeholder": "Enter your password with hope",

"noneLabel": "Enter your password with hope",

"removeDefaultNone": false

},

"register_repassword": {

"type": "password",

"title": "Confirm Password",

"placeholder": "Confirm Your Password",

"noneLabel": "Confirm Your Password",

"removeDefaultNone": false

},

"user_first_name": {

"type": "text",

"title": "First Name",

"placeholder": "Your first name",

"noneLabel": "Your first name",

"removeDefaultNone": false

}

}

}

}

Forms - Entry

Api endpoint to get user creation form based on the field configuration data in launchpad6 dashboard.

Input will accept the following parameters (Method: GET)

Curl Example

curl -X GET \
https://<site url>/v2/api/forms/entry/{contestId} \
-H 'cache-control: no-cache' \
-H 'postman-token: f659ccdb-1b9e-8f93-0da9-1732e0c589b2'

The response could be:

200 (OK)

Response

{

"schema": {

"title": "User Entry Form",

"type": "object",

"properties": {

"description": {

"type": "string",

"title": "Description",

"required": true

},

"title": {

"type": "string",

"title": "Title",

"required": true

},

"tos": {

"type": "string",

"title": "Terms and Conditions",

"required": true,

"enum": [

"agree"

]

},

"contest_entry_user_first_name": {

"type": "string",

"title": "First Name",

"required": false

},

"contest_entry_user_last_name": {

"type": "string",

"title": "Last Name",

"required": false

},

"contest_entry_user_email": {

"type": "string",

"title": "Email",

"required": false

},

"media_id": {

"type": "string",

"title": "Media",

"required": true

}

}

},

"options": {

"fields": {

"description": {

"type": "textarea",

"title": "Description",

"placeholder": "Description of the entry",

"noneLabel": "Description of the entry",

"removeDefaultNone": false

},

"title": {

"type": "text",

"title": "Title",

"placeholder": "Title of the entry",

"noneLabel": "Title of the entry",

"removeDefaultNone": false

},

"tos": {

"type": "checkbox",

"title": "Terms and Conditions",

"placeholder": null,

"noneLabel": null,

"removeDefaultNone": false,

"optionLabels": [

"I agree to the <a href=\"/terms-and-conditions\">Terms and Conditions</a>"

]

},

"contest_entry_user_first_name": {

"type": "text",

"title": "First Name",

"placeholder": "Your first name",

"noneLabel": "Your first name",

"removeDefaultNone": false

},

"contest_entry_user_last_name": {

"type": "text",

"title": "Last Name",

"placeholder": "Your last name",

"noneLabel": "Your last name",

"removeDefaultNone": false

},

"contest_entry_user_email": {

"type": "email",

"title": "Email",

"placeholder": "Your email",

"noneLabel": "Your email",

"removeDefaultNone": false

},

"media_id": {

"type": "file",

"title": "Media",

"placeholder": null,

"noneLabel": null,

"removeDefaultNone": false

}

}

}

}

Entries (List entries)

Api endpoint to get entry list

Input will accept the following parameters (Method: GET)

Curl Example :

curl -X GET \
'http://<siteurl>/v2/api/entries?contest_id=1&page=' \
-H 'cache-control: no-cache' \
-H 'postman-token: a25a368d-f552-9954-3137-ff9620e3aaa5' \
-H 'x-authorization-bearer-token: eyJhbGciOiJSUzI1NiIsImtpZCI6IjBmNTVkZWZlOWU5YzU2ZmRhZTRkOGY0MDFjZjQ5Njc4YzE2N2MzYWEifQ.eyJpc3MiOiJodHRwczovL3NlY3VyZXRva2VuLmdvb2dsZS5jb20va2ljZGV2LWMwNWVkIiwibmFtZSI6IlNoYW1lZXIiLCJhdWQiOiJraWNkZXYtYzA1ZWQiLCJhdXRoX3RpbWUiOjE1MzY5MDA0MjEsInVzZXJfaWQiOiJWdUFKZVdnaUZWZkJCeGh4MHE0ZXFHTjFoR0YzIiwic3ViIjoiVnVBSmVXZ2lGVmZCQnhoeDBxNGVxR04xaEdGMyIsImlhdCI6MTUzNjkwMDQyMiwiZXhwIjoxNTM2OTA0MDIyLCJlbWFpbCI6InNoYW1lZXJAeG1pbmRzLmNvbSIsImVtYWlsX3ZlcmlmaWVkIjpmYWxzZSwiZmlyZWJhc2UiOnsiaWRlbnRpdGllcyI6eyJlbWFpbCI6WyJzaGFtZWVyQHhtaW5kcy5jb20iXX0sInNpZ25faW5fcHJvdmlkZXIiOiJwYXNzd29yZCJ9fQ.a63V6NRvN3th4AKI4C_4VqHndubRI1e3KzG8bcJqlPRfgpcA9mPBah4PYvL_XH4JrKvgnsKXrWYsKYRlQAr3DeyFNwkv4h4Tyi4-2Paa849ZDzppNuRsJEF6gH8erQjZy5rZgVL2c5WTD79SbqA3Ib027RIdXB3LMyA2-16ItlyCG-J8GvyETbqxQhc76ABUNpOTlSx8I7kvO20CR5byqrUkAuKV3g3upR9XtAAJAnRE4MNXQ6VA_vh92mVEReuGWBPy00OvUG0p9fbHcLtHaDrAQ3q_oO_UeUUgr_hyVsm27-b79DdgS20_pZt40v4hPFFKiBiklRxjBgWrxzVMEQ'

The response could be:

200 (OK)

Response

{
"status": "success",
"entries": [
{
"id": "1",
"title": "test",
"description": "test",
"first_name": "test",
"last_name": "test",
"user_name": "test",
"thumbnail": "http://d1wq2jz7ghamy322s9.cloudfront.net/74731f/media/fbba269fa8fc6191/thumbnail/default.jpg?v1533537226",
"entry_url": "http://<site url>/contest/1/entry/1",
"vote_url": "http://<site url>/v2/api/vote/1",
"social": {
"facebook": "",
"twitter": "",
"google": "",
"tumblr": "",
"reddit": ""
},
"voting": true,
"voting_type": "form"
},
{
"id": "2",
"title": "d",
"description": "d",
"first_name": "f",
"last_name": "f",
"user_name": "f",
"thumbnail": "http://d1wq2jz7456ghamy9.cloudfront.net/74731f/media/71101df4a33cf5cb/thumbnail/default.jpg?v1533547448",
"entry_url": "http://<site url>/contest/1/entry/2",
"vote_url": "http://<site url>/v2/api/vote/2",
"social": {
"facebook": "",
"twitter": "https://twitter.com/intent/tweet?source=&text=%23LP6Contest+Vote+for+me+at+http%3A%2F%2Fxxxx.launchpad6.devlocal%2Fcontest%2F1%2Fentry%2F2&hashtag=",
"google": "https://plus.google.com/share?hl=en&url=http://xxxx.launchpad6.devlocal/contest/1/entry/2&prefilltext=d",
"tumblr": "https://www.tumblr.com/widgets/share/tool?shareSource=legacy&canonicalUrl=http://xxxx.launchpad6.devlocal/contest/1/entry/2&posttype=link&title=d&caption=d",
"reddit": "http://reddit.com/submit?url=http://xxxx.launchpad6.devlocal/contest/1/entry/2&text=d&title=d"
},
"voting": true,
"voting_type": "form"
},
{
"id": "3",
"title": "test",
"description": "test",
"first_name": "t",
"last_name": "t",
"user_name": "t",
"thumbnail": "http://d1wq2jz7ghamy9.cloudfront.net/74731f/media/d1898701b65dc2f5/thumbnail/default.jpg?v1534771400",
"entry_url": "http://xxxx.launchpad6.devlocal/contest/1/entry/3",
"vote_url": "http://xxxx.launchpad6.devlocal/v2/api/vote/3",
"social": {
"facebook": "",
"twitter": "",
"google": "",
"tumblr": "",
"reddit": ""
},
"voting": true,
"voting_type": "form"
},
{
"id": "4",
"title": "a12345",
"description": "a12345@a.com",
"first_name": "Xminds123#",
"last_name": "a",
"user_name": "Xminds123#",
"thumbnail": "http://d1wq2jz7ghad23my9.cloudfront.net/74731f/media/0827395854fb3595/thumbnail/default.jpg?v1534852165",
"entry_url": "http://<site url>/contest/1/entry/4",
"vote_url": "http://<site url>/v2/api/vote/4",
"social": {
"facebook": "",
"twitter": "",
"google": "",
"tumblr": "",
"reddit": ""
},
"voting": true,
"voting_type": "form"
},
{
"id": "5",
"title": "a12345",
"description": "a12345@a.com",
"first_name": "Sample123#",
"last_name": "a",
"user_name": "Sample123#",
"thumbnail": "http://d1wq2jz7gsdqwhamy9.cloudfront.net/74731f/media/d731d6be0268c943/thumbnail/default.jpg?v1534852439",
"entry_url": "http://<site url>/contest/1/entry/5",
"vote_url": "http://<site url>/v2/api/vote/5",
"social": {
"facebook": "",
"twitter": "",
"google": "",
"tumblr": "",
"reddit": ""
},
"voting": true,
"voting_type": "form"
},
{
"id": "6",
"title": "ABhi",
"description": "test",
"first_name": "test",
"last_name": "test",
"user_name": "test",
"thumbnail": "http://d1wq2jz7ghamy9.cloudfront.net/74731f/media/2ea987c0eb6c2e02/thumbnail/default.jpg?v1534925627",
"entry_url": "http://<site url>/contest/1/entry/6",
"vote_url": "http://<site url>/v2/api/vote/6",
"social": {
"facebook": "",
"twitter": "",
"google": "",
"tumblr": "",
"reddit": ""
},
"voting": true,
"voting_type": "form"
}
],
"total": "18",
"limit": 6,
"page": true,
"vote_form": "{\"schema\":{\"title\":\"Vote Form\",\"type\":\"object\",\"properties\":{\"email\":{\"type\":\"string\",\"title\":\"\",\"required\":false}}},\"options\":{\"fields\":{\"email\":{\"type\":\"email\",\"title\":\"\",\"placeholder\":\"* Email\",\"noneLabel\":\"* Email\",\"removeDefaultNone\":false}}}}"
}

Vote an entryย 

Api endpoint to vote an entry

Input will accept the following parameters (Method: GET)

Curl Example

curl -X POST \
โ€‹http://<site url>/v2/api/vote/1 \
-H 'cache-control: no-cache' \
-H 'content-type: multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW' \
-H 'postman-token: 57faa3b6-1b9e-851a-2a66-7459607ef98f' \
-H 'x-authorization-bearer-token: eyJhbGciOiJSUzI1NiIsImtpZCI6IjBmNTVkZWZlOWU5YzU2ZmRhZTRkOGY0MDFjZjQ5Njc4YzE2N2MzYWEifQ.eyJpc3MiOiJodHRwczovL3NlY3VyZXRva2VuLmdvb2dsZS5jb20va2ljZGV2LWMwNWVkIiwibmFtZSI6IlNoYW1lZXIiLCJhdWQiOiJraWNkZXYtYzA1ZWQiLCJhdXRoX3RpbWUiOjE1MzY5MDA0MjEsInVzZXJfaWQiOiJWdUFKZVdnaUZWZkJCeGh4MHE0ZXFHTjFoR0YzIiwic3ViIjoiVnVBSmVXZ2lGVmZCQnhoeDBxNGVxR04xaEdGMyIsImlhdCI6MTUzNjkwMDQyMiwiZXhwIjoxNTM2OTA0MDIyLCJlbWFpbCI6InNoYW1lZXJAeG1pbmRzLmNvbSIsImVtYWlsX3ZlcmlmaWVkIjpmYWxzZSwiZmlyZWJhc2UiOnsiaWRlbnRpdGllcyI6eyJlbWFpbCI6WyJzaGFtZWVyQHhtaW5kcy5jb20iXX0sInNpZ25faW5fcHJvdmlkZXIiOiJwYXNzd29yZCJ9fQ.a63V6NRvN3th4AKI4C_4VqHndubRI1e3KzG8bcJqlPRfgpcA9mPBah4PYvL_XH4JrKvgnsKXrWYsKYRlQAr3DeyFNwkv4h4Tyi4-2Paa849ZDzppNuRsJEF6gH8erQjZy5rZgVL2c5WTD79SbqA3Ib027RIdXB3LMyA2-16ItlyCG-J8GvyETbqxQhc76ABUNpOTlSx8I7kvO20CR5byqrUkAuKV3g3upR9XtAAJAnRE4MNXQ6VA_vh92mVEReuGWBPy00OvUG0p9fbHcLtHaDrAQ3q_oO_UeUUgr_hyVsm27-b79DdgS20_pZt40v4hPFFKiBiklRxjBgWrxzVMEQ' \

The response could be:

200 (OK)

Response

{

"success": true

}

Entry Upload

Api endpoint to upload an entry

Input will accept the following parameters (Method : POST)

Vote an entryย 

Api endpoint to vote an entry

Input will accept the following parameters(Method: GET)

Curl Example

curl -X POST \
โ€‹http://<site url>/v2/api/vote/{entryId} \
-H 'cache-control: no-cache' \
-H 'content-type: multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW' \
-H 'postman-token: ece93d55-bce9-7165-23e0-444a9e39cc0e' \
-H 'x-authorization-bearer-token: eyJhbGciOiJSUzI1NiIsImtpZCI6IjBmNTVkZWZlOWU5YzU2ZmRhZTRkOGY0MDFjZjQ5Njc4YzE2N2MzYWEifQ.eyJpc3MiOiJodHRwczovL3NlY3VyZXRva2VuLmdvb2dsZS5jb20va2ljZGV2LWMwNWVkIiwibmFtZSI6IlNoYW1lZXIiLCJhdWQiOiJraWNkZXYtYzA1ZWQiLCJhdXRoX3RpbWUiOjE1MzY5MDA0MjEsInVzZXJfaWQiOiJWdUFKZVdnaUZWZkJCeGh4MHE0ZXFHTjFoR0YzIiwic3ViIjoiVnVBSmVXZ2lGVmZCQnhoeDBxNGVxR04xaEdGMyIsImlhdCI6MTUzNjkwMDQyMiwiZXhwIjoxNTM2OTA0MDIyLCJlbWFpbCI6InNoYW1lZXJAeG1pbmRzLmNvbSIsImVtYWlsX3ZlcmlmaWVkIjpmYWxzZSwiZmlyZWJhc2UiOnsiaWRlbnRpdGllcyI6eyJlbWFpbCI6WyJzaGFtZWVyQHhtaW5kcy5jb20iXX0sInNpZ25faW5fcHJvdmlkZXIiOiJwYXNzd29yZCJ9fQ.a63V6NRvN3th4AKI4C_4VqHndubRI1e3KzG8bcJqlPRfgpcA9mPBah4PYvL_XH4JrKvgnsKXrWYsKYRlQAr3DeyFNwkv4h4Tyi4-2Paa849ZDzppNuRsJEF6gH8erQjZy5rZgVL2c5WTD79SbqA3Ib027RIdXB3LMyA2-16ItlyCG-J8GvyETbqxQhc76ABUNpOTlSx8I7kvO20CR5byqrUkAuKV3g3upR9XtAAJAnRE4MNXQ6VA_vh92mVEReuGWBPy00OvUG0p9fbHcLtHaDrAQ3q_oO_UeUUgr_hyVsm27-b79DdgS20_pZt40v4hPFFKiBiklRxjBgWrxzVMEQ' \
-F email={email}

The response could be:

200 (OK)

Response

{

"success": true

}

User SignUp

Api endpoint for user signup

Input will accept the following parameters(Method: POST)

The response could be:

200 (OK)

Response

{

"success": true

}

Did this answer your question?