Skip to main content
GET
/
challenges
/
{challengeId}
Get challenge by ID
curl --request GET \
  --url https://{subdomain}.nudj.cx/api/v2/integration/challenges/{challengeId} \
  --header 'x-api-token: <api-key>'
{
  "id": "<string>",
  "organisationId": "<string>",
  "communityId": "<string>",
  "additionalCommunityIds": [
    "<string>"
  ],
  "details": {
    "title": "<string>",
    "description": "<string>",
    "light": {
      "primaryImageUrl": "<string>",
      "secondaryImageUrl": "<string>"
    },
    "dark": {
      "primaryImageUrl": "<string>",
      "secondaryImageUrl": "<string>"
    }
  },
  "progressPeriod": "daily",
  "maxCompletionsPerPeriod": 1,
  "numberOfActions": 1,
  "actionIds": [
    "<string>"
  ],
  "actionGroups": [
    {
      "id": "<string>",
      "type": "single",
      "details": {
        "title": "<string>",
        "description": "<string>",
        "light": {
          "primaryImageUrl": "<string>",
          "secondaryImageUrl": "<string>"
        },
        "dark": {
          "primaryImageUrl": "<string>",
          "secondaryImageUrl": "<string>"
        }
      },
      "parentGroupId": "<string>",
      "displayType": "list"
    }
  ],
  "status": "archived",
  "isLinear": true,
  "unlockPrice": 1,
  "tags": [
    {
      "id": "<string>",
      "organisationId": "<string>",
      "value": "<string>",
      "config": {
        "filtering": [
          "achievement"
        ],
        "display": [
          "achievement"
        ],
        "iconifyIcon": "<string>"
      },
      "createdAt": "<string>",
      "updatedAt": "<string>"
    }
  ],
  "startedCount": 1,
  "completedCount": 1,
  "uniqueUsersStartedCount": 1,
  "uniqueUsersCompletedCount": 1,
  "campaigns": [
    {
      "id": "<string>",
      "organisationId": "<string>",
      "name": "<string>",
      "startDate": "<string>",
      "endDate": "<string>",
      "status": "archived",
      "createdAt": "<string>",
      "updatedAt": "<string>"
    }
  ],
  "availableAsTemplateForOrganisations": [
    "<string>"
  ],
  "isGlobalTemplate": true,
  "groupIds": [
    "<string>"
  ],
  "createdAt": "<string>",
  "videoConfig": {
    "videoUrl": "<string>",
    "isVideoEnabled": true
  },
  "xpConfig": {
    "total": 1,
    "knowledge": 1,
    "creativity": 1,
    "loyalty": 1,
    "influence": 1,
    "participation": 1,
    "contribution": 1
  },
  "rewardDistribution": {
    "points": 1,
    "xp": 1,
    "rewardSelectionMethod": "all",
    "distributionEventId": "<string>",
    "rewardAllocations": [
      {
        "rewardId": "<string>",
        "allocationId": "<string>",
        "allocationType": "assets",
        "amountToDistribute": 2
      }
    ],
    "numberOfRewardsToReceive": 1
  },
  "actionsRewardDistribution": {
    "points": 1,
    "xp": 1,
    "rewardAllocations": [
      {
        "rewardId": "<string>",
        "allocationId": "<string>",
        "allocationType": "assets",
        "amountToDistribute": 2
      }
    ]
  },
  "actions": [
    {
      "id": "<string>",
      "organisationId": "<string>",
      "communityId": "<string>",
      "allocationId": "<string>",
      "allocatedTo": "achievement",
      "position": 123,
      "category": "nudj",
      "key": "facebook-comment",
      "details": {
        "title": "<string>",
        "description": "<string>",
        "light": {
          "primaryImageUrl": "<string>",
          "secondaryImageUrl": "<string>"
        },
        "dark": {
          "primaryImageUrl": "<string>",
          "secondaryImageUrl": "<string>"
        }
      },
      "progressPeriod": "daily",
      "maxCompletionsPerPeriod": 1,
      "attributes": {
        "key": "question-multiple-choice",
        "question": "<string>",
        "options": [
          {
            "id": "<string>",
            "label": "<string>"
          }
        ],
        "minimumNumberOfAnswersRequired": 2,
        "maximumNumberOfAnswersAllowed": 2
      },
      "config": {
        "isOptional": true,
        "socialValidation": "validation-on",
        "prerequisites": {
          "requiredActionCount": 123,
          "actionIds": [
            "<string>"
          ]
        },
        "requiresCorrectAnswer": true
      },
      "xpConfig": {
        "total": 1,
        "knowledge": 1,
        "creativity": 1,
        "loyalty": 1,
        "influence": 1,
        "participation": 1,
        "contribution": 1
      },
      "videoMetadata": {
        "startsAtMs": 1,
        "shouldPause": true,
        "validatesAtMs": 1,
        "endsAtMs": 1
      },
      "createdAt": "<string>",
      "rewardDistribution": {
        "points": 1,
        "xp": 1,
        "rewardSelectionMethod": "all",
        "distributionEventId": "<string>",
        "rewardAllocations": [
          {
            "rewardId": "<string>",
            "allocationId": "<string>",
            "allocationType": "assets",
            "amountToDistribute": 2
          }
        ],
        "numberOfRewardsToReceive": 1
      },
      "rewards": [
        {
          "id": "<string>",
          "details": {
            "title": "<string>",
            "description": "<string>",
            "light": {
              "primaryImageUrl": "<string>",
              "secondaryImageUrl": "<string>"
            },
            "dark": {
              "primaryImageUrl": "<string>",
              "secondaryImageUrl": "<string>"
            }
          },
          "type": "assets",
          "amountToDistribute": 1,
          "totalSupply": 1,
          "remainingSupply": 1
        }
      ],
      "userState": {
        "status": "abandoned",
        "criteriaMet": true,
        "statusMessage": "<string>",
        "eligibleXp": 123,
        "earnedXp": 123,
        "attempts": 123,
        "output": {
          "key": "interaction-external-link",
          "eventId": "<string>"
        },
        "unmetCriteriaMessage": "<string>",
        "metCriteriaMessage": "<string>"
      },
      "participations": [
        {
          "id": "<string>",
          "criteriaMet": true,
          "output": {
            "key": "interaction-external-link",
            "eventId": "<string>"
          },
          "status": "pending",
          "participatedAt": "<string>",
          "processingStartedAt": "<string>",
          "processedAt": "<string>",
          "unmetCriteriaMessage": "<string>",
          "metCriteriaMessage": "<string>",
          "processingFailedMessage": "<string>"
        }
      ],
      "actionGroupId": "<string>",
      "actionGroupIndex": 123,
      "availableAsTemplateForOrganisations": [
        "<string>"
      ],
      "isGlobalTemplate": true,
      "previousAction": "<string>",
      "nextAction": "<string>"
    }
  ],
  "rewards": [
    {
      "id": "<string>",
      "details": {
        "title": "<string>",
        "description": "<string>",
        "light": {
          "primaryImageUrl": "<string>",
          "secondaryImageUrl": "<string>"
        },
        "dark": {
          "primaryImageUrl": "<string>",
          "secondaryImageUrl": "<string>"
        }
      },
      "type": "assets",
      "amountToDistribute": 1,
      "totalSupply": 1,
      "remainingSupply": 1
    }
  ],
  "userState": {
    "status": "abandoned",
    "completionsInPeriod": 0,
    "totalCompletions": 0,
    "keysContributed": 0,
    "latestAttempt": {
      "eligibleXp": 0,
      "actionsCompletedCount": 0,
      "earnedXp": 0,
      "earnedPoints": 0,
      "earnedRewardAssets": [
        {
          "rewardAssetId": "<string>",
          "rewardId": "<string>"
        }
      ],
      "earnedRewardEntries": [
        {
          "rewardEntryId": "<string>",
          "rewardId": "<string>",
          "amount": 1
        }
      ],
      "completionTime": 0,
      "successRate": 0,
      "startedAt": "<string>"
    },
    "historicAttempts": [],
    "challengeProgressId": "<string>"
  },
  "challengeType": "survey",
  "enabledForSingleView": true,
  "startDate": "<string>",
  "endDate": "<string>",
  "featured": true,
  "threadId": "<string>",
  "isSkippable": true,
  "startsAt": "<string>",
  "expiresAt": "<string>",
  "updatedAt": "<string>",
  "community": {
    "id": "<string>",
    "name": "<string>",
    "slug": "<string>",
    "descriptionConfig": {
      "content": "<string>",
      "disableLineClamp": true,
      "maxLines": 5.5
    },
    "logo": "<string>"
  }
}

Authorizations

x-api-token
string
header
required

Headers

x-language
string

The language to return the challenge in. If not provided, the default language for the organisation will be used.

Path Parameters

challengeId
string
required

Response

Successful response

A challenge

id
string
required

The id of the challenge

Pattern: ^[0-9a-fA-F]{24}$
organisationId
string
required

The id of the organisation the challenge belongs to

Pattern: ^[0-9a-fA-F]{24}$
communityId
string
required

The id of the community the challenge belongs to

Pattern: ^[0-9a-fA-F]{24}$
additionalCommunityIds
string[]
required

The ids of any additional communities the challenge belongs to

Pattern: ^[0-9a-fA-F]{24}$
details
Details · object
required

Used to describe an entity

progressPeriod
enum<string>
required

The progress period of the challenge

Available options:
daily,
weekly,
monthly,
yearly,
open
maxCompletionsPerPeriod
required

The maximum number of completions per period for the challenge

Required range: x >= 0
numberOfActions
number
required

The number of actions in the challenge

Required range: x >= 0
actionIds
string[]
required

The ids of the actions in the challenge

Pattern: ^[0-9a-fA-F]{24}$
actionGroups
ActionGroup · object[]
required

The action groups of the challenge

status
enum<string>
required

The status of the challenge

Available options:
archived,
draft,
expired,
live,
scheduled
isLinear
boolean
required

Whether the challenge must be completed in sequential order

unlockPrice
number
required

The number of keys required to unlock this challenge

Required range: x >= 0
tags
Tag · object[]
required

The tags the challenge is linked to

startedCount
number
required

The total number of times participants have started the challenge

Required range: x >= 0
completedCount
number
required

The total number of times participants have completed the challenge

Required range: x >= 0
uniqueUsersStartedCount
number
required

The number of distinct participants who have started the challenge

Required range: x >= 0
uniqueUsersCompletedCount
number
required

The number of distinct participants who have completed the challenge

Required range: x >= 0
campaigns
Campaign · object[]
required

The campaigns the challenge is linked to

availableAsTemplateForOrganisations
string[]
required

The organisations that the challenge is available as a template for

Pattern: ^[0-9a-fA-F]{24}$
isGlobalTemplate
boolean
required

Whether the challenge is a global template

groupIds
string[]
required

The challenge groups the challenge belongs to

Pattern: ^[0-9a-fA-F]{24}$
createdAt
string
required

The creation date of the challenge

videoConfig
Video Config · object
required

Video configuration for challenges with video content

xpConfig
User XP Breakdown · object
required

XP breakdown for this challenge. This is the sum of all action xpConfigs within the challenge and is automatically calculated.

rewardDistribution
Entity Reward Distribution · object
required

Reward distribution information for the challenge completion itself

actionsRewardDistribution
Aggregated Reward Distribution · object
required

Aggregated reward distribution information from all actions within the challenge

actions
Action · object[]
required

The actions of the challenge

rewards
Reward Distribution Item · object[]
required
userState
object
required
challengeType
enum<string> | null

The type of the challenge

Available options:
survey,
null
enabledForSingleView
boolean | null

Whether the challenge is enabled for single view

startDate
string | null

Deprecated use startsAt instead

endDate
string | null

Deprecated use expiresAt instead

threadId
string | null

The thread id of the challenge

isSkippable
boolean | null

Whether the challenge is skippable

startsAt
string | null

The start date of the challenge

expiresAt
string | null

The expiry date of the challenge

updatedAt
string | null

The update date of the challenge

community
object

Details of the community this challenge belongs to