List Benefit Grants
Intent
Reads the available benefit grants as a pageable collection without changing them.
When to call it
Call this when an interface, sync, or support workflow needs to inspect benefit grants. Use the filters and paging controls shown below to limit the result.
Access boundary
Authorize the request with a token that carries benefits:read or benefits:write.
Successful result
A successful request returns 200. The response schema below defines the body your integration receives.
Operational notes
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
curl --request GET \
--url https://api.getruba.com/v1/benefits/{id}/grants \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.getruba.com/v1/benefits/{id}/grants"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.getruba.com/v1/benefits/{id}/grants', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.getruba.com/v1/benefits/{id}/grants",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.getruba.com/v1/benefits/{id}/grants"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.getruba.com/v1/benefits/{id}/grants")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.getruba.com/v1/benefits/{id}/grants")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"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": "992fae2a-2a17-4b7a-8d9e-e287cf90131b",
"created_at": "2023-11-07T05:31:56Z",
"modified_at": "2023-11-07T05:31:56Z",
"metadata": {},
"email": "customer@example.com",
"email_verified": true,
"type": "individual",
"name": "John Doe",
"billing_name": "John Doe",
"billing_address": {
"country": "US",
"line1": "<string>",
"line2": "<string>",
"postal_code": "<string>",
"city": "<string>",
"state": "<string>"
},
"tax_id": {
"[0]": "<string>"
},
"organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737",
"deleted_at": "2023-11-07T05:31:56Z",
"avatar_url": "https://example.com/avatar.png",
"external_id": "usr_1337",
"locale": "<string>",
"default_payment_method_id": "<string>"
},
"benefit": {
"id": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"modified_at": "2023-11-07T05:31:56Z",
"type": "custom",
"description": "<string>",
"selectable": true,
"deletable": true,
"is_deleted": true,
"organization_id": "<string>",
"metadata": {},
"visibility": "draft",
"properties": {
"note": "<string>"
},
"visibility_configurable": true
},
"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",
"member_id": "<string>",
"error": {
"message": "<string>",
"type": "<string>",
"timestamp": "<string>"
},
"member": {
"id": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"modified_at": "2023-11-07T05:31:56Z",
"customer_id": "<string>",
"email": "member@example.com",
"name": "Jane Doe",
"external_id": "usr_1337",
"role": "owner"
}
}
],
"pagination": {
"total_count": 123,
"max_page": 123
}
}{
"error": "ResourceNotFound",
"detail": "<string>"
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}Authorizations
You can generate an Organization Access Token from your organization's settings.
Path Parameters
The benefit ID.
Query Parameters
Filter by granted status. If true, only granted benefits will be returned. If false, only revoked benefits will be returned.
Filter by customer. The customer ID.
Filter by member.
Page number, defaults to 1.
Size of a page, defaults to 10. Maximum is 100.
curl --request GET \
--url https://api.getruba.com/v1/benefits/{id}/grants \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.getruba.com/v1/benefits/{id}/grants"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.getruba.com/v1/benefits/{id}/grants', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.getruba.com/v1/benefits/{id}/grants",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.getruba.com/v1/benefits/{id}/grants"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.getruba.com/v1/benefits/{id}/grants")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.getruba.com/v1/benefits/{id}/grants")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"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": "992fae2a-2a17-4b7a-8d9e-e287cf90131b",
"created_at": "2023-11-07T05:31:56Z",
"modified_at": "2023-11-07T05:31:56Z",
"metadata": {},
"email": "customer@example.com",
"email_verified": true,
"type": "individual",
"name": "John Doe",
"billing_name": "John Doe",
"billing_address": {
"country": "US",
"line1": "<string>",
"line2": "<string>",
"postal_code": "<string>",
"city": "<string>",
"state": "<string>"
},
"tax_id": {
"[0]": "<string>"
},
"organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737",
"deleted_at": "2023-11-07T05:31:56Z",
"avatar_url": "https://example.com/avatar.png",
"external_id": "usr_1337",
"locale": "<string>",
"default_payment_method_id": "<string>"
},
"benefit": {
"id": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"modified_at": "2023-11-07T05:31:56Z",
"type": "custom",
"description": "<string>",
"selectable": true,
"deletable": true,
"is_deleted": true,
"organization_id": "<string>",
"metadata": {},
"visibility": "draft",
"properties": {
"note": "<string>"
},
"visibility_configurable": true
},
"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",
"member_id": "<string>",
"error": {
"message": "<string>",
"type": "<string>",
"timestamp": "<string>"
},
"member": {
"id": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"modified_at": "2023-11-07T05:31:56Z",
"customer_id": "<string>",
"email": "member@example.com",
"name": "Jane Doe",
"external_id": "usr_1337",
"role": "owner"
}
}
],
"pagination": {
"total_count": 123,
"max_page": 123
}
}{
"error": "ResourceNotFound",
"detail": "<string>"
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}