symbols:
# region models
'IamErrorResponse@cs.challenge.mod':
id: 'IamErrorResponse@cs.challenge.mod'
name: 'IamErrorResponse'
type: 'model'
fields:
'ErrorCode':
type: 'int'
required: true
'ErrorMessage':
type: 'string'
required: true
'RequiredPermission':
type: 'IamPermission'
required: false
imports:
- 'using System;'
- 'using System.Collections.Generic;'
- 'using AccelByte.Sdk.Api.Challenge.Model;'
files:
- 'https://github.com/AccelByte/accelbyte-csharp-sdk/blob/main/AccelByte.Sdk/Api/Challenge/Model/IamErrorResponse.cs'
'IamPermission@cs.challenge.mod':
id: 'IamPermission@cs.challenge.mod'
name: 'IamPermission'
type: 'model'
fields:
'Action':
type: 'int'
required: true
'Resource':
type: 'string'
required: true
imports:
- 'using System;'
- 'using System.Collections.Generic;'
- 'using AccelByte.Sdk.Api.Challenge.Model;'
files:
- 'https://github.com/AccelByte/accelbyte-csharp-sdk/blob/main/AccelByte.Sdk/Api/Challenge/Model/IamPermission.cs'
'ModelChallengeReference@cs.challenge.mod':
id: 'ModelChallengeReference@cs.challenge.mod'
name: 'ModelChallengeReference'
type: 'model'
fields:
'ChallengeCode':
type: 'string'
required: true
'GoalCode':
type: 'string'
required: true
imports:
- 'using System;'
- 'using System.Collections.Generic;'
- 'using AccelByte.Sdk.Api.Challenge.Model;'
files:
- 'https://github.com/AccelByte/accelbyte-csharp-sdk/blob/main/AccelByte.Sdk/Api/Challenge/Model/ModelChallengeReference.cs'
'ModelChallengeResponse@cs.challenge.mod':
id: 'ModelChallengeResponse@cs.challenge.mod'
name: 'ModelChallengeResponse'
type: 'model'
fields:
'ActiveGoalsPerRotation':
type: 'int'
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: 'bool'
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: 'int'
required: false
'EndDate':
type: 'string'
required: false
'RepeatAfter':
type: 'int'
required: false
'Tags':
type: 'List<string>'
required: false
imports:
- 'using System;'
- 'using System.Collections.Generic;'
- 'using AccelByte.Sdk.Api.Challenge.Model;'
files:
- 'https://github.com/AccelByte/accelbyte-csharp-sdk/blob/main/AccelByte.Sdk/Api/Challenge/Model/ModelChallengeResponse.cs'
'ModelClaimableUserReward@cs.challenge.mod':
id: 'ModelClaimableUserReward@cs.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:
- 'using System;'
- 'using System.Collections.Generic;'
- 'using AccelByte.Sdk.Api.Challenge.Model;'
files:
- 'https://github.com/AccelByte/accelbyte-csharp-sdk/blob/main/AccelByte.Sdk/Api/Challenge/Model/ModelClaimableUserReward.cs'
'ModelClaimUserRewardsByGoalCodeRequest@cs.challenge.mod':
id: 'ModelClaimUserRewardsByGoalCodeRequest@cs.challenge.mod'
name: 'ModelClaimUserRewardsByGoalCodeRequest'
type: 'model'
fields:
'GoalCode':
type: 'string'
required: true
imports:
- 'using System;'
- 'using System.Collections.Generic;'
- 'using AccelByte.Sdk.Api.Challenge.Model;'
files:
- 'https://github.com/AccelByte/accelbyte-csharp-sdk/blob/main/AccelByte.Sdk/Api/Challenge/Model/ModelClaimUserRewardsByGoalCodeRequest.cs'
'ModelClaimUserRewardsReq@cs.challenge.mod':
id: 'ModelClaimUserRewardsReq@cs.challenge.mod'
name: 'ModelClaimUserRewardsReq'
type: 'model'
fields:
'RewardIDs':
type: 'List<string>'
required: true
description: |-
max 100 items
imports:
- 'using System;'
- 'using System.Collections.Generic;'
- 'using AccelByte.Sdk.Api.Challenge.Model;'
files:
- 'https://github.com/AccelByte/accelbyte-csharp-sdk/blob/main/AccelByte.Sdk/Api/Challenge/Model/ModelClaimUserRewardsReq.cs'
'ModelClaimUsersRewardsRequest@cs.challenge.mod':
id: 'ModelClaimUsersRewardsRequest@cs.challenge.mod'
name: 'ModelClaimUsersRewardsRequest'
type: 'model'
fields:
'RewardIds':
type: 'List<string>'
required: true
'UserId':
type: 'string'
required: true
imports:
- 'using System;'
- 'using System.Collections.Generic;'
- 'using AccelByte.Sdk.Api.Challenge.Model;'
files:
- 'https://github.com/AccelByte/accelbyte-csharp-sdk/blob/main/AccelByte.Sdk/Api/Challenge/Model/ModelClaimUsersRewardsRequest.cs'
'ModelClaimUsersRewardsResponse@cs.challenge.mod':
id: 'ModelClaimUsersRewardsResponse@cs.challenge.mod'
name: 'ModelClaimUsersRewardsResponse'
type: 'model'
fields:
'IsSuccess':
type: 'bool'
required: true
'Rewards':
type: 'List<ModelUserReward>'
required: true
'UserId':
type: 'string'
required: true
'ErrorDetail':
type: 'ResponseError'
required: false
imports:
- 'using System;'
- 'using System.Collections.Generic;'
- 'using AccelByte.Sdk.Api.Challenge.Model;'
files:
- 'https://github.com/AccelByte/accelbyte-csharp-sdk/blob/main/AccelByte.Sdk/Api/Challenge/Model/ModelClaimUsersRewardsResponse.cs'
'ModelCreateChallengeRequest@cs.challenge.mod':
id: 'ModelCreateChallengeRequest@cs.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: 'DateTime'
required: true
'ActiveGoalsPerRotation':
type: 'int'
required: false
'Description':
type: 'string'
required: false
'EndAfter':
type: 'int'
required: false
'EndDate':
type: 'DateTime'
required: false
'RandomizedPerRotation':
type: 'bool'
required: false
'RepeatAfter':
type: 'int'
required: false
'ResetConfig':
type: 'ModelResetConfig'
required: false
'Tags':
type: 'List<string>'
required: false
imports:
- 'using System;'
- 'using System.Collections.Generic;'
- 'using AccelByte.Sdk.Api.Challenge.Model;'
files:
- 'https://github.com/AccelByte/accelbyte-csharp-sdk/blob/main/AccelByte.Sdk/Api/Challenge/Model/ModelCreateChallengeRequest.cs'
'ModelCreateGoalRequest@cs.challenge.mod':
id: 'ModelCreateGoalRequest@cs.challenge.mod'
name: 'ModelCreateGoalRequest'
type: 'model'
fields:
'Code':
type: 'string'
required: true
'IsActive':
type: 'bool'
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:
- 'using System;'
- 'using System.Collections.Generic;'
- 'using AccelByte.Sdk.Api.Challenge.Model;'
files:
- 'https://github.com/AccelByte/accelbyte-csharp-sdk/blob/main/AccelByte.Sdk/Api/Challenge/Model/ModelCreateGoalRequest.cs'
'ModelEvaluatePlayerProgressionRequest@cs.challenge.mod':
id: 'ModelEvaluatePlayerProgressionRequest@cs.challenge.mod'
name: 'ModelEvaluatePlayerProgressionRequest'
type: 'model'
fields:
'UserIds':
type: 'List<string>'
required: false
imports:
- 'using System;'
- 'using System.Collections.Generic;'
- 'using AccelByte.Sdk.Api.Challenge.Model;'
files:
- 'https://github.com/AccelByte/accelbyte-csharp-sdk/blob/main/AccelByte.Sdk/Api/Challenge/Model/ModelEvaluatePlayerProgressionRequest.cs'
'ModelGetGoalsResponse@cs.challenge.mod':
id: 'ModelGetGoalsResponse@cs.challenge.mod'
name: 'ModelGetGoalsResponse'
type: 'model'
fields:
'Data':
type: 'List<ModelGoalResponse>'
required: true
'Meta':
type: 'ModelChallengeResponse'
required: true
'Paging':
type: 'ModelPagination'
required: true
imports:
- 'using System;'
- 'using System.Collections.Generic;'
- 'using AccelByte.Sdk.Api.Challenge.Model;'
files:
- 'https://github.com/AccelByte/accelbyte-csharp-sdk/blob/main/AccelByte.Sdk/Api/Challenge/Model/ModelGetGoalsResponse.cs'
'ModelGoalInSchedulesResponse@cs.challenge.mod':
id: 'ModelGoalInSchedulesResponse@cs.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: 'bool'
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:
- 'using System;'
- 'using System.Collections.Generic;'
- 'using AccelByte.Sdk.Api.Challenge.Model;'
files:
- 'https://github.com/AccelByte/accelbyte-csharp-sdk/blob/main/AccelByte.Sdk/Api/Challenge/Model/ModelGoalInSchedulesResponse.cs'
'ModelGoalMeta@cs.challenge.mod':
id: 'ModelGoalMeta@cs.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:
- 'using System;'
- 'using System.Collections.Generic;'
- 'using AccelByte.Sdk.Api.Challenge.Model;'
files:
- 'https://github.com/AccelByte/accelbyte-csharp-sdk/blob/main/AccelByte.Sdk/Api/Challenge/Model/ModelGoalMeta.cs'
'ModelGoalOrder@cs.challenge.mod':
id: 'ModelGoalOrder@cs.challenge.mod'
name: 'ModelGoalOrder'
type: 'model'
fields:
'Goal':
type: 'ModelGoalResponse'
required: true
'Order':
type: 'int'
required: true
imports:
- 'using System;'
- 'using System.Collections.Generic;'
- 'using AccelByte.Sdk.Api.Challenge.Model;'
files:
- 'https://github.com/AccelByte/accelbyte-csharp-sdk/blob/main/AccelByte.Sdk/Api/Challenge/Model/ModelGoalOrder.cs'
'ModelGoalProgressionResponse@cs.challenge.mod':
id: 'ModelGoalProgressionResponse@cs.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:
- 'using System;'
- 'using System.Collections.Generic;'
- 'using AccelByte.Sdk.Api.Challenge.Model;'
files:
- 'https://github.com/AccelByte/accelbyte-csharp-sdk/blob/main/AccelByte.Sdk/Api/Challenge/Model/ModelGoalProgressionResponse.cs'
'ModelGoalResponse@cs.challenge.mod':
id: 'ModelGoalResponse@cs.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: 'bool'
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:
- 'using System;'
- 'using System.Collections.Generic;'
- 'using AccelByte.Sdk.Api.Challenge.Model;'
files:
- 'https://github.com/AccelByte/accelbyte-csharp-sdk/blob/main/AccelByte.Sdk/Api/Challenge/Model/ModelGoalResponse.cs'
'ModelGoalSchedule@cs.challenge.mod':
id: 'ModelGoalSchedule@cs.challenge.mod'
name: 'ModelGoalSchedule'
type: 'model'
fields:
'Order':
type: 'int'
required: true
description: |-
this field will be deprecated
'StartTime':
type: 'DateTime'
required: true
description: |-
this field will be deprecated
'EndTime':
type: 'DateTime'
required: false
description: |-
this field will be deprecated
imports:
- 'using System;'
- 'using System.Collections.Generic;'
- 'using AccelByte.Sdk.Api.Challenge.Model;'
files:
- 'https://github.com/AccelByte/accelbyte-csharp-sdk/blob/main/AccelByte.Sdk/Api/Challenge/Model/ModelGoalSchedule.cs'
'ModelGoalScheduleRequest@cs.challenge.mod':
id: 'ModelGoalScheduleRequest@cs.challenge.mod'
name: 'ModelGoalScheduleRequest'
type: 'model'
fields:
'Order':
type: 'int'
required: true
'StartTime':
type: 'DateTime'
required: true
'EndTime':
type: 'DateTime'
required: false
imports:
- 'using System;'
- 'using System.Collections.Generic;'
- 'using AccelByte.Sdk.Api.Challenge.Model;'
files:
- 'https://github.com/AccelByte/accelbyte-csharp-sdk/blob/main/AccelByte.Sdk/Api/Challenge/Model/ModelGoalScheduleRequest.cs'
'ModelItemReference@cs.challenge.mod':
id: 'ModelItemReference@cs.challenge.mod'
name: 'ModelItemReference'
type: 'model'
fields:
'Module':
type: 'string'
required: true
'References':
type: 'List<ModelChallengeReference>'
required: true
imports:
- 'using System;'
- 'using System.Collections.Generic;'
- 'using AccelByte.Sdk.Api.Challenge.Model;'
files:
- 'https://github.com/AccelByte/accelbyte-csharp-sdk/blob/main/AccelByte.Sdk/Api/Challenge/Model/ModelItemReference.cs'
'ModelItemReferenceResponse@cs.challenge.mod':
id: 'ModelItemReferenceResponse@cs.challenge.mod'
name: 'ModelItemReferenceResponse'
type: 'model'
fields:
'References':
type: 'List<ModelItemReference>'
required: true
imports:
- 'using System;'
- 'using System.Collections.Generic;'
- 'using AccelByte.Sdk.Api.Challenge.Model;'
files:
- 'https://github.com/AccelByte/accelbyte-csharp-sdk/blob/main/AccelByte.Sdk/Api/Challenge/Model/ModelItemReferenceResponse.cs'
'ModelListChallengeResponse@cs.challenge.mod':
id: 'ModelListChallengeResponse@cs.challenge.mod'
name: 'ModelListChallengeResponse'
type: 'model'
fields:
'Data':
type: 'List<ModelChallengeResponse>'
required: true
'Paging':
type: 'ModelPagination'
required: true
imports:
- 'using System;'
- 'using System.Collections.Generic;'
- 'using AccelByte.Sdk.Api.Challenge.Model;'
files:
- 'https://github.com/AccelByte/accelbyte-csharp-sdk/blob/main/AccelByte.Sdk/Api/Challenge/Model/ModelListChallengeResponse.cs'
'ModelListPeriodsResponse@cs.challenge.mod':
id: 'ModelListPeriodsResponse@cs.challenge.mod'
name: 'ModelListPeriodsResponse'
type: 'model'
fields:
'Data':
type: 'List<ModelsPeriod>'
required: true
'Paging':
type: 'ModelPagination'
required: true
imports:
- 'using System;'
- 'using System.Collections.Generic;'
- 'using AccelByte.Sdk.Api.Challenge.Model;'
files:
- 'https://github.com/AccelByte/accelbyte-csharp-sdk/blob/main/AccelByte.Sdk/Api/Challenge/Model/ModelListPeriodsResponse.cs'
'ModelListScheduleByGoalResponse@cs.challenge.mod':
id: 'ModelListScheduleByGoalResponse@cs.challenge.mod'
name: 'ModelListScheduleByGoalResponse'
type: 'model'
fields:
'Data':
type: 'List<ModelScheduleByGoalResponse>'
required: true
'Paging':
type: 'ModelPagination'
required: true
imports:
- 'using System;'
- 'using System.Collections.Generic;'
- 'using AccelByte.Sdk.Api.Challenge.Model;'
files:
- 'https://github.com/AccelByte/accelbyte-csharp-sdk/blob/main/AccelByte.Sdk/Api/Challenge/Model/ModelListScheduleByGoalResponse.cs'
'ModelListSchedulesResponse@cs.challenge.mod':
id: 'ModelListSchedulesResponse@cs.challenge.mod'
name: 'ModelListSchedulesResponse'
type: 'model'
fields:
'Data':
type: 'List<ModelScheduleResponse>'
required: true
'Paging':
type: 'ModelPagination'
required: true
imports:
- 'using System;'
- 'using System.Collections.Generic;'
- 'using AccelByte.Sdk.Api.Challenge.Model;'
files:
- 'https://github.com/AccelByte/accelbyte-csharp-sdk/blob/main/AccelByte.Sdk/Api/Challenge/Model/ModelListSchedulesResponse.cs'
'ModelListUserRewardsResponse@cs.challenge.mod':
id: 'ModelListUserRewardsResponse@cs.challenge.mod'
name: 'ModelListUserRewardsResponse'
type: 'model'
fields:
'Data':
type: 'List<ModelUserReward>'
required: true
'Paging':
type: 'ModelPagination'
required: true
imports:
- 'using System;'
- 'using System.Collections.Generic;'
- 'using AccelByte.Sdk.Api.Challenge.Model;'
files:
- 'https://github.com/AccelByte/accelbyte-csharp-sdk/blob/main/AccelByte.Sdk/Api/Challenge/Model/ModelListUserRewardsResponse.cs'
'ModelPagination@cs.challenge.mod':
id: 'ModelPagination@cs.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:
- 'using System;'
- 'using System.Collections.Generic;'
- 'using AccelByte.Sdk.Api.Challenge.Model;'
files:
- 'https://github.com/AccelByte/accelbyte-csharp-sdk/blob/main/AccelByte.Sdk/Api/Challenge/Model/ModelPagination.cs'
'ModelPluginAsignmentAppConfig@cs.challenge.mod':
id: 'ModelPluginAsignmentAppConfig@cs.challenge.mod'
name: 'ModelPluginAsignmentAppConfig'
type: 'model'
fields:
'AppName':
type: 'string'
required: true
imports:
- 'using System;'
- 'using System.Collections.Generic;'
- 'using AccelByte.Sdk.Api.Challenge.Model;'
files:
- 'https://github.com/AccelByte/accelbyte-csharp-sdk/blob/main/AccelByte.Sdk/Api/Challenge/Model/ModelPluginAsignmentAppConfig.cs'
'ModelPluginAssignmentCustomConfig@cs.challenge.mod':
id: 'ModelPluginAssignmentCustomConfig@cs.challenge.mod'
name: 'ModelPluginAssignmentCustomConfig'
type: 'model'
fields:
'GrpcServerAddress':
type: 'string'
required: true
imports:
- 'using System;'
- 'using System.Collections.Generic;'
- 'using AccelByte.Sdk.Api.Challenge.Model;'
files:
- 'https://github.com/AccelByte/accelbyte-csharp-sdk/blob/main/AccelByte.Sdk/Api/Challenge/Model/ModelPluginAssignmentCustomConfig.cs'
'ModelPluginAssignmentRequest@cs.challenge.mod':
id: 'ModelPluginAssignmentRequest@cs.challenge.mod'
name: 'ModelPluginAssignmentRequest'
type: 'model'
fields:
'ExtendType':
type: 'string'
required: true
'AppName':
type: 'string'
required: false
'GrpcServerAddress':
type: 'string'
required: false
imports:
- 'using System;'
- 'using System.Collections.Generic;'
- 'using AccelByte.Sdk.Api.Challenge.Model;'
files:
- 'https://github.com/AccelByte/accelbyte-csharp-sdk/blob/main/AccelByte.Sdk/Api/Challenge/Model/ModelPluginAssignmentRequest.cs'
'ModelPluginAssignmentResponse@cs.challenge.mod':
id: 'ModelPluginAssignmentResponse@cs.challenge.mod'
name: 'ModelPluginAssignmentResponse'
type: 'model'
fields:
'ExtendType':
type: 'string'
required: true
'AppConfig':
type: 'ModelPluginAsignmentAppConfig'
required: false
'CustomConfig':
type: 'ModelPluginAssignmentCustomConfig'
required: false
imports:
- 'using System;'
- 'using System.Collections.Generic;'
- 'using AccelByte.Sdk.Api.Challenge.Model;'
files:
- 'https://github.com/AccelByte/accelbyte-csharp-sdk/blob/main/AccelByte.Sdk/Api/Challenge/Model/ModelPluginAssignmentResponse.cs'
'ModelPredicate@cs.challenge.mod':
id: 'ModelPredicate@cs.challenge.mod'
name: 'ModelPredicate'
type: 'model'
fields:
'Matcher':
type: 'string'
required: true
'ParameterName':
type: 'string'
required: true
'ParameterType':
type: 'string'
required: true
'TargetValue':
type: 'double'
required: true
'StatCycleId':
type: 'string'
required: false
imports:
- 'using System;'
- 'using System.Collections.Generic;'
- 'using AccelByte.Sdk.Api.Challenge.Model;'
files:
- 'https://github.com/AccelByte/accelbyte-csharp-sdk/blob/main/AccelByte.Sdk/Api/Challenge/Model/ModelPredicate.cs'
'ModelRequirement@cs.challenge.mod':
id: 'ModelRequirement@cs.challenge.mod'
name: 'ModelRequirement'
type: 'model'
fields:
'Operator':
type: 'string'
required: true
'Predicates':
type: 'List<ModelPredicate>'
required: true
imports:
- 'using System;'
- 'using System.Collections.Generic;'
- 'using AccelByte.Sdk.Api.Challenge.Model;'
files:
- 'https://github.com/AccelByte/accelbyte-csharp-sdk/blob/main/AccelByte.Sdk/Api/Challenge/Model/ModelRequirement.cs'
'ModelRequirementProgressionResponse@cs.challenge.mod':
id: 'ModelRequirementProgressionResponse@cs.challenge.mod'
name: 'ModelRequirementProgressionResponse'
type: 'model'
fields:
'CurrentValue':
type: 'double'
required: true
'Id':
type: 'string'
required: true
'Matcher':
type: 'string'
required: true
'ParameterName':
type: 'string'
required: true
'ParameterType':
type: 'string'
required: true
'TargetValue':
type: 'double'
required: true
'CompletedAt':
type: 'string'
required: false
'StatCycleId':
type: 'string'
required: false
imports:
- 'using System;'
- 'using System.Collections.Generic;'
- 'using AccelByte.Sdk.Api.Challenge.Model;'
files:
- 'https://github.com/AccelByte/accelbyte-csharp-sdk/blob/main/AccelByte.Sdk/Api/Challenge/Model/ModelRequirementProgressionResponse.cs'
'ModelResetConfig@cs.challenge.mod':
id: 'ModelResetConfig@cs.challenge.mod'
name: 'ModelResetConfig'
type: 'model'
fields:
'ResetDate':
type: 'int'
required: false
description: |-
valid value are 1 to 31, default to 1 for MONTHLY rotation
'ResetDay':
type: 'int'
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:
- 'using System;'
- 'using System.Collections.Generic;'
- 'using AccelByte.Sdk.Api.Challenge.Model;'
files:
- 'https://github.com/AccelByte/accelbyte-csharp-sdk/blob/main/AccelByte.Sdk/Api/Challenge/Model/ModelResetConfig.cs'
'ModelReward@cs.challenge.mod':
id: 'ModelReward@cs.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:
- 'using System;'
- 'using System.Collections.Generic;'
- 'using AccelByte.Sdk.Api.Challenge.Model;'
files:
- 'https://github.com/AccelByte/accelbyte-csharp-sdk/blob/main/AccelByte.Sdk/Api/Challenge/Model/ModelReward.cs'
'ModelSchedule@cs.challenge.mod':
id: 'ModelSchedule@cs.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:
- 'using System;'
- 'using System.Collections.Generic;'
- 'using AccelByte.Sdk.Api.Challenge.Model;'
files:
- 'https://github.com/AccelByte/accelbyte-csharp-sdk/blob/main/AccelByte.Sdk/Api/Challenge/Model/ModelSchedule.cs'
'ModelScheduleByGoalResponse@cs.challenge.mod':
id: 'ModelScheduleByGoalResponse@cs.challenge.mod'
name: 'ModelScheduleByGoalResponse'
type: 'model'
fields:
'EndTime':
type: 'DateTime'
required: true
'StartTime':
type: 'DateTime'
required: true
imports:
- 'using System;'
- 'using System.Collections.Generic;'
- 'using AccelByte.Sdk.Api.Challenge.Model;'
files:
- 'https://github.com/AccelByte/accelbyte-csharp-sdk/blob/main/AccelByte.Sdk/Api/Challenge/Model/ModelScheduleByGoalResponse.cs'
'ModelScheduleResponse@cs.challenge.mod':
id: 'ModelScheduleResponse@cs.challenge.mod'
name: 'ModelScheduleResponse'
type: 'model'
fields:
'EndTime':
type: 'DateTime'
required: true
'Goals':
type: 'List<ModelGoalInSchedulesResponse>'
required: true
'StartTime':
type: 'DateTime'
required: true
imports:
- 'using System;'
- 'using System.Collections.Generic;'
- 'using AccelByte.Sdk.Api.Challenge.Model;'
files:
- 'https://github.com/AccelByte/accelbyte-csharp-sdk/blob/main/AccelByte.Sdk/Api/Challenge/Model/ModelScheduleResponse.cs'
'ModelUpdateChallengeRequest@cs.challenge.mod':
id: 'ModelUpdateChallengeRequest@cs.challenge.mod'
name: 'ModelUpdateChallengeRequest'
type: 'model'
fields:
'ActiveGoalsPerRotation':
type: 'int'
required: false
'AssignmentRule':
type: 'string'
required: false
'Description':
type: 'string'
required: false
'EndAfter':
type: 'int'
required: false
'EndDate':
type: 'DateTime'
required: false
'GoalsVisibility':
type: 'string'
required: false
'Name':
type: 'string'
required: false
'RandomizedPerRotation':
type: 'bool'
required: false
'RepeatAfter':
type: 'int'
required: false
'ResetConfig':
type: 'ModelResetConfig'
required: false
'Rotation':
type: 'string'
required: false
'StartDate':
type: 'DateTime'
required: false
'Tags':
type: 'List<string>'
required: false
imports:
- 'using System;'
- 'using System.Collections.Generic;'
- 'using AccelByte.Sdk.Api.Challenge.Model;'
files:
- 'https://github.com/AccelByte/accelbyte-csharp-sdk/blob/main/AccelByte.Sdk/Api/Challenge/Model/ModelUpdateChallengeRequest.cs'
'ModelUpdateChallengeScheduleRequest@cs.challenge.mod':
id: 'ModelUpdateChallengeScheduleRequest@cs.challenge.mod'
name: 'ModelUpdateChallengeScheduleRequest'
type: 'model'
fields:
'Action':
type: 'string'
required: true
'EndDate':
type: 'DateTime'
required: false
imports:
- 'using System;'
- 'using System.Collections.Generic;'
- 'using AccelByte.Sdk.Api.Challenge.Model;'
files:
- 'https://github.com/AccelByte/accelbyte-csharp-sdk/blob/main/AccelByte.Sdk/Api/Challenge/Model/ModelUpdateChallengeScheduleRequest.cs'
'ModelUpdateGoalRequest@cs.challenge.mod':
id: 'ModelUpdateGoalRequest@cs.challenge.mod'
name: 'ModelUpdateGoalRequest'
type: 'model'
fields:
'Name':
type: 'string'
required: true
'Description':
type: 'string'
required: false
'IsActive':
type: 'bool'
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:
- 'using System;'
- 'using System.Collections.Generic;'
- 'using AccelByte.Sdk.Api.Challenge.Model;'
files:
- 'https://github.com/AccelByte/accelbyte-csharp-sdk/blob/main/AccelByte.Sdk/Api/Challenge/Model/ModelUpdateGoalRequest.cs'
'ModelUserProgressionPeriodResponseMeta@cs.challenge.mod':
id: 'ModelUserProgressionPeriodResponseMeta@cs.challenge.mod'
name: 'ModelUserProgressionPeriodResponseMeta'
type: 'model'
fields:
'EndTime':
type: 'string'
required: true
'StartTime':
type: 'string'
required: true
imports:
- 'using System;'
- 'using System.Collections.Generic;'
- 'using AccelByte.Sdk.Api.Challenge.Model;'
files:
- 'https://github.com/AccelByte/accelbyte-csharp-sdk/blob/main/AccelByte.Sdk/Api/Challenge/Model/ModelUserProgressionPeriodResponseMeta.cs'
'ModelUserProgressionResponse@cs.challenge.mod':
id: 'ModelUserProgressionResponse@cs.challenge.mod'
name: 'ModelUserProgressionResponse'
type: 'model'
fields:
'Data':
type: 'List<ModelGoalProgressionResponse>'
required: true
'Meta':
type: 'ModelUserProgressionResponseMeta'
required: true
'Paging':
type: 'ModelPagination'
required: true
imports:
- 'using System;'
- 'using System.Collections.Generic;'
- 'using AccelByte.Sdk.Api.Challenge.Model;'
files:
- 'https://github.com/AccelByte/accelbyte-csharp-sdk/blob/main/AccelByte.Sdk/Api/Challenge/Model/ModelUserProgressionResponse.cs'
'ModelUserProgressionResponseMeta@cs.challenge.mod':
id: 'ModelUserProgressionResponseMeta@cs.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:
- 'using System;'
- 'using System.Collections.Generic;'
- 'using AccelByte.Sdk.Api.Challenge.Model;'
files:
- 'https://github.com/AccelByte/accelbyte-csharp-sdk/blob/main/AccelByte.Sdk/Api/Challenge/Model/ModelUserProgressionResponseMeta.cs'
'ModelUserReward@cs.challenge.mod':
id: 'ModelUserReward@cs.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:
- 'using System;'
- 'using System.Collections.Generic;'
- 'using AccelByte.Sdk.Api.Challenge.Model;'
files:
- 'https://github.com/AccelByte/accelbyte-csharp-sdk/blob/main/AccelByte.Sdk/Api/Challenge/Model/ModelUserReward.cs'
'ModelsPeriod@cs.challenge.mod':
id: 'ModelsPeriod@cs.challenge.mod'
name: 'ModelsPeriod'
type: 'model'
fields:
'EndTime':
type: 'DateTime'
required: true
'Slot':
type: 'int'
required: true
'StartTime':
type: 'DateTime'
required: true
imports:
- 'using System;'
- 'using System.Collections.Generic;'
- 'using AccelByte.Sdk.Api.Challenge.Model;'
files:
- 'https://github.com/AccelByte/accelbyte-csharp-sdk/blob/main/AccelByte.Sdk/Api/Challenge/Model/ModelsPeriod.cs'
'ResponseError@cs.challenge.mod':
id: 'ResponseError@cs.challenge.mod'
name: 'ResponseError'
type: 'model'
fields:
'Attributes':
type: 'Dictionary<string, string>'
required: true
'ErrorCode':
type: 'int'
required: true
'ErrorMessage':
type: 'string'
required: true
'Message':
type: 'string'
required: true
'Name':
type: 'string'
required: true
imports:
- 'using System;'
- 'using System.Collections.Generic;'
- 'using AccelByte.Sdk.Api.Challenge.Model;'
files:
- 'https://github.com/AccelByte/accelbyte-csharp-sdk/blob/main/AccelByte.Sdk/Api/Challenge/Model/ResponseError.cs'
# endregion models
# region functions
'AdminClaimUserRewards@cs.challenge.fun':
id: 'AdminClaimUserRewards@cs.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:
- 'using AccelByte.Sdk.Core;'
- 'using AccelByte.Sdk.Api.Challenge.Model;'
- 'using AccelByte.Sdk.Api.Challenge.Operation;'
- 'using AccelByte.Sdk.Api.Challenge.Wrapper;'
files:
- 'https://github.com/AccelByte/accelbyte-csharp-sdk/blob/main/AccelByte.Sdk/Api/Challenge/Wrapper/PlayerReward.cs'
- 'https://github.com/AccelByte/accelbyte-csharp-sdk/blob/main/AccelByte.Sdk/Api/Challenge/Operation/PlayerReward/AdminClaimUserRewards.cs'
example: |-
try
{
var operation = sdk.Challenge.PlayerReward.AdminClaimUserRewardsOp
.Build();
var response = sdk.Challenge.PlayerReward.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@cs.challenge.fun':
id: 'AdminClaimUserRewardsByGoalCode@cs.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:
- 'using AccelByte.Sdk.Core;'
- 'using AccelByte.Sdk.Api.Challenge.Model;'
- 'using AccelByte.Sdk.Api.Challenge.Operation;'
- 'using AccelByte.Sdk.Api.Challenge.Wrapper;'
files:
- 'https://github.com/AccelByte/accelbyte-csharp-sdk/blob/main/AccelByte.Sdk/Api/Challenge/Wrapper/PlayerReward.cs'
- 'https://github.com/AccelByte/accelbyte-csharp-sdk/blob/main/AccelByte.Sdk/Api/Challenge/Operation/PlayerReward/AdminClaimUserRewardsByGoalCode.cs'
example: |-
try
{
var operation = sdk.Challenge.PlayerReward.AdminClaimUserRewardsByGoalCodeOp
.Build();
var response = sdk.Challenge.PlayerReward.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@cs.challenge.fun':
id: 'AdminClaimUsersRewards@cs.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:
- 'using AccelByte.Sdk.Core;'
- 'using AccelByte.Sdk.Api.Challenge.Model;'
- 'using AccelByte.Sdk.Api.Challenge.Operation;'
- 'using AccelByte.Sdk.Api.Challenge.Wrapper;'
files:
- 'https://github.com/AccelByte/accelbyte-csharp-sdk/blob/main/AccelByte.Sdk/Api/Challenge/Wrapper/PlayerReward.cs'
- 'https://github.com/AccelByte/accelbyte-csharp-sdk/blob/main/AccelByte.Sdk/Api/Challenge/Operation/PlayerReward/AdminClaimUsersRewards.cs'
example: |-
try
{
var operation = sdk.Challenge.PlayerReward.AdminClaimUsersRewardsOp
.Build();
var response = sdk.Challenge.PlayerReward.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@cs.challenge.fun':
id: 'AdminCreateAssignmentPlugin@cs.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:
- 'using AccelByte.Sdk.Core;'
- 'using AccelByte.Sdk.Api.Challenge.Model;'
- 'using AccelByte.Sdk.Api.Challenge.Operation;'
- 'using AccelByte.Sdk.Api.Challenge.Wrapper;'
files:
- 'https://github.com/AccelByte/accelbyte-csharp-sdk/blob/main/AccelByte.Sdk/Api/Challenge/Wrapper/Plugins.cs'
- 'https://github.com/AccelByte/accelbyte-csharp-sdk/blob/main/AccelByte.Sdk/Api/Challenge/Operation/Plugins/AdminCreateAssignmentPlugin.cs'
example: |-
try
{
var operation = sdk.Challenge.Plugins.AdminCreateAssignmentPluginOp
.Build();
var response = sdk.Challenge.Plugins.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@cs.challenge.fun':
id: 'AdminCreateChallenge@cs.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:
- 'using AccelByte.Sdk.Core;'
- 'using AccelByte.Sdk.Api.Challenge.Model;'
- 'using AccelByte.Sdk.Api.Challenge.Operation;'
- 'using AccelByte.Sdk.Api.Challenge.Wrapper;'
files:
- 'https://github.com/AccelByte/accelbyte-csharp-sdk/blob/main/AccelByte.Sdk/Api/Challenge/Wrapper/ChallengeConfiguration.cs'
- 'https://github.com/AccelByte/accelbyte-csharp-sdk/blob/main/AccelByte.Sdk/Api/Challenge/Operation/ChallengeConfiguration/AdminCreateChallenge.cs'
example: |-
try
{
var operation = sdk.Challenge.ChallengeConfiguration.AdminCreateChallengeOp
.Build();
var response = sdk.Challenge.ChallengeConfiguration.AdminCreateChallenge(operation);
}
catch (HttpResponseException e) { /* Handle exceptions. */ }
catch (Exception e) { /* Handle exceptions. */ }
tags:
- 'admin'
- 'challenge'
- 'configuration'
- 'create'
permissions:
- 'ADMIN:NAMESPACE:{namespace}:CHALLENGE [CREATE]'
'AdminCreateGoal@cs.challenge.fun':
id: 'AdminCreateGoal@cs.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:
- 'using AccelByte.Sdk.Core;'
- 'using AccelByte.Sdk.Api.Challenge.Model;'
- 'using AccelByte.Sdk.Api.Challenge.Operation;'
- 'using AccelByte.Sdk.Api.Challenge.Wrapper;'
files:
- 'https://github.com/AccelByte/accelbyte-csharp-sdk/blob/main/AccelByte.Sdk/Api/Challenge/Wrapper/GoalConfiguration.cs'
- 'https://github.com/AccelByte/accelbyte-csharp-sdk/blob/main/AccelByte.Sdk/Api/Challenge/Operation/GoalConfiguration/AdminCreateGoal.cs'
example: |-
try
{
var operation = sdk.Challenge.GoalConfiguration.AdminCreateGoalOp
.Build();
var response = sdk.Challenge.GoalConfiguration.AdminCreateGoal(operation);
}
catch (HttpResponseException e) { /* Handle exceptions. */ }
catch (Exception e) { /* Handle exceptions. */ }
tags:
- 'admin'
- 'configuration'
- 'create'
- 'goal'
permissions:
- 'ADMIN:NAMESPACE:{namespace}:CHALLENGE [CREATE]'
'AdminDeleteAssignmentPlugin@cs.challenge.fun':
id: 'AdminDeleteAssignmentPlugin@cs.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:
- 'using AccelByte.Sdk.Core;'
- 'using AccelByte.Sdk.Api.Challenge.Model;'
- 'using AccelByte.Sdk.Api.Challenge.Operation;'
- 'using AccelByte.Sdk.Api.Challenge.Wrapper;'
files:
- 'https://github.com/AccelByte/accelbyte-csharp-sdk/blob/main/AccelByte.Sdk/Api/Challenge/Wrapper/Plugins.cs'
- 'https://github.com/AccelByte/accelbyte-csharp-sdk/blob/main/AccelByte.Sdk/Api/Challenge/Operation/Plugins/AdminDeleteAssignmentPlugin.cs'
example: |-
try
{
var operation = sdk.Challenge.Plugins.AdminDeleteAssignmentPluginOp
.Build();
sdk.Challenge.Plugins.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@cs.challenge.fun':
id: 'AdminDeleteChallenge@cs.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:
- 'using AccelByte.Sdk.Core;'
- 'using AccelByte.Sdk.Api.Challenge.Model;'
- 'using AccelByte.Sdk.Api.Challenge.Operation;'
- 'using AccelByte.Sdk.Api.Challenge.Wrapper;'
files:
- 'https://github.com/AccelByte/accelbyte-csharp-sdk/blob/main/AccelByte.Sdk/Api/Challenge/Wrapper/ChallengeConfiguration.cs'
- 'https://github.com/AccelByte/accelbyte-csharp-sdk/blob/main/AccelByte.Sdk/Api/Challenge/Operation/ChallengeConfiguration/AdminDeleteChallenge.cs'
example: |-
try
{
var operation = sdk.Challenge.ChallengeConfiguration.AdminDeleteChallengeOp
.Build();
sdk.Challenge.ChallengeConfiguration.AdminDeleteChallenge(operation);
}
catch (HttpResponseException e) { /* Handle exceptions. */ }
catch (Exception e) { /* Handle exceptions. */ }
tags:
- 'admin'
- 'challenge'
- 'configuration'
- 'delete'
permissions:
- 'ADMIN:NAMESPACE:{namespace}:CHALLENGE [DELETE]'
'AdminDeleteGoal@cs.challenge.fun':
id: 'AdminDeleteGoal@cs.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:
- 'using AccelByte.Sdk.Core;'
- 'using AccelByte.Sdk.Api.Challenge.Model;'
- 'using AccelByte.Sdk.Api.Challenge.Operation;'
- 'using AccelByte.Sdk.Api.Challenge.Wrapper;'
files:
- 'https://github.com/AccelByte/accelbyte-csharp-sdk/blob/main/AccelByte.Sdk/Api/Challenge/Wrapper/GoalConfiguration.cs'
- 'https://github.com/AccelByte/accelbyte-csharp-sdk/blob/main/AccelByte.Sdk/Api/Challenge/Operation/GoalConfiguration/AdminDeleteGoal.cs'
example: |-
try
{
var operation = sdk.Challenge.GoalConfiguration.AdminDeleteGoalOp
.Build();
sdk.Challenge.GoalConfiguration.AdminDeleteGoal(operation);
}
catch (HttpResponseException e) { /* Handle exceptions. */ }
catch (Exception e) { /* Handle exceptions. */ }
tags:
- 'admin'
- 'configuration'
- 'delete'
- 'goal'
permissions:
- 'ADMIN:NAMESPACE:{namespace}:CHALLENGE [DELETE]'
'AdminDeleteTiedChallenge@cs.challenge.fun':
id: 'AdminDeleteTiedChallenge@cs.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:
- 'using AccelByte.Sdk.Core;'
- 'using AccelByte.Sdk.Api.Challenge.Model;'
- 'using AccelByte.Sdk.Api.Challenge.Operation;'
- 'using AccelByte.Sdk.Api.Challenge.Wrapper;'
files:
- 'https://github.com/AccelByte/accelbyte-csharp-sdk/blob/main/AccelByte.Sdk/Api/Challenge/Wrapper/ChallengeConfiguration.cs'
- 'https://github.com/AccelByte/accelbyte-csharp-sdk/blob/main/AccelByte.Sdk/Api/Challenge/Operation/ChallengeConfiguration/AdminDeleteTiedChallenge.cs'
example: |-
try
{
var operation = sdk.Challenge.ChallengeConfiguration.AdminDeleteTiedChallengeOp
.Build();
sdk.Challenge.ChallengeConfiguration.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@cs.challenge.fun':
id: 'AdminEvaluateProgress@cs.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:
- 'using AccelByte.Sdk.Core;'
- 'using AccelByte.Sdk.Api.Challenge.Model;'
- 'using AccelByte.Sdk.Api.Challenge.Operation;'
- 'using AccelByte.Sdk.Api.Challenge.Wrapper;'
files:
- 'https://github.com/AccelByte/accelbyte-csharp-sdk/blob/main/AccelByte.Sdk/Api/Challenge/Wrapper/ChallengeProgression.cs'
- 'https://github.com/AccelByte/accelbyte-csharp-sdk/blob/main/AccelByte.Sdk/Api/Challenge/Operation/ChallengeProgression/AdminEvaluateProgress.cs'
example: |-
try
{
var operation = sdk.Challenge.ChallengeProgression.AdminEvaluateProgressOp
.SetChallengeCode(...)
.Build(
body,
namespace_,
);
sdk.Challenge.ChallengeProgression.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@cs.challenge.fun':
id: 'AdminGetActiveChallenges@cs.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: 'long'
required: false
description: |-
limit the amount of data retrieved
'Namespace':
type: 'string'
required: true
description: |-
namespace of the game
'Offset':
type: 'long'
required: false
description: |-
offset
'UserId':
type: 'string'
required: true
description: |-
user id
return_type: 'ModelListChallengeResponse'
imports:
- 'using AccelByte.Sdk.Core;'
- 'using AccelByte.Sdk.Api.Challenge.Model;'
- 'using AccelByte.Sdk.Api.Challenge.Operation;'
- 'using AccelByte.Sdk.Api.Challenge.Wrapper;'
files:
- 'https://github.com/AccelByte/accelbyte-csharp-sdk/blob/main/AccelByte.Sdk/Api/Challenge/Wrapper/ChallengeConfiguration.cs'
- 'https://github.com/AccelByte/accelbyte-csharp-sdk/blob/main/AccelByte.Sdk/Api/Challenge/Operation/ChallengeConfiguration/AdminGetActiveChallenges.cs'
example: |-
try
{
var operation = sdk.Challenge.ChallengeConfiguration.AdminGetActiveChallengesOp
.SetLimit(...)
.SetOffset(...)
.Build(
namespace_,
userId,
);
var response = sdk.Challenge.ChallengeConfiguration.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@cs.challenge.fun':
id: 'AdminGetAssignmentPlugin@cs.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:
- 'using AccelByte.Sdk.Core;'
- 'using AccelByte.Sdk.Api.Challenge.Model;'
- 'using AccelByte.Sdk.Api.Challenge.Operation;'
- 'using AccelByte.Sdk.Api.Challenge.Wrapper;'
files:
- 'https://github.com/AccelByte/accelbyte-csharp-sdk/blob/main/AccelByte.Sdk/Api/Challenge/Wrapper/Plugins.cs'
- 'https://github.com/AccelByte/accelbyte-csharp-sdk/blob/main/AccelByte.Sdk/Api/Challenge/Operation/Plugins/AdminGetAssignmentPlugin.cs'
example: |-
try
{
var operation = sdk.Challenge.Plugins.AdminGetAssignmentPluginOp
.Build();
var response = sdk.Challenge.Plugins.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@cs.challenge.fun':
id: 'AdminGetChallenge@cs.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:
- 'using AccelByte.Sdk.Core;'
- 'using AccelByte.Sdk.Api.Challenge.Model;'
- 'using AccelByte.Sdk.Api.Challenge.Operation;'
- 'using AccelByte.Sdk.Api.Challenge.Wrapper;'
files:
- 'https://github.com/AccelByte/accelbyte-csharp-sdk/blob/main/AccelByte.Sdk/Api/Challenge/Wrapper/ChallengeConfiguration.cs'
- 'https://github.com/AccelByte/accelbyte-csharp-sdk/blob/main/AccelByte.Sdk/Api/Challenge/Operation/ChallengeConfiguration/AdminGetChallenge.cs'
example: |-
try
{
var operation = sdk.Challenge.ChallengeConfiguration.AdminGetChallengeOp
.Build();
var response = sdk.Challenge.ChallengeConfiguration.AdminGetChallenge(operation);
}
catch (HttpResponseException e) { /* Handle exceptions. */ }
catch (Exception e) { /* Handle exceptions. */ }
tags:
- 'admin'
- 'challenge'
- 'configuration'
- 'get'
permissions:
- 'ADMIN:NAMESPACE:{namespace}:CHALLENGE [READ]'
'AdminGetChallenges@cs.challenge.fun':
id: 'AdminGetChallenges@cs.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: 'long'
required: false
description: |-
limit the amount of data retrieved
'Namespace':
type: 'string'
required: true
description: |-
namespace of the game
'Offset':
type: 'long'
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:
- 'using AccelByte.Sdk.Core;'
- 'using AccelByte.Sdk.Api.Challenge.Model;'
- 'using AccelByte.Sdk.Api.Challenge.Operation;'
- 'using AccelByte.Sdk.Api.Challenge.Wrapper;'
files:
- 'https://github.com/AccelByte/accelbyte-csharp-sdk/blob/main/AccelByte.Sdk/Api/Challenge/Wrapper/ChallengeConfiguration.cs'
- 'https://github.com/AccelByte/accelbyte-csharp-sdk/blob/main/AccelByte.Sdk/Api/Challenge/Operation/ChallengeConfiguration/AdminGetChallenges.cs'
example: |-
try
{
var operation = sdk.Challenge.ChallengeConfiguration.AdminGetChallengesOp
.SetKeyword(...)
.SetLimit(...)
.SetOffset(...)
.SetSortBy(...)
.SetStatus(...)
.SetTags(...)
.Build(
namespace_,
);
var response = sdk.Challenge.ChallengeConfiguration.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@cs.challenge.fun':
id: 'AdminGetGoal@cs.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:
- 'using AccelByte.Sdk.Core;'
- 'using AccelByte.Sdk.Api.Challenge.Model;'
- 'using AccelByte.Sdk.Api.Challenge.Operation;'
- 'using AccelByte.Sdk.Api.Challenge.Wrapper;'
files:
- 'https://github.com/AccelByte/accelbyte-csharp-sdk/blob/main/AccelByte.Sdk/Api/Challenge/Wrapper/GoalConfiguration.cs'
- 'https://github.com/AccelByte/accelbyte-csharp-sdk/blob/main/AccelByte.Sdk/Api/Challenge/Operation/GoalConfiguration/AdminGetGoal.cs'
example: |-
try
{
var operation = sdk.Challenge.GoalConfiguration.AdminGetGoalOp
.Build();
var response = sdk.Challenge.GoalConfiguration.AdminGetGoal(operation);
}
catch (HttpResponseException e) { /* Handle exceptions. */ }
catch (Exception e) { /* Handle exceptions. */ }
tags:
- 'admin'
- 'configuration'
- 'get'
- 'goal'
permissions:
- 'ADMIN:NAMESPACE:{namespace}:CHALLENGE [READ]'
'AdminGetGoals@cs.challenge.fun':
id: 'AdminGetGoals@cs.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: 'long'
required: false
description: |-
limit the amount of data retrieved
'Namespace':
type: 'string'
required: true
description: |-
namespace of the game
'Offset':
type: 'long'
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:
- 'using AccelByte.Sdk.Core;'
- 'using AccelByte.Sdk.Api.Challenge.Model;'
- 'using AccelByte.Sdk.Api.Challenge.Operation;'
- 'using AccelByte.Sdk.Api.Challenge.Wrapper;'
files:
- 'https://github.com/AccelByte/accelbyte-csharp-sdk/blob/main/AccelByte.Sdk/Api/Challenge/Wrapper/GoalConfiguration.cs'
- 'https://github.com/AccelByte/accelbyte-csharp-sdk/blob/main/AccelByte.Sdk/Api/Challenge/Operation/GoalConfiguration/AdminGetGoals.cs'
example: |-
try
{
var operation = sdk.Challenge.GoalConfiguration.AdminGetGoalsOp
.SetLimit(...)
.SetOffset(...)
.SetSortBy(...)
.SetTags(...)
.Build(
challengeCode,
namespace_,
);
var response = sdk.Challenge.GoalConfiguration.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@cs.challenge.fun':
id: 'AdminGetItemReferences@cs.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:
- 'using AccelByte.Sdk.Core;'
- 'using AccelByte.Sdk.Api.Challenge.Model;'
- 'using AccelByte.Sdk.Api.Challenge.Operation;'
- 'using AccelByte.Sdk.Api.Challenge.Wrapper;'
files:
- 'https://github.com/AccelByte/accelbyte-csharp-sdk/blob/main/AccelByte.Sdk/Api/Challenge/Wrapper/Utilities.cs'
- 'https://github.com/AccelByte/accelbyte-csharp-sdk/blob/main/AccelByte.Sdk/Api/Challenge/Operation/Utilities/AdminGetItemReferences.cs'
example: |-
try
{
var operation = sdk.Challenge.Utilities.AdminGetItemReferencesOp
.Build();
var response = sdk.Challenge.Utilities.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@cs.challenge.fun':
id: 'AdminGetPeriods@cs.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: 'long'
required: false
description: |-
limit the amount of data retrieved
'Namespace':
type: 'string'
required: true
description: |-
namespace of the game
'Offset':
type: 'long'
required: false
description: |-
offset
return_type: 'ModelListPeriodsResponse'
imports:
- 'using AccelByte.Sdk.Core;'
- 'using AccelByte.Sdk.Api.Challenge.Model;'
- 'using AccelByte.Sdk.Api.Challenge.Operation;'
- 'using AccelByte.Sdk.Api.Challenge.Wrapper;'
files:
- 'https://github.com/AccelByte/accelbyte-csharp-sdk/blob/main/AccelByte.Sdk/Api/Challenge/Wrapper/ChallengeConfiguration.cs'
- 'https://github.com/AccelByte/accelbyte-csharp-sdk/blob/main/AccelByte.Sdk/Api/Challenge/Operation/ChallengeConfiguration/AdminGetPeriods.cs'
example: |-
try
{
var operation = sdk.Challenge.ChallengeConfiguration.AdminGetPeriodsOp
.SetLimit(...)
.SetOffset(...)
.Build(
challengeCode,
namespace_,
);
var response = sdk.Challenge.ChallengeConfiguration.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@cs.challenge.fun':
id: 'AdminGetUserProgression@cs.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: 'DateTime'
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: 'long'
required: false
description: |-
limit the amount of data retrieved
'Namespace':
type: 'string'
required: true
description: |-
namespace of the game
'Offset':
type: 'long'
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:
- 'using AccelByte.Sdk.Core;'
- 'using AccelByte.Sdk.Api.Challenge.Model;'
- 'using AccelByte.Sdk.Api.Challenge.Operation;'
- 'using AccelByte.Sdk.Api.Challenge.Wrapper;'
files:
- 'https://github.com/AccelByte/accelbyte-csharp-sdk/blob/main/AccelByte.Sdk/Api/Challenge/Wrapper/ChallengeProgression.cs'
- 'https://github.com/AccelByte/accelbyte-csharp-sdk/blob/main/AccelByte.Sdk/Api/Challenge/Operation/ChallengeProgression/AdminGetUserProgression.cs'
example: |-
try
{
var operation = sdk.Challenge.ChallengeProgression.AdminGetUserProgressionOp
.SetDateTime(...)
.SetGoalCode(...)
.SetLimit(...)
.SetOffset(...)
.SetTags(...)
.Build(
challengeCode,
namespace_,
userId,
);
var response = sdk.Challenge.ChallengeProgression.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@cs.challenge.fun':
id: 'AdminGetUserRewards@cs.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: 'long'
required: false
description: |-
limit the amount of data retrieved
'Namespace':
type: 'string'
required: true
description: |-
namespace of the game
'Offset':
type: 'long'
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:
- 'using AccelByte.Sdk.Core;'
- 'using AccelByte.Sdk.Api.Challenge.Model;'
- 'using AccelByte.Sdk.Api.Challenge.Operation;'
- 'using AccelByte.Sdk.Api.Challenge.Wrapper;'
files:
- 'https://github.com/AccelByte/accelbyte-csharp-sdk/blob/main/AccelByte.Sdk/Api/Challenge/Wrapper/PlayerReward.cs'
- 'https://github.com/AccelByte/accelbyte-csharp-sdk/blob/main/AccelByte.Sdk/Api/Challenge/Operation/PlayerReward/AdminGetUserRewards.cs'
example: |-
try
{
var operation = sdk.Challenge.PlayerReward.AdminGetUserRewardsOp
.SetChallengeCode(...)
.SetGoalProgressionId(...)
.SetLimit(...)
.SetOffset(...)
.SetSortBy(...)
.SetStatus(...)
.Build(
namespace_,
userId,
);
var response = sdk.Challenge.PlayerReward.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@cs.challenge.fun':
id: 'AdminListSchedules@cs.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: 'DateTime'
required: false
description: |-
use RFC3339 format(2006-01-02T15:04:05Z).
'Limit':
type: 'long'
required: false
description: |-
limit the amount of data retrieved
'Namespace':
type: 'string'
required: true
description: |-
namespace of the game
'Offset':
type: 'long'
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:
- 'using AccelByte.Sdk.Core;'
- 'using AccelByte.Sdk.Api.Challenge.Model;'
- 'using AccelByte.Sdk.Api.Challenge.Operation;'
- 'using AccelByte.Sdk.Api.Challenge.Wrapper;'
files:
- 'https://github.com/AccelByte/accelbyte-csharp-sdk/blob/main/AccelByte.Sdk/Api/Challenge/Wrapper/Schedules.cs'
- 'https://github.com/AccelByte/accelbyte-csharp-sdk/blob/main/AccelByte.Sdk/Api/Challenge/Operation/Schedules/AdminListSchedules.cs'
example: |-
try
{
var operation = sdk.Challenge.Schedules.AdminListSchedulesOp
.SetDateTime(...)
.SetLimit(...)
.SetOffset(...)
.SetUserId(...)
.Build(
challengeCode,
namespace_,
);
var response = sdk.Challenge.Schedules.AdminListSchedules(operation);
}
catch (HttpResponseException e) { /* Handle exceptions. */ }
catch (Exception e) { /* Handle exceptions. */ }
tags:
- 'admin'
- 'list'
- 'schedules'
'AdminListSchedulesByGoal@cs.challenge.fun':
id: 'AdminListSchedulesByGoal@cs.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: 'long'
required: false
description: |-
limit the amount of data retrieved
'Namespace':
type: 'string'
required: true
description: |-
namespace of the game
'Offset':
type: 'long'
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:
- 'using AccelByte.Sdk.Core;'
- 'using AccelByte.Sdk.Api.Challenge.Model;'
- 'using AccelByte.Sdk.Api.Challenge.Operation;'
- 'using AccelByte.Sdk.Api.Challenge.Wrapper;'
files:
- 'https://github.com/AccelByte/accelbyte-csharp-sdk/blob/main/AccelByte.Sdk/Api/Challenge/Wrapper/Schedules.cs'
- 'https://github.com/AccelByte/accelbyte-csharp-sdk/blob/main/AccelByte.Sdk/Api/Challenge/Operation/Schedules/AdminListSchedulesByGoal.cs'
example: |-
try
{
var operation = sdk.Challenge.Schedules.AdminListSchedulesByGoalOp
.SetLimit(...)
.SetOffset(...)
.SetUserId(...)
.Build(
challengeCode,
code,
namespace_,
);
var response = sdk.Challenge.Schedules.AdminListSchedulesByGoal(operation);
}
catch (HttpResponseException e) { /* Handle exceptions. */ }
catch (Exception e) { /* Handle exceptions. */ }
tags:
- 'admin'
- 'by'
- 'goal'
- 'list'
- 'schedules'
'AdminRandomizeChallenge@cs.challenge.fun':
id: 'AdminRandomizeChallenge@cs.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:
- 'using AccelByte.Sdk.Core;'
- 'using AccelByte.Sdk.Api.Challenge.Model;'
- 'using AccelByte.Sdk.Api.Challenge.Operation;'
- 'using AccelByte.Sdk.Api.Challenge.Wrapper;'
files:
- 'https://github.com/AccelByte/accelbyte-csharp-sdk/blob/main/AccelByte.Sdk/Api/Challenge/Wrapper/ChallengeConfiguration.cs'
- 'https://github.com/AccelByte/accelbyte-csharp-sdk/blob/main/AccelByte.Sdk/Api/Challenge/Operation/ChallengeConfiguration/AdminRandomizeChallenge.cs'
example: |-
try
{
var operation = sdk.Challenge.ChallengeConfiguration.AdminRandomizeChallengeOp
.Build();
var response = sdk.Challenge.ChallengeConfiguration.AdminRandomizeChallenge(operation);
}
catch (HttpResponseException e) { /* Handle exceptions. */ }
catch (Exception e) { /* Handle exceptions. */ }
tags:
- 'admin'
- 'challenge'
- 'configuration'
- 'randomize'
permissions:
- 'ADMIN:NAMESPACE:{namespace}:CHALLENGE [UPDATE]'
'AdminUpdateAssignmentPlugin@cs.challenge.fun':
id: 'AdminUpdateAssignmentPlugin@cs.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:
- 'using AccelByte.Sdk.Core;'
- 'using AccelByte.Sdk.Api.Challenge.Model;'
- 'using AccelByte.Sdk.Api.Challenge.Operation;'
- 'using AccelByte.Sdk.Api.Challenge.Wrapper;'
files:
- 'https://github.com/AccelByte/accelbyte-csharp-sdk/blob/main/AccelByte.Sdk/Api/Challenge/Wrapper/Plugins.cs'
- 'https://github.com/AccelByte/accelbyte-csharp-sdk/blob/main/AccelByte.Sdk/Api/Challenge/Operation/Plugins/AdminUpdateAssignmentPlugin.cs'
example: |-
try
{
var operation = sdk.Challenge.Plugins.AdminUpdateAssignmentPluginOp
.Build();
var response = sdk.Challenge.Plugins.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@cs.challenge.fun':
id: 'AdminUpdateChallenge@cs.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:
- 'using AccelByte.Sdk.Core;'
- 'using AccelByte.Sdk.Api.Challenge.Model;'
- 'using AccelByte.Sdk.Api.Challenge.Operation;'
- 'using AccelByte.Sdk.Api.Challenge.Wrapper;'
files:
- 'https://github.com/AccelByte/accelbyte-csharp-sdk/blob/main/AccelByte.Sdk/Api/Challenge/Wrapper/ChallengeConfiguration.cs'
- 'https://github.com/AccelByte/accelbyte-csharp-sdk/blob/main/AccelByte.Sdk/Api/Challenge/Operation/ChallengeConfiguration/AdminUpdateChallenge.cs'
example: |-
try
{
var operation = sdk.Challenge.ChallengeConfiguration.AdminUpdateChallengeOp
.Build();
var response = sdk.Challenge.ChallengeConfiguration.AdminUpdateChallenge(operation);
}
catch (HttpResponseException e) { /* Handle exceptions. */ }
catch (Exception e) { /* Handle exceptions. */ }
tags:
- 'admin'
- 'challenge'
- 'configuration'
- 'update'
permissions:
- 'ADMIN:NAMESPACE:{namespace}:CHALLENGE [UPDATE]'
'AdminUpdateGoals@cs.challenge.fun':
id: 'AdminUpdateGoals@cs.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:
- 'using AccelByte.Sdk.Core;'
- 'using AccelByte.Sdk.Api.Challenge.Model;'
- 'using AccelByte.Sdk.Api.Challenge.Operation;'
- 'using AccelByte.Sdk.Api.Challenge.Wrapper;'
files:
- 'https://github.com/AccelByte/accelbyte-csharp-sdk/blob/main/AccelByte.Sdk/Api/Challenge/Wrapper/GoalConfiguration.cs'
- 'https://github.com/AccelByte/accelbyte-csharp-sdk/blob/main/AccelByte.Sdk/Api/Challenge/Operation/GoalConfiguration/AdminUpdateGoals.cs'
example: |-
try
{
var operation = sdk.Challenge.GoalConfiguration.AdminUpdateGoalsOp
.Build();
var response = sdk.Challenge.GoalConfiguration.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@cs.challenge.fun':
id: 'AdminUpdateTiedChallengeSchedule@cs.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:
- 'using AccelByte.Sdk.Core;'
- 'using AccelByte.Sdk.Api.Challenge.Model;'
- 'using AccelByte.Sdk.Api.Challenge.Operation;'
- 'using AccelByte.Sdk.Api.Challenge.Wrapper;'
files:
- 'https://github.com/AccelByte/accelbyte-csharp-sdk/blob/main/AccelByte.Sdk/Api/Challenge/Wrapper/ChallengeConfiguration.cs'
- 'https://github.com/AccelByte/accelbyte-csharp-sdk/blob/main/AccelByte.Sdk/Api/Challenge/Operation/ChallengeConfiguration/AdminUpdateTiedChallengeSchedule.cs'
example: |-
try
{
var operation = sdk.Challenge.ChallengeConfiguration.AdminUpdateTiedChallengeScheduleOp
.Build();
var response = sdk.Challenge.ChallengeConfiguration.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@cs.challenge.fun':
id: 'EvaluateMyProgress@cs.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:
- 'using AccelByte.Sdk.Core;'
- 'using AccelByte.Sdk.Api.Challenge.Model;'
- 'using AccelByte.Sdk.Api.Challenge.Operation;'
- 'using AccelByte.Sdk.Api.Challenge.Wrapper;'
files:
- 'https://github.com/AccelByte/accelbyte-csharp-sdk/blob/main/AccelByte.Sdk/Api/Challenge/Wrapper/ChallengeProgression.cs'
- 'https://github.com/AccelByte/accelbyte-csharp-sdk/blob/main/AccelByte.Sdk/Api/Challenge/Operation/ChallengeProgression/EvaluateMyProgress.cs'
example: |-
try
{
var operation = sdk.Challenge.ChallengeProgression.EvaluateMyProgressOp
.SetChallengeCode(...)
.Build(
namespace_,
);
sdk.Challenge.ChallengeProgression.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@cs.challenge.fun':
id: 'GetChallenges@cs.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: 'long'
required: false
description: |-
limit the amount of data retrieved
'Namespace':
type: 'string'
required: true
description: |-
namespace of the game
'Offset':
type: 'long'
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:
- 'using AccelByte.Sdk.Core;'
- 'using AccelByte.Sdk.Api.Challenge.Model;'
- 'using AccelByte.Sdk.Api.Challenge.Operation;'
- 'using AccelByte.Sdk.Api.Challenge.Wrapper;'
files:
- 'https://github.com/AccelByte/accelbyte-csharp-sdk/blob/main/AccelByte.Sdk/Api/Challenge/Wrapper/ChallengeList.cs'
- 'https://github.com/AccelByte/accelbyte-csharp-sdk/blob/main/AccelByte.Sdk/Api/Challenge/Operation/ChallengeList/GetChallenges.cs'
example: |-
try
{
var operation = sdk.Challenge.ChallengeList.GetChallengesOp
.SetKeyword(...)
.SetLimit(...)
.SetOffset(...)
.SetSortBy(...)
.SetStatus(...)
.SetTags(...)
.Build(
namespace_,
);
var response = sdk.Challenge.ChallengeList.GetChallenges(operation);
}
catch (HttpResponseException e) { /* Handle exceptions. */ }
catch (Exception e) { /* Handle exceptions. */ }
tags:
- 'challenge'
- 'challenges'
- 'get'
- 'list'
permissions:
- 'NAMESPACE:{namespace}:CHALLENGE [READ]'
'PublicClaimUserRewards@cs.challenge.fun':
id: 'PublicClaimUserRewards@cs.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:
- 'using AccelByte.Sdk.Core;'
- 'using AccelByte.Sdk.Api.Challenge.Model;'
- 'using AccelByte.Sdk.Api.Challenge.Operation;'
- 'using AccelByte.Sdk.Api.Challenge.Wrapper;'
files:
- 'https://github.com/AccelByte/accelbyte-csharp-sdk/blob/main/AccelByte.Sdk/Api/Challenge/Wrapper/PlayerReward.cs'
- 'https://github.com/AccelByte/accelbyte-csharp-sdk/blob/main/AccelByte.Sdk/Api/Challenge/Operation/PlayerReward/PublicClaimUserRewards.cs'
example: |-
try
{
var operation = sdk.Challenge.PlayerReward.PublicClaimUserRewardsOp
.Build();
var response = sdk.Challenge.PlayerReward.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@cs.challenge.fun':
id: 'PublicClaimUserRewardsByGoalCode@cs.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:
- 'using AccelByte.Sdk.Core;'
- 'using AccelByte.Sdk.Api.Challenge.Model;'
- 'using AccelByte.Sdk.Api.Challenge.Operation;'
- 'using AccelByte.Sdk.Api.Challenge.Wrapper;'
files:
- 'https://github.com/AccelByte/accelbyte-csharp-sdk/blob/main/AccelByte.Sdk/Api/Challenge/Wrapper/PlayerReward.cs'
- 'https://github.com/AccelByte/accelbyte-csharp-sdk/blob/main/AccelByte.Sdk/Api/Challenge/Operation/PlayerReward/PublicClaimUserRewardsByGoalCode.cs'
example: |-
try
{
var operation = sdk.Challenge.PlayerReward.PublicClaimUserRewardsByGoalCodeOp
.Build();
var response = sdk.Challenge.PlayerReward.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@cs.challenge.fun':
id: 'PublicGetPastUserProgression@cs.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: 'long'
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: 'long'
required: false
description: |-
limit the amount of data retrieved
'Namespace':
type: 'string'
required: true
description: |-
namespace of the game
'Offset':
type: 'long'
required: false
description: |-
offset
'Tags':
type: 'List<string>'
required: false
description: |-
filter goals by tags, comma separated value
return_type: 'ModelUserProgressionResponse'
imports:
- 'using AccelByte.Sdk.Core;'
- 'using AccelByte.Sdk.Api.Challenge.Model;'
- 'using AccelByte.Sdk.Api.Challenge.Operation;'
- 'using AccelByte.Sdk.Api.Challenge.Wrapper;'
files:
- 'https://github.com/AccelByte/accelbyte-csharp-sdk/blob/main/AccelByte.Sdk/Api/Challenge/Wrapper/ChallengeProgression.cs'
- 'https://github.com/AccelByte/accelbyte-csharp-sdk/blob/main/AccelByte.Sdk/Api/Challenge/Operation/ChallengeProgression/PublicGetPastUserProgression.cs'
example: |-
try
{
var operation = sdk.Challenge.ChallengeProgression.PublicGetPastUserProgressionOp
.SetGoalCode(...)
.SetLimit(...)
.SetOffset(...)
.SetTags(...)
.Build(
challengeCode,
index,
namespace_,
);
var response = sdk.Challenge.ChallengeProgression.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@cs.challenge.fun':
id: 'PublicGetScheduledGoals@cs.challenge.fun'
name: 'PublicGetScheduledGoals'
type: 'function'
description: |-
- Required permission: NAMESPACE:{namespace}:CHALLENGE [READ]
arguments:
'ChallengeCode':
type: 'string'
required: true
description: |-
challenge code
'Limit':
type: 'long'
required: false
description: |-
limit the amount of data retrieved
'Namespace':
type: 'string'
required: true
description: |-
namespace of the game
'Offset':
type: 'long'
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:
- 'using AccelByte.Sdk.Core;'
- 'using AccelByte.Sdk.Api.Challenge.Model;'
- 'using AccelByte.Sdk.Api.Challenge.Operation;'
- 'using AccelByte.Sdk.Api.Challenge.Wrapper;'
files:
- 'https://github.com/AccelByte/accelbyte-csharp-sdk/blob/main/AccelByte.Sdk/Api/Challenge/Wrapper/ChallengeList.cs'
- 'https://github.com/AccelByte/accelbyte-csharp-sdk/blob/main/AccelByte.Sdk/Api/Challenge/Operation/ChallengeList/PublicGetScheduledGoals.cs'
example: |-
try
{
var operation = sdk.Challenge.ChallengeList.PublicGetScheduledGoalsOp
.SetLimit(...)
.SetOffset(...)
.SetSortBy(...)
.SetTags(...)
.Build(
challengeCode,
namespace_,
);
var response = sdk.Challenge.ChallengeList.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@cs.challenge.fun':
id: 'PublicGetUserProgression@cs.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: 'DateTime'
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: 'long'
required: false
description: |-
limit the amount of data retrieved
'Namespace':
type: 'string'
required: true
description: |-
namespace of the game
'Offset':
type: 'long'
required: false
description: |-
offset
'Tags':
type: 'List<string>'
required: false
description: |-
filter goals by tags, comma separated value
return_type: 'ModelUserProgressionResponse'
imports:
- 'using AccelByte.Sdk.Core;'
- 'using AccelByte.Sdk.Api.Challenge.Model;'
- 'using AccelByte.Sdk.Api.Challenge.Operation;'
- 'using AccelByte.Sdk.Api.Challenge.Wrapper;'
files:
- 'https://github.com/AccelByte/accelbyte-csharp-sdk/blob/main/AccelByte.Sdk/Api/Challenge/Wrapper/ChallengeProgression.cs'
- 'https://github.com/AccelByte/accelbyte-csharp-sdk/blob/main/AccelByte.Sdk/Api/Challenge/Operation/ChallengeProgression/PublicGetUserProgression.cs'
example: |-
try
{
var operation = sdk.Challenge.ChallengeProgression.PublicGetUserProgressionOp
.SetDateTime(...)
.SetGoalCode(...)
.SetLimit(...)
.SetOffset(...)
.SetTags(...)
.Build(
challengeCode,
namespace_,
);
var response = sdk.Challenge.ChallengeProgression.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@cs.challenge.fun':
id: 'PublicGetUserRewards@cs.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: 'long'
required: false
description: |-
limit the amount of data retrieved
'Namespace':
type: 'string'
required: true
description: |-
namespace of the game
'Offset':
type: 'long'
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:
- 'using AccelByte.Sdk.Core;'
- 'using AccelByte.Sdk.Api.Challenge.Model;'
- 'using AccelByte.Sdk.Api.Challenge.Operation;'
- 'using AccelByte.Sdk.Api.Challenge.Wrapper;'
files:
- 'https://github.com/AccelByte/accelbyte-csharp-sdk/blob/main/AccelByte.Sdk/Api/Challenge/Wrapper/PlayerReward.cs'
- 'https://github.com/AccelByte/accelbyte-csharp-sdk/blob/main/AccelByte.Sdk/Api/Challenge/Operation/PlayerReward/PublicGetUserRewards.cs'
example: |-
try
{
var operation = sdk.Challenge.PlayerReward.PublicGetUserRewardsOp
.SetChallengeCode(...)
.SetGoalProgressionId(...)
.SetLimit(...)
.SetOffset(...)
.SetSortBy(...)
.SetStatus(...)
.Build(
namespace_,
);
var response = sdk.Challenge.PlayerReward.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@cs.challenge.fun':
id: 'PublicListSchedules@cs.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: 'DateTime'
required: false
description: |-
use RFC3339 format(2006-01-02T15:04:05Z).
'Limit':
type: 'long'
required: false
description: |-
limit the amount of data retrieved
'Namespace':
type: 'string'
required: true
description: |-
namespace of the game
'Offset':
type: 'long'
required: false
description: |-
offset
return_type: 'ModelListSchedulesResponse'
imports:
- 'using AccelByte.Sdk.Core;'
- 'using AccelByte.Sdk.Api.Challenge.Model;'
- 'using AccelByte.Sdk.Api.Challenge.Operation;'
- 'using AccelByte.Sdk.Api.Challenge.Wrapper;'
files:
- 'https://github.com/AccelByte/accelbyte-csharp-sdk/blob/main/AccelByte.Sdk/Api/Challenge/Wrapper/Schedules.cs'
- 'https://github.com/AccelByte/accelbyte-csharp-sdk/blob/main/AccelByte.Sdk/Api/Challenge/Operation/Schedules/PublicListSchedules.cs'
example: |-
try
{
var operation = sdk.Challenge.Schedules.PublicListSchedulesOp
.SetDateTime(...)
.SetLimit(...)
.SetOffset(...)
.Build(
challengeCode,
namespace_,
);
var response = sdk.Challenge.Schedules.PublicListSchedules(operation);
}
catch (HttpResponseException e) { /* Handle exceptions. */ }
catch (Exception e) { /* Handle exceptions. */ }
tags:
- 'list'
- 'public'
- 'schedules'
'PublicListSchedulesByGoal@cs.challenge.fun':
id: 'PublicListSchedulesByGoal@cs.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: 'long'
required: false
description: |-
limit the amount of data retrieved
'Namespace':
type: 'string'
required: true
description: |-
namespace of the game
'Offset':
type: 'long'
required: false
description: |-
offset
return_type: 'ModelListScheduleByGoalResponse'
imports:
- 'using AccelByte.Sdk.Core;'
- 'using AccelByte.Sdk.Api.Challenge.Model;'
- 'using AccelByte.Sdk.Api.Challenge.Operation;'
- 'using AccelByte.Sdk.Api.Challenge.Wrapper;'
files:
- 'https://github.com/AccelByte/accelbyte-csharp-sdk/blob/main/AccelByte.Sdk/Api/Challenge/Wrapper/Schedules.cs'
- 'https://github.com/AccelByte/accelbyte-csharp-sdk/blob/main/AccelByte.Sdk/Api/Challenge/Operation/Schedules/PublicListSchedulesByGoal.cs'
example: |-
try
{
var operation = sdk.Challenge.Schedules.PublicListSchedulesByGoalOp
.SetLimit(...)
.SetOffset(...)
.Build(
challengeCode,
code,
namespace_,
);
var response = sdk.Challenge.Schedules.PublicListSchedulesByGoal(operation);
}
catch (HttpResponseException e) { /* Handle exceptions. */ }
catch (Exception e) { /* Handle exceptions. */ }
tags:
- 'by'
- 'goal'
- 'list'
- 'public'
- 'schedules'
# endregion functions