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
package main
import(
"context"
"os"
polargo "github.com/polarsource/polar-go"
"github.com/polarsource/polar-go/models/operations"
"log"
)
func main() {
ctx := context.Background()
s := polargo.New(
polargo.WithSecurity(os.Getenv("POLAR_ACCESS_TOKEN")),
)
res, err := s.Benefits.Grants(ctx, operations.BenefitsGrantsRequest{
ID: "<value>",
})
if err != nil {
log.Fatal(err)
}
if res.ListResourceBenefitGrant != nil {
for {
// handle items
res, err = res.Next()
if err != nil {
// handle error
}
if res == nil {
break
}
}
}
}{
"items": [
{
"created_at": "2023-11-07T05:31:56Z",
"modified_at": "2023-11-07T05:31:56Z",
"id": "<string>",
"is_granted": true,
"is_revoked": true,
"subscription_id": "<string>",
"order_id": "<string>",
"customer_id": "<string>",
"benefit_id": "<string>",
"customer": {
"id": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"modified_at": "2023-11-07T05:31:56Z",
"metadata": {},
"external_id": "usr_1337",
"email": "<string>",
"email_verified": true,
"name": "John Doe",
"billing_address": {
"country": "AD",
"line1": "<string>",
"line2": "<string>",
"postal_code": "<string>",
"city": "<string>",
"state": "<string>"
},
"tax_id": [
"911144442",
"us_ein"
],
"organization_id": "<string>",
"deleted_at": "2023-11-07T05:31:56Z",
"avatar_url": "<string>"
},
"benefit": {
"id": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"modified_at": "2023-11-07T05:31:56Z",
"type": "<string>",
"description": "<string>",
"selectable": true,
"deletable": true,
"organization_id": "<string>",
"metadata": {},
"properties": {
"note": "<string>"
}
},
"properties": {
"account_id": "<string>",
"guild_id": "<string>",
"role_id": "<string>",
"granted_account_id": "<string>"
},
"granted_at": "2023-11-07T05:31:56Z",
"revoked_at": "2023-11-07T05:31:56Z",
"error": {
"message": "<string>",
"type": "<string>",
"timestamp": "<string>"
}
}
],
"pagination": {
"total_count": 123,
"max_page": 123
}
}You can generate an Organization Access Token from your organization's settings.
The benefit ID.
Filter by granted status. If true, only granted benefits will be returned. If false, only revoked benefits will be returned.
Filter by customer.
Page number, defaults to 1.
Size of a page, defaults to 10. Maximum is 100.
Was this page helpful?
package main
import(
"context"
"os"
polargo "github.com/polarsource/polar-go"
"github.com/polarsource/polar-go/models/operations"
"log"
)
func main() {
ctx := context.Background()
s := polargo.New(
polargo.WithSecurity(os.Getenv("POLAR_ACCESS_TOKEN")),
)
res, err := s.Benefits.Grants(ctx, operations.BenefitsGrantsRequest{
ID: "<value>",
})
if err != nil {
log.Fatal(err)
}
if res.ListResourceBenefitGrant != nil {
for {
// handle items
res, err = res.Next()
if err != nil {
// handle error
}
if res == nil {
break
}
}
}
}{
"items": [
{
"created_at": "2023-11-07T05:31:56Z",
"modified_at": "2023-11-07T05:31:56Z",
"id": "<string>",
"is_granted": true,
"is_revoked": true,
"subscription_id": "<string>",
"order_id": "<string>",
"customer_id": "<string>",
"benefit_id": "<string>",
"customer": {
"id": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"modified_at": "2023-11-07T05:31:56Z",
"metadata": {},
"external_id": "usr_1337",
"email": "<string>",
"email_verified": true,
"name": "John Doe",
"billing_address": {
"country": "AD",
"line1": "<string>",
"line2": "<string>",
"postal_code": "<string>",
"city": "<string>",
"state": "<string>"
},
"tax_id": [
"911144442",
"us_ein"
],
"organization_id": "<string>",
"deleted_at": "2023-11-07T05:31:56Z",
"avatar_url": "<string>"
},
"benefit": {
"id": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"modified_at": "2023-11-07T05:31:56Z",
"type": "<string>",
"description": "<string>",
"selectable": true,
"deletable": true,
"organization_id": "<string>",
"metadata": {},
"properties": {
"note": "<string>"
}
},
"properties": {
"account_id": "<string>",
"guild_id": "<string>",
"role_id": "<string>",
"granted_account_id": "<string>"
},
"granted_at": "2023-11-07T05:31:56Z",
"revoked_at": "2023-11-07T05:31:56Z",
"error": {
"message": "<string>",
"type": "<string>",
"timestamp": "<string>"
}
}
],
"pagination": {
"total_count": 123,
"max_page": 123
}
}