GET /api/:space/competitions/:competitionId/contests

Description:

Returns a list of all contests created. 

GET responses can be filtered out based on the Contests parameters to narrow down the results. CompetitionLabs provides a fully queryable API.

Resource URL:

https://<apphost>.competitionlabs.com/api/<your-space-name>/competitions/<competitionId>/contests

Request headers

KeyValueRequired
X-API-KEY
Your unique API keyYes
Content-Type
application/jsonYes

Request URL parameters

ParameterTypeRequiredDescription
space
StringYesThis is the space name which is linked to the account
competitionId
StringYesCompetition identifier retrieved from GET Competitions resource

Additional Query String Parameters

You can use the query parameters along with the generic parameters.


Query parameters for Contests

Parameter
Type
Constraint
Usage
competitionIdStringCase sensitive.
?competitionId=search_string
number
Integer
Numbers only
?number=search_number
label
String

Case sensitive. 

For lookup you would use "label.raw=search_word" because the field "label" is indexed to support more complex searches

?label.raw=search_word
description
StringCase sensitive
?description=search_word
termsConditions
StringCase sensitive
?termsConditions=search_word
round
IntegerNumbers only
?round=search_number
roundType
StringCase sensitive
?roundType=search_word (you can find the Enum list in the Contests model)
groupStage
IntegerNumbers only
?groupStage=search_number
groupStageLabel
StringCase sensitive
?groupStageLabel=search_word
entrantsFromContest
Array [String]Case sensitive
?entrantsFromContest=search_word
options
ObjectComplex search applies, allows full search on a complex object of Option
?options.numberOfEntrants.minimum=search_number
?options.numberOfEntrants.maximum=search_number
?options.products.name.raw=search_word
?options.products.productType=search_word
?options.products._searchFields=description&_searchFor=search_word
?options.products.adjustmentFactor=search_number
?options.products.productRefId=search_word
?options.products.actionAdjustmentFactors.ruleActionHelper.key=search_word
?options.products.actionAdjustmentFactors.adjustmentFactor=search_number
?options.products.metadata.key=search_word
?options.products.metadata.value=search_number
?options.products.created=search_DateTime
?options.products.id=search_string
?options.ruleSets.priority=search_number
?options.ruleSets.scope=search_word
?options.ruleSets.action=search_word
?options.ruleSets.conditions.matchCondition=search_word (you can find the Enum list in the MainConditionSet model)
?options.ruleSets.conditions.mustEvaluateTo=search_word
?options.ruleSets.conditions.rules.fact=search_word
?options.ruleSets.conditions.rules.operator=search_word
?options.ruleSets.conditions.rules.constant=search_word
?options.ruleSets.conditions.rules.id=search_string
?options.ruleSets.conditions.rules.subConditions.matchCondition=search_word (you can find the Enum list in the SubConditionSet model)
?options.ruleSets.conditions.rules.subConditions.musteEvaluateTo=search_word
?options.ruleSets.conditions.rules.subConditions.subRules.fact=search_word
?options.ruleSets.conditions.rules.subConditions.subRules.operator=search_word
?options.ruleSets.conditions.rules.subConditions.subRules.constant=search_word
?options.scheduledDates.start=search_DateTime
?options.scheduledDates.end=search_DateTime
?options.actualDates.start=search_DateTime
?options.actualDates.end=search_DateTime
?options.limitEntrantsTo=search_word
?options.optinRequiredForEntrans=search_word
?option.notification.messageid=search_string
?options.notification.competitionStatus=seach_word (you can find the Enum list in the Notification model)
?options.notification.contestStatus=search_word (you can find the Enum list in the Notification model)
metadata
Array [Object]Complex search applies, allows full search on a complex object of Metadata
?metadata.key=search_word
?metadata.value=search_number
status
StringCase sensitive
?status=search_word (you can find the Enum list in the Contest model)
statusCode
IntegerNumbers only
?statusCode=search_number (you can find the Enum list in the Contest model)
created
DateTimeWorks with simple dates or date and time, eg: created=2016-02-07, created=2018-08-23T14:23:09
?created=search_DateTime
id
StringCase sensitive
?id=search_string

EXAMPLE

Request
curl
    --header "X-API-KEY: <your-api-key>"
    --request GET https://app.competitionlabs.com/api/<your-space-name>/competitions/3HgZs2UB8HzUh8MGPHAs/contests
Response
{
	"data": [
        {
            "jsonClass": "Contest",
            "accountId": "0sn4DmUBkPH_lz9GgxBM",
            "competitionId": "YORgTm0BBZeE7Tj32xU8",
            "number": 0,
            "label": "Test1 (Cumulative and simple rule of bet)",
            "description": "",
            "termsConditions": "",
            "round": 1,
            "roundType": "TimeBound",
            "entrantsFromContest": [],
            "options": {
                "numberOfEntrants": {
                    "jsonClass": "MaxMin",
                    "minimum": 0
                },
                "products": [],
                "ruleSets": [
                    {
                        "jsonClass": "RuleSet",
                        "priority": 1,
                        "scope": "contest",
                        "action": "open.contests",
                        "conditions": [
                            {
                                "jsonClass": "MainConditionSet",
                                "matchCondition": "All",
                                "mustEvaluateTo": true,
                                "rules": [
                                    {
                                        "jsonClass": "MainRule",
                                        "fact": "contests.parents.status",
                                        "operator": "==",
                                        "constant": "$finalised.status"
                                    }
                                ]
                            }
                        ]
                    },
                    {
                        "jsonClass": "RuleSet",
                        "priority": 2,
                        "scope": "contest",
                        "action": "finish.contests",
                        "conditions": [
                            {
                                "jsonClass": "MainConditionSet",
                                "matchCondition": "All",
                                "mustEvaluateTo": true,
                                "rules": [
                                    {
                                        "jsonClass": "MainRule",
                                        "fact": "contests.active.elapsed",
                                        "operator": ">=",
                                        "constant": "$competitions.scheduled.end"
                                    }
                                ]
                            }
                        ]
                    },
                    {
                        "jsonClass": "RuleSet",
                        "priority": 3,
                        "scope": "contest",
                        "action": "finalise.contests",
                        "conditions": [
                            {
                                "jsonClass": "MainConditionSet",
                                "matchCondition": "All",
                                "mustEvaluateTo": true,
                                "rules": [
                                    {
                                        "jsonClass": "MainRule",
                                        "fact": "contests.finish.elapsed",
                                        "operator": ">=",
                                        "constant": "1"
                                    }
                                ]
                            }
                        ]
                    },
                    {
                        "jsonClass": "RuleSet",
                        "priority": 4,
                        "scope": "contest",
                        "action": "contests.points.calculated.custom",
                        "conditions": [
                            {
                                "jsonClass": "MainConditionSet",
                                "matchCondition": "All",
                                "mustEvaluateTo": true,
                                "rules": [
                                    {
                                        "jsonClass": "MainRule",
                                        "fact": "event.count",
                                        "operator": ">=",
                                        "constant": "1",
                                        "subConditions": [
                                            {
                                                "jsonClass": "SubConditionSet",
                                                "matchCondition": "All",
                                                "mustEvaluateTo": true,
                                                "subRules": [
                                                    {
                                                        "jsonClass": "SubRule",
                                                        "fact": "event.action.type",
                                                        "operator": "==",
                                                        "constant": "bet"
                                                    }
                                                ]
                                            }
                                        ]
                                    }
                                ]
                            }
                        ],
                        "onMatchThen": "add",
                        "onMatchConstant": "5"
                    }
                ],
                "isPublic": true,
                "autoStart": true,
                "autoStartRetryInterval": 1000,
                "autoStop": true,
                "autoStopRetryInterval": 1000,
                "scheduledDates": {
                    "jsonClass": "StartEndDate",
                    "start": "2019-09-20T11:43:00.000+0000",
                    "end": "2019-09-21T12:43:00.000+0000"
                },
                "actualDates": {
                    "jsonClass": "StartEndDate"
                },
                "optinRequiredForEntrants": false,
                "useGlobalEvents": false,
                "strategies": {
                    "jsonClass": "Strategies",
                    "strategyType": "TotalCumulative",
                    "rankingStrategy": {
                        "jsonClass": "RankingStrategy",
                        "scoreDesc": true,
                        "timeDesc": false,
                        "scoreFirst": true,
                        "ignoreTime": true,
                        "ignoreScore": false
                    },
                    "scoringStrategy": {
                        "jsonClass": "ScoringStrategy",
                        "limitUpdatesTo": 0,
                        "sumBestXOf": 0,
                        "lastUpdateTimeStamp": 0,
                        "recordTimeWhenSumReaches": 0.0
                    }
                }
            }
    ]
}
Request with Query string parameters
curl
    --header "X-API-KEY: <your-api-key>"
    --request GET https://app.competitionlabs.com/api/<your-space-name>/competitions/3HgZs2UB8HzUh8MGPHAs/contests?number=0&_limit=1
Response for Query string request
{
    "meta": {
        "totalRecordsFound": 1,
        "skip": 0,
        "limit": 1
    },
    "data": [
        {
            "jsonClass": "Contest",
            "accountId": "0sn4DmUBkPH_lz9GgxBM",
            "competitionId": "YORgTm0BBZeE7Tj32xU8",
            "number": 0,
            "label": "Test1 (Cumulative and simple rule of bet)",
            "description": "",
            "termsConditions": "",
            "round": 1,
            "roundType": "TimeBound",
            "entrantsFromContest": [],
            "options": {
                "numberOfEntrants": {
                    "jsonClass": "MaxMin",
                    "minimum": 0
                },
                "products": [],
                "ruleSets": [
                    {
                        "jsonClass": "RuleSet",
                        "priority": 1,
                        "scope": "contest",
                        "action": "open.contests",
                        "conditions": [
                            {
                                "jsonClass": "MainConditionSet",
                                "matchCondition": "All",
                                "mustEvaluateTo": true,
                                "rules": [
                                    {
                                        "jsonClass": "MainRule",
                                        "fact": "contests.parents.status",
                                        "operator": "==",
                                        "constant": "$finalised.status"
                                    }
                                ]
                            }
                        ]
                    },
                    {
                        "jsonClass": "RuleSet",
                        "priority": 2,
                        "scope": "contest",
                        "action": "finish.contests",
                        "conditions": [
                            {
                                "jsonClass": "MainConditionSet",
                                "matchCondition": "All",
                                "mustEvaluateTo": true,
                                "rules": [
                                    {
                                        "jsonClass": "MainRule",
                                        "fact": "contests.active.elapsed",
                                        "operator": ">=",
                                        "constant": "$competitions.scheduled.end"
                                    }
                                ]
                            }
                        ]
                    },
                    {
                        "jsonClass": "RuleSet",
                        "priority": 3,
                        "scope": "contest",
                        "action": "finalise.contests",
                        "conditions": [
                            {
                                "jsonClass": "MainConditionSet",
                                "matchCondition": "All",
                                "mustEvaluateTo": true,
                                "rules": [
                                    {
                                        "jsonClass": "MainRule",
                                        "fact": "contests.finish.elapsed",
                                        "operator": ">=",
                                        "constant": "1"
                                    }
                                ]
                            }
                        ]
                    },
                    {
                        "jsonClass": "RuleSet",
                        "priority": 4,
                        "scope": "contest",
                        "action": "contests.points.calculated.custom",
                        "conditions": [
                            {
                                "jsonClass": "MainConditionSet",
                                "matchCondition": "All",
                                "mustEvaluateTo": true,
                                "rules": [
                                    {
                                        "jsonClass": "MainRule",
                                        "fact": "event.count",
                                        "operator": ">=",
                                        "constant": "1",
                                        "subConditions": [
                                            {
                                                "jsonClass": "SubConditionSet",
                                                "matchCondition": "All",
                                                "mustEvaluateTo": true,
                                                "subRules": [
                                                    {
                                                        "jsonClass": "SubRule",
                                                        "fact": "event.action.type",
                                                        "operator": "==",
                                                        "constant": "bet"
                                                    }
                                                ]
                                            }
                                        ]
                                    }
                                ]
                            }
                        ],
                        "onMatchThen": "add",
                        "onMatchConstant": "5"
                    }
                ],
                "isPublic": true,
                "autoStart": true,
                "autoStartRetryInterval": 1000,
                "autoStop": true,
                "autoStopRetryInterval": 1000,
                "scheduledDates": {
                    "jsonClass": "StartEndDate",
                    "start": "2019-09-20T11:43:00.000+0000",
                    "end": "2019-09-21T12:43:00.000+0000"
                },
                "actualDates": {
                    "jsonClass": "StartEndDate"
                },
                "optinRequiredForEntrants": false,
                "useGlobalEvents": false,
                "strategies": {
                    "jsonClass": "Strategies",
                    "strategyType": "TotalCumulative",
                    "rankingStrategy": {
                        "jsonClass": "RankingStrategy",
                        "scoreDesc": true,
                        "timeDesc": false,
                        "scoreFirst": true,
                        "ignoreTime": true,
                        "ignoreScore": false
                    },
                    "scoringStrategy": {
                        "jsonClass": "ScoringStrategy",
                        "limitUpdatesTo": 0,
                        "sumBestXOf": 0,
                        "lastUpdateTimeStamp": 0,
                        "recordTimeWhenSumReaches": 0.0
                    }
                }
            }
    ]
}


ERROR CODES

CodeHTTP StatusDescriptionExample

404The Request URL is incorrect
Error Response 404
{
    "status": 404
}