symbols:
# region models
'ModelsAchievementOrderUpdateRequest@jv.achievement.mod':
id: 'ModelsAchievementOrderUpdateRequest@jv.achievement.mod'
name: 'ModelsAchievementOrderUpdateRequest'
type: 'model'
fields:
'targetOrder':
type: 'Integer'
required: true
imports:
- 'import java.util.*;'
- 'import net.accelbyte.sdk.api.achievement.models.*;'
files:
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/achievement/models/ModelsAchievementOrderUpdateRequest.java'
'ModelsAchievementRequest@jv.achievement.mod':
id: 'ModelsAchievementRequest@jv.achievement.mod'
name: 'ModelsAchievementRequest'
type: 'model'
fields:
'achievementCode':
type: 'String'
required: true
'defaultLanguage':
type: 'String'
required: true
'description':
type: 'Map<String, String>'
required: true
'goalValue':
type: 'Float'
required: true
'hidden':
type: 'Boolean'
required: true
'incremental':
type: 'Boolean'
required: true
'lockedIcons':
type: 'List<ModelsIcon>'
required: true
'name':
type: 'Map<String, String>'
required: true
'statCode':
type: 'String'
required: true
'tags':
type: 'List<String>'
required: true
'unlockedIcons':
type: 'List<ModelsIcon>'
required: true
'customAttributes':
type: 'Map<String, ?>'
required: false
'global':
type: 'Boolean'
required: false
imports:
- 'import java.util.*;'
- 'import net.accelbyte.sdk.api.achievement.models.*;'
files:
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/achievement/models/ModelsAchievementRequest.java'
'ModelsAchievementResponse@jv.achievement.mod':
id: 'ModelsAchievementResponse@jv.achievement.mod'
name: 'ModelsAchievementResponse'
type: 'model'
fields:
'achievementCode':
type: 'String'
required: true
'createdAt':
type: 'String'
required: true
'defaultLanguage':
type: 'String'
required: true
'description':
type: 'Map<String, String>'
required: true
'global':
type: 'Boolean'
required: true
'hidden':
type: 'Boolean'
required: true
'incremental':
type: 'Boolean'
required: true
'listOrder':
type: 'Integer'
required: true
'lockedIcons':
type: 'List<ModelsIcon>'
required: true
'name':
type: 'Map<String, String>'
required: true
'namespace':
type: 'String'
required: true
'tags':
type: 'List<String>'
required: true
'unlockedIcons':
type: 'List<ModelsIcon>'
required: true
'updatedAt':
type: 'String'
required: true
'customAttributes':
type: 'Map<String, ?>'
required: false
'goalValue':
type: 'Float'
required: false
'statCode':
type: 'String'
required: false
'status':
type: 'String'
required: false
description: |-
Achievement progression status: [INIT, TIED]
imports:
- 'import java.util.*;'
- 'import net.accelbyte.sdk.api.achievement.models.*;'
files:
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/achievement/models/ModelsAchievementResponse.java'
'ModelsAchievementUpdateRequest@jv.achievement.mod':
id: 'ModelsAchievementUpdateRequest@jv.achievement.mod'
name: 'ModelsAchievementUpdateRequest'
type: 'model'
fields:
'defaultLanguage':
type: 'String'
required: true
'description':
type: 'Map<String, String>'
required: true
'goalValue':
type: 'Float'
required: true
'hidden':
type: 'Boolean'
required: true
'incremental':
type: 'Boolean'
required: true
'lockedIcons':
type: 'List<ModelsIcon>'
required: true
'name':
type: 'Map<String, String>'
required: true
'statCode':
type: 'String'
required: true
'tags':
type: 'List<String>'
required: true
'unlockedIcons':
type: 'List<ModelsIcon>'
required: true
'customAttributes':
type: 'Map<String, ?>'
required: false
'global':
type: 'Boolean'
required: false
imports:
- 'import java.util.*;'
- 'import net.accelbyte.sdk.api.achievement.models.*;'
files:
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/achievement/models/ModelsAchievementUpdateRequest.java'
'ModelsAdditionalInfo@jv.achievement.mod':
id: 'ModelsAdditionalInfo@jv.achievement.mod'
name: 'ModelsAdditionalInfo'
type: 'model'
fields:
'numberOfAchievements':
type: 'Long'
required: true
'numberOfHiddenAchievements':
type: 'Long'
required: true
'numberOfVisibleAchievements':
type: 'Long'
required: true
imports:
- 'import java.util.*;'
- 'import net.accelbyte.sdk.api.achievement.models.*;'
files:
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/achievement/models/ModelsAdditionalInfo.java'
'ModelsBulkCreatePSNEventResponse@jv.achievement.mod':
id: 'ModelsBulkCreatePSNEventResponse@jv.achievement.mod'
name: 'ModelsBulkCreatePSNEventResponse'
type: 'model'
fields:
'data':
type: 'List<ModelsPSNEventResult>'
required: true
imports:
- 'import java.util.*;'
- 'import net.accelbyte.sdk.api.achievement.models.*;'
files:
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/achievement/models/ModelsBulkCreatePSNEventResponse.java'
'ModelsBulkCreatePSNEvents@jv.achievement.mod':
id: 'ModelsBulkCreatePSNEvents@jv.achievement.mod'
name: 'ModelsBulkCreatePSNEvents'
type: 'model'
fields:
'data':
type: 'List<ModelsCreatePSNEvent>'
required: true
imports:
- 'import java.util.*;'
- 'import net.accelbyte.sdk.api.achievement.models.*;'
files:
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/achievement/models/ModelsBulkCreatePSNEvents.java'
'ModelsBulkUnlockAchievementRequest@jv.achievement.mod':
id: 'ModelsBulkUnlockAchievementRequest@jv.achievement.mod'
name: 'ModelsBulkUnlockAchievementRequest'
type: 'model'
fields:
'achievementCodes':
type: 'List<String>'
required: true
imports:
- 'import java.util.*;'
- 'import net.accelbyte.sdk.api.achievement.models.*;'
files:
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/achievement/models/ModelsBulkUnlockAchievementRequest.java'
'ModelsBulkUnlockAchievementResponse@jv.achievement.mod':
id: 'ModelsBulkUnlockAchievementResponse@jv.achievement.mod'
name: 'ModelsBulkUnlockAchievementResponse'
type: 'model'
fields:
'achievementCode':
type: 'String'
required: true
'success':
type: 'Boolean'
required: true
'errorDetail':
type: 'ModelsErrorDetails'
required: false
imports:
- 'import java.util.*;'
- 'import net.accelbyte.sdk.api.achievement.models.*;'
files:
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/achievement/models/ModelsBulkUnlockAchievementResponse.java'
'ModelsContributorResponse@jv.achievement.mod':
id: 'ModelsContributorResponse@jv.achievement.mod'
name: 'ModelsContributorResponse'
type: 'model'
fields:
'achievementCode':
type: 'String'
required: true
'contributedValue':
type: 'Float'
required: true
'createdAt':
type: 'String'
required: true
'id':
type: 'String'
required: true
'namespace':
type: 'String'
required: true
'userId':
type: 'String'
required: true
'updatedAt':
type: 'String'
required: false
imports:
- 'import java.util.*;'
- 'import net.accelbyte.sdk.api.achievement.models.*;'
files:
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/achievement/models/ModelsContributorResponse.java'
'ModelsCreatePSNEvent@jv.achievement.mod':
id: 'ModelsCreatePSNEvent@jv.achievement.mod'
name: 'ModelsCreatePSNEvent'
type: 'model'
fields:
'events':
type: 'List<ModelsPSNEvent>'
required: true
'thirdPartyUserId':
type: 'String'
required: true
'userId':
type: 'String'
required: true
imports:
- 'import java.util.*;'
- 'import net.accelbyte.sdk.api.achievement.models.*;'
files:
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/achievement/models/ModelsCreatePSNEvent.java'
'ModelsErrorDetails@jv.achievement.mod':
id: 'ModelsErrorDetails@jv.achievement.mod'
name: 'ModelsErrorDetails'
type: 'model'
fields:
'errorCode':
type: 'Integer'
required: true
'errorMessage':
type: 'String'
required: true
'thirdPartyReferenceId':
type: 'String'
required: false
imports:
- 'import java.util.*;'
- 'import net.accelbyte.sdk.api.achievement.models.*;'
files:
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/achievement/models/ModelsErrorDetails.java'
'ModelsGlobalAchievementResponse@jv.achievement.mod':
id: 'ModelsGlobalAchievementResponse@jv.achievement.mod'
name: 'ModelsGlobalAchievementResponse'
type: 'model'
fields:
'achievementCode':
type: 'String'
required: true
'createdAt':
type: 'String'
required: true
'id':
type: 'String'
required: true
'latestValue':
type: 'Float'
required: true
'name':
type: 'Map<String, String>'
required: true
'namespace':
type: 'String'
required: true
'status':
type: 'Integer'
required: true
'achievedAt':
type: 'String'
required: false
'updatedAt':
type: 'String'
required: false
imports:
- 'import java.util.*;'
- 'import net.accelbyte.sdk.api.achievement.models.*;'
files:
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/achievement/models/ModelsGlobalAchievementResponse.java'
'ModelsIcon@jv.achievement.mod':
id: 'ModelsIcon@jv.achievement.mod'
name: 'ModelsIcon'
type: 'model'
fields:
'slug':
type: 'String'
required: true
'url':
type: 'String'
required: true
imports:
- 'import java.util.*;'
- 'import net.accelbyte.sdk.api.achievement.models.*;'
files:
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/achievement/models/ModelsIcon.java'
'ModelsPaginatedAchievementResponse@jv.achievement.mod':
id: 'ModelsPaginatedAchievementResponse@jv.achievement.mod'
name: 'ModelsPaginatedAchievementResponse'
type: 'model'
fields:
'data':
type: 'List<ModelsAchievementResponse>'
required: true
'paging':
type: 'ModelsPagination'
required: true
imports:
- 'import java.util.*;'
- 'import net.accelbyte.sdk.api.achievement.models.*;'
files:
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/achievement/models/ModelsPaginatedAchievementResponse.java'
'ModelsPaginatedContributorResponse@jv.achievement.mod':
id: 'ModelsPaginatedContributorResponse@jv.achievement.mod'
name: 'ModelsPaginatedContributorResponse'
type: 'model'
fields:
'data':
type: 'List<ModelsContributorResponse>'
required: true
'paging':
type: 'ModelsPagination'
required: true
imports:
- 'import java.util.*;'
- 'import net.accelbyte.sdk.api.achievement.models.*;'
files:
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/achievement/models/ModelsPaginatedContributorResponse.java'
'ModelsPaginatedGlobalAchievementResponse@jv.achievement.mod':
id: 'ModelsPaginatedGlobalAchievementResponse@jv.achievement.mod'
name: 'ModelsPaginatedGlobalAchievementResponse'
type: 'model'
fields:
'data':
type: 'List<ModelsGlobalAchievementResponse>'
required: true
'paging':
type: 'ModelsPagination'
required: true
imports:
- 'import java.util.*;'
- 'import net.accelbyte.sdk.api.achievement.models.*;'
files:
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/achievement/models/ModelsPaginatedGlobalAchievementResponse.java'
'ModelsPaginatedTagResponse@jv.achievement.mod':
id: 'ModelsPaginatedTagResponse@jv.achievement.mod'
name: 'ModelsPaginatedTagResponse'
type: 'model'
fields:
'data':
type: 'List<ModelsTagResponse>'
required: true
'paging':
type: 'ModelsPagination'
required: true
imports:
- 'import java.util.*;'
- 'import net.accelbyte.sdk.api.achievement.models.*;'
files:
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/achievement/models/ModelsPaginatedTagResponse.java'
'ModelsPaginatedUserAchievementResponse@jv.achievement.mod':
id: 'ModelsPaginatedUserAchievementResponse@jv.achievement.mod'
name: 'ModelsPaginatedUserAchievementResponse'
type: 'model'
fields:
'countInfo':
type: 'ModelsAdditionalInfo'
required: true
'data':
type: 'List<ModelsUserAchievementResponse>'
required: true
'paging':
type: 'ModelsPagination'
required: true
imports:
- 'import java.util.*;'
- 'import net.accelbyte.sdk.api.achievement.models.*;'
files:
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/achievement/models/ModelsPaginatedUserAchievementResponse.java'
'ModelsPaginatedUserContributionResponse@jv.achievement.mod':
id: 'ModelsPaginatedUserContributionResponse@jv.achievement.mod'
name: 'ModelsPaginatedUserContributionResponse'
type: 'model'
fields:
'data':
type: 'List<ModelsUserContributionResponse>'
required: true
'paging':
type: 'ModelsPagination'
required: true
imports:
- 'import java.util.*;'
- 'import net.accelbyte.sdk.api.achievement.models.*;'
files:
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/achievement/models/ModelsPaginatedUserContributionResponse.java'
'ModelsPagination@jv.achievement.mod':
id: 'ModelsPagination@jv.achievement.mod'
name: 'ModelsPagination'
type: 'model'
fields:
'next':
type: 'String'
required: true
'previous':
type: 'String'
required: true
imports:
- 'import java.util.*;'
- 'import net.accelbyte.sdk.api.achievement.models.*;'
files:
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/achievement/models/ModelsPagination.java'
'ModelsPSNEvent@jv.achievement.mod':
id: 'ModelsPSNEvent@jv.achievement.mod'
name: 'ModelsPSNEvent'
type: 'model'
fields:
'dateTime':
type: 'String'
required: true
'eventData':
type: 'ModelsPSNEventData'
required: true
'eventId':
type: 'String'
required: true
'version':
type: 'String'
required: true
imports:
- 'import java.util.*;'
- 'import net.accelbyte.sdk.api.achievement.models.*;'
files:
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/achievement/models/ModelsPSNEvent.java'
'ModelsPSNEventData@jv.achievement.mod':
id: 'ModelsPSNEventData@jv.achievement.mod'
name: 'ModelsPSNEventData'
type: 'model'
fields:
'eventName':
type: 'String'
required: true
'properties':
type: 'Map<String, ?>'
required: true
imports:
- 'import java.util.*;'
- 'import net.accelbyte.sdk.api.achievement.models.*;'
files:
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/achievement/models/ModelsPSNEventData.java'
'ModelsPSNEventResult@jv.achievement.mod':
id: 'ModelsPSNEventResult@jv.achievement.mod'
name: 'ModelsPSNEventResult'
type: 'model'
fields:
'isSuccess':
type: 'Boolean'
required: true
'thirdPartyUserId':
type: 'String'
required: true
'errorDetail':
type: 'ModelsErrorDetails'
required: false
imports:
- 'import java.util.*;'
- 'import net.accelbyte.sdk.api.achievement.models.*;'
files:
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/achievement/models/ModelsPSNEventResult.java'
'ModelsPublicAchievementResponse@jv.achievement.mod':
id: 'ModelsPublicAchievementResponse@jv.achievement.mod'
name: 'ModelsPublicAchievementResponse'
type: 'model'
fields:
'achievementCode':
type: 'String'
required: true
'createdAt':
type: 'String'
required: true
'description':
type: 'String'
required: true
'global':
type: 'Boolean'
required: true
'hidden':
type: 'Boolean'
required: true
'incremental':
type: 'Boolean'
required: true
'listOrder':
type: 'Integer'
required: true
'lockedIcons':
type: 'List<ModelsIcon>'
required: true
'name':
type: 'String'
required: true
'namespace':
type: 'String'
required: true
'tags':
type: 'List<String>'
required: true
'unlockedIcons':
type: 'List<ModelsIcon>'
required: true
'updatedAt':
type: 'String'
required: true
'customAttributes':
type: 'Map<String, ?>'
required: false
'goalValue':
type: 'Float'
required: false
'statCode':
type: 'String'
required: false
'status':
type: 'String'
required: false
description: |-
Achievement progression status: [INIT, TIED]
imports:
- 'import java.util.*;'
- 'import net.accelbyte.sdk.api.achievement.models.*;'
files:
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/achievement/models/ModelsPublicAchievementResponse.java'
'ModelsPublicAchievementsResponse@jv.achievement.mod':
id: 'ModelsPublicAchievementsResponse@jv.achievement.mod'
name: 'ModelsPublicAchievementsResponse'
type: 'model'
fields:
'data':
type: 'List<ModelsPublicAchievementResponse>'
required: true
'paging':
type: 'ModelsPagination'
required: true
imports:
- 'import java.util.*;'
- 'import net.accelbyte.sdk.api.achievement.models.*;'
files:
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/achievement/models/ModelsPublicAchievementsResponse.java'
'ModelsTagResponse@jv.achievement.mod':
id: 'ModelsTagResponse@jv.achievement.mod'
name: 'ModelsTagResponse'
type: 'model'
fields:
'createdAt':
type: 'String'
required: true
'name':
type: 'String'
required: true
'namespace':
type: 'String'
required: true
imports:
- 'import java.util.*;'
- 'import net.accelbyte.sdk.api.achievement.models.*;'
files:
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/achievement/models/ModelsTagResponse.java'
'ModelsUserAchievementResponse@jv.achievement.mod':
id: 'ModelsUserAchievementResponse@jv.achievement.mod'
name: 'ModelsUserAchievementResponse'
type: 'model'
fields:
'achievedAt':
type: 'String'
required: true
'achievementCode':
type: 'String'
required: true
'id':
type: 'String'
required: true
'latestValue':
type: 'Float'
required: true
'name':
type: 'Map<String, String>'
required: true
'status':
type: 'Integer'
required: true
imports:
- 'import java.util.*;'
- 'import net.accelbyte.sdk.api.achievement.models.*;'
files:
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/achievement/models/ModelsUserAchievementResponse.java'
'ModelsUserContributionResponse@jv.achievement.mod':
id: 'ModelsUserContributionResponse@jv.achievement.mod'
name: 'ModelsUserContributionResponse'
type: 'model'
fields:
'achievementCode':
type: 'String'
required: true
'canClaimReward':
type: 'Boolean'
required: true
description: |-
CanClaimReward is a flag whether the user can claim the reward of not
'contributedValue':
type: 'Float'
required: true
'id':
type: 'String'
required: true
'name':
type: 'Map<String, String>'
required: true
description: |-
Name is achievement name
'namespace':
type: 'String'
required: true
'userId':
type: 'String'
required: true
imports:
- 'import java.util.*;'
- 'import net.accelbyte.sdk.api.achievement.models.*;'
files:
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/achievement/models/ModelsUserContributionResponse.java'
'ResponseError@jv.achievement.mod':
id: 'ResponseError@jv.achievement.mod'
name: 'ResponseError'
type: 'model'
fields:
'errorCode':
type: 'Integer'
required: true
'errorMessage':
type: 'String'
required: true
imports:
- 'import java.util.*;'
- 'import net.accelbyte.sdk.api.achievement.models.*;'
files:
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/achievement/models/ResponseError.java'
'ServiceImportConfigResponse@jv.achievement.mod':
id: 'ServiceImportConfigResponse@jv.achievement.mod'
name: 'ServiceImportConfigResponse'
type: 'model'
fields:
'failedConfigs':
type: 'List<String>'
required: true
'ignoredConfigs':
type: 'List<String>'
required: true
'newConfigs':
type: 'List<String>'
required: true
'replacedConfigs':
type: 'List<String>'
required: true
imports:
- 'import java.util.*;'
- 'import net.accelbyte.sdk.api.achievement.models.*;'
files:
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/achievement/models/ServiceImportConfigResponse.java'
# endregion models
# region functions
'AdminAnonymizeUserAchievement@jv.achievement.fun':
id: 'AdminAnonymizeUserAchievement@jv.achievement.fun'
name: 'AdminAnonymizeUserAchievement'
type: 'function'
description: |-
This API will delete specified user achievement
Required permission
`ADMIN:NAMESPACE:{namespace}:USER:{userId}:ANONYMIZATION [DELETE]`
arguments:
'namespace':
type: 'String'
required: true
description: |-
namespace of the game
'userId':
type: 'String'
required: true
description: |-
user id
return_type: 'void'
imports:
- 'import net.accelbyte.sdk.core.*;'
- 'import net.accelbyte.sdk.api.achievement.models.*;'
- 'import net.accelbyte.sdk.api.achievement.operations.anonymization.*;'
- 'import net.accelbyte.sdk.api.achievement.wrappers.*;'
files:
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/achievement/wrappers/Anonymization.java'
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/achievement/operations/anonymization/AdminAnonymizeUserAchievement.java'
example: |-
try {
final AdminAnonymizeUserAchievement operation = AdminAnonymizeUserAchievement.builder()
.build(
namespace,
userId,
);
final Anonymization wrapper = new Anonymization(sdk);
wrapper.adminAnonymizeUserAchievement(operation);
}
catch (HttpResponseException e) { /* Handle exceptions. */ }
catch (Exception e) { /* Handle exceptions. */ }
tags:
- 'achievement'
- 'admin'
- 'anonymization'
- 'anonymize'
- 'user'
permissions:
- 'ADMIN:NAMESPACE:{namespace}:USER:{userId}:ANONYMIZATION [DELETE]'
'AdminBulkUnlockAchievement@jv.achievement.fun':
id: 'AdminBulkUnlockAchievement@jv.achievement.fun'
name: 'AdminBulkUnlockAchievement'
type: 'function'
description: |-
Required permission
`ADMIN:NAMESPACE:{namespace}:USER:{userId}:ACHIEVEMENT [UPDATE]` and scope `social`
arguments:
'body':
type: 'ModelsBulkUnlockAchievementRequest'
required: true
'namespace':
type: 'String'
required: true
description: |-
namespace of the game
'userId':
type: 'String'
required: true
description: |-
user id
return_type: 'List<ModelsBulkUnlockAchievementResponse>'
imports:
- 'import net.accelbyte.sdk.core.*;'
- 'import net.accelbyte.sdk.api.achievement.models.*;'
- 'import net.accelbyte.sdk.api.achievement.operations.user_achievements.*;'
- 'import net.accelbyte.sdk.api.achievement.wrappers.*;'
files:
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/achievement/wrappers/UserAchievements.java'
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/achievement/operations/user_achievements/AdminBulkUnlockAchievement.java'
example: |-
try {
final AdminBulkUnlockAchievement operation = AdminBulkUnlockAchievement.builder()
.build(
body,
namespace,
userId,
);
final UserAchievements wrapper = new UserAchievements(sdk);
final List<ModelsBulkUnlockAchievementResponse> response = wrapper.adminBulkUnlockAchievement(operation);
}
catch (HttpResponseException e) { /* Handle exceptions. */ }
catch (Exception e) { /* Handle exceptions. */ }
tags:
- 'achievement'
- 'achievements'
- 'admin'
- 'bulk'
- 'unlock'
- 'user'
permissions:
- 'ADMIN:NAMESPACE:{namespace}:USER:{userId}:ACHIEVEMENT [UPDATE]'
scopes:
- 'social'
'AdminCreateNewAchievement@jv.achievement.fun':
id: 'AdminCreateNewAchievement@jv.achievement.fun'
name: 'AdminCreateNewAchievement'
type: 'function'
description: |-
Required permission
`ADMIN:NAMESPACE:{namespace}:ACHIEVEMENT [CREATE]` and scope `social`
Other detail info:
- achievementCode: Human readable unique code to indentify the achievement. Must be lowercase
and maximum length is 32
- incremental: If the achievement is not incremental, it does not need to store a goal value
of a stat to be unlocked.
If the achievement is incremental, it needs to set statCode and goalValue
- statCode: Selected statistic code, from the published statistic code event.Human readable unique
code to indentify the achievement. Must be lowercase and maximum length is 32
- goalValue: Statistics value required to unlock the achievement.
- defaultLanguage: localozation for achievement name and achievement description. Allowed format : en, en-US
- slug: specify the image they want to use, it can be file image name or something
to define the achievement icon.
arguments:
'body':
type: 'ModelsAchievementRequest'
required: true
'namespace':
type: 'String'
required: true
description: |-
namespace of the game
return_type: 'ModelsAchievementResponse'
imports:
- 'import net.accelbyte.sdk.core.*;'
- 'import net.accelbyte.sdk.api.achievement.models.*;'
- 'import net.accelbyte.sdk.api.achievement.operations.achievements.*;'
- 'import net.accelbyte.sdk.api.achievement.wrappers.*;'
files:
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/achievement/wrappers/Achievements.java'
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/achievement/operations/achievements/AdminCreateNewAchievement.java'
example: |-
try {
final AdminCreateNewAchievement operation = AdminCreateNewAchievement.builder()
.build(
body,
namespace,
);
final Achievements wrapper = new Achievements(sdk);
final ModelsAchievementResponse response = wrapper.adminCreateNewAchievement(operation);
}
catch (HttpResponseException e) { /* Handle exceptions. */ }
catch (Exception e) { /* Handle exceptions. */ }
tags:
- 'achievement'
- 'achievements'
- 'admin'
- 'create'
- 'new'
permissions:
- 'ADMIN:NAMESPACE:{namespace}:ACHIEVEMENT [CREATE]'
scopes:
- 'social'
'AdminDeleteAchievement@jv.achievement.fun':
id: 'AdminDeleteAchievement@jv.achievement.fun'
name: 'AdminDeleteAchievement'
type: 'function'
description: |-
Required permission
`ADMIN:NAMESPACE:{namespace}:ACHIEVEMENT [DELETE]` and scope `social`
arguments:
'achievementCode':
type: 'String'
required: true
description: |-
achievement code
'namespace':
type: 'String'
required: true
description: |-
namespace of the game
return_type: 'void'
imports:
- 'import net.accelbyte.sdk.core.*;'
- 'import net.accelbyte.sdk.api.achievement.models.*;'
- 'import net.accelbyte.sdk.api.achievement.operations.achievements.*;'
- 'import net.accelbyte.sdk.api.achievement.wrappers.*;'
files:
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/achievement/wrappers/Achievements.java'
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/achievement/operations/achievements/AdminDeleteAchievement.java'
example: |-
try {
final AdminDeleteAchievement operation = AdminDeleteAchievement.builder()
.build(
achievementCode,
namespace,
);
final Achievements wrapper = new Achievements(sdk);
wrapper.adminDeleteAchievement(operation);
}
catch (HttpResponseException e) { /* Handle exceptions. */ }
catch (Exception e) { /* Handle exceptions. */ }
tags:
- 'achievement'
- 'achievements'
- 'admin'
- 'delete'
permissions:
- 'ADMIN:NAMESPACE:{namespace}:ACHIEVEMENT [DELETE]'
scopes:
- 'social'
'AdminGetAchievement@jv.achievement.fun':
id: 'AdminGetAchievement@jv.achievement.fun'
name: 'AdminGetAchievement'
type: 'function'
description: |-
Required permission
`ADMIN:NAMESPACE:{namespace}:ACHIEVEMENT [READ]` and scope `social`
arguments:
'achievementCode':
type: 'String'
required: true
description: |-
achievement code
'namespace':
type: 'String'
required: true
description: |-
namespace of the game
return_type: 'ModelsAchievementResponse'
imports:
- 'import net.accelbyte.sdk.core.*;'
- 'import net.accelbyte.sdk.api.achievement.models.*;'
- 'import net.accelbyte.sdk.api.achievement.operations.achievements.*;'
- 'import net.accelbyte.sdk.api.achievement.wrappers.*;'
files:
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/achievement/wrappers/Achievements.java'
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/achievement/operations/achievements/AdminGetAchievement.java'
example: |-
try {
final AdminGetAchievement operation = AdminGetAchievement.builder()
.build(
achievementCode,
namespace,
);
final Achievements wrapper = new Achievements(sdk);
final ModelsAchievementResponse response = wrapper.adminGetAchievement(operation);
}
catch (HttpResponseException e) { /* Handle exceptions. */ }
catch (Exception e) { /* Handle exceptions. */ }
tags:
- 'achievement'
- 'achievements'
- 'admin'
- 'get'
permissions:
- 'ADMIN:NAMESPACE:{namespace}:ACHIEVEMENT [READ]'
scopes:
- 'social'
'AdminListAchievements@jv.achievement.fun':
id: 'AdminListAchievements@jv.achievement.fun'
name: 'AdminListAchievements'
type: 'function'
description: |-
Required permission
`ADMIN:NAMESPACE:{namespace}:ACHIEVEMENT [READ]` and scope `social`
arguments:
'global':
type: 'Boolean'
required: false
description: |-
filter by global achievement flag
'limit':
type: 'Integer'
required: false
description: |-
the maximum number of data that may be returned (1...100)
'namespace':
type: 'String'
required: true
description: |-
namespace of the game
'offset':
type: 'Integer'
required: false
description: |-
offset
'sortBy':
type: 'String'
required: false
description: |-
sort by, default is 'listOrder:asc', allow values: [listOrder, listOrder:asc, listOrder:desc, createdAt, createdAt:asc, createdAt:desc, updatedAt, updatedAt:asc, updatedAt:desc]
'tags':
type: 'List<String>'
required: false
description: |-
tags
return_type: 'ModelsPaginatedAchievementResponse'
imports:
- 'import net.accelbyte.sdk.core.*;'
- 'import net.accelbyte.sdk.api.achievement.models.*;'
- 'import net.accelbyte.sdk.api.achievement.operations.achievements.*;'
- 'import net.accelbyte.sdk.api.achievement.wrappers.*;'
files:
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/achievement/wrappers/Achievements.java'
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/achievement/operations/achievements/AdminListAchievements.java'
example: |-
try {
final AdminListAchievements operation = AdminListAchievements.builder()
.global(...)
.limit(...)
.offset(...)
.sortBy(...)
.tags(...)
.build(
namespace,
);
final Achievements wrapper = new Achievements(sdk);
final ModelsPaginatedAchievementResponse response = wrapper.adminListAchievements(operation);
}
catch (HttpResponseException e) { /* Handle exceptions. */ }
catch (Exception e) { /* Handle exceptions. */ }
tags:
- 'achievements'
- 'admin'
- 'list'
permissions:
- 'ADMIN:NAMESPACE:{namespace}:ACHIEVEMENT [READ]'
scopes:
- 'social'
'AdminListGlobalAchievementContributors@jv.achievement.fun':
id: 'AdminListGlobalAchievementContributors@jv.achievement.fun'
name: 'AdminListGlobalAchievementContributors'
type: 'function'
description: |-
Required permission
`ADMIN:NAMESPACE:{namespace}:ACHIEVEMENT [READ]` and scope `social`
arguments:
'achievementCode':
type: 'String'
required: true
description: |-
achievement code
'limit':
type: 'Integer'
required: false
description: |-
the maximum number of data that may be returned (1...100)
'namespace':
type: 'String'
required: true
description: |-
namespace of the game
'offset':
type: 'Integer'
required: false
description: |-
offset
'sortBy':
type: 'String'
required: false
description: |-
sort by, default is 'contributedValue:desc', allow values: [contributedValue, contributedValue:asc, contributedValue:desc]
return_type: 'ModelsPaginatedContributorResponse'
imports:
- 'import net.accelbyte.sdk.core.*;'
- 'import net.accelbyte.sdk.api.achievement.models.*;'
- 'import net.accelbyte.sdk.api.achievement.operations.global_achievements.*;'
- 'import net.accelbyte.sdk.api.achievement.wrappers.*;'
files:
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/achievement/wrappers/GlobalAchievements.java'
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/achievement/operations/global_achievements/AdminListGlobalAchievementContributors.java'
example: |-
try {
final AdminListGlobalAchievementContributors operation = AdminListGlobalAchievementContributors.builder()
.limit(...)
.offset(...)
.sortBy(...)
.build(
achievementCode,
namespace,
);
final GlobalAchievements wrapper = new GlobalAchievements(sdk);
final ModelsPaginatedContributorResponse response = wrapper.adminListGlobalAchievementContributors(operation);
}
catch (HttpResponseException e) { /* Handle exceptions. */ }
catch (Exception e) { /* Handle exceptions. */ }
tags:
- 'achievement'
- 'achievements'
- 'admin'
- 'contributors'
- 'global'
- 'list'
permissions:
- 'ADMIN:NAMESPACE:{namespace}:ACHIEVEMENT [READ]'
scopes:
- 'social'
'AdminListGlobalAchievements@jv.achievement.fun':
id: 'AdminListGlobalAchievements@jv.achievement.fun'
name: 'AdminListGlobalAchievements'
type: 'function'
description: |-
Required permission
`ADMIN:NAMESPACE:{namespace}:ACHIEVEMENT [READ]` and scope `social`
Note:
Global achievement status value mean: `status = 1 (in progress)` and `status = 2 (unlocked)`
arguments:
'achievementCodes':
type: 'String'
required: false
description: |-
filter by achievement codes. multiple value separated by comma
'limit':
type: 'Integer'
required: false
description: |-
the maximum number of data that may be returned (1...100)
'namespace':
type: 'String'
required: true
description: |-
namespace of the game
'offset':
type: 'Integer'
required: false
description: |-
offset
'sortBy':
type: 'String'
required: false
description: |-
sort by, allow values: [achievedAt, achievedAt:asc, achievedAt:desc, createdAt, createdAt:asc, createdAt:desc]
'status':
type: 'String'
required: false
description: |-
filter by status. available value: [in_progress, unlocked]
'tags':
type: 'List<String>'
required: false
description: |-
tags
return_type: 'ModelsPaginatedGlobalAchievementResponse'
imports:
- 'import net.accelbyte.sdk.core.*;'
- 'import net.accelbyte.sdk.api.achievement.models.*;'
- 'import net.accelbyte.sdk.api.achievement.operations.global_achievements.*;'
- 'import net.accelbyte.sdk.api.achievement.wrappers.*;'
files:
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/achievement/wrappers/GlobalAchievements.java'
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/achievement/operations/global_achievements/AdminListGlobalAchievements.java'
example: |-
try {
final AdminListGlobalAchievements operation = AdminListGlobalAchievements.builder()
.achievementCodes(...)
.limit(...)
.offset(...)
.sortBy(...)
.status(...)
.tags(...)
.build(
namespace,
);
final GlobalAchievements wrapper = new GlobalAchievements(sdk);
final ModelsPaginatedGlobalAchievementResponse response = wrapper.adminListGlobalAchievements(operation);
}
catch (HttpResponseException e) { /* Handle exceptions. */ }
catch (Exception e) { /* Handle exceptions. */ }
tags:
- 'achievements'
- 'admin'
- 'global'
- 'list'
permissions:
- 'ADMIN:NAMESPACE:{namespace}:ACHIEVEMENT [READ]'
scopes:
- 'social'
'AdminListTags@jv.achievement.fun':
id: 'AdminListTags@jv.achievement.fun'
name: 'AdminListTags'
type: 'function'
description: |-
Required permission
`ADMIN:NAMESPACE:{namespace}:ACHIEVEMENT [READ]` and scope `social`
arguments:
'limit':
type: 'Integer'
required: false
description: |-
the maximum number of data that may be returned (1...100)
'name':
type: 'String'
required: false
description: |-
like's query by tag name
'namespace':
type: 'String'
required: true
description: |-
namespace of the game
'offset':
type: 'Integer'
required: false
description: |-
offset
'sortBy':
type: 'String'
required: false
description: |-
sort by, default is 'name:asc', allow values: [name, name:asc, name:desc, createdAt, createdAt:asc, createdAt:desc]
return_type: 'ModelsPaginatedTagResponse'
imports:
- 'import net.accelbyte.sdk.core.*;'
- 'import net.accelbyte.sdk.api.achievement.models.*;'
- 'import net.accelbyte.sdk.api.achievement.operations.tags.*;'
- 'import net.accelbyte.sdk.api.achievement.wrappers.*;'
files:
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/achievement/wrappers/Tags.java'
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/achievement/operations/tags/AdminListTags.java'
example: |-
try {
final AdminListTags operation = AdminListTags.builder()
.limit(...)
.name(...)
.offset(...)
.sortBy(...)
.build(
namespace,
);
final Tags wrapper = new Tags(sdk);
final ModelsPaginatedTagResponse response = wrapper.adminListTags(operation);
}
catch (HttpResponseException e) { /* Handle exceptions. */ }
catch (Exception e) { /* Handle exceptions. */ }
tags:
- 'admin'
- 'list'
- 'tags'
permissions:
- 'ADMIN:NAMESPACE:{namespace}:ACHIEVEMENT [READ]'
scopes:
- 'social'
'AdminListUserAchievements@jv.achievement.fun':
id: 'AdminListUserAchievements@jv.achievement.fun'
name: 'AdminListUserAchievements'
type: 'function'
description: |-
Required permission
`ADMIN:NAMESPACE:{namespace}:USER:{userId}:ACHIEVEMENT [READ]` and scope `social`
Note:
User Achievement status value mean: `status = 1 (in progress)` and `status = 2 (unlocked)`
`achievedAt` value will return default value: `0001-01-01T00:00:00Z` for user achievement that locked or in progress
arguments:
'limit':
type: 'Integer'
required: false
description: |-
the maximum number of data that may be returned (1...100)
'namespace':
type: 'String'
required: true
description: |-
namespace of the game
'offset':
type: 'Integer'
required: false
description: |-
offset
'preferUnlocked':
type: 'Boolean'
required: false
description: |-
prefer to query achieved
'sortBy':
type: 'String'
required: false
description: |-
sort by, allow values: [achievedAt, achievedAt:asc, achievedAt:desc, createdAt, createdAt:asc, createdAt:desc]
'tags':
type: 'List<String>'
required: false
description: |-
tags
'userId':
type: 'String'
required: true
description: |-
user id
return_type: 'ModelsPaginatedUserAchievementResponse'
imports:
- 'import net.accelbyte.sdk.core.*;'
- 'import net.accelbyte.sdk.api.achievement.models.*;'
- 'import net.accelbyte.sdk.api.achievement.operations.user_achievements.*;'
- 'import net.accelbyte.sdk.api.achievement.wrappers.*;'
files:
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/achievement/wrappers/UserAchievements.java'
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/achievement/operations/user_achievements/AdminListUserAchievements.java'
example: |-
try {
final AdminListUserAchievements operation = AdminListUserAchievements.builder()
.limit(...)
.offset(...)
.preferUnlocked(...)
.sortBy(...)
.tags(...)
.build(
namespace,
userId,
);
final UserAchievements wrapper = new UserAchievements(sdk);
final ModelsPaginatedUserAchievementResponse response = wrapper.adminListUserAchievements(operation);
}
catch (HttpResponseException e) { /* Handle exceptions. */ }
catch (Exception e) { /* Handle exceptions. */ }
tags:
- 'achievements'
- 'admin'
- 'list'
- 'user'
permissions:
- 'ADMIN:NAMESPACE:{namespace}:USER:{userId}:ACHIEVEMENT [READ]'
scopes:
- 'social'
'AdminListUserContributions@jv.achievement.fun':
id: 'AdminListUserContributions@jv.achievement.fun'
name: 'AdminListUserContributions'
type: 'function'
description: |-
Required permission
`ADMIN:NAMESPACE:{namespace}:USER:{userId}:ACHIEVEMENT [READ]` and scope `social`
arguments:
'achievementCodes':
type: 'String'
required: false
description: |-
achievement codes. multiple value separated by comma
'limit':
type: 'Integer'
required: false
description: |-
the maximum number of data that may be returned (1...100)
'namespace':
type: 'String'
required: true
description: |-
namespace of the game
'offset':
type: 'Integer'
required: false
description: |-
offset
'sortBy':
type: 'String'
required: false
description: |-
sort by, default is 'contributedValue:desc', allow values: [contributedValue, contributedValue:asc, contributedValue:desc]
'tags':
type: 'List<String>'
required: false
description: |-
tags
'userId':
type: 'String'
required: true
description: |-
user ID
return_type: 'ModelsPaginatedUserContributionResponse'
imports:
- 'import net.accelbyte.sdk.core.*;'
- 'import net.accelbyte.sdk.api.achievement.models.*;'
- 'import net.accelbyte.sdk.api.achievement.operations.global_achievements.*;'
- 'import net.accelbyte.sdk.api.achievement.wrappers.*;'
files:
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/achievement/wrappers/GlobalAchievements.java'
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/achievement/operations/global_achievements/AdminListUserContributions.java'
example: |-
try {
final AdminListUserContributions operation = AdminListUserContributions.builder()
.achievementCodes(...)
.limit(...)
.offset(...)
.sortBy(...)
.tags(...)
.build(
namespace,
userId,
);
final GlobalAchievements wrapper = new GlobalAchievements(sdk);
final ModelsPaginatedUserContributionResponse response = wrapper.adminListUserContributions(operation);
}
catch (HttpResponseException e) { /* Handle exceptions. */ }
catch (Exception e) { /* Handle exceptions. */ }
tags:
- 'achievements'
- 'admin'
- 'contributions'
- 'global'
- 'list'
- 'user'
permissions:
- 'ADMIN:NAMESPACE:{namespace}:USER:{userId}:ACHIEVEMENT [READ]'
scopes:
- 'social'
'AdminResetAchievement@jv.achievement.fun':
id: 'AdminResetAchievement@jv.achievement.fun'
name: 'AdminResetAchievement'
type: 'function'
description: |-
[TEST FACILITY ONLY]
Required permission
`ADMIN:NAMESPACE:{namespace}:USER:{userId}:ACHIEVEMENT [DELETE]` and scope `social`
arguments:
'achievementCode':
type: 'String'
required: true
description: |-
achievement code
'namespace':
type: 'String'
required: true
description: |-
namespace of the game
'userId':
type: 'String'
required: true
description: |-
user id
return_type: 'void'
imports:
- 'import net.accelbyte.sdk.core.*;'
- 'import net.accelbyte.sdk.api.achievement.models.*;'
- 'import net.accelbyte.sdk.api.achievement.operations.user_achievements.*;'
- 'import net.accelbyte.sdk.api.achievement.wrappers.*;'
files:
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/achievement/wrappers/UserAchievements.java'
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/achievement/operations/user_achievements/AdminResetAchievement.java'
example: |-
try {
final AdminResetAchievement operation = AdminResetAchievement.builder()
.build(
achievementCode,
namespace,
userId,
);
final UserAchievements wrapper = new UserAchievements(sdk);
wrapper.adminResetAchievement(operation);
}
catch (HttpResponseException e) { /* Handle exceptions. */ }
catch (Exception e) { /* Handle exceptions. */ }
tags:
- 'achievement'
- 'achievements'
- 'admin'
- 'reset'
- 'user'
permissions:
- 'ADMIN:NAMESPACE:{namespace}:USER:{userId}:ACHIEVEMENT [DELETE]'
scopes:
- 'social'
'AdminUnlockAchievement@jv.achievement.fun':
id: 'AdminUnlockAchievement@jv.achievement.fun'
name: 'AdminUnlockAchievement'
type: 'function'
description: |-
Required permission
`ADMIN:NAMESPACE:{namespace}:USER:{userId}:ACHIEVEMENT [UPDATE]` and scope `social`
arguments:
'achievementCode':
type: 'String'
required: true
description: |-
achievement code
'namespace':
type: 'String'
required: true
description: |-
namespace of the game
'userId':
type: 'String'
required: true
description: |-
user id
return_type: 'void'
imports:
- 'import net.accelbyte.sdk.core.*;'
- 'import net.accelbyte.sdk.api.achievement.models.*;'
- 'import net.accelbyte.sdk.api.achievement.operations.user_achievements.*;'
- 'import net.accelbyte.sdk.api.achievement.wrappers.*;'
files:
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/achievement/wrappers/UserAchievements.java'
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/achievement/operations/user_achievements/AdminUnlockAchievement.java'
example: |-
try {
final AdminUnlockAchievement operation = AdminUnlockAchievement.builder()
.build(
achievementCode,
namespace,
userId,
);
final UserAchievements wrapper = new UserAchievements(sdk);
wrapper.adminUnlockAchievement(operation);
}
catch (HttpResponseException e) { /* Handle exceptions. */ }
catch (Exception e) { /* Handle exceptions. */ }
tags:
- 'achievement'
- 'achievements'
- 'admin'
- 'unlock'
- 'user'
permissions:
- 'ADMIN:NAMESPACE:{namespace}:USER:{userId}:ACHIEVEMENT [UPDATE]'
scopes:
- 'social'
'AdminUpdateAchievement@jv.achievement.fun':
id: 'AdminUpdateAchievement@jv.achievement.fun'
name: 'AdminUpdateAchievement'
type: 'function'
description: |-
Required permission
`ADMIN:NAMESPACE:{namespace}:ACHIEVEMENT [UPDATE]` and scope `social`
arguments:
'achievementCode':
type: 'String'
required: true
description: |-
achievement code
'body':
type: 'ModelsAchievementUpdateRequest'
required: true
'namespace':
type: 'String'
required: true
description: |-
namespace of the game
return_type: 'ModelsAchievementResponse'
imports:
- 'import net.accelbyte.sdk.core.*;'
- 'import net.accelbyte.sdk.api.achievement.models.*;'
- 'import net.accelbyte.sdk.api.achievement.operations.achievements.*;'
- 'import net.accelbyte.sdk.api.achievement.wrappers.*;'
files:
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/achievement/wrappers/Achievements.java'
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/achievement/operations/achievements/AdminUpdateAchievement.java'
example: |-
try {
final AdminUpdateAchievement operation = AdminUpdateAchievement.builder()
.build(
achievementCode,
body,
namespace,
);
final Achievements wrapper = new Achievements(sdk);
final ModelsAchievementResponse response = wrapper.adminUpdateAchievement(operation);
}
catch (HttpResponseException e) { /* Handle exceptions. */ }
catch (Exception e) { /* Handle exceptions. */ }
tags:
- 'achievement'
- 'achievements'
- 'admin'
- 'update'
permissions:
- 'ADMIN:NAMESPACE:{namespace}:ACHIEVEMENT [UPDATE]'
scopes:
- 'social'
'AdminUpdateAchievementListOrder@jv.achievement.fun':
id: 'AdminUpdateAchievementListOrder@jv.achievement.fun'
name: 'AdminUpdateAchievementListOrder'
type: 'function'
description: |-
Required permission
`ADMIN:NAMESPACE:{namespace}:ACHIEVEMENT [UPDATE]` and scope `social`
arguments:
'achievementCode':
type: 'String'
required: true
description: |-
achievement code
'body':
type: 'ModelsAchievementOrderUpdateRequest'
required: true
'namespace':
type: 'String'
required: true
description: |-
namespace of the game
return_type: 'void'
imports:
- 'import net.accelbyte.sdk.core.*;'
- 'import net.accelbyte.sdk.api.achievement.models.*;'
- 'import net.accelbyte.sdk.api.achievement.operations.achievements.*;'
- 'import net.accelbyte.sdk.api.achievement.wrappers.*;'
files:
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/achievement/wrappers/Achievements.java'
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/achievement/operations/achievements/AdminUpdateAchievementListOrder.java'
example: |-
try {
final AdminUpdateAchievementListOrder operation = AdminUpdateAchievementListOrder.builder()
.build(
achievementCode,
body,
namespace,
);
final Achievements wrapper = new Achievements(sdk);
wrapper.adminUpdateAchievementListOrder(operation);
}
catch (HttpResponseException e) { /* Handle exceptions. */ }
catch (Exception e) { /* Handle exceptions. */ }
tags:
- 'achievement'
- 'achievements'
- 'admin'
- 'list'
- 'order'
- 'update'
permissions:
- 'ADMIN:NAMESPACE:{namespace}:ACHIEVEMENT [UPDATE]'
scopes:
- 'social'
'BulkCreatePSNEvent@jv.achievement.fun':
id: 'BulkCreatePSNEvent@jv.achievement.fun'
name: 'BulkCreatePSNEvent'
type: 'function'
description: |-
Create PSN UDS events. Player need to login first using playstation token to IAM service.
arguments:
'body':
type: 'ModelsBulkCreatePSNEvents'
required: true
'namespace':
type: 'String'
required: true
description: |-
namespace of the game
return_type: 'ModelsBulkCreatePSNEventResponse'
imports:
- 'import net.accelbyte.sdk.core.*;'
- 'import net.accelbyte.sdk.api.achievement.models.*;'
- 'import net.accelbyte.sdk.api.achievement.operations.platform_achievement.*;'
- 'import net.accelbyte.sdk.api.achievement.wrappers.*;'
files:
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/achievement/wrappers/PlatformAchievement.java'
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/achievement/operations/platform_achievement/BulkCreatePSNEvent.java'
example: |-
try {
final BulkCreatePSNEvent operation = BulkCreatePSNEvent.builder()
.build(
body,
namespace,
);
final PlatformAchievement wrapper = new PlatformAchievement(sdk);
final ModelsBulkCreatePSNEventResponse response = wrapper.bulkCreatePSNEvent(operation);
}
catch (HttpResponseException e) { /* Handle exceptions. */ }
catch (Exception e) { /* Handle exceptions. */ }
tags:
- 'achievement'
- 'bulk'
- 'create'
- 'event'
- 'platform'
- 'psn'
permissions:
- 'ADMIN:NAMESPACE:{namespace}:ACHIEVEMENT:PLATFORM [CREATE]'
scopes:
- 'social'
'ClaimGlobalAchievementReward@jv.achievement.fun':
id: 'ClaimGlobalAchievementReward@jv.achievement.fun'
name: 'ClaimGlobalAchievementReward'
type: 'function'
description: |-
Required permission
`NAMESPACE:{namespace}:USER:{userId}:ACHIEVEMENT [UPDATE]` and scope `social`
Note:
Global achievement should be unlocked to claim the reward. Only contributor of global achievement are eligible for rewards
arguments:
'achievementCode':
type: 'String'
required: true
description: |-
achievement code
'namespace':
type: 'String'
required: true
description: |-
namespace of the game
'userId':
type: 'String'
required: true
description: |-
user ID
return_type: 'void'
imports:
- 'import net.accelbyte.sdk.core.*;'
- 'import net.accelbyte.sdk.api.achievement.models.*;'
- 'import net.accelbyte.sdk.api.achievement.operations.global_achievements.*;'
- 'import net.accelbyte.sdk.api.achievement.wrappers.*;'
files:
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/achievement/wrappers/GlobalAchievements.java'
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/achievement/operations/global_achievements/ClaimGlobalAchievementReward.java'
example: |-
try {
final ClaimGlobalAchievementReward operation = ClaimGlobalAchievementReward.builder()
.build(
achievementCode,
namespace,
userId,
);
final GlobalAchievements wrapper = new GlobalAchievements(sdk);
wrapper.claimGlobalAchievementReward(operation);
}
catch (HttpResponseException e) { /* Handle exceptions. */ }
catch (Exception e) { /* Handle exceptions. */ }
tags:
- 'achievement'
- 'achievements'
- 'claim'
- 'global'
- 'reward'
permissions:
- 'NAMESPACE:{namespace}:USER:{userId}:ACHIEVEMENT [UPDATE]'
scopes:
- 'social'
'ExportAchievements@jv.achievement.fun':
id: 'ExportAchievements@jv.achievement.fun'
name: 'ExportAchievements'
type: 'function'
description: |-
Required permission `ADMIN:NAMESPACE:{namespace}:ACHIEVEMENT [READ]`
Required Scope: `social`
Successful response header will contain: `content-disposition: attachment; filename=achievement__config.json`
arguments:
'namespace':
type: 'String'
required: true
description: |-
namespace of the game
'tags':
type: 'List<String>'
required: false
description: |-
tags
return_type: 'File'
imports:
- 'import net.accelbyte.sdk.core.*;'
- 'import net.accelbyte.sdk.api.achievement.models.*;'
- 'import net.accelbyte.sdk.api.achievement.operations.achievements.*;'
- 'import net.accelbyte.sdk.api.achievement.wrappers.*;'
files:
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/achievement/wrappers/Achievements.java'
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/achievement/operations/achievements/ExportAchievements.java'
example: |-
try {
final ExportAchievements operation = ExportAchievements.builder()
.tags(...)
.build(
namespace,
);
final Achievements wrapper = new Achievements(sdk);
final File response = wrapper.exportAchievements(operation);
}
catch (HttpResponseException e) { /* Handle exceptions. */ }
catch (Exception e) { /* Handle exceptions. */ }
tags:
- 'achievements'
- 'export'
permissions:
- 'ADMIN:NAMESPACE:{namespace}:ACHIEVEMENT [READ]'
scopes:
- 'social'
'ImportAchievements@jv.achievement.fun':
id: 'ImportAchievements@jv.achievement.fun'
name: 'ImportAchievements'
type: 'function'
description: |-
Required permission ADMIN:NAMESPACE:{namespace}:ACHIEVEMENT [UPDATE]
Required Scope: social
Import achievement configuration from file. It will merge with existing achievement.
Available import strategy:
- leaveOut: if achievement with same key exist, the existing will be used and imported one will be ignored (default)
- replace: if achievement with same key exist, the imported achievement will be used and existing one will be removed
arguments:
'file':
type: 'File'
required: false
description: |-
file to be imported
'namespace':
type: 'String'
required: true
description: |-
namespace of the game
'strategy':
type: 'String'
required: false
description: |-
strategy for import
return_type: 'ServiceImportConfigResponse'
imports:
- 'import net.accelbyte.sdk.core.*;'
- 'import net.accelbyte.sdk.api.achievement.models.*;'
- 'import net.accelbyte.sdk.api.achievement.operations.achievements.*;'
- 'import net.accelbyte.sdk.api.achievement.wrappers.*;'
files:
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/achievement/wrappers/Achievements.java'
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/achievement/operations/achievements/ImportAchievements.java'
example: |-
try {
final ImportAchievements operation = ImportAchievements.builder()
.file(...)
.strategy(...)
.build(
namespace,
);
final Achievements wrapper = new Achievements(sdk);
final ServiceImportConfigResponse response = wrapper.importAchievements(operation);
}
catch (HttpResponseException e) { /* Handle exceptions. */ }
catch (Exception e) { /* Handle exceptions. */ }
tags:
- 'achievements'
- 'import'
permissions:
- 'ADMIN:NAMESPACE:{namespace}:ACHIEVEMENT [UPDATE]'
scopes:
- 'social'
'ListGlobalAchievementContributors@jv.achievement.fun':
id: 'ListGlobalAchievementContributors@jv.achievement.fun'
name: 'ListGlobalAchievementContributors'
type: 'function'
description: |-
Required permission
`NAMESPACE:{namespace}:ACHIEVEMENT [READ]` and scope `social`
arguments:
'achievementCode':
type: 'String'
required: true
description: |-
achievement code
'limit':
type: 'Integer'
required: false
description: |-
the maximum number of data that may be returned (1...100)
'namespace':
type: 'String'
required: true
description: |-
namespace of the game
'offset':
type: 'Integer'
required: false
description: |-
offset
'sortBy':
type: 'String'
required: false
description: |-
sort by, default is 'contributedValue:desc', allow values: [contributedValue, contributedValue:asc, contributedValue:desc]
return_type: 'ModelsPaginatedContributorResponse'
imports:
- 'import net.accelbyte.sdk.core.*;'
- 'import net.accelbyte.sdk.api.achievement.models.*;'
- 'import net.accelbyte.sdk.api.achievement.operations.global_achievements.*;'
- 'import net.accelbyte.sdk.api.achievement.wrappers.*;'
files:
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/achievement/wrappers/GlobalAchievements.java'
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/achievement/operations/global_achievements/ListGlobalAchievementContributors.java'
example: |-
try {
final ListGlobalAchievementContributors operation = ListGlobalAchievementContributors.builder()
.limit(...)
.offset(...)
.sortBy(...)
.build(
achievementCode,
namespace,
);
final GlobalAchievements wrapper = new GlobalAchievements(sdk);
final ModelsPaginatedContributorResponse response = wrapper.listGlobalAchievementContributors(operation);
}
catch (HttpResponseException e) { /* Handle exceptions. */ }
catch (Exception e) { /* Handle exceptions. */ }
tags:
- 'achievement'
- 'achievements'
- 'contributors'
- 'global'
- 'list'
permissions:
- 'NAMESPACE:{namespace}:ACHIEVEMENT [READ]'
scopes:
- 'social'
'ListUserContributions@jv.achievement.fun':
id: 'ListUserContributions@jv.achievement.fun'
name: 'ListUserContributions'
type: 'function'
description: |-
Required permission
`NAMESPACE:{namespace}:USER:{userId}:ACHIEVEMENT [READ]` and scope `social`
arguments:
'achievementCodes':
type: 'String'
required: false
description: |-
achievement codes. multiple value separated by comma
'limit':
type: 'Integer'
required: false
description: |-
the maximum number of data that may be returned (1...100)
'namespace':
type: 'String'
required: true
description: |-
namespace of the game
'offset':
type: 'Integer'
required: false
description: |-
offset
'sortBy':
type: 'String'
required: false
description: |-
sort by, default is 'contributedValue:desc', allow values: [contributedValue, contributedValue:asc, contributedValue:desc]
'tags':
type: 'List<String>'
required: false
description: |-
tags
'userId':
type: 'String'
required: true
description: |-
user ID
return_type: 'ModelsPaginatedUserContributionResponse'
imports:
- 'import net.accelbyte.sdk.core.*;'
- 'import net.accelbyte.sdk.api.achievement.models.*;'
- 'import net.accelbyte.sdk.api.achievement.operations.global_achievements.*;'
- 'import net.accelbyte.sdk.api.achievement.wrappers.*;'
files:
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/achievement/wrappers/GlobalAchievements.java'
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/achievement/operations/global_achievements/ListUserContributions.java'
example: |-
try {
final ListUserContributions operation = ListUserContributions.builder()
.achievementCodes(...)
.limit(...)
.offset(...)
.sortBy(...)
.tags(...)
.build(
namespace,
userId,
);
final GlobalAchievements wrapper = new GlobalAchievements(sdk);
final ModelsPaginatedUserContributionResponse response = wrapper.listUserContributions(operation);
}
catch (HttpResponseException e) { /* Handle exceptions. */ }
catch (Exception e) { /* Handle exceptions. */ }
tags:
- 'achievements'
- 'contributions'
- 'global'
- 'list'
- 'user'
permissions:
- 'NAMESPACE:{namespace}:USER:{userId}:ACHIEVEMENT [READ]'
scopes:
- 'social'
'PublicBulkUnlockAchievement@jv.achievement.fun':
id: 'PublicBulkUnlockAchievement@jv.achievement.fun'
name: 'PublicBulkUnlockAchievement'
type: 'function'
description: |-
Required permission
`NAMESPACE:{namespace}:USER:{userId}:ACHIEVEMENT [UPDATE]` and scope `social`
arguments:
'body':
type: 'ModelsBulkUnlockAchievementRequest'
required: true
'namespace':
type: 'String'
required: true
description: |-
namespace of the game
'userId':
type: 'String'
required: true
description: |-
user id
return_type: 'List<ModelsBulkUnlockAchievementResponse>'
imports:
- 'import net.accelbyte.sdk.core.*;'
- 'import net.accelbyte.sdk.api.achievement.models.*;'
- 'import net.accelbyte.sdk.api.achievement.operations.user_achievements.*;'
- 'import net.accelbyte.sdk.api.achievement.wrappers.*;'
files:
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/achievement/wrappers/UserAchievements.java'
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/achievement/operations/user_achievements/PublicBulkUnlockAchievement.java'
example: |-
try {
final PublicBulkUnlockAchievement operation = PublicBulkUnlockAchievement.builder()
.build(
body,
namespace,
userId,
);
final UserAchievements wrapper = new UserAchievements(sdk);
final List<ModelsBulkUnlockAchievementResponse> response = wrapper.publicBulkUnlockAchievement(operation);
}
catch (HttpResponseException e) { /* Handle exceptions. */ }
catch (Exception e) { /* Handle exceptions. */ }
tags:
- 'achievement'
- 'achievements'
- 'bulk'
- 'public'
- 'unlock'
- 'user'
permissions:
- 'NAMESPACE:{namespace}:USER:{userId}:ACHIEVEMENT [UPDATE]'
scopes:
- 'social'
'PublicGetAchievement@jv.achievement.fun':
id: 'PublicGetAchievement@jv.achievement.fun'
name: 'PublicGetAchievement'
type: 'function'
description: |-
Required permission
`NAMESPACE:{namespace}:ACHIEVEMENT [READ]` and scope `social`
arguments:
'achievementCode':
type: 'String'
required: true
description: |-
achievement code
'language':
type: 'String'
required: true
description: |-
language, if the selected language not exist in achievement,it use default language
'namespace':
type: 'String'
required: true
description: |-
namespace of the game
return_type: 'ModelsPublicAchievementResponse'
imports:
- 'import net.accelbyte.sdk.core.*;'
- 'import net.accelbyte.sdk.api.achievement.models.*;'
- 'import net.accelbyte.sdk.api.achievement.operations.achievements.*;'
- 'import net.accelbyte.sdk.api.achievement.wrappers.*;'
files:
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/achievement/wrappers/Achievements.java'
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/achievement/operations/achievements/PublicGetAchievement.java'
example: |-
try {
final PublicGetAchievement operation = PublicGetAchievement.builder()
.build(
achievementCode,
language,
namespace,
);
final Achievements wrapper = new Achievements(sdk);
final ModelsPublicAchievementResponse response = wrapper.publicGetAchievement(operation);
}
catch (HttpResponseException e) { /* Handle exceptions. */ }
catch (Exception e) { /* Handle exceptions. */ }
tags:
- 'achievement'
- 'achievements'
- 'get'
- 'public'
permissions:
- 'NAMESPACE:{namespace}:ACHIEVEMENT [READ]'
scopes:
- 'social'
'PublicListAchievements@jv.achievement.fun':
id: 'PublicListAchievements@jv.achievement.fun'
name: 'PublicListAchievements'
type: 'function'
description: |-
Required permission
`NAMESPACE:{namespace}:ACHIEVEMENT [READ]` and scope `social`
arguments:
'global':
type: 'Boolean'
required: false
description: |-
filter by global achievement flag
'language':
type: 'String'
required: true
description: |-
language, if the selected language not exist in achievement,it use default language
'limit':
type: 'Integer'
required: false
description: |-
the maximum number of data that may be returned (1...100)
'namespace':
type: 'String'
required: true
description: |-
namespace of the game
'offset':
type: 'Integer'
required: false
description: |-
offset
'sortBy':
type: 'String'
required: false
description: |-
sort by, default is 'listOrder:asc', allow values: [listOrder, listOrder:asc, listOrder:desc, createdAt, createdAt:asc, createdAt:desc, updatedAt, updatedAt:asc, updatedAt:desc]
'tags':
type: 'List<String>'
required: false
description: |-
tags
return_type: 'ModelsPublicAchievementsResponse'
imports:
- 'import net.accelbyte.sdk.core.*;'
- 'import net.accelbyte.sdk.api.achievement.models.*;'
- 'import net.accelbyte.sdk.api.achievement.operations.achievements.*;'
- 'import net.accelbyte.sdk.api.achievement.wrappers.*;'
files:
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/achievement/wrappers/Achievements.java'
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/achievement/operations/achievements/PublicListAchievements.java'
example: |-
try {
final PublicListAchievements operation = PublicListAchievements.builder()
.global(...)
.limit(...)
.offset(...)
.sortBy(...)
.tags(...)
.build(
language,
namespace,
);
final Achievements wrapper = new Achievements(sdk);
final ModelsPublicAchievementsResponse response = wrapper.publicListAchievements(operation);
}
catch (HttpResponseException e) { /* Handle exceptions. */ }
catch (Exception e) { /* Handle exceptions. */ }
tags:
- 'achievements'
- 'list'
- 'public'
permissions:
- 'NAMESPACE:{namespace}:ACHIEVEMENT [READ]'
scopes:
- 'social'
'PublicListGlobalAchievements@jv.achievement.fun':
id: 'PublicListGlobalAchievements@jv.achievement.fun'
name: 'PublicListGlobalAchievements'
type: 'function'
description: |-
Required permission
`NAMESPACE:{namespace}:ACHIEVEMENT [READ]` and scope `social`
Note:
Global achievement status value mean: `status = 1 (in progress)` and `status = 2 (unlocked)`
arguments:
'achievementCodes':
type: 'String'
required: false
description: |-
filter by achievement codes. multiple value separated by comma
'limit':
type: 'Integer'
required: false
description: |-
the maximum number of data that may be returned (1...100)
'namespace':
type: 'String'
required: true
description: |-
namespace of the game
'offset':
type: 'Integer'
required: false
description: |-
offset
'sortBy':
type: 'String'
required: false
description: |-
sort by, allow values: [achievedAt, achievedAt:asc, achievedAt:desc, createdAt, createdAt:asc, createdAt:desc]
'status':
type: 'String'
required: false
description: |-
filter by status. available value: [in_progress, unlocked]
'tags':
type: 'List<String>'
required: false
description: |-
tags
return_type: 'ModelsPaginatedGlobalAchievementResponse'
imports:
- 'import net.accelbyte.sdk.core.*;'
- 'import net.accelbyte.sdk.api.achievement.models.*;'
- 'import net.accelbyte.sdk.api.achievement.operations.global_achievements.*;'
- 'import net.accelbyte.sdk.api.achievement.wrappers.*;'
files:
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/achievement/wrappers/GlobalAchievements.java'
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/achievement/operations/global_achievements/PublicListGlobalAchievements.java'
example: |-
try {
final PublicListGlobalAchievements operation = PublicListGlobalAchievements.builder()
.achievementCodes(...)
.limit(...)
.offset(...)
.sortBy(...)
.status(...)
.tags(...)
.build(
namespace,
);
final GlobalAchievements wrapper = new GlobalAchievements(sdk);
final ModelsPaginatedGlobalAchievementResponse response = wrapper.publicListGlobalAchievements(operation);
}
catch (HttpResponseException e) { /* Handle exceptions. */ }
catch (Exception e) { /* Handle exceptions. */ }
tags:
- 'achievements'
- 'global'
- 'list'
- 'public'
permissions:
- 'NAMESPACE:{namespace}:ACHIEVEMENT [READ]'
scopes:
- 'social'
'PublicListTags@jv.achievement.fun':
id: 'PublicListTags@jv.achievement.fun'
name: 'PublicListTags'
type: 'function'
description: |-
Required permission
`NAMESPACE:{namespace}:ACHIEVEMENT [READ]` and scope `social`
arguments:
'limit':
type: 'Integer'
required: false
description: |-
the maximum number of data that may be returned (1...100)
'name':
type: 'String'
required: false
description: |-
like's query by tag name
'namespace':
type: 'String'
required: true
description: |-
namespace of the game
'offset':
type: 'Integer'
required: false
description: |-
offset
'sortBy':
type: 'String'
required: false
description: |-
sort by, default is 'name:asc', allow values: [name, name:asc, name:desc, createdAt, createdAt:asc, createdAt:desc]
return_type: 'ModelsPaginatedTagResponse'
imports:
- 'import net.accelbyte.sdk.core.*;'
- 'import net.accelbyte.sdk.api.achievement.models.*;'
- 'import net.accelbyte.sdk.api.achievement.operations.tags.*;'
- 'import net.accelbyte.sdk.api.achievement.wrappers.*;'
files:
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/achievement/wrappers/Tags.java'
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/achievement/operations/tags/PublicListTags.java'
example: |-
try {
final PublicListTags operation = PublicListTags.builder()
.limit(...)
.name(...)
.offset(...)
.sortBy(...)
.build(
namespace,
);
final Tags wrapper = new Tags(sdk);
final ModelsPaginatedTagResponse response = wrapper.publicListTags(operation);
}
catch (HttpResponseException e) { /* Handle exceptions. */ }
catch (Exception e) { /* Handle exceptions. */ }
tags:
- 'list'
- 'public'
- 'tags'
permissions:
- 'NAMESPACE:{namespace}:ACHIEVEMENT [READ]'
scopes:
- 'social'
'PublicListUserAchievements@jv.achievement.fun':
id: 'PublicListUserAchievements@jv.achievement.fun'
name: 'PublicListUserAchievements'
type: 'function'
description: |-
Required permission
`NAMESPACE:{namespace}:USER:{userId}:ACHIEVEMENT [READ]` and scope `social`
Note:
User Achievement status value mean: `status = 1 (in progress)` and `status = 2 (unlocked)`
`achievedAt` value will return default value: `0001-01-01T00:00:00Z` for user achievement that locked or in progress
arguments:
'limit':
type: 'Integer'
required: false
description: |-
the maximum number of data that may be returned (1...100)
'namespace':
type: 'String'
required: true
description: |-
namespace of the game
'offset':
type: 'Integer'
required: false
description: |-
offset
'preferUnlocked':
type: 'Boolean'
required: false
description: |-
prefer to query achieved
'sortBy':
type: 'String'
required: false
description: |-
sort by, allow values: [achievedAt, achievedAt:asc, achievedAt:desc, createdAt, createdAt:asc, createdAt:desc]
'tags':
type: 'List<String>'
required: false
description: |-
tags
'userId':
type: 'String'
required: true
description: |-
user id
return_type: 'ModelsPaginatedUserAchievementResponse'
imports:
- 'import net.accelbyte.sdk.core.*;'
- 'import net.accelbyte.sdk.api.achievement.models.*;'
- 'import net.accelbyte.sdk.api.achievement.operations.user_achievements.*;'
- 'import net.accelbyte.sdk.api.achievement.wrappers.*;'
files:
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/achievement/wrappers/UserAchievements.java'
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/achievement/operations/user_achievements/PublicListUserAchievements.java'
example: |-
try {
final PublicListUserAchievements operation = PublicListUserAchievements.builder()
.limit(...)
.offset(...)
.preferUnlocked(...)
.sortBy(...)
.tags(...)
.build(
namespace,
userId,
);
final UserAchievements wrapper = new UserAchievements(sdk);
final ModelsPaginatedUserAchievementResponse response = wrapper.publicListUserAchievements(operation);
}
catch (HttpResponseException e) { /* Handle exceptions. */ }
catch (Exception e) { /* Handle exceptions. */ }
tags:
- 'achievements'
- 'list'
- 'public'
- 'user'
permissions:
- 'NAMESPACE:{namespace}:USER:{userId}:ACHIEVEMENT [READ]'
scopes:
- 'social'
'PublicUnlockAchievement@jv.achievement.fun':
id: 'PublicUnlockAchievement@jv.achievement.fun'
name: 'PublicUnlockAchievement'
type: 'function'
description: |-
Required permission
`NAMESPACE:{namespace}:USER:{userId}:ACHIEVEMENT [UPDATE]` and scope `social`
arguments:
'achievementCode':
type: 'String'
required: true
description: |-
achievement code
'namespace':
type: 'String'
required: true
description: |-
namespace of the game
'userId':
type: 'String'
required: true
description: |-
user id
return_type: 'void'
imports:
- 'import net.accelbyte.sdk.core.*;'
- 'import net.accelbyte.sdk.api.achievement.models.*;'
- 'import net.accelbyte.sdk.api.achievement.operations.user_achievements.*;'
- 'import net.accelbyte.sdk.api.achievement.wrappers.*;'
files:
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/achievement/wrappers/UserAchievements.java'
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/achievement/operations/user_achievements/PublicUnlockAchievement.java'
example: |-
try {
final PublicUnlockAchievement operation = PublicUnlockAchievement.builder()
.build(
achievementCode,
namespace,
userId,
);
final UserAchievements wrapper = new UserAchievements(sdk);
wrapper.publicUnlockAchievement(operation);
}
catch (HttpResponseException e) { /* Handle exceptions. */ }
catch (Exception e) { /* Handle exceptions. */ }
tags:
- 'achievement'
- 'achievements'
- 'public'
- 'unlock'
- 'user'
permissions:
- 'NAMESPACE:{namespace}:USER:{userId}:ACHIEVEMENT [UPDATE]'
scopes:
- 'social'
'ResetGlobalAchievement@jv.achievement.fun':
id: 'ResetGlobalAchievement@jv.achievement.fun'
name: 'ResetGlobalAchievement'
type: 'function'
description: |-
[TEST FACILITY ONLY]
Required permission
`ADMIN:NAMESPACE:{namespace}:ACHIEVEMENT [DELETE]` and scope `social`
arguments:
'achievementCode':
type: 'String'
required: true
description: |-
achievement code
'namespace':
type: 'String'
required: true
description: |-
namespace of the game
return_type: 'void'
imports:
- 'import net.accelbyte.sdk.core.*;'
- 'import net.accelbyte.sdk.api.achievement.models.*;'
- 'import net.accelbyte.sdk.api.achievement.operations.global_achievements.*;'
- 'import net.accelbyte.sdk.api.achievement.wrappers.*;'
files:
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/achievement/wrappers/GlobalAchievements.java'
- 'https://github.com/AccelByte/accelbyte-java-sdk/blob/main/src/main/java/net/accelbyte/sdk/api/achievement/operations/global_achievements/ResetGlobalAchievement.java'
example: |-
try {
final ResetGlobalAchievement operation = ResetGlobalAchievement.builder()
.build(
achievementCode,
namespace,
);
final GlobalAchievements wrapper = new GlobalAchievements(sdk);
wrapper.resetGlobalAchievement(operation);
}
catch (HttpResponseException e) { /* Handle exceptions. */ }
catch (Exception e) { /* Handle exceptions. */ }
tags:
- 'achievement'
- 'achievements'
- 'global'
- 'reset'
permissions:
- 'ADMIN:NAMESPACE:{namespace}:ACHIEVEMENT [DELETE]'
scopes:
- 'social'
# endregion functions