symbols:
# region models
'IamErrorResponse@jv.challenge.mod':
id: 'IamErrorResponse@jv.challenge.mod'
name: 'IamErrorResponse'
type: 'model'
fields:
'errorCode':
type: 'Integer'
required: true
'errorMessage':
type: 'String'
required: true
'requiredPermission':
type: 'IamPermission'
required: false
imports:
- 'import java.util.*;'
- 'import net.accelbyte.sdk.api.challenge.models.*;'
files:
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/challenge/models/IamErrorResponse.java'
'IamPermission@jv.challenge.mod':
id: 'IamPermission@jv.challenge.mod'
name: 'IamPermission'
type: 'model'
fields:
'action':
type: 'Integer'
required: true
'resource':
type: 'String'
required: true
imports:
- 'import java.util.*;'
- 'import net.accelbyte.sdk.api.challenge.models.*;'
files:
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/challenge/models/IamPermission.java'
'ModelChallengeReference@jv.challenge.mod':
id: 'ModelChallengeReference@jv.challenge.mod'
name: 'ModelChallengeReference'
type: 'model'
fields:
'challengeCode':
type: 'String'
required: true
'goalCode':
type: 'String'
required: true
imports:
- 'import java.util.*;'
- 'import net.accelbyte.sdk.api.challenge.models.*;'
files:
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/challenge/models/ModelChallengeReference.java'
'ModelChallengeResponse@jv.challenge.mod':
id: 'ModelChallengeResponse@jv.challenge.mod'
name: 'ModelChallengeResponse'
type: 'model'
fields:
'activeGoalsPerRotation':
type: 'Integer'
required: true
'assignmentRule':
type: 'String'
required: true
'code':
type: 'String'
required: true
'createdAt':
type: 'String'
required: true
'description':
type: 'String'
required: true
'goalsVisibility':
type: 'String'
required: true
'name':
type: 'String'
required: true
'randomizedPerRotation':
type: 'Boolean'
required: true
'resetConfig':
type: 'ModelResetConfig'
required: true
'rotation':
type: 'String'
required: true
'startDate':
type: 'String'
required: true
'status':
type: 'String'
required: true
'updatedAt':
type: 'String'
required: true
'endAfter':
type: 'Integer'
required: false
'endDate':
type: 'String'
required: false
'repeatAfter':
type: 'Integer'
required: false
'tags':
type: 'List<String>'
required: false
imports:
- 'import java.util.*;'
- 'import net.accelbyte.sdk.api.challenge.models.*;'
files:
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/challenge/models/ModelChallengeResponse.java'
'ModelClaimableUserReward@jv.challenge.mod':
id: 'ModelClaimableUserReward@jv.challenge.mod'
name: 'ModelClaimableUserReward'
type: 'model'
fields:
'goalProgressionId':
type: 'String'
required: true
'id':
type: 'String'
required: true
'itemId':
type: 'String'
required: true
'itemName':
type: 'String'
required: true
'qty':
type: 'Float'
required: true
'status':
type: 'String'
required: true
'type':
type: 'String'
required: true
imports:
- 'import java.util.*;'
- 'import net.accelbyte.sdk.api.challenge.models.*;'
files:
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/challenge/models/ModelClaimableUserReward.java'
'ModelClaimUserRewardsByGoalCodeRequest@jv.challenge.mod':
id: 'ModelClaimUserRewardsByGoalCodeRequest@jv.challenge.mod'
name: 'ModelClaimUserRewardsByGoalCodeRequest'
type: 'model'
fields:
'goalCode':
type: 'String'
required: true
imports:
- 'import java.util.*;'
- 'import net.accelbyte.sdk.api.challenge.models.*;'
files:
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/challenge/models/ModelClaimUserRewardsByGoalCodeRequest.java'
'ModelClaimUserRewardsReq@jv.challenge.mod':
id: 'ModelClaimUserRewardsReq@jv.challenge.mod'
name: 'ModelClaimUserRewardsReq'
type: 'model'
fields:
'rewardIDs':
type: 'List<String>'
required: true
description: |-
max 100 items
imports:
- 'import java.util.*;'
- 'import net.accelbyte.sdk.api.challenge.models.*;'
files:
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/challenge/models/ModelClaimUserRewardsReq.java'
'ModelClaimUsersRewardsRequest@jv.challenge.mod':
id: 'ModelClaimUsersRewardsRequest@jv.challenge.mod'
name: 'ModelClaimUsersRewardsRequest'
type: 'model'
fields:
'rewardIds':
type: 'List<String>'
required: true
'userId':
type: 'String'
required: true
imports:
- 'import java.util.*;'
- 'import net.accelbyte.sdk.api.challenge.models.*;'
files:
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/challenge/models/ModelClaimUsersRewardsRequest.java'
'ModelClaimUsersRewardsResponse@jv.challenge.mod':
id: 'ModelClaimUsersRewardsResponse@jv.challenge.mod'
name: 'ModelClaimUsersRewardsResponse'
type: 'model'
fields:
'isSuccess':
type: 'Boolean'
required: true
'rewards':
type: 'List<ModelUserReward>'
required: true
'userId':
type: 'String'
required: true
'errorDetail':
type: 'ResponseError'
required: false
imports:
- 'import java.util.*;'
- 'import net.accelbyte.sdk.api.challenge.models.*;'
files:
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/challenge/models/ModelClaimUsersRewardsResponse.java'
'ModelCreateChallengeRequest@jv.challenge.mod':
id: 'ModelCreateChallengeRequest@jv.challenge.mod'
name: 'ModelCreateChallengeRequest'
type: 'model'
fields:
'assignmentRule':
type: 'String'
required: true
'code':
type: 'String'
required: true
description: |-
only lowercase letters, numbers, and the separator - are allowed; must start and end with letter
'goalsVisibility':
type: 'String'
required: true
'name':
type: 'String'
required: true
'rotation':
type: 'String'
required: true
'startDate':
type: 'String'
required: true
'activeGoalsPerRotation':
type: 'Integer'
required: false
'description':
type: 'String'
required: false
'endAfter':
type: 'Integer'
required: false
'endDate':
type: 'String'
required: false
'randomizedPerRotation':
type: 'Boolean'
required: false
'repeatAfter':
type: 'Integer'
required: false
'resetConfig':
type: 'ModelResetConfig'
required: false
'tags':
type: 'List<String>'
required: false
imports:
- 'import java.util.*;'
- 'import net.accelbyte.sdk.api.challenge.models.*;'
files:
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/challenge/models/ModelCreateChallengeRequest.java'
'ModelCreateGoalRequest@jv.challenge.mod':
id: 'ModelCreateGoalRequest@jv.challenge.mod'
name: 'ModelCreateGoalRequest'
type: 'model'
fields:
'code':
type: 'String'
required: true
'isActive':
type: 'Boolean'
required: true
'name':
type: 'String'
required: true
'description':
type: 'String'
required: false
'requirementGroups':
type: 'List<ModelRequirement>'
required: false
'rewards':
type: 'List<ModelReward>'
required: false
'schedule':
type: 'ModelGoalScheduleRequest'
required: false
'tags':
type: 'List<String>'
required: false
imports:
- 'import java.util.*;'
- 'import net.accelbyte.sdk.api.challenge.models.*;'
files:
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/challenge/models/ModelCreateGoalRequest.java'
'ModelEvaluatePlayerProgressionRequest@jv.challenge.mod':
id: 'ModelEvaluatePlayerProgressionRequest@jv.challenge.mod'
name: 'ModelEvaluatePlayerProgressionRequest'
type: 'model'
fields:
'userIds':
type: 'List<String>'
required: false
imports:
- 'import java.util.*;'
- 'import net.accelbyte.sdk.api.challenge.models.*;'
files:
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/challenge/models/ModelEvaluatePlayerProgressionRequest.java'
'ModelGetGoalsResponse@jv.challenge.mod':
id: 'ModelGetGoalsResponse@jv.challenge.mod'
name: 'ModelGetGoalsResponse'
type: 'model'
fields:
'data':
type: 'List<ModelGoalResponse>'
required: true
'meta':
type: 'ModelChallengeResponse'
required: true
'paging':
type: 'ModelPagination'
required: true
imports:
- 'import java.util.*;'
- 'import net.accelbyte.sdk.api.challenge.models.*;'
files:
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/challenge/models/ModelGetGoalsResponse.java'
'ModelGoalInSchedulesResponse@jv.challenge.mod':
id: 'ModelGoalInSchedulesResponse@jv.challenge.mod'
name: 'ModelGoalInSchedulesResponse'
type: 'model'
fields:
'challengeCode':
type: 'String'
required: true
'code':
type: 'String'
required: true
'createdAt':
type: 'String'
required: true
'description':
type: 'String'
required: true
'isActive':
type: 'Boolean'
required: true
'name':
type: 'String'
required: true
'namespace':
type: 'String'
required: true
'requirementGroups':
type: 'List<ModelRequirement>'
required: true
'rewards':
type: 'List<ModelReward>'
required: true
'updatedAt':
type: 'String'
required: true
'tags':
type: 'List<String>'
required: false
imports:
- 'import java.util.*;'
- 'import net.accelbyte.sdk.api.challenge.models.*;'
files:
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/challenge/models/ModelGoalInSchedulesResponse.java'
'ModelGoalMeta@jv.challenge.mod':
id: 'ModelGoalMeta@jv.challenge.mod'
name: 'ModelGoalMeta'
type: 'model'
fields:
'code':
type: 'String'
required: true
'description':
type: 'String'
required: true
'name':
type: 'String'
required: true
'requirementGroups':
type: 'List<ModelRequirement>'
required: true
'rewards':
type: 'List<ModelReward>'
required: true
'tags':
type: 'List<String>'
required: false
imports:
- 'import java.util.*;'
- 'import net.accelbyte.sdk.api.challenge.models.*;'
files:
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/challenge/models/ModelGoalMeta.java'
'ModelGoalOrder@jv.challenge.mod':
id: 'ModelGoalOrder@jv.challenge.mod'
name: 'ModelGoalOrder'
type: 'model'
fields:
'goal':
type: 'ModelGoalResponse'
required: true
'order':
type: 'Integer'
required: true
imports:
- 'import java.util.*;'
- 'import net.accelbyte.sdk.api.challenge.models.*;'
files:
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/challenge/models/ModelGoalOrder.java'
'ModelGoalProgressionResponse@jv.challenge.mod':
id: 'ModelGoalProgressionResponse@jv.challenge.mod'
name: 'ModelGoalProgressionResponse'
type: 'model'
fields:
'challengeCode':
type: 'String'
required: true
'goal':
type: 'ModelGoalMeta'
required: true
'goalCode':
type: 'String'
required: true
'goalProgressionId':
type: 'String'
required: true
'requirementProgressions':
type: 'List<ModelRequirementProgressionResponse>'
required: true
'status':
type: 'String'
required: true
'completedAt':
type: 'String'
required: false
'toClaimRewards':
type: 'List<ModelClaimableUserReward>'
required: false
imports:
- 'import java.util.*;'
- 'import net.accelbyte.sdk.api.challenge.models.*;'
files:
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/challenge/models/ModelGoalProgressionResponse.java'
'ModelGoalResponse@jv.challenge.mod':
id: 'ModelGoalResponse@jv.challenge.mod'
name: 'ModelGoalResponse'
type: 'model'
fields:
'challengeCode':
type: 'String'
required: true
'code':
type: 'String'
required: true
'createdAt':
type: 'String'
required: true
'description':
type: 'String'
required: true
'isActive':
type: 'Boolean'
required: true
'name':
type: 'String'
required: true
'namespace':
type: 'String'
required: true
'requirementGroups':
type: 'List<ModelRequirement>'
required: true
'rewards':
type: 'List<ModelReward>'
required: true
'updatedAt':
type: 'String'
required: true
'schedule':
type: 'ModelGoalSchedule'
required: false
description: |-
this field will be deprecated
'tags':
type: 'List<String>'
required: false
imports:
- 'import java.util.*;'
- 'import net.accelbyte.sdk.api.challenge.models.*;'
files:
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/challenge/models/ModelGoalResponse.java'
'ModelGoalSchedule@jv.challenge.mod':
id: 'ModelGoalSchedule@jv.challenge.mod'
name: 'ModelGoalSchedule'
type: 'model'
fields:
'order':
type: 'Integer'
required: true
description: |-
this field will be deprecated
'startTime':
type: 'String'
required: true
description: |-
this field will be deprecated
'endTime':
type: 'String'
required: false
description: |-
this field will be deprecated
imports:
- 'import java.util.*;'
- 'import net.accelbyte.sdk.api.challenge.models.*;'
files:
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/challenge/models/ModelGoalSchedule.java'
'ModelGoalScheduleRequest@jv.challenge.mod':
id: 'ModelGoalScheduleRequest@jv.challenge.mod'
name: 'ModelGoalScheduleRequest'
type: 'model'
fields:
'order':
type: 'Integer'
required: true
'startTime':
type: 'String'
required: true
'endTime':
type: 'String'
required: false
imports:
- 'import java.util.*;'
- 'import net.accelbyte.sdk.api.challenge.models.*;'
files:
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/challenge/models/ModelGoalScheduleRequest.java'
'ModelItemReference@jv.challenge.mod':
id: 'ModelItemReference@jv.challenge.mod'
name: 'ModelItemReference'
type: 'model'
fields:
'module':
type: 'String'
required: true
'references':
type: 'List<ModelChallengeReference>'
required: true
imports:
- 'import java.util.*;'
- 'import net.accelbyte.sdk.api.challenge.models.*;'
files:
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/challenge/models/ModelItemReference.java'
'ModelItemReferenceResponse@jv.challenge.mod':
id: 'ModelItemReferenceResponse@jv.challenge.mod'
name: 'ModelItemReferenceResponse'
type: 'model'
fields:
'references':
type: 'List<ModelItemReference>'
required: true
imports:
- 'import java.util.*;'
- 'import net.accelbyte.sdk.api.challenge.models.*;'
files:
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/challenge/models/ModelItemReferenceResponse.java'
'ModelListChallengeResponse@jv.challenge.mod':
id: 'ModelListChallengeResponse@jv.challenge.mod'
name: 'ModelListChallengeResponse'
type: 'model'
fields:
'data':
type: 'List<ModelChallengeResponse>'
required: true
'paging':
type: 'ModelPagination'
required: true
imports:
- 'import java.util.*;'
- 'import net.accelbyte.sdk.api.challenge.models.*;'
files:
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/challenge/models/ModelListChallengeResponse.java'
'ModelListPeriodsResponse@jv.challenge.mod':
id: 'ModelListPeriodsResponse@jv.challenge.mod'
name: 'ModelListPeriodsResponse'
type: 'model'
fields:
'data':
type: 'List<ModelsPeriod>'
required: true
'paging':
type: 'ModelPagination'
required: true
imports:
- 'import java.util.*;'
- 'import net.accelbyte.sdk.api.challenge.models.*;'
files:
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/challenge/models/ModelListPeriodsResponse.java'
'ModelListScheduleByGoalResponse@jv.challenge.mod':
id: 'ModelListScheduleByGoalResponse@jv.challenge.mod'
name: 'ModelListScheduleByGoalResponse'
type: 'model'
fields:
'data':
type: 'List<ModelScheduleByGoalResponse>'
required: true
'paging':
type: 'ModelPagination'
required: true
imports:
- 'import java.util.*;'
- 'import net.accelbyte.sdk.api.challenge.models.*;'
files:
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/challenge/models/ModelListScheduleByGoalResponse.java'
'ModelListSchedulesResponse@jv.challenge.mod':
id: 'ModelListSchedulesResponse@jv.challenge.mod'
name: 'ModelListSchedulesResponse'
type: 'model'
fields:
'data':
type: 'List<ModelScheduleResponse>'
required: true
'paging':
type: 'ModelPagination'
required: true
imports:
- 'import java.util.*;'
- 'import net.accelbyte.sdk.api.challenge.models.*;'
files:
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/challenge/models/ModelListSchedulesResponse.java'
'ModelListUserRewardsResponse@jv.challenge.mod':
id: 'ModelListUserRewardsResponse@jv.challenge.mod'
name: 'ModelListUserRewardsResponse'
type: 'model'
fields:
'data':
type: 'List<ModelUserReward>'
required: true
'paging':
type: 'ModelPagination'
required: true
imports:
- 'import java.util.*;'
- 'import net.accelbyte.sdk.api.challenge.models.*;'
files:
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/challenge/models/ModelListUserRewardsResponse.java'
'ModelPagination@jv.challenge.mod':
id: 'ModelPagination@jv.challenge.mod'
name: 'ModelPagination'
type: 'model'
fields:
'first':
type: 'String'
required: true
'last':
type: 'String'
required: true
'next':
type: 'String'
required: true
'previous':
type: 'String'
required: true
imports:
- 'import java.util.*;'
- 'import net.accelbyte.sdk.api.challenge.models.*;'
files:
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/challenge/models/ModelPagination.java'
'ModelPluginAsignmentAppConfig@jv.challenge.mod':
id: 'ModelPluginAsignmentAppConfig@jv.challenge.mod'
name: 'ModelPluginAsignmentAppConfig'
type: 'model'
fields:
'appName':
type: 'String'
required: true
imports:
- 'import java.util.*;'
- 'import net.accelbyte.sdk.api.challenge.models.*;'
files:
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/challenge/models/ModelPluginAsignmentAppConfig.java'
'ModelPluginAssignmentCustomConfig@jv.challenge.mod':
id: 'ModelPluginAssignmentCustomConfig@jv.challenge.mod'
name: 'ModelPluginAssignmentCustomConfig'
type: 'model'
fields:
'grpcServerAddress':
type: 'String'
required: true
imports:
- 'import java.util.*;'
- 'import net.accelbyte.sdk.api.challenge.models.*;'
files:
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/challenge/models/ModelPluginAssignmentCustomConfig.java'
'ModelPluginAssignmentRequest@jv.challenge.mod':
id: 'ModelPluginAssignmentRequest@jv.challenge.mod'
name: 'ModelPluginAssignmentRequest'
type: 'model'
fields:
'extendType':
type: 'String'
required: true
'appName':
type: 'String'
required: false
'grpcServerAddress':
type: 'String'
required: false
imports:
- 'import java.util.*;'
- 'import net.accelbyte.sdk.api.challenge.models.*;'
files:
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/challenge/models/ModelPluginAssignmentRequest.java'
'ModelPluginAssignmentResponse@jv.challenge.mod':
id: 'ModelPluginAssignmentResponse@jv.challenge.mod'
name: 'ModelPluginAssignmentResponse'
type: 'model'
fields:
'extendType':
type: 'String'
required: true
'appConfig':
type: 'ModelPluginAsignmentAppConfig'
required: false
'customConfig':
type: 'ModelPluginAssignmentCustomConfig'
required: false
imports:
- 'import java.util.*;'
- 'import net.accelbyte.sdk.api.challenge.models.*;'
files:
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/challenge/models/ModelPluginAssignmentResponse.java'
'ModelPredicate@jv.challenge.mod':
id: 'ModelPredicate@jv.challenge.mod'
name: 'ModelPredicate'
type: 'model'
fields:
'matcher':
type: 'String'
required: true
'parameterName':
type: 'String'
required: true
'parameterType':
type: 'String'
required: true
'targetValue':
type: 'Float'
required: true
'statCycleId':
type: 'String'
required: false
imports:
- 'import java.util.*;'
- 'import net.accelbyte.sdk.api.challenge.models.*;'
files:
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/challenge/models/ModelPredicate.java'
'ModelRequirement@jv.challenge.mod':
id: 'ModelRequirement@jv.challenge.mod'
name: 'ModelRequirement'
type: 'model'
fields:
'operator':
type: 'String'
required: true
'predicates':
type: 'List<ModelPredicate>'
required: true
imports:
- 'import java.util.*;'
- 'import net.accelbyte.sdk.api.challenge.models.*;'
files:
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/challenge/models/ModelRequirement.java'
'ModelRequirementProgressionResponse@jv.challenge.mod':
id: 'ModelRequirementProgressionResponse@jv.challenge.mod'
name: 'ModelRequirementProgressionResponse'
type: 'model'
fields:
'currentValue':
type: 'Float'
required: true
'id':
type: 'String'
required: true
'matcher':
type: 'String'
required: true
'parameterName':
type: 'String'
required: true
'parameterType':
type: 'String'
required: true
'targetValue':
type: 'Float'
required: true
'completedAt':
type: 'String'
required: false
'statCycleId':
type: 'String'
required: false
imports:
- 'import java.util.*;'
- 'import net.accelbyte.sdk.api.challenge.models.*;'
files:
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/challenge/models/ModelRequirementProgressionResponse.java'
'ModelResetConfig@jv.challenge.mod':
id: 'ModelResetConfig@jv.challenge.mod'
name: 'ModelResetConfig'
type: 'model'
fields:
'resetDate':
type: 'Integer'
required: false
description: |-
valid value are 1 to 31, default to 1 for MONTHLY rotation
'resetDay':
type: 'Integer'
required: false
description: |-
valid value are 1 (Monday) to 7 (Sunday), default to 1 for WEEKLY rotation
'resetTime':
type: 'String'
required: false
description: |-
format hh:mm, must be in UTC timezone, default '00:00' for all rotation
imports:
- 'import java.util.*;'
- 'import net.accelbyte.sdk.api.challenge.models.*;'
files:
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/challenge/models/ModelResetConfig.java'
'ModelReward@jv.challenge.mod':
id: 'ModelReward@jv.challenge.mod'
name: 'ModelReward'
type: 'model'
fields:
'itemId':
type: 'String'
required: true
'itemName':
type: 'String'
required: true
'qty':
type: 'Float'
required: true
'type':
type: 'String'
required: true
imports:
- 'import java.util.*;'
- 'import net.accelbyte.sdk.api.challenge.models.*;'
files:
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/challenge/models/ModelReward.java'
'ModelSchedule@jv.challenge.mod':
id: 'ModelSchedule@jv.challenge.mod'
name: 'ModelSchedule'
type: 'model'
fields:
'challengeCode':
type: 'String'
required: true
'createdAt':
type: 'String'
required: true
'endTime':
type: 'String'
required: true
'goals':
type: 'List<ModelGoalOrder>'
required: true
'namespace':
type: 'String'
required: true
'startTime':
type: 'String'
required: true
'updatedAt':
type: 'String'
required: true
imports:
- 'import java.util.*;'
- 'import net.accelbyte.sdk.api.challenge.models.*;'
files:
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/challenge/models/ModelSchedule.java'
'ModelScheduleByGoalResponse@jv.challenge.mod':
id: 'ModelScheduleByGoalResponse@jv.challenge.mod'
name: 'ModelScheduleByGoalResponse'
type: 'model'
fields:
'endTime':
type: 'String'
required: true
'startTime':
type: 'String'
required: true
imports:
- 'import java.util.*;'
- 'import net.accelbyte.sdk.api.challenge.models.*;'
files:
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/challenge/models/ModelScheduleByGoalResponse.java'
'ModelScheduleResponse@jv.challenge.mod':
id: 'ModelScheduleResponse@jv.challenge.mod'
name: 'ModelScheduleResponse'
type: 'model'
fields:
'endTime':
type: 'String'
required: true
'goals':
type: 'List<ModelGoalInSchedulesResponse>'
required: true
'startTime':
type: 'String'
required: true
imports:
- 'import java.util.*;'
- 'import net.accelbyte.sdk.api.challenge.models.*;'
files:
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/challenge/models/ModelScheduleResponse.java'
'ModelUpdateChallengeRequest@jv.challenge.mod':
id: 'ModelUpdateChallengeRequest@jv.challenge.mod'
name: 'ModelUpdateChallengeRequest'
type: 'model'
fields:
'activeGoalsPerRotation':
type: 'Integer'
required: false
'assignmentRule':
type: 'String'
required: false
'description':
type: 'String'
required: false
'endAfter':
type: 'Integer'
required: false
'endDate':
type: 'String'
required: false
'goalsVisibility':
type: 'String'
required: false
'name':
type: 'String'
required: false
'randomizedPerRotation':
type: 'Boolean'
required: false
'repeatAfter':
type: 'Integer'
required: false
'resetConfig':
type: 'ModelResetConfig'
required: false
'rotation':
type: 'String'
required: false
'startDate':
type: 'String'
required: false
'tags':
type: 'List<String>'
required: false
imports:
- 'import java.util.*;'
- 'import net.accelbyte.sdk.api.challenge.models.*;'
files:
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/challenge/models/ModelUpdateChallengeRequest.java'
'ModelUpdateChallengeScheduleRequest@jv.challenge.mod':
id: 'ModelUpdateChallengeScheduleRequest@jv.challenge.mod'
name: 'ModelUpdateChallengeScheduleRequest'
type: 'model'
fields:
'action':
type: 'String'
required: true
'endDate':
type: 'String'
required: false
imports:
- 'import java.util.*;'
- 'import net.accelbyte.sdk.api.challenge.models.*;'
files:
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/challenge/models/ModelUpdateChallengeScheduleRequest.java'
'ModelUpdateGoalRequest@jv.challenge.mod':
id: 'ModelUpdateGoalRequest@jv.challenge.mod'
name: 'ModelUpdateGoalRequest'
type: 'model'
fields:
'name':
type: 'String'
required: true
'description':
type: 'String'
required: false
'isActive':
type: 'Boolean'
required: false
'requirementGroups':
type: 'List<ModelRequirement>'
required: false
'rewards':
type: 'List<ModelReward>'
required: false
'schedule':
type: 'ModelGoalScheduleRequest'
required: false
'tags':
type: 'List<String>'
required: false
imports:
- 'import java.util.*;'
- 'import net.accelbyte.sdk.api.challenge.models.*;'
files:
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/challenge/models/ModelUpdateGoalRequest.java'
'ModelUserProgressionPeriodResponseMeta@jv.challenge.mod':
id: 'ModelUserProgressionPeriodResponseMeta@jv.challenge.mod'
name: 'ModelUserProgressionPeriodResponseMeta'
type: 'model'
fields:
'endTime':
type: 'String'
required: true
'startTime':
type: 'String'
required: true
imports:
- 'import java.util.*;'
- 'import net.accelbyte.sdk.api.challenge.models.*;'
files:
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/challenge/models/ModelUserProgressionPeriodResponseMeta.java'
'ModelUserProgressionResponse@jv.challenge.mod':
id: 'ModelUserProgressionResponse@jv.challenge.mod'
name: 'ModelUserProgressionResponse'
type: 'model'
fields:
'data':
type: 'List<ModelGoalProgressionResponse>'
required: true
'meta':
type: 'ModelUserProgressionResponseMeta'
required: true
'paging':
type: 'ModelPagination'
required: true
imports:
- 'import java.util.*;'
- 'import net.accelbyte.sdk.api.challenge.models.*;'
files:
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/challenge/models/ModelUserProgressionResponse.java'
'ModelUserProgressionResponseMeta@jv.challenge.mod':
id: 'ModelUserProgressionResponseMeta@jv.challenge.mod'
name: 'ModelUserProgressionResponseMeta'
type: 'model'
fields:
'code':
type: 'String'
required: true
description: |-
challenge code
'description':
type: 'String'
required: true
'name':
type: 'String'
required: true
'period':
type: 'ModelUserProgressionPeriodResponseMeta'
required: true
'startDate':
type: 'String'
required: true
'userId':
type: 'String'
required: true
'endDate':
type: 'String'
required: false
imports:
- 'import java.util.*;'
- 'import net.accelbyte.sdk.api.challenge.models.*;'
files:
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/challenge/models/ModelUserProgressionResponseMeta.java'
'ModelUserReward@jv.challenge.mod':
id: 'ModelUserReward@jv.challenge.mod'
name: 'ModelUserReward'
type: 'model'
fields:
'challengeCode':
type: 'String'
required: true
'createdAt':
type: 'String'
required: true
'goalCode':
type: 'String'
required: true
'goalProgressionId':
type: 'String'
required: true
'id':
type: 'String'
required: true
'itemId':
type: 'String'
required: true
'itemName':
type: 'String'
required: true
'qty':
type: 'Float'
required: true
'status':
type: 'String'
required: true
'type':
type: 'String'
required: true
'updatedAt':
type: 'String'
required: true
'userId':
type: 'String'
required: true
imports:
- 'import java.util.*;'
- 'import net.accelbyte.sdk.api.challenge.models.*;'
files:
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/challenge/models/ModelUserReward.java'
'ModelsPeriod@jv.challenge.mod':
id: 'ModelsPeriod@jv.challenge.mod'
name: 'ModelsPeriod'
type: 'model'
fields:
'endTime':
type: 'String'
required: true
'slot':
type: 'Integer'
required: true
'startTime':
type: 'String'
required: true
imports:
- 'import java.util.*;'
- 'import net.accelbyte.sdk.api.challenge.models.*;'
files:
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/challenge/models/ModelsPeriod.java'
'ResponseError@jv.challenge.mod':
id: 'ResponseError@jv.challenge.mod'
name: 'ResponseError'
type: 'model'
fields:
'attributes':
type: 'Map<String, String>'
required: true
'errorCode':
type: 'Integer'
required: true
'errorMessage':
type: 'String'
required: true
'message':
type: 'String'
required: true
'name':
type: 'String'
required: true
imports:
- 'import java.util.*;'
- 'import net.accelbyte.sdk.api.challenge.models.*;'
files:
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/challenge/models/ResponseError.java'
# endregion models
# region functions
'AdminClaimUserRewards@jv.challenge.fun':
id: 'AdminClaimUserRewards@jv.challenge.fun'
name: 'AdminClaimUserRewards'
type: 'function'
description: |-
- Required permission: ADMIN:NAMESPACE:{namespace}:CHALLENGE:REWARD [UPDATE]
arguments:
'body':
type: 'ModelClaimUserRewardsReq'
required: true
'namespace':
type: 'String'
required: true
description: |-
namespace of the game
'userId':
type: 'String'
required: true
description: |-
user id
return_type: 'List<ModelUserReward>'
imports:
- 'import net.accelbyte.sdk.core.*;'
- 'import net.accelbyte.sdk.api.challenge.models.*;'
- 'import net.accelbyte.sdk.api.challenge.operations.player_reward.*;'
- 'import net.accelbyte.sdk.api.challenge.wrappers.*;'
files:
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/challenge/wrappers/PlayerReward.java'
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/challenge/operations/player_reward/AdminClaimUserRewards.java'
example: |-
try {
final AdminClaimUserRewards operation = AdminClaimUserRewards.builder()
.build(
body,
namespace,
userId,
);
final PlayerReward wrapper = new PlayerReward(sdk);
final List<ModelUserReward> response = wrapper.adminClaimUserRewards(operation);
}
catch (HttpResponseException e) { /* Handle exceptions. */ }
catch (Exception e) { /* Handle exceptions. */ }
tags:
- 'admin'
- 'claim'
- 'player'
- 'reward'
- 'rewards'
- 'user'
permissions:
- 'ADMIN:NAMESPACE:{namespace}:CHALLENGE:REWARD [UPDATE]'
'AdminClaimUserRewardsByGoalCode@jv.challenge.fun':
id: 'AdminClaimUserRewardsByGoalCode@jv.challenge.fun'
name: 'AdminClaimUserRewardsByGoalCode'
type: 'function'
description: |-
- Required permission: ADMIN:NAMESPACE:{namespace}:CHALLENGE:REWARD [UPDATE]
arguments:
'body':
type: 'ModelClaimUserRewardsByGoalCodeRequest'
required: true
'challengeCode':
type: 'String'
required: true
'namespace':
type: 'String'
required: true
description: |-
namespace of the game
'userId':
type: 'String'
required: true
return_type: 'List<ModelUserReward>'
imports:
- 'import net.accelbyte.sdk.core.*;'
- 'import net.accelbyte.sdk.api.challenge.models.*;'
- 'import net.accelbyte.sdk.api.challenge.operations.player_reward.*;'
- 'import net.accelbyte.sdk.api.challenge.wrappers.*;'
files:
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/challenge/wrappers/PlayerReward.java'
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/challenge/operations/player_reward/AdminClaimUserRewardsByGoalCode.java'
example: |-
try {
final AdminClaimUserRewardsByGoalCode operation = AdminClaimUserRewardsByGoalCode.builder()
.build(
body,
challengeCode,
namespace,
userId,
);
final PlayerReward wrapper = new PlayerReward(sdk);
final List<ModelUserReward> response = wrapper.adminClaimUserRewardsByGoalCode(operation);
}
catch (HttpResponseException e) { /* Handle exceptions. */ }
catch (Exception e) { /* Handle exceptions. */ }
tags:
- 'admin'
- 'by'
- 'claim'
- 'code'
- 'goal'
- 'player'
- 'reward'
- 'rewards'
- 'user'
permissions:
- 'ADMIN:NAMESPACE:{namespace}:CHALLENGE:REWARD [UPDATE]'
'AdminClaimUsersRewards@jv.challenge.fun':
id: 'AdminClaimUsersRewards@jv.challenge.fun'
name: 'AdminClaimUsersRewards'
type: 'function'
description: |-
- Required permission: ADMIN:NAMESPACE:{namespace}:CHALLENGE:REWARD [UPDATE]
arguments:
'body':
type: 'List<ModelClaimUsersRewardsRequest>'
required: true
'namespace':
type: 'String'
required: true
description: |-
namespace of the game
return_type: 'List<ModelClaimUsersRewardsResponse>'
imports:
- 'import net.accelbyte.sdk.core.*;'
- 'import net.accelbyte.sdk.api.challenge.models.*;'
- 'import net.accelbyte.sdk.api.challenge.operations.player_reward.*;'
- 'import net.accelbyte.sdk.api.challenge.wrappers.*;'
files:
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/challenge/wrappers/PlayerReward.java'
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/challenge/operations/player_reward/AdminClaimUsersRewards.java'
example: |-
try {
final AdminClaimUsersRewards operation = AdminClaimUsersRewards.builder()
.build(
body,
namespace,
);
final PlayerReward wrapper = new PlayerReward(sdk);
final List<ModelClaimUsersRewardsResponse> response = wrapper.adminClaimUsersRewards(operation);
}
catch (HttpResponseException e) { /* Handle exceptions. */ }
catch (Exception e) { /* Handle exceptions. */ }
tags:
- 'admin'
- 'claim'
- 'player'
- 'reward'
- 'rewards'
- 'users'
permissions:
- 'ADMIN:NAMESPACE:{namespace}:CHALLENGE:REWARD [UPDATE]'
'AdminCreateAssignmentPlugin@jv.challenge.fun':
id: 'AdminCreateAssignmentPlugin@jv.challenge.fun'
name: 'AdminCreateAssignmentPlugin'
type: 'function'
description: |-
- Required permission: ADMIN:NAMESPACE:{namespace}:CHALLENGE:PLUGIN [CREATE]
arguments:
'body':
type: 'ModelPluginAssignmentRequest'
required: true
'namespace':
type: 'String'
required: true
description: |-
namespace of the game
return_type: 'ModelPluginAssignmentResponse'
imports:
- 'import net.accelbyte.sdk.core.*;'
- 'import net.accelbyte.sdk.api.challenge.models.*;'
- 'import net.accelbyte.sdk.api.challenge.operations.plugins.*;'
- 'import net.accelbyte.sdk.api.challenge.wrappers.*;'
files:
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/challenge/wrappers/Plugins.java'
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/challenge/operations/plugins/AdminCreateAssignmentPlugin.java'
example: |-
try {
final AdminCreateAssignmentPlugin operation = AdminCreateAssignmentPlugin.builder()
.build(
body,
namespace,
);
final Plugins wrapper = new Plugins(sdk);
final ModelPluginAssignmentResponse response = wrapper.adminCreateAssignmentPlugin(operation);
}
catch (HttpResponseException e) { /* Handle exceptions. */ }
catch (Exception e) { /* Handle exceptions. */ }
tags:
- 'admin'
- 'assignment'
- 'create'
- 'plugin'
- 'plugins'
permissions:
- 'ADMIN:NAMESPACE:{namespace}:CHALLENGE:PLUGIN [CREATE]'
'AdminCreateChallenge@jv.challenge.fun':
id: 'AdminCreateChallenge@jv.challenge.fun'
name: 'AdminCreateChallenge'
type: 'function'
description: |-
- Required permission: ADMIN:NAMESPACE:{namespace}:CHALLENGE [CREATE]
Challenge is a collection of goals that can be completed by players. Challenge can have rules that specify what and when goals will be available for players to be taken.
#### Request body:
- code: only lowercase letters, numbers, and the separator - are allowed; must start and end with letter
- name: name of the challenge
- description: text describing about the challenge (optional)
- startDate: timestamp of when the challenge is started
- endDate: timestamp of when the challenge is ended (optional)
- endAfter: describe number of period challenge will be retired after (optional). To configure challenge that never end, leave the endDate and endAfter field null/empty.
- repeatAfter: describe number of period challenge's goals will be repeated after. Leave it empty if you don't want to repeat the challenge.
- rotation: describe how long goals in a challenge will be available for players to progress before rotated with another goals. (DAILY|WEEKLY|MONTHLY|NONE)
- activeGoalsPerRotation: number of goals per rotation (currently only applicable for RANDOMIZE assignment)
- assignmentRule: describe how the goals will be assigned and scheduled to users. (FIXED|RANDOMIZED|UNSCHEDULED|CUSTOM)
- goalsVisibility: describe whether users can see all goals under challenge, or only active goal in one rotation period only. (SHOWALL|PERIODONLY)
- resetConfig: describe when rotation reset will happen (optional).
- resetTime: Reset time must follow hours:minutes in 24 hours format (e.g. 01:30, 23:15) and in UTC timezone. Default to "00:00"
- resetDay: Reset Day follows the ISO-8601 standard, from 1 (Monday) to 7 (Sunday). Default to 1 in WEEKLY rotation.
- resetDate: Reset Date must be a number 1 - 31. Default to 1 in MONTHLY rotation.
- randomizedPerRotation:
- true: each goal will be randomly assigned to multiple periods
- false: a goal will only be assigned to one period
- tags: challenge's labels.
arguments:
'body':
type: 'ModelCreateChallengeRequest'
required: true
'namespace':
type: 'String'
required: true
description: |-
namespace of the game
return_type: 'ModelChallengeResponse'
imports:
- 'import net.accelbyte.sdk.core.*;'
- 'import net.accelbyte.sdk.api.challenge.models.*;'
- 'import net.accelbyte.sdk.api.challenge.operations.challenge_configuration.*;'
- 'import net.accelbyte.sdk.api.challenge.wrappers.*;'
files:
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/challenge/wrappers/ChallengeConfiguration.java'
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/challenge/operations/challenge_configuration/AdminCreateChallenge.java'
example: |-
try {
final AdminCreateChallenge operation = AdminCreateChallenge.builder()
.build(
body,
namespace,
);
final ChallengeConfiguration wrapper = new ChallengeConfiguration(sdk);
final ModelChallengeResponse response = wrapper.adminCreateChallenge(operation);
}
catch (HttpResponseException e) { /* Handle exceptions. */ }
catch (Exception e) { /* Handle exceptions. */ }
tags:
- 'admin'
- 'challenge'
- 'configuration'
- 'create'
permissions:
- 'ADMIN:NAMESPACE:{namespace}:CHALLENGE [CREATE]'
'AdminCreateGoal@jv.challenge.fun':
id: 'AdminCreateGoal@jv.challenge.fun'
name: 'AdminCreateGoal'
type: 'function'
description: |-
- Required permission: ADMIN:NAMESPACE:{namespace}:CHALLENGE [CREATE]
Request body:
- code: unique within a challenge.
- name: name of the goal.
- description: text describing the goal (optional).
- schedule: a time range that indicated the availability of a goal within a timeframe. Used in FIXED assignment rule, this will be required in that case.
- requirementGroups: contains array of objects consisting of operator and predicates attribute. When requirements evaluation happened, each item's predicates will be evaluated first, by operating the predicates with given operator.
After all items evaluated, the results of the evaluation on each item then will be logically evaluated using OR operator.
- operator: logical operator used to validate the completion of a goal. a goal is considered complete once complete predicates operated with operator result in true.
- predicates: list of progression parameters to be tracked.
- parameterType: the type of parameter for challenge to be progressed with. the available options are:
- STATISTIC: progress by user statistic item value.
- STATISTIC_CYCLE: progress user statistic cycle item value. statCycleId must be included.
- ACHIEVEMENT: progress by user achievement.
- USERACCOUNT: progress by user account event.
- ENTITLEMENT: progress by user's item entitlement ownership. Supported item types are APP, CODE, INGAMEITEM, LOOTBOX, MEDIA, and OPTIONBOX.
- parameterName: the name of the parameter for challenge to be progressed with.
- STATISTIC: refers to stat code.
- STATISTIC_CYCLE: refers to stat code with statCycleId must be included.
- ACHIEVEMENT: refers to achievement code.
- USERACCOUNT: refers to a specific event related to user accounts. The current possible events include: userAccountCreated, gameUserAccountCreated, userAccountVerified, userAccountLinked, userAccountUpgraded, thirdPartyAccountCreated, userLoggedIn, userThirdPartyLoggedIn and fullAccount.
- For the **userAccountLinked** event, **parameterName** will utilize **platformId** rather than the event name. This will be validated against the list of active third-party accounts configuration within the namespace, such as *psn*, *steam*, or *device*.
- ENTITLEMENT: ecommerce store's item SKU.
- matcher: the comparison operator used to compare the current value of a parameter and targetValue to validate the completion of a predicate. Possible values are EQUAL, LESS_THAN, GREATER_THAN, LESS_THAN_EQUAL, and GREATER_THAN_EQUAL.
- targetValue: the target number to be reached by the parameter.
- statCycleId: specify the statCycleId used to track statistic value in a cycle with STATISTIC_CYCLE parameterType (optional).
- rewards: list of rewards that will be claimable once a goal is complete.
- tags: goal's labels.
- isActive: when goal is in a schedule, isActive determine whether goal is active to progress or not.
Goal describe set of requirements that need to be fulfilled by players in order to complete it and describe what is the rewards given to player when they complete the goal.
The requirement will have target value and a operator that will evaluate that against an observable playerâs attribute (e.g. statistic, entitlement). Goal belongs to a challenge.
Supported item type for ENTITLEMENT reward type: APP, BUNDLE, CODE, COINS, EXTENSION, INGAMEITEM, LOOTBOX, MEDIA, OPTIONBOX.
Number of goals per challenge is **limited to 100 goals**.
arguments:
'body':
type: 'ModelCreateGoalRequest'
required: true
'challengeCode':
type: 'String'
required: true
description: |-
challenge code
'namespace':
type: 'String'
required: true
description: |-
namespace of the game
return_type: 'ModelGoalResponse'
imports:
- 'import net.accelbyte.sdk.core.*;'
- 'import net.accelbyte.sdk.api.challenge.models.*;'
- 'import net.accelbyte.sdk.api.challenge.operations.goal_configuration.*;'
- 'import net.accelbyte.sdk.api.challenge.wrappers.*;'
files:
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/challenge/wrappers/GoalConfiguration.java'
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/challenge/operations/goal_configuration/AdminCreateGoal.java'
example: |-
try {
final AdminCreateGoal operation = AdminCreateGoal.builder()
.build(
body,
challengeCode,
namespace,
);
final GoalConfiguration wrapper = new GoalConfiguration(sdk);
final ModelGoalResponse response = wrapper.adminCreateGoal(operation);
}
catch (HttpResponseException e) { /* Handle exceptions. */ }
catch (Exception e) { /* Handle exceptions. */ }
tags:
- 'admin'
- 'configuration'
- 'create'
- 'goal'
permissions:
- 'ADMIN:NAMESPACE:{namespace}:CHALLENGE [CREATE]'
'AdminDeleteAssignmentPlugin@jv.challenge.fun':
id: 'AdminDeleteAssignmentPlugin@jv.challenge.fun'
name: 'AdminDeleteAssignmentPlugin'
type: 'function'
description: |-
- Required permission: ADMIN:NAMESPACE:{namespace}:CHALLENGE:PLUGIN [DELETE]
arguments:
'namespace':
type: 'String'
required: true
description: |-
namespace of the game
return_type: 'void'
imports:
- 'import net.accelbyte.sdk.core.*;'
- 'import net.accelbyte.sdk.api.challenge.models.*;'
- 'import net.accelbyte.sdk.api.challenge.operations.plugins.*;'
- 'import net.accelbyte.sdk.api.challenge.wrappers.*;'
files:
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/challenge/wrappers/Plugins.java'
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/challenge/operations/plugins/AdminDeleteAssignmentPlugin.java'
example: |-
try {
final AdminDeleteAssignmentPlugin operation = AdminDeleteAssignmentPlugin.builder()
.build(
namespace,
);
final Plugins wrapper = new Plugins(sdk);
wrapper.adminDeleteAssignmentPlugin(operation);
}
catch (HttpResponseException e) { /* Handle exceptions. */ }
catch (Exception e) { /* Handle exceptions. */ }
tags:
- 'admin'
- 'assignment'
- 'delete'
- 'plugin'
- 'plugins'
permissions:
- 'ADMIN:NAMESPACE:{namespace}:CHALLENGE:PLUGIN [DELETE]'
'AdminDeleteChallenge@jv.challenge.fun':
id: 'AdminDeleteChallenge@jv.challenge.fun'
name: 'AdminDeleteChallenge'
type: 'function'
description: |-
- Required permission: ADMIN:NAMESPACE:{namespace}:CHALLENGE [DELETE]
arguments:
'challengeCode':
type: 'String'
required: true
description: |-
the code of the challenge data to be deleted
'namespace':
type: 'String'
required: true
description: |-
namespace of the game
return_type: 'void'
imports:
- 'import net.accelbyte.sdk.core.*;'
- 'import net.accelbyte.sdk.api.challenge.models.*;'
- 'import net.accelbyte.sdk.api.challenge.operations.challenge_configuration.*;'
- 'import net.accelbyte.sdk.api.challenge.wrappers.*;'
files:
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/challenge/wrappers/ChallengeConfiguration.java'
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/challenge/operations/challenge_configuration/AdminDeleteChallenge.java'
example: |-
try {
final AdminDeleteChallenge operation = AdminDeleteChallenge.builder()
.build(
challengeCode,
namespace,
);
final ChallengeConfiguration wrapper = new ChallengeConfiguration(sdk);
wrapper.adminDeleteChallenge(operation);
}
catch (HttpResponseException e) { /* Handle exceptions. */ }
catch (Exception e) { /* Handle exceptions. */ }
tags:
- 'admin'
- 'challenge'
- 'configuration'
- 'delete'
permissions:
- 'ADMIN:NAMESPACE:{namespace}:CHALLENGE [DELETE]'
'AdminDeleteGoal@jv.challenge.fun':
id: 'AdminDeleteGoal@jv.challenge.fun'
name: 'AdminDeleteGoal'
type: 'function'
description: |-
- Required permission: ADMIN:NAMESPACE:{namespace}:CHALLENGE [DELETE]
arguments:
'challengeCode':
type: 'String'
required: true
description: |-
challenge code
'code':
type: 'String'
required: true
description: |-
goal code
'namespace':
type: 'String'
required: true
description: |-
namespace of the game
return_type: 'void'
imports:
- 'import net.accelbyte.sdk.core.*;'
- 'import net.accelbyte.sdk.api.challenge.models.*;'
- 'import net.accelbyte.sdk.api.challenge.operations.goal_configuration.*;'
- 'import net.accelbyte.sdk.api.challenge.wrappers.*;'
files:
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/challenge/wrappers/GoalConfiguration.java'
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/challenge/operations/goal_configuration/AdminDeleteGoal.java'
example: |-
try {
final AdminDeleteGoal operation = AdminDeleteGoal.builder()
.build(
challengeCode,
code,
namespace,
);
final GoalConfiguration wrapper = new GoalConfiguration(sdk);
wrapper.adminDeleteGoal(operation);
}
catch (HttpResponseException e) { /* Handle exceptions. */ }
catch (Exception e) { /* Handle exceptions. */ }
tags:
- 'admin'
- 'configuration'
- 'delete'
- 'goal'
permissions:
- 'ADMIN:NAMESPACE:{namespace}:CHALLENGE [DELETE]'
'AdminDeleteTiedChallenge@jv.challenge.fun':
id: 'AdminDeleteTiedChallenge@jv.challenge.fun'
name: 'AdminDeleteTiedChallenge'
type: 'function'
description: |-
- Required permission: ADMIN:NAMESPACE:{namespace}:CHALLENGE [DELETE]
- This endpoint will delete the combination of related data: CHALLENGES, GOALS, SCHEDULES, PLAYER PROGRESSIONS
arguments:
'challengeCode':
type: 'String'
required: true
description: |-
the code of the challenge data to be deleted
'namespace':
type: 'String'
required: true
description: |-
namespace of the game
return_type: 'void'
imports:
- 'import net.accelbyte.sdk.core.*;'
- 'import net.accelbyte.sdk.api.challenge.models.*;'
- 'import net.accelbyte.sdk.api.challenge.operations.challenge_configuration.*;'
- 'import net.accelbyte.sdk.api.challenge.wrappers.*;'
files:
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/challenge/wrappers/ChallengeConfiguration.java'
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/challenge/operations/challenge_configuration/AdminDeleteTiedChallenge.java'
example: |-
try {
final AdminDeleteTiedChallenge operation = AdminDeleteTiedChallenge.builder()
.build(
challengeCode,
namespace,
);
final ChallengeConfiguration wrapper = new ChallengeConfiguration(sdk);
wrapper.adminDeleteTiedChallenge(operation);
}
catch (HttpResponseException e) { /* Handle exceptions. */ }
catch (Exception e) { /* Handle exceptions. */ }
tags:
- 'admin'
- 'challenge'
- 'configuration'
- 'delete'
- 'tied'
permissions:
- 'ADMIN:NAMESPACE:{namespace}:CHALLENGE [DELETE]'
'AdminEvaluateProgress@jv.challenge.fun':
id: 'AdminEvaluateProgress@jv.challenge.fun'
name: 'AdminEvaluateProgress'
type: 'function'
description: |-
- Required permission: ADMIN:NAMESPACE:{namespace}:CHALLENGE:PROGRESSION [UPDATE]
- Limited up to 10 users per request
arguments:
'body':
type: 'ModelEvaluatePlayerProgressionRequest'
required: true
'challengeCode':
type: 'List<String>'
required: false
description: |-
challenge code to be evaluated, comma separated value
'namespace':
type: 'String'
required: true
description: |-
namespace of the game
return_type: 'void'
imports:
- 'import net.accelbyte.sdk.core.*;'
- 'import net.accelbyte.sdk.api.challenge.models.*;'
- 'import net.accelbyte.sdk.api.challenge.operations.challenge_progression.*;'
- 'import net.accelbyte.sdk.api.challenge.wrappers.*;'
files:
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/challenge/wrappers/ChallengeProgression.java'
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/challenge/operations/challenge_progression/AdminEvaluateProgress.java'
example: |-
try {
final AdminEvaluateProgress operation = AdminEvaluateProgress.builder()
.challengeCode(...)
.build(
body,
namespace,
);
final ChallengeProgression wrapper = new ChallengeProgression(sdk);
wrapper.adminEvaluateProgress(operation);
}
catch (HttpResponseException e) { /* Handle exceptions. */ }
catch (Exception e) { /* Handle exceptions. */ }
tags:
- 'admin'
- 'challenge'
- 'evaluate'
- 'progress'
- 'progression'
permissions:
- 'ADMIN:NAMESPACE:{namespace}:CHALLENGE:PROGRESSION [UPDATE]'
'AdminGetActiveChallenges@jv.challenge.fun':
id: 'AdminGetActiveChallenges@jv.challenge.fun'
name: 'AdminGetActiveChallenges'
type: 'function'
description: |-
- Required permission: ADMIN:NAMESPACE:{namespace}:CHALLENGE [READ]
The endpoint provides you an access to list of currently active challenges in which the player is participating
arguments:
'limit':
type: 'Integer'
required: false
description: |-
limit the amount of data retrieved
'namespace':
type: 'String'
required: true
description: |-
namespace of the game
'offset':
type: 'Integer'
required: false
description: |-
offset
'userId':
type: 'String'
required: true
description: |-
user id
return_type: 'ModelListChallengeResponse'
imports:
- 'import net.accelbyte.sdk.core.*;'
- 'import net.accelbyte.sdk.api.challenge.models.*;'
- 'import net.accelbyte.sdk.api.challenge.operations.challenge_configuration.*;'
- 'import net.accelbyte.sdk.api.challenge.wrappers.*;'
files:
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/challenge/wrappers/ChallengeConfiguration.java'
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/challenge/operations/challenge_configuration/AdminGetActiveChallenges.java'
example: |-
try {
final AdminGetActiveChallenges operation = AdminGetActiveChallenges.builder()
.limit(...)
.offset(...)
.build(
namespace,
userId,
);
final ChallengeConfiguration wrapper = new ChallengeConfiguration(sdk);
final ModelListChallengeResponse response = wrapper.adminGetActiveChallenges(operation);
}
catch (HttpResponseException e) { /* Handle exceptions. */ }
catch (Exception e) { /* Handle exceptions. */ }
tags:
- 'active'
- 'admin'
- 'challenge'
- 'challenges'
- 'configuration'
- 'get'
permissions:
- 'ADMIN:NAMESPACE:{namespace}:CHALLENGE [READ]'
'AdminGetAssignmentPlugin@jv.challenge.fun':
id: 'AdminGetAssignmentPlugin@jv.challenge.fun'
name: 'AdminGetAssignmentPlugin'
type: 'function'
description: |-
- Required permission: ADMIN:NAMESPACE:{namespace}:CHALLENGE:PLUGIN [READ]
arguments:
'namespace':
type: 'String'
required: true
description: |-
namespace of the game
return_type: 'ModelPluginAssignmentResponse'
imports:
- 'import net.accelbyte.sdk.core.*;'
- 'import net.accelbyte.sdk.api.challenge.models.*;'
- 'import net.accelbyte.sdk.api.challenge.operations.plugins.*;'
- 'import net.accelbyte.sdk.api.challenge.wrappers.*;'
files:
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/challenge/wrappers/Plugins.java'
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/challenge/operations/plugins/AdminGetAssignmentPlugin.java'
example: |-
try {
final AdminGetAssignmentPlugin operation = AdminGetAssignmentPlugin.builder()
.build(
namespace,
);
final Plugins wrapper = new Plugins(sdk);
final ModelPluginAssignmentResponse response = wrapper.adminGetAssignmentPlugin(operation);
}
catch (HttpResponseException e) { /* Handle exceptions. */ }
catch (Exception e) { /* Handle exceptions. */ }
tags:
- 'admin'
- 'assignment'
- 'get'
- 'plugin'
- 'plugins'
permissions:
- 'ADMIN:NAMESPACE:{namespace}:CHALLENGE:PLUGIN [READ]'
'AdminGetChallenge@jv.challenge.fun':
id: 'AdminGetChallenge@jv.challenge.fun'
name: 'AdminGetChallenge'
type: 'function'
description: |-
- Required permission: ADMIN:NAMESPACE:{namespace}:CHALLENGE [READ]
arguments:
'challengeCode':
type: 'String'
required: true
description: |-
the code of the challenge data to get
'namespace':
type: 'String'
required: true
description: |-
namespace of the game
return_type: 'ModelChallengeResponse'
imports:
- 'import net.accelbyte.sdk.core.*;'
- 'import net.accelbyte.sdk.api.challenge.models.*;'
- 'import net.accelbyte.sdk.api.challenge.operations.challenge_configuration.*;'
- 'import net.accelbyte.sdk.api.challenge.wrappers.*;'
files:
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/challenge/wrappers/ChallengeConfiguration.java'
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/challenge/operations/challenge_configuration/AdminGetChallenge.java'
example: |-
try {
final AdminGetChallenge operation = AdminGetChallenge.builder()
.build(
challengeCode,
namespace,
);
final ChallengeConfiguration wrapper = new ChallengeConfiguration(sdk);
final ModelChallengeResponse response = wrapper.adminGetChallenge(operation);
}
catch (HttpResponseException e) { /* Handle exceptions. */ }
catch (Exception e) { /* Handle exceptions. */ }
tags:
- 'admin'
- 'challenge'
- 'configuration'
- 'get'
permissions:
- 'ADMIN:NAMESPACE:{namespace}:CHALLENGE [READ]'
'AdminGetChallenges@jv.challenge.fun':
id: 'AdminGetChallenges@jv.challenge.fun'
name: 'AdminGetChallenges'
type: 'function'
description: |-
- Required permission: ADMIN:NAMESPACE:{namespace}:CHALLENGE [READ]
arguments:
'keyword':
type: 'String'
required: false
description: |-
filter challenges by code with likes behavior
'limit':
type: 'Integer'
required: false
description: |-
limit the amount of data retrieved
'namespace':
type: 'String'
required: true
description: |-
namespace of the game
'offset':
type: 'Integer'
required: false
description: |-
offset
'sortBy':
type: 'String'
required: false
description: |-
sort list by attributes.
default value: updatedAt:desc.
'status':
type: 'String'
required: false
description: |-
challenge status
'tags':
type: 'List<String>'
required: false
description: |-
filter challenges by tags, comma separated value
return_type: 'ModelListChallengeResponse'
imports:
- 'import net.accelbyte.sdk.core.*;'
- 'import net.accelbyte.sdk.api.challenge.models.*;'
- 'import net.accelbyte.sdk.api.challenge.operations.challenge_configuration.*;'
- 'import net.accelbyte.sdk.api.challenge.wrappers.*;'
files:
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/challenge/wrappers/ChallengeConfiguration.java'
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/challenge/operations/challenge_configuration/AdminGetChallenges.java'
example: |-
try {
final AdminGetChallenges operation = AdminGetChallenges.builder()
.keyword(...)
.limit(...)
.offset(...)
.sortBy(...)
.status(...)
.tags(...)
.build(
namespace,
);
final ChallengeConfiguration wrapper = new ChallengeConfiguration(sdk);
final ModelListChallengeResponse response = wrapper.adminGetChallenges(operation);
}
catch (HttpResponseException e) { /* Handle exceptions. */ }
catch (Exception e) { /* Handle exceptions. */ }
tags:
- 'admin'
- 'challenge'
- 'challenges'
- 'configuration'
- 'get'
permissions:
- 'ADMIN:NAMESPACE:{namespace}:CHALLENGE [READ]'
'AdminGetGoal@jv.challenge.fun':
id: 'AdminGetGoal@jv.challenge.fun'
name: 'AdminGetGoal'
type: 'function'
description: |-
- Required permission: ADMIN:NAMESPACE:{namespace}:CHALLENGE [READ]
arguments:
'challengeCode':
type: 'String'
required: true
description: |-
challenge code
'code':
type: 'String'
required: true
description: |-
goal code
'namespace':
type: 'String'
required: true
description: |-
namespace of the game
return_type: 'ModelGoalResponse'
imports:
- 'import net.accelbyte.sdk.core.*;'
- 'import net.accelbyte.sdk.api.challenge.models.*;'
- 'import net.accelbyte.sdk.api.challenge.operations.goal_configuration.*;'
- 'import net.accelbyte.sdk.api.challenge.wrappers.*;'
files:
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/challenge/wrappers/GoalConfiguration.java'
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/challenge/operations/goal_configuration/AdminGetGoal.java'
example: |-
try {
final AdminGetGoal operation = AdminGetGoal.builder()
.build(
challengeCode,
code,
namespace,
);
final GoalConfiguration wrapper = new GoalConfiguration(sdk);
final ModelGoalResponse response = wrapper.adminGetGoal(operation);
}
catch (HttpResponseException e) { /* Handle exceptions. */ }
catch (Exception e) { /* Handle exceptions. */ }
tags:
- 'admin'
- 'configuration'
- 'get'
- 'goal'
permissions:
- 'ADMIN:NAMESPACE:{namespace}:CHALLENGE [READ]'
'AdminGetGoals@jv.challenge.fun':
id: 'AdminGetGoals@jv.challenge.fun'
name: 'AdminGetGoals'
type: 'function'
description: |-
- Required permission: ADMIN:NAMESPACE:{namespace}:CHALLENGE [READ]
arguments:
'challengeCode':
type: 'String'
required: true
description: |-
challenge code
'limit':
type: 'Integer'
required: false
description: |-
limit the amount of data retrieved
'namespace':
type: 'String'
required: true
description: |-
namespace of the game
'offset':
type: 'Integer'
required: false
description: |-
offset
'sortBy':
type: 'String'
required: false
description: |-
sort list by attributes.
default value: updatedAt:desc.
'tags':
type: 'List<String>'
required: false
description: |-
filter list by tags
return_type: 'ModelGetGoalsResponse'
imports:
- 'import net.accelbyte.sdk.core.*;'
- 'import net.accelbyte.sdk.api.challenge.models.*;'
- 'import net.accelbyte.sdk.api.challenge.operations.goal_configuration.*;'
- 'import net.accelbyte.sdk.api.challenge.wrappers.*;'
files:
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/challenge/wrappers/GoalConfiguration.java'
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/challenge/operations/goal_configuration/AdminGetGoals.java'
example: |-
try {
final AdminGetGoals operation = AdminGetGoals.builder()
.limit(...)
.offset(...)
.sortBy(...)
.tags(...)
.build(
challengeCode,
namespace,
);
final GoalConfiguration wrapper = new GoalConfiguration(sdk);
final ModelGetGoalsResponse response = wrapper.adminGetGoals(operation);
}
catch (HttpResponseException e) { /* Handle exceptions. */ }
catch (Exception e) { /* Handle exceptions. */ }
tags:
- 'admin'
- 'configuration'
- 'get'
- 'goal'
- 'goals'
permissions:
- 'ADMIN:NAMESPACE:{namespace}:CHALLENGE [READ]'
'AdminGetItemReferences@jv.challenge.fun':
id: 'AdminGetItemReferences@jv.challenge.fun'
name: 'AdminGetItemReferences'
type: 'function'
description: |-
- Required permission: ADMIN:NAMESPACE:{namespace}:CHALLENGE [READ]
arguments:
'itemId':
type: 'String'
required: true
description: |-
the id of the ecommerce item
'namespace':
type: 'String'
required: true
description: |-
namespace of the game
return_type: 'ModelItemReferenceResponse'
imports:
- 'import net.accelbyte.sdk.core.*;'
- 'import net.accelbyte.sdk.api.challenge.models.*;'
- 'import net.accelbyte.sdk.api.challenge.operations.utilities.*;'
- 'import net.accelbyte.sdk.api.challenge.wrappers.*;'
files:
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/challenge/wrappers/Utilities.java'
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/challenge/operations/utilities/AdminGetItemReferences.java'
example: |-
try {
final AdminGetItemReferences operation = AdminGetItemReferences.builder()
.build(
itemId,
namespace,
);
final Utilities wrapper = new Utilities(sdk);
final ModelItemReferenceResponse response = wrapper.adminGetItemReferences(operation);
}
catch (HttpResponseException e) { /* Handle exceptions. */ }
catch (Exception e) { /* Handle exceptions. */ }
tags:
- 'admin'
- 'get'
- 'item'
- 'references'
- 'utilities'
permissions:
- 'ADMIN:NAMESPACE:{namespace}:CHALLENGE [READ]'
'AdminGetPeriods@jv.challenge.fun':
id: 'AdminGetPeriods@jv.challenge.fun'
name: 'AdminGetPeriods'
type: 'function'
description: |-
- Required permission: ADMIN:NAMESPACE:{namespace}:CHALLENGE [READ]
arguments:
'challengeCode':
type: 'String'
required: true
description: |-
challenge code
'limit':
type: 'Integer'
required: false
description: |-
limit the amount of data retrieved
'namespace':
type: 'String'
required: true
description: |-
namespace of the game
'offset':
type: 'Integer'
required: false
description: |-
offset
return_type: 'ModelListPeriodsResponse'
imports:
- 'import net.accelbyte.sdk.core.*;'
- 'import net.accelbyte.sdk.api.challenge.models.*;'
- 'import net.accelbyte.sdk.api.challenge.operations.challenge_configuration.*;'
- 'import net.accelbyte.sdk.api.challenge.wrappers.*;'
files:
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/challenge/wrappers/ChallengeConfiguration.java'
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/challenge/operations/challenge_configuration/AdminGetPeriods.java'
example: |-
try {
final AdminGetPeriods operation = AdminGetPeriods.builder()
.limit(...)
.offset(...)
.build(
challengeCode,
namespace,
);
final ChallengeConfiguration wrapper = new ChallengeConfiguration(sdk);
final ModelListPeriodsResponse response = wrapper.adminGetPeriods(operation);
}
catch (HttpResponseException e) { /* Handle exceptions. */ }
catch (Exception e) { /* Handle exceptions. */ }
tags:
- 'admin'
- 'challenge'
- 'configuration'
- 'get'
- 'periods'
permissions:
- 'ADMIN:NAMESPACE:{namespace}:CHALLENGE [READ]'
'AdminGetUserProgression@jv.challenge.fun':
id: 'AdminGetUserProgression@jv.challenge.fun'
name: 'AdminGetUserProgression'
type: 'function'
description: |-
- Required permission: ADMIN:NAMESPACE:{namespace}:CHALLENGE:PROGRESSION [READ]
arguments:
'challengeCode':
type: 'String'
required: true
description: |-
challenge code
'dateTime':
type: 'String'
required: false
description: |-
specific schedule date time. use RFC3339 format(2006-01-02T15:04:05Z).
'goalCode':
type: 'String'
required: false
description: |-
goal code
'limit':
type: 'Integer'
required: false
description: |-
limit the amount of data retrieved
'namespace':
type: 'String'
required: true
description: |-
namespace of the game
'offset':
type: 'Integer'
required: false
description: |-
offset
'tags':
type: 'List<String>'
required: false
description: |-
filter goals by tags, comma separated value
'userId':
type: 'String'
required: true
description: |-
user id
return_type: 'ModelUserProgressionResponse'
imports:
- 'import net.accelbyte.sdk.core.*;'
- 'import net.accelbyte.sdk.api.challenge.models.*;'
- 'import net.accelbyte.sdk.api.challenge.operations.challenge_progression.*;'
- 'import net.accelbyte.sdk.api.challenge.wrappers.*;'
files:
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/challenge/wrappers/ChallengeProgression.java'
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/challenge/operations/challenge_progression/AdminGetUserProgression.java'
example: |-
try {
final AdminGetUserProgression operation = AdminGetUserProgression.builder()
.dateTime(...)
.goalCode(...)
.limit(...)
.offset(...)
.tags(...)
.build(
challengeCode,
namespace,
userId,
);
final ChallengeProgression wrapper = new ChallengeProgression(sdk);
final ModelUserProgressionResponse response = wrapper.adminGetUserProgression(operation);
}
catch (HttpResponseException e) { /* Handle exceptions. */ }
catch (Exception e) { /* Handle exceptions. */ }
tags:
- 'admin'
- 'challenge'
- 'get'
- 'progression'
- 'user'
permissions:
- 'ADMIN:NAMESPACE:{namespace}:CHALLENGE:PROGRESSION [READ]'
'AdminGetUserRewards@jv.challenge.fun':
id: 'AdminGetUserRewards@jv.challenge.fun'
name: 'AdminGetUserRewards'
type: 'function'
description: |-
- Required permission: ADMIN:NAMESPACE:{namespace}:CHALLENGE:REWARD [READ]
arguments:
'challengeCode':
type: 'String'
required: false
description: |-
reward's challenge code
'goalProgressionId':
type: 'String'
required: false
description: |-
reward's goal progression id
'limit':
type: 'Integer'
required: false
description: |-
limit the amount of data retrieved
'namespace':
type: 'String'
required: true
description: |-
namespace of the game
'offset':
type: 'Integer'
required: false
description: |-
offset
'sortBy':
type: 'String'
required: false
description: |-
sort list by attributes.
default value: updatedAt:desc.
'status':
type: 'String'
required: false
description: |-
user reward status
'userId':
type: 'String'
required: true
description: |-
user id
return_type: 'ModelListUserRewardsResponse'
imports:
- 'import net.accelbyte.sdk.core.*;'
- 'import net.accelbyte.sdk.api.challenge.models.*;'
- 'import net.accelbyte.sdk.api.challenge.operations.player_reward.*;'
- 'import net.accelbyte.sdk.api.challenge.wrappers.*;'
files:
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/challenge/wrappers/PlayerReward.java'
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/challenge/operations/player_reward/AdminGetUserRewards.java'
example: |-
try {
final AdminGetUserRewards operation = AdminGetUserRewards.builder()
.challengeCode(...)
.goalProgressionId(...)
.limit(...)
.offset(...)
.sortBy(...)
.status(...)
.build(
namespace,
userId,
);
final PlayerReward wrapper = new PlayerReward(sdk);
final ModelListUserRewardsResponse response = wrapper.adminGetUserRewards(operation);
}
catch (HttpResponseException e) { /* Handle exceptions. */ }
catch (Exception e) { /* Handle exceptions. */ }
tags:
- 'admin'
- 'get'
- 'player'
- 'reward'
- 'rewards'
- 'user'
permissions:
- 'ADMIN:NAMESPACE:{namespace}:CHALLENGE:REWARD [READ]'
'AdminListSchedules@jv.challenge.fun':
id: 'AdminListSchedules@jv.challenge.fun'
name: 'AdminListSchedules'
type: 'function'
description: |-
* Required permission: ADMIN:NAMESPACE:{namespace}:CHALLENGE [READ]
List schedules of given challenge for specific user. To query schedules prior to specific date time, use dateTime parameter.
arguments:
'challengeCode':
type: 'String'
required: true
description: |-
challenge code
'dateTime':
type: 'String'
required: false
description: |-
use RFC3339 format(2006-01-02T15:04:05Z).
'limit':
type: 'Integer'
required: false
description: |-
limit the amount of data retrieved
'namespace':
type: 'String'
required: true
description: |-
namespace of the game
'offset':
type: 'Integer'
required: false
description: |-
offset
'userId':
type: 'String'
required: false
description: |-
userId, UUIDv4 format without hyphen, required when querying CUSTOM challenge schedule
return_type: 'ModelListSchedulesResponse'
imports:
- 'import net.accelbyte.sdk.core.*;'
- 'import net.accelbyte.sdk.api.challenge.models.*;'
- 'import net.accelbyte.sdk.api.challenge.operations.schedules.*;'
- 'import net.accelbyte.sdk.api.challenge.wrappers.*;'
files:
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/challenge/wrappers/Schedules.java'
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/challenge/operations/schedules/AdminListSchedules.java'
example: |-
try {
final AdminListSchedules operation = AdminListSchedules.builder()
.dateTime(...)
.limit(...)
.offset(...)
.userId(...)
.build(
challengeCode,
namespace,
);
final Schedules wrapper = new Schedules(sdk);
final ModelListSchedulesResponse response = wrapper.adminListSchedules(operation);
}
catch (HttpResponseException e) { /* Handle exceptions. */ }
catch (Exception e) { /* Handle exceptions. */ }
tags:
- 'admin'
- 'list'
- 'schedules'
'AdminListSchedulesByGoal@jv.challenge.fun':
id: 'AdminListSchedulesByGoal@jv.challenge.fun'
name: 'AdminListSchedulesByGoal'
type: 'function'
description: |-
* Required permission: ADMIN:NAMESPACE:{namespace}:CHALLENGE [READ]
List schedules of given goal in a challenge for specific user.
arguments:
'challengeCode':
type: 'String'
required: true
description: |-
challenge code
'code':
type: 'String'
required: true
description: |-
goal code
'limit':
type: 'Integer'
required: false
description: |-
limit the amount of data retrieved
'namespace':
type: 'String'
required: true
description: |-
namespace of the game
'offset':
type: 'Integer'
required: false
description: |-
offset
'userId':
type: 'String'
required: false
description: |-
userId, UUIDv4 format without hyphen, required when querying CUSTOM challenge schedule
return_type: 'ModelListScheduleByGoalResponse'
imports:
- 'import net.accelbyte.sdk.core.*;'
- 'import net.accelbyte.sdk.api.challenge.models.*;'
- 'import net.accelbyte.sdk.api.challenge.operations.schedules.*;'
- 'import net.accelbyte.sdk.api.challenge.wrappers.*;'
files:
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/challenge/wrappers/Schedules.java'
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/challenge/operations/schedules/AdminListSchedulesByGoal.java'
example: |-
try {
final AdminListSchedulesByGoal operation = AdminListSchedulesByGoal.builder()
.limit(...)
.offset(...)
.userId(...)
.build(
challengeCode,
code,
namespace,
);
final Schedules wrapper = new Schedules(sdk);
final ModelListScheduleByGoalResponse response = wrapper.adminListSchedulesByGoal(operation);
}
catch (HttpResponseException e) { /* Handle exceptions. */ }
catch (Exception e) { /* Handle exceptions. */ }
tags:
- 'admin'
- 'by'
- 'goal'
- 'list'
- 'schedules'
'AdminRandomizeChallenge@jv.challenge.fun':
id: 'AdminRandomizeChallenge@jv.challenge.fun'
name: 'AdminRandomizeChallenge'
type: 'function'
description: |-
- Required permission: ADMIN:NAMESPACE:{namespace}:CHALLENGE [UPDATE]
This is a utility endpoint to execute randomize goals schedule on challenge that the assignmentRule is RANDOMIZED and RandomizePerRotation assigned with true.
arguments:
'challengeCode':
type: 'String'
required: true
description: |-
challenge code
'namespace':
type: 'String'
required: true
description: |-
namespace of the game
return_type: 'List<ModelSchedule>'
imports:
- 'import net.accelbyte.sdk.core.*;'
- 'import net.accelbyte.sdk.api.challenge.models.*;'
- 'import net.accelbyte.sdk.api.challenge.operations.challenge_configuration.*;'
- 'import net.accelbyte.sdk.api.challenge.wrappers.*;'
files:
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/challenge/wrappers/ChallengeConfiguration.java'
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/challenge/operations/challenge_configuration/AdminRandomizeChallenge.java'
example: |-
try {
final AdminRandomizeChallenge operation = AdminRandomizeChallenge.builder()
.build(
challengeCode,
namespace,
);
final ChallengeConfiguration wrapper = new ChallengeConfiguration(sdk);
final List<ModelSchedule> response = wrapper.adminRandomizeChallenge(operation);
}
catch (HttpResponseException e) { /* Handle exceptions. */ }
catch (Exception e) { /* Handle exceptions. */ }
tags:
- 'admin'
- 'challenge'
- 'configuration'
- 'randomize'
permissions:
- 'ADMIN:NAMESPACE:{namespace}:CHALLENGE [UPDATE]'
'AdminUpdateAssignmentPlugin@jv.challenge.fun':
id: 'AdminUpdateAssignmentPlugin@jv.challenge.fun'
name: 'AdminUpdateAssignmentPlugin'
type: 'function'
description: |-
- Required permission: ADMIN:NAMESPACE:{namespace}:CHALLENGE:PLUGIN [UPDATE]
arguments:
'body':
type: 'ModelPluginAssignmentRequest'
required: true
'namespace':
type: 'String'
required: true
description: |-
namespace of the game
return_type: 'ModelPluginAssignmentResponse'
imports:
- 'import net.accelbyte.sdk.core.*;'
- 'import net.accelbyte.sdk.api.challenge.models.*;'
- 'import net.accelbyte.sdk.api.challenge.operations.plugins.*;'
- 'import net.accelbyte.sdk.api.challenge.wrappers.*;'
files:
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/challenge/wrappers/Plugins.java'
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/challenge/operations/plugins/AdminUpdateAssignmentPlugin.java'
example: |-
try {
final AdminUpdateAssignmentPlugin operation = AdminUpdateAssignmentPlugin.builder()
.build(
body,
namespace,
);
final Plugins wrapper = new Plugins(sdk);
final ModelPluginAssignmentResponse response = wrapper.adminUpdateAssignmentPlugin(operation);
}
catch (HttpResponseException e) { /* Handle exceptions. */ }
catch (Exception e) { /* Handle exceptions. */ }
tags:
- 'admin'
- 'assignment'
- 'plugin'
- 'plugins'
- 'update'
permissions:
- 'ADMIN:NAMESPACE:{namespace}:CHALLENGE:PLUGIN [UPDATE]'
'AdminUpdateChallenge@jv.challenge.fun':
id: 'AdminUpdateChallenge@jv.challenge.fun'
name: 'AdminUpdateChallenge'
type: 'function'
description: |-
- Required permission: ADMIN:NAMESPACE:{namespace}:CHALLENGE [UPDATE]
Request body:
- name: name of the challenge
- description: text describing about the challenge (optional)
- startDate: timestamp of when the challenge is started
- endDate: timestamp of when the challenge is ended (optional)
- endAfter: describe number of period challenge will be retired after (optional). To configure challenge that never end, leave the endDate and endAfter field null/empty.
- repeatAfter: describe number of period challenge's goals will be repeated after. Leave it empty if you don't want to repeat the challenge.
- rotation: describe how long goals in a challenge will be available for players to progress before rotated with another goals. (DAILY|WEEKLY|MONTHLY|NONE)
- activeGoalsPerRotation: number of goals per rotation (currently only applicable for RANDOMIZE assignment)
- assignmentRule: describe how the goals will be assigned and scheduled to users. (FIXED|RANDOMIZED|UNSCHEDULED|CUSTOM)
- goalsVisibility: describe whether users can see all goals under challenge, or only active goal in one rotation period only. (SHOWALL|PERIODONLY)
- resetConfig: describe when rotation reset will happen (optional).
- resetTime: Reset time must follow hours:minutes in 24 hours format (e.g. 01:30, 23:15) and in UTC timezone. Default to "00:00"
- resetDay: Reset Day follows the ISO-8601 standard, from 1 (Monday) to 7 (Sunday). Default to 1 in WEEKLY rotation.
- resetDate: Reset Date must be a number 1 - 31. Default to 1 in MONTHLY rotation.
- randomizedPerRotation:
- true: each goal will be randomly assigned to multiple periods
- false: a goal will only be assigned to one period
- tags: challenge's labels.
arguments:
'body':
type: 'ModelUpdateChallengeRequest'
required: true
'challengeCode':
type: 'String'
required: true
description: |-
the code of the challenge data to update
'namespace':
type: 'String'
required: true
description: |-
namespace of the game
return_type: 'ModelChallengeResponse'
imports:
- 'import net.accelbyte.sdk.core.*;'
- 'import net.accelbyte.sdk.api.challenge.models.*;'
- 'import net.accelbyte.sdk.api.challenge.operations.challenge_configuration.*;'
- 'import net.accelbyte.sdk.api.challenge.wrappers.*;'
files:
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/challenge/wrappers/ChallengeConfiguration.java'
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/challenge/operations/challenge_configuration/AdminUpdateChallenge.java'
example: |-
try {
final AdminUpdateChallenge operation = AdminUpdateChallenge.builder()
.build(
body,
challengeCode,
namespace,
);
final ChallengeConfiguration wrapper = new ChallengeConfiguration(sdk);
final ModelChallengeResponse response = wrapper.adminUpdateChallenge(operation);
}
catch (HttpResponseException e) { /* Handle exceptions. */ }
catch (Exception e) { /* Handle exceptions. */ }
tags:
- 'admin'
- 'challenge'
- 'configuration'
- 'update'
permissions:
- 'ADMIN:NAMESPACE:{namespace}:CHALLENGE [UPDATE]'
'AdminUpdateGoals@jv.challenge.fun':
id: 'AdminUpdateGoals@jv.challenge.fun'
name: 'AdminUpdateGoals'
type: 'function'
description: |-
- Required permission: ADMIN:NAMESPACE:{namespace}:CHALLENGE [UPDATE]
### Request body:
- name: name of the goal.
- description: text describing the goal (optional).
- schedule: a time range that indicated the availability of a goal within a timeframe. Used in FIXED assignment rule, this will be required in that case.
- requirementGroups: contains array of objects consisting of operator and predicates attribute. When requirements evaluation happened, each item's predicates will be evaluated first, by operating the predicates with given operator. After all items evaluated, the results of the evaluation on each item then will be logically evaluated using OR operator.
- operator: logical operator used to validate the completion of a goal. a goal is considered complete once complete predicates operated with operator result in true.
- predicates: list of progression parameters to be tracked.
- parameterType: the type of parameter for challenge to be progressed with. the available options are:
- STATISTIC: progress by user statistic item value.
- STATISTIC_CYCLE: progress user statistic cycle item value. statCycleId must be included.
- ACHIEVEMENT: progress by user achievement.
- USERACCOUNT: progress by user account event.
- ENTITLEMENT: progress by user's item entitlement ownership. Supported item types are APP, CODE, INGAMEITEM, LOOTBOX, MEDIA, and OPTIONBOX.
- parameterName: the name of the parameter for challenge to be progressed with.
- STATISTIC: refers to stat code.
- STATISTIC_CYCLE: refers to stat code with statCycleId must be included.
- ACHIEVEMENT: refers to achievement code.
- USERACCOUNT: one of the user account event. Current possible values are (userAccountCreated, gameUserAccountCreated, userAccountVerified, userAccountLinked, userAccountUpgraded,thirdPartyAccountCreated).
- ENTITLEMENT: ecommerce store's item SKU.
- matcher: the comparison operator used to compare the curent value of a parameter and targetValue to validate the completion of a predicate. Possible values are EQUAL, LESS_THAN, GREATER_THAN, LESS_THAN_EQUAL, and GREATER_THAN_EQUAL.
- targetValue: the target number to be reached by the parameter.
- statCycleId: specify the statCycleId used to track statistic value in a cycle with STATISTIC_CYCLE parameterType (optional).
- rewards: list of rewards that will be claimable once a goal is complete.
- tags: goal's labels.
- isActive: when goal is in a schedule, isActive determine whether goal is active to progress or not (optional).
Goal describe set of requirements that need to be fulfilled by players in order to complete it and describe what is the rewards given to player when they complete the goal.
The requirement will have target value and a operator that will evaluate that against an observable playerâs attribute (e.g. statistic, entitlement). Goal belongs to a challenge.
Supported item type for ENTITLEMENT reward type: APP, BUNDLE, CODE, COINS, EXTENSION, INGAMEITEM, LOOTBOX, MEDIA, OPTIONBOX
arguments:
'body':
type: 'ModelUpdateGoalRequest'
required: true
'challengeCode':
type: 'String'
required: true
description: |-
challenge code
'code':
type: 'String'
required: true
description: |-
goal code
'namespace':
type: 'String'
required: true
description: |-
namespace of the game
return_type: 'ModelGoalResponse'
imports:
- 'import net.accelbyte.sdk.core.*;'
- 'import net.accelbyte.sdk.api.challenge.models.*;'
- 'import net.accelbyte.sdk.api.challenge.operations.goal_configuration.*;'
- 'import net.accelbyte.sdk.api.challenge.wrappers.*;'
files:
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/challenge/wrappers/GoalConfiguration.java'
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/challenge/operations/goal_configuration/AdminUpdateGoals.java'
example: |-
try {
final AdminUpdateGoals operation = AdminUpdateGoals.builder()
.build(
body,
challengeCode,
code,
namespace,
);
final GoalConfiguration wrapper = new GoalConfiguration(sdk);
final ModelGoalResponse response = wrapper.adminUpdateGoals(operation);
}
catch (HttpResponseException e) { /* Handle exceptions. */ }
catch (Exception e) { /* Handle exceptions. */ }
tags:
- 'admin'
- 'configuration'
- 'goal'
- 'goals'
- 'update'
permissions:
- 'ADMIN:NAMESPACE:{namespace}:CHALLENGE [UPDATE]'
'AdminUpdateTiedChallengeSchedule@jv.challenge.fun':
id: 'AdminUpdateTiedChallengeSchedule@jv.challenge.fun'
name: 'AdminUpdateTiedChallengeSchedule'
type: 'function'
description: |-
- Required permission: ADMIN:NAMESPACE:{namespace}:CHALLENGE [UPDATE]
### Request body:
- action: Update the challenge schedule. The available options are:
- STOP: Ends the challenge, changing its status to RETIRED. This option supports all types of challenges.
- ACCELERATE: Speeds up the challenge's end time. Note that this option does not apply to challenges with an 'endAfter' value.
- endDate: The timestamp specifying when the challenge should end (required if the action is ACCELERATE).
arguments:
'body':
type: 'ModelUpdateChallengeScheduleRequest'
required: true
'challengeCode':
type: 'String'
required: true
description: |-
the code of the challenge data to be updated
'namespace':
type: 'String'
required: true
description: |-
namespace of the game
return_type: 'ModelChallengeResponse'
imports:
- 'import net.accelbyte.sdk.core.*;'
- 'import net.accelbyte.sdk.api.challenge.models.*;'
- 'import net.accelbyte.sdk.api.challenge.operations.challenge_configuration.*;'
- 'import net.accelbyte.sdk.api.challenge.wrappers.*;'
files:
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/challenge/wrappers/ChallengeConfiguration.java'
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/challenge/operations/challenge_configuration/AdminUpdateTiedChallengeSchedule.java'
example: |-
try {
final AdminUpdateTiedChallengeSchedule operation = AdminUpdateTiedChallengeSchedule.builder()
.build(
body,
challengeCode,
namespace,
);
final ChallengeConfiguration wrapper = new ChallengeConfiguration(sdk);
final ModelChallengeResponse response = wrapper.adminUpdateTiedChallengeSchedule(operation);
}
catch (HttpResponseException e) { /* Handle exceptions. */ }
catch (Exception e) { /* Handle exceptions. */ }
tags:
- 'admin'
- 'challenge'
- 'configuration'
- 'schedule'
- 'tied'
- 'update'
permissions:
- 'ADMIN:NAMESPACE:{namespace}:CHALLENGE [UPDATE]'
'EvaluateMyProgress@jv.challenge.fun':
id: 'EvaluateMyProgress@jv.challenge.fun'
name: 'EvaluateMyProgress'
type: 'function'
description: |-
- Required permission: NAMESPACE:{namespace}:CHALLENGE:PROGRESSION [UPDATE]
arguments:
'challengeCode':
type: 'List<String>'
required: false
description: |-
challenge code to be evaluated, comma separated value
'namespace':
type: 'String'
required: true
description: |-
namespace of the game
return_type: 'void'
imports:
- 'import net.accelbyte.sdk.core.*;'
- 'import net.accelbyte.sdk.api.challenge.models.*;'
- 'import net.accelbyte.sdk.api.challenge.operations.challenge_progression.*;'
- 'import net.accelbyte.sdk.api.challenge.wrappers.*;'
files:
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/challenge/wrappers/ChallengeProgression.java'
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/challenge/operations/challenge_progression/EvaluateMyProgress.java'
example: |-
try {
final EvaluateMyProgress operation = EvaluateMyProgress.builder()
.challengeCode(...)
.build(
namespace,
);
final ChallengeProgression wrapper = new ChallengeProgression(sdk);
wrapper.evaluateMyProgress(operation);
}
catch (HttpResponseException e) { /* Handle exceptions. */ }
catch (Exception e) { /* Handle exceptions. */ }
tags:
- 'challenge'
- 'evaluate'
- 'my'
- 'progress'
- 'progression'
permissions:
- 'NAMESPACE:{namespace}:CHALLENGE:PROGRESSION [UPDATE]'
'GetChallenges@jv.challenge.fun':
id: 'GetChallenges@jv.challenge.fun'
name: 'GetChallenges'
type: 'function'
description: |-
- Required permission: NAMESPACE:{namespace}:CHALLENGE [READ]
arguments:
'keyword':
type: 'String'
required: false
description: |-
filter challenges by code with likes behavior
'limit':
type: 'Integer'
required: false
description: |-
limit the amount of data retrieved
'namespace':
type: 'String'
required: true
description: |-
namespace of the game
'offset':
type: 'Integer'
required: false
description: |-
offset
'sortBy':
type: 'String'
required: false
description: |-
sort list by attributes.
default value: updatedAt:desc.
'status':
type: 'String'
required: false
description: |-
challenge status
'tags':
type: 'List<String>'
required: false
description: |-
filter challenges by tags, comma separated value
return_type: 'ModelListChallengeResponse'
imports:
- 'import net.accelbyte.sdk.core.*;'
- 'import net.accelbyte.sdk.api.challenge.models.*;'
- 'import net.accelbyte.sdk.api.challenge.operations.challenge_list.*;'
- 'import net.accelbyte.sdk.api.challenge.wrappers.*;'
files:
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/challenge/wrappers/ChallengeList.java'
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/challenge/operations/challenge_list/GetChallenges.java'
example: |-
try {
final GetChallenges operation = GetChallenges.builder()
.keyword(...)
.limit(...)
.offset(...)
.sortBy(...)
.status(...)
.tags(...)
.build(
namespace,
);
final ChallengeList wrapper = new ChallengeList(sdk);
final ModelListChallengeResponse response = wrapper.getChallenges(operation);
}
catch (HttpResponseException e) { /* Handle exceptions. */ }
catch (Exception e) { /* Handle exceptions. */ }
tags:
- 'challenge'
- 'challenges'
- 'get'
- 'list'
permissions:
- 'NAMESPACE:{namespace}:CHALLENGE [READ]'
'PublicClaimUserRewards@jv.challenge.fun':
id: 'PublicClaimUserRewards@jv.challenge.fun'
name: 'PublicClaimUserRewards'
type: 'function'
description: |-
- Required permission: NAMESPACE:{namespace}:CHALLENGE:REWARD [UPDATE]
arguments:
'body':
type: 'ModelClaimUserRewardsReq'
required: true
'namespace':
type: 'String'
required: true
description: |-
namespace of the game
return_type: 'List<ModelUserReward>'
imports:
- 'import net.accelbyte.sdk.core.*;'
- 'import net.accelbyte.sdk.api.challenge.models.*;'
- 'import net.accelbyte.sdk.api.challenge.operations.player_reward.*;'
- 'import net.accelbyte.sdk.api.challenge.wrappers.*;'
files:
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/challenge/wrappers/PlayerReward.java'
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/challenge/operations/player_reward/PublicClaimUserRewards.java'
example: |-
try {
final PublicClaimUserRewards operation = PublicClaimUserRewards.builder()
.build(
body,
namespace,
);
final PlayerReward wrapper = new PlayerReward(sdk);
final List<ModelUserReward> response = wrapper.publicClaimUserRewards(operation);
}
catch (HttpResponseException e) { /* Handle exceptions. */ }
catch (Exception e) { /* Handle exceptions. */ }
tags:
- 'claim'
- 'player'
- 'public'
- 'reward'
- 'rewards'
- 'user'
permissions:
- 'NAMESPACE:{namespace}:CHALLENGE:REWARD [UPDATE]'
'PublicClaimUserRewardsByGoalCode@jv.challenge.fun':
id: 'PublicClaimUserRewardsByGoalCode@jv.challenge.fun'
name: 'PublicClaimUserRewardsByGoalCode'
type: 'function'
description: |-
- Required permission: NAMESPACE:{namespace}:CHALLENGE:REWARD [UPDATE]
arguments:
'body':
type: 'ModelClaimUserRewardsByGoalCodeRequest'
required: true
'challengeCode':
type: 'String'
required: true
'namespace':
type: 'String'
required: true
description: |-
namespace of the game
return_type: 'List<ModelUserReward>'
imports:
- 'import net.accelbyte.sdk.core.*;'
- 'import net.accelbyte.sdk.api.challenge.models.*;'
- 'import net.accelbyte.sdk.api.challenge.operations.player_reward.*;'
- 'import net.accelbyte.sdk.api.challenge.wrappers.*;'
files:
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/challenge/wrappers/PlayerReward.java'
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/challenge/operations/player_reward/PublicClaimUserRewardsByGoalCode.java'
example: |-
try {
final PublicClaimUserRewardsByGoalCode operation = PublicClaimUserRewardsByGoalCode.builder()
.build(
body,
challengeCode,
namespace,
);
final PlayerReward wrapper = new PlayerReward(sdk);
final List<ModelUserReward> response = wrapper.publicClaimUserRewardsByGoalCode(operation);
}
catch (HttpResponseException e) { /* Handle exceptions. */ }
catch (Exception e) { /* Handle exceptions. */ }
tags:
- 'by'
- 'claim'
- 'code'
- 'goal'
- 'player'
- 'public'
- 'reward'
- 'rewards'
- 'user'
permissions:
- 'NAMESPACE:{namespace}:CHALLENGE:REWARD [UPDATE]'
'PublicGetPastUserProgression@jv.challenge.fun':
id: 'PublicGetPastUserProgression@jv.challenge.fun'
name: 'PublicGetPastUserProgression'
type: 'function'
description: |-
- Required permission: NAMESPACE:{namespace}:CHALLENGE:PROGRESSION [READ]
arguments:
'challengeCode':
type: 'String'
required: true
description: |-
challenge code
'goalCode':
type: 'String'
required: false
description: |-
goal code
'index':
type: 'Integer'
required: true
description: |-
rotation index. Treat rotation as an array sorted by the start time of a rotation in descending manner. positive integer. 0 indicates current or latest active rotation. increment the value to refer to specific past rotation.
'limit':
type: 'Integer'
required: false
description: |-
limit the amount of data retrieved
'namespace':
type: 'String'
required: true
description: |-
namespace of the game
'offset':
type: 'Integer'
required: false
description: |-
offset
'tags':
type: 'List<String>'
required: false
description: |-
filter goals by tags, comma separated value
return_type: 'ModelUserProgressionResponse'
imports:
- 'import net.accelbyte.sdk.core.*;'
- 'import net.accelbyte.sdk.api.challenge.models.*;'
- 'import net.accelbyte.sdk.api.challenge.operations.challenge_progression.*;'
- 'import net.accelbyte.sdk.api.challenge.wrappers.*;'
files:
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/challenge/wrappers/ChallengeProgression.java'
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/challenge/operations/challenge_progression/PublicGetPastUserProgression.java'
example: |-
try {
final PublicGetPastUserProgression operation = PublicGetPastUserProgression.builder()
.goalCode(...)
.limit(...)
.offset(...)
.tags(...)
.build(
challengeCode,
index,
namespace,
);
final ChallengeProgression wrapper = new ChallengeProgression(sdk);
final ModelUserProgressionResponse response = wrapper.publicGetPastUserProgression(operation);
}
catch (HttpResponseException e) { /* Handle exceptions. */ }
catch (Exception e) { /* Handle exceptions. */ }
tags:
- 'challenge'
- 'get'
- 'past'
- 'progression'
- 'public'
- 'user'
permissions:
- 'NAMESPACE:{namespace}:CHALLENGE:PROGRESSION [READ]'
'PublicGetScheduledGoals@jv.challenge.fun':
id: 'PublicGetScheduledGoals@jv.challenge.fun'
name: 'PublicGetScheduledGoals'
type: 'function'
description: |-
- Required permission: NAMESPACE:{namespace}:CHALLENGE [READ]
arguments:
'challengeCode':
type: 'String'
required: true
description: |-
challenge code
'limit':
type: 'Integer'
required: false
description: |-
limit the amount of data retrieved
'namespace':
type: 'String'
required: true
description: |-
namespace of the game
'offset':
type: 'Integer'
required: false
description: |-
offset
'sortBy':
type: 'String'
required: false
description: |-
sort list by attributes.
default value: updatedAt:desc.
'tags':
type: 'List<String>'
required: false
description: |-
filter list by tags
return_type: 'ModelGetGoalsResponse'
imports:
- 'import net.accelbyte.sdk.core.*;'
- 'import net.accelbyte.sdk.api.challenge.models.*;'
- 'import net.accelbyte.sdk.api.challenge.operations.challenge_list.*;'
- 'import net.accelbyte.sdk.api.challenge.wrappers.*;'
files:
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/challenge/wrappers/ChallengeList.java'
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/challenge/operations/challenge_list/PublicGetScheduledGoals.java'
example: |-
try {
final PublicGetScheduledGoals operation = PublicGetScheduledGoals.builder()
.limit(...)
.offset(...)
.sortBy(...)
.tags(...)
.build(
challengeCode,
namespace,
);
final ChallengeList wrapper = new ChallengeList(sdk);
final ModelGetGoalsResponse response = wrapper.publicGetScheduledGoals(operation);
}
catch (HttpResponseException e) { /* Handle exceptions. */ }
catch (Exception e) { /* Handle exceptions. */ }
tags:
- 'challenge'
- 'get'
- 'goals'
- 'list'
- 'public'
- 'scheduled'
permissions:
- 'NAMESPACE:{namespace}:CHALLENGE [READ]'
'PublicGetUserProgression@jv.challenge.fun':
id: 'PublicGetUserProgression@jv.challenge.fun'
name: 'PublicGetUserProgression'
type: 'function'
description: |-
- Required permission: NAMESPACE:{namespace}:CHALLENGE:PROGRESSION [READ]
arguments:
'challengeCode':
type: 'String'
required: true
description: |-
challenge code
'dateTime':
type: 'String'
required: false
description: |-
specific schedule date time. use RFC3339 format(2006-01-02T15:04:05Z).
'goalCode':
type: 'String'
required: false
description: |-
goal code
'limit':
type: 'Integer'
required: false
description: |-
limit the amount of data retrieved
'namespace':
type: 'String'
required: true
description: |-
namespace of the game
'offset':
type: 'Integer'
required: false
description: |-
offset
'tags':
type: 'List<String>'
required: false
description: |-
filter goals by tags, comma separated value
return_type: 'ModelUserProgressionResponse'
imports:
- 'import net.accelbyte.sdk.core.*;'
- 'import net.accelbyte.sdk.api.challenge.models.*;'
- 'import net.accelbyte.sdk.api.challenge.operations.challenge_progression.*;'
- 'import net.accelbyte.sdk.api.challenge.wrappers.*;'
files:
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/challenge/wrappers/ChallengeProgression.java'
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/challenge/operations/challenge_progression/PublicGetUserProgression.java'
example: |-
try {
final PublicGetUserProgression operation = PublicGetUserProgression.builder()
.dateTime(...)
.goalCode(...)
.limit(...)
.offset(...)
.tags(...)
.build(
challengeCode,
namespace,
);
final ChallengeProgression wrapper = new ChallengeProgression(sdk);
final ModelUserProgressionResponse response = wrapper.publicGetUserProgression(operation);
}
catch (HttpResponseException e) { /* Handle exceptions. */ }
catch (Exception e) { /* Handle exceptions. */ }
tags:
- 'challenge'
- 'get'
- 'progression'
- 'public'
- 'user'
permissions:
- 'NAMESPACE:{namespace}:CHALLENGE:PROGRESSION [READ]'
'PublicGetUserRewards@jv.challenge.fun':
id: 'PublicGetUserRewards@jv.challenge.fun'
name: 'PublicGetUserRewards'
type: 'function'
description: |-
- Required permission: NAMESPACE:{namespace}:CHALLENGE:REWARD [READ]
arguments:
'challengeCode':
type: 'String'
required: false
description: |-
reward's challenge code
'goalProgressionId':
type: 'String'
required: false
description: |-
reward's goal progression id
'limit':
type: 'Integer'
required: false
description: |-
limit the amount of data retrieved
'namespace':
type: 'String'
required: true
description: |-
namespace of the game
'offset':
type: 'Integer'
required: false
description: |-
offset
'sortBy':
type: 'String'
required: false
description: |-
sort list by attributes.
default value: updatedAt:desc.
'status':
type: 'String'
required: false
description: |-
user reward status
return_type: 'ModelListUserRewardsResponse'
imports:
- 'import net.accelbyte.sdk.core.*;'
- 'import net.accelbyte.sdk.api.challenge.models.*;'
- 'import net.accelbyte.sdk.api.challenge.operations.player_reward.*;'
- 'import net.accelbyte.sdk.api.challenge.wrappers.*;'
files:
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/challenge/wrappers/PlayerReward.java'
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/challenge/operations/player_reward/PublicGetUserRewards.java'
example: |-
try {
final PublicGetUserRewards operation = PublicGetUserRewards.builder()
.challengeCode(...)
.goalProgressionId(...)
.limit(...)
.offset(...)
.sortBy(...)
.status(...)
.build(
namespace,
);
final PlayerReward wrapper = new PlayerReward(sdk);
final ModelListUserRewardsResponse response = wrapper.publicGetUserRewards(operation);
}
catch (HttpResponseException e) { /* Handle exceptions. */ }
catch (Exception e) { /* Handle exceptions. */ }
tags:
- 'get'
- 'player'
- 'public'
- 'reward'
- 'rewards'
- 'user'
permissions:
- 'NAMESPACE:{namespace}:CHALLENGE:REWARD [READ]'
'PublicListSchedules@jv.challenge.fun':
id: 'PublicListSchedules@jv.challenge.fun'
name: 'PublicListSchedules'
type: 'function'
description: |-
* Required permission: NAMESPACE:{namespace}:CHALLENGE [READ]
List schedules of given challenge for specific user. To query schedules prior to specific date time, use dateTime parameter.
arguments:
'challengeCode':
type: 'String'
required: true
description: |-
challenge code
'dateTime':
type: 'String'
required: false
description: |-
use RFC3339 format(2006-01-02T15:04:05Z).
'limit':
type: 'Integer'
required: false
description: |-
limit the amount of data retrieved
'namespace':
type: 'String'
required: true
description: |-
namespace of the game
'offset':
type: 'Integer'
required: false
description: |-
offset
return_type: 'ModelListSchedulesResponse'
imports:
- 'import net.accelbyte.sdk.core.*;'
- 'import net.accelbyte.sdk.api.challenge.models.*;'
- 'import net.accelbyte.sdk.api.challenge.operations.schedules.*;'
- 'import net.accelbyte.sdk.api.challenge.wrappers.*;'
files:
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/challenge/wrappers/Schedules.java'
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/challenge/operations/schedules/PublicListSchedules.java'
example: |-
try {
final PublicListSchedules operation = PublicListSchedules.builder()
.dateTime(...)
.limit(...)
.offset(...)
.build(
challengeCode,
namespace,
);
final Schedules wrapper = new Schedules(sdk);
final ModelListSchedulesResponse response = wrapper.publicListSchedules(operation);
}
catch (HttpResponseException e) { /* Handle exceptions. */ }
catch (Exception e) { /* Handle exceptions. */ }
tags:
- 'list'
- 'public'
- 'schedules'
'PublicListSchedulesByGoal@jv.challenge.fun':
id: 'PublicListSchedulesByGoal@jv.challenge.fun'
name: 'PublicListSchedulesByGoal'
type: 'function'
description: |-
* Required permission: NAMESPACE:{namespace}:CHALLENGE [READ]
List schedules of given goal in a challenge for specific user.
arguments:
'challengeCode':
type: 'String'
required: true
description: |-
challenge code
'code':
type: 'String'
required: true
description: |-
goal code
'limit':
type: 'Integer'
required: false
description: |-
limit the amount of data retrieved
'namespace':
type: 'String'
required: true
description: |-
namespace of the game
'offset':
type: 'Integer'
required: false
description: |-
offset
return_type: 'ModelListScheduleByGoalResponse'
imports:
- 'import net.accelbyte.sdk.core.*;'
- 'import net.accelbyte.sdk.api.challenge.models.*;'
- 'import net.accelbyte.sdk.api.challenge.operations.schedules.*;'
- 'import net.accelbyte.sdk.api.challenge.wrappers.*;'
files:
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/challenge/wrappers/Schedules.java'
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/challenge/operations/schedules/PublicListSchedulesByGoal.java'
example: |-
try {
final PublicListSchedulesByGoal operation = PublicListSchedulesByGoal.builder()
.limit(...)
.offset(...)
.build(
challengeCode,
code,
namespace,
);
final Schedules wrapper = new Schedules(sdk);
final ModelListScheduleByGoalResponse response = wrapper.publicListSchedulesByGoal(operation);
}
catch (HttpResponseException e) { /* Handle exceptions. */ }
catch (Exception e) { /* Handle exceptions. */ }
tags:
- 'by'
- 'goal'
- 'list'
- 'public'
- 'schedules'
# endregion functions