Provides API endpoints related to benefits
Summary
Functions
Create Benefit
Delete Benefit
Get Benefit
List Benefit Grants
List Benefits
Update Benefit
Functions
@spec benefits_create( body :: Polarex.BenefitCustomCreate.t() | Polarex.BenefitDiscordCreate.t() | Polarex.BenefitDownloadablesCreate.t() | Polarex.BenefitFeatureFlagCreate.t() | Polarex.BenefitGitHubRepositoryCreate.t() | Polarex.BenefitLicenseKeysCreate.t() | Polarex.BenefitMeterCreditCreate.t(), opts :: keyword() ) :: {:ok, Polarex.BenefitCustom.t() | Polarex.BenefitDiscord.t() | Polarex.BenefitDownloadables.t() | Polarex.BenefitFeatureFlag.t() | Polarex.BenefitGitHubRepository.t() | Polarex.BenefitLicenseKeys.t() | Polarex.BenefitMeterCredit.t()} | {:error, Polarex.HTTPValidationError.t()}
Create Benefit
Create a benefit.
Scopes: benefits:write
Request Body
Content Types: application/json
@spec benefits_delete(id :: String.t(), opts :: keyword()) :: :ok | {:error, Polarex.HTTPValidationError.t() | Polarex.NotPermitted.t() | Polarex.ResourceNotFound.t()}
Delete Benefit
Delete a benefit.
[!WARNING] Every grants associated with the benefit will be revoked. Users will lose access to the benefit.
Scopes: benefits:write
@spec benefits_get(id :: String.t(), opts :: keyword()) :: {:ok, Polarex.BenefitCustom.t() | Polarex.BenefitDiscord.t() | Polarex.BenefitDownloadables.t() | Polarex.BenefitFeatureFlag.t() | Polarex.BenefitGitHubRepository.t() | Polarex.BenefitLicenseKeys.t() | Polarex.BenefitMeterCredit.t()} | {:error, Polarex.HTTPValidationError.t() | Polarex.ResourceNotFound.t()}
Get Benefit
Get a benefit by ID.
Scopes: benefits:read benefits:write
@spec benefits_grants(id :: String.t(), opts :: keyword()) :: {:ok, Polarex.ListResourceBenefitGrant.t()} | {:error, Polarex.HTTPValidationError.t() | Polarex.ResourceNotFound.t()}
List Benefit Grants
List the individual grants for a benefit.
It's especially useful to check if a user has been granted a benefit.
Scopes: benefits:read benefits:write
Options
is_granted: Filter by granted status. Iftrue, only granted benefits will be returned. Iffalse, only revoked benefits will be returned.customer_id: Filter by customer.member_id: Filter by member.page: Page number, defaults to 1.limit: Size of a page, defaults to 10. Maximum is 100.
@spec benefits_list(opts :: keyword()) :: {:ok, Polarex.ListResourceBenefit.t()} | {:error, Polarex.HTTPValidationError.t()}
List Benefits
List benefits.
Scopes: benefits:read benefits:write
Options
organization_id: Filter by organization ID.type: Filter by benefit type.id: Filter by benefit IDs.exclude_id: Exclude benefits with these IDs.query: Filter by description.page: Page number, defaults to 1.limit: Size of a page, defaults to 10. Maximum is 100.sorting: Sorting criterion. Several criteria can be used simultaneously and will be applied in order. Add a minus sign-before the criteria name to sort by descending order.metadata: Filter by metadata key-value pairs. It uses thedeepObjectstyle, e.g.?metadata[key]=value.
@spec benefits_update( id :: String.t(), body :: Polarex.BenefitCustomUpdate.t() | Polarex.BenefitDiscordUpdate.t() | Polarex.BenefitDownloadablesUpdate.t() | Polarex.BenefitFeatureFlagUpdate.t() | Polarex.BenefitGitHubRepositoryUpdate.t() | Polarex.BenefitLicenseKeysUpdate.t() | Polarex.BenefitMeterCreditUpdate.t(), opts :: keyword() ) :: {:ok, Polarex.BenefitCustom.t() | Polarex.BenefitDiscord.t() | Polarex.BenefitDownloadables.t() | Polarex.BenefitFeatureFlag.t() | Polarex.BenefitGitHubRepository.t() | Polarex.BenefitLicenseKeys.t() | Polarex.BenefitMeterCredit.t()} | {:error, Polarex.HTTPValidationError.t() | Polarex.ResourceNotFound.t()}
Update Benefit
Update a benefit.
Scopes: benefits:write
Request Body
Content Types: application/json