Gifts provide the system a way to grant new and existing users (personal projects) credits from a project
The gifting system is primarily intended to provide credits to new users when they join the system. A
Gift follows the same rules as
Wallets do. This means that in order to
give a gift to someone you must transfer the resources from a project. This means that the credits will be subtracted
directly from the source project.
Gift can only be claimed once by every user and it will be applied directly to the user’s personal project.
Clients used by the end-user should use
Gifts.availableGifts to figure out which
Gifts are unclaimed by
this user. It may then claim the individual
Administrators of a project can manage
Gifts through the
⚠️ WARNING: The API listed on this page will likely change to conform with our API conventions. Be careful when building integrations. The following changes are expected:
RPC names will change to conform with the conventions
RPC request and response types will change to conform with the conventions
RPCs which return a page will be collapsed into a single
Some property names will change to be consistent with
Table of Contents¶
||Finds a list of a user's unclaimed [Gift]s|
||Claims a [Gift] to the calling user's personal project|
||Creates a new Gift in the system|
||Deletes a Gift by its DeleteGiftRequest.giftId|
Remote Procedure Calls¶
Finds a list of a user’s unclaimed [Gift]s
Claims a [Gift] to the calling user’s personal project
Users who are not eligible for claiming this [Gift] will receive an appropriate error code.
If the gifting project has run out of resources then this endpoint will fail. The gift will not be marked as claimed.
Creates a new Gift in the system
Only project administrators can create new
Gifts in the system.
Deletes a Gift by its DeleteGiftRequest.giftId
Only project administrators of
Gift.resourcesOwnedBy can delete the
data class GiftWithCriteria( val id: Long, val resourcesOwnedBy: String, val title: String, val description: String, val resources: List<ResourceRequest>, val criteria: List<UserCriteria>, )
data class ClaimGiftRequest( val giftId: Long, )
data class DeleteGiftRequest( val giftId: Long, )
data class AvailableGiftsResponse( val gifts: List<FindByLongId>, )