package main
import(
"context"
"github.com/conductorone/conductorone-sdk-go/pkg/models/shared"
conductoronesdkgo "github.com/conductorone/conductorone-sdk-go"
"log"
)
func main() {
ctx := context.Background()
s := conductoronesdkgo.New(
conductoronesdkgo.WithSecurity(shared.Security{
BearerAuth: "<YOUR_BEARER_TOKEN_HERE>",
Oauth: "<YOUR_OAUTH_HERE>",
}),
)
res, err := s.AppEntitlementUserBinding.SearchGrantFeed(ctx, nil)
if err != nil {
log.Fatal(err)
}
if res.SearchGrantFeedResponse != nil {
// handle response
}
}import { ConductoroneSDKTypescript } from "conductorone-sdk-typescript";
const conductoroneSDKTypescript = new ConductoroneSDKTypescript({
security: {
bearerAuth: "<YOUR_BEARER_TOKEN_HERE>",
oauth: "<YOUR_OAUTH_HERE>",
},
});
async function run() {
const result = await conductoroneSDKTypescript.appEntitlementUserBinding.searchGrantFeed();
console.log(result);
}
run();curl --request POST \
--url https://{tenantDomain}.conductor.one/api/v1/grants/feed \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"after": "2023-11-07T05:31:56Z",
"appEntitlementRefs": [
{
"appId": "<string>",
"id": "<string>"
}
],
"appRefs": [
{
"id": "<string>"
}
],
"appUserRefs": [
{
"appId": "<string>",
"id": "<string>"
}
],
"before": "2023-11-07T05:31:56Z",
"expandMask": {
"paths": [
"<string>"
]
},
"pageSize": 123,
"pageToken": "<string>",
"userRefs": [
{
"id": "<string>"
}
]
}
'import requests
url = "https://{tenantDomain}.conductor.one/api/v1/grants/feed"
payload = {
"after": "2023-11-07T05:31:56Z",
"appEntitlementRefs": [
{
"appId": "<string>",
"id": "<string>"
}
],
"appRefs": [{ "id": "<string>" }],
"appUserRefs": [
{
"appId": "<string>",
"id": "<string>"
}
],
"before": "2023-11-07T05:31:56Z",
"expandMask": { "paths": ["<string>"] },
"pageSize": 123,
"pageToken": "<string>",
"userRefs": [{ "id": "<string>" }]
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
after: '2023-11-07T05:31:56Z',
appEntitlementRefs: [{appId: '<string>', id: '<string>'}],
appRefs: [{id: '<string>'}],
appUserRefs: [{appId: '<string>', id: '<string>'}],
before: '2023-11-07T05:31:56Z',
expandMask: {paths: ['<string>']},
pageSize: 123,
pageToken: '<string>',
userRefs: [{id: '<string>'}]
})
};
fetch('https://{tenantDomain}.conductor.one/api/v1/grants/feed', 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://{tenantDomain}.conductor.one/api/v1/grants/feed",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'after' => '2023-11-07T05:31:56Z',
'appEntitlementRefs' => [
[
'appId' => '<string>',
'id' => '<string>'
]
],
'appRefs' => [
[
'id' => '<string>'
]
],
'appUserRefs' => [
[
'appId' => '<string>',
'id' => '<string>'
]
],
'before' => '2023-11-07T05:31:56Z',
'expandMask' => [
'paths' => [
'<string>'
]
],
'pageSize' => 123,
'pageToken' => '<string>',
'userRefs' => [
[
'id' => '<string>'
]
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}HttpResponse<String> response = Unirest.post("https://{tenantDomain}.conductor.one/api/v1/grants/feed")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"after\": \"2023-11-07T05:31:56Z\",\n \"appEntitlementRefs\": [\n {\n \"appId\": \"<string>\",\n \"id\": \"<string>\"\n }\n ],\n \"appRefs\": [\n {\n \"id\": \"<string>\"\n }\n ],\n \"appUserRefs\": [\n {\n \"appId\": \"<string>\",\n \"id\": \"<string>\"\n }\n ],\n \"before\": \"2023-11-07T05:31:56Z\",\n \"expandMask\": {\n \"paths\": [\n \"<string>\"\n ]\n },\n \"pageSize\": 123,\n \"pageToken\": \"<string>\",\n \"userRefs\": [\n {\n \"id\": \"<string>\"\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://{tenantDomain}.conductor.one/api/v1/grants/feed")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"after\": \"2023-11-07T05:31:56Z\",\n \"appEntitlementRefs\": [\n {\n \"appId\": \"<string>\",\n \"id\": \"<string>\"\n }\n ],\n \"appRefs\": [\n {\n \"id\": \"<string>\"\n }\n ],\n \"appUserRefs\": [\n {\n \"appId\": \"<string>\",\n \"id\": \"<string>\"\n }\n ],\n \"before\": \"2023-11-07T05:31:56Z\",\n \"expandMask\": {\n \"paths\": [\n \"<string>\"\n ]\n },\n \"pageSize\": 123,\n \"pageToken\": \"<string>\",\n \"userRefs\": [\n {\n \"id\": \"<string>\"\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"expanded": [
{
"@type": "<string>"
}
],
"list": [
{
"appPath": "<string>",
"appUserPath": "<string>",
"entitlementPath": "<string>",
"feed": {
"appEntitlementId": "<string>",
"appId": "<string>",
"appUserId": "<string>",
"date": "2023-11-07T05:31:56Z",
"ticketId": "<string>"
},
"ticketPath": "<string>"
}
],
"nextPageToken": "<string>"
}Search Grant Feed
Invokes the c1.api.app.v1.AppEntitlementUserBindingService.SearchGrantFeed method.
package main
import(
"context"
"github.com/conductorone/conductorone-sdk-go/pkg/models/shared"
conductoronesdkgo "github.com/conductorone/conductorone-sdk-go"
"log"
)
func main() {
ctx := context.Background()
s := conductoronesdkgo.New(
conductoronesdkgo.WithSecurity(shared.Security{
BearerAuth: "<YOUR_BEARER_TOKEN_HERE>",
Oauth: "<YOUR_OAUTH_HERE>",
}),
)
res, err := s.AppEntitlementUserBinding.SearchGrantFeed(ctx, nil)
if err != nil {
log.Fatal(err)
}
if res.SearchGrantFeedResponse != nil {
// handle response
}
}import { ConductoroneSDKTypescript } from "conductorone-sdk-typescript";
const conductoroneSDKTypescript = new ConductoroneSDKTypescript({
security: {
bearerAuth: "<YOUR_BEARER_TOKEN_HERE>",
oauth: "<YOUR_OAUTH_HERE>",
},
});
async function run() {
const result = await conductoroneSDKTypescript.appEntitlementUserBinding.searchGrantFeed();
console.log(result);
}
run();curl --request POST \
--url https://{tenantDomain}.conductor.one/api/v1/grants/feed \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"after": "2023-11-07T05:31:56Z",
"appEntitlementRefs": [
{
"appId": "<string>",
"id": "<string>"
}
],
"appRefs": [
{
"id": "<string>"
}
],
"appUserRefs": [
{
"appId": "<string>",
"id": "<string>"
}
],
"before": "2023-11-07T05:31:56Z",
"expandMask": {
"paths": [
"<string>"
]
},
"pageSize": 123,
"pageToken": "<string>",
"userRefs": [
{
"id": "<string>"
}
]
}
'import requests
url = "https://{tenantDomain}.conductor.one/api/v1/grants/feed"
payload = {
"after": "2023-11-07T05:31:56Z",
"appEntitlementRefs": [
{
"appId": "<string>",
"id": "<string>"
}
],
"appRefs": [{ "id": "<string>" }],
"appUserRefs": [
{
"appId": "<string>",
"id": "<string>"
}
],
"before": "2023-11-07T05:31:56Z",
"expandMask": { "paths": ["<string>"] },
"pageSize": 123,
"pageToken": "<string>",
"userRefs": [{ "id": "<string>" }]
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
after: '2023-11-07T05:31:56Z',
appEntitlementRefs: [{appId: '<string>', id: '<string>'}],
appRefs: [{id: '<string>'}],
appUserRefs: [{appId: '<string>', id: '<string>'}],
before: '2023-11-07T05:31:56Z',
expandMask: {paths: ['<string>']},
pageSize: 123,
pageToken: '<string>',
userRefs: [{id: '<string>'}]
})
};
fetch('https://{tenantDomain}.conductor.one/api/v1/grants/feed', 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://{tenantDomain}.conductor.one/api/v1/grants/feed",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'after' => '2023-11-07T05:31:56Z',
'appEntitlementRefs' => [
[
'appId' => '<string>',
'id' => '<string>'
]
],
'appRefs' => [
[
'id' => '<string>'
]
],
'appUserRefs' => [
[
'appId' => '<string>',
'id' => '<string>'
]
],
'before' => '2023-11-07T05:31:56Z',
'expandMask' => [
'paths' => [
'<string>'
]
],
'pageSize' => 123,
'pageToken' => '<string>',
'userRefs' => [
[
'id' => '<string>'
]
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}HttpResponse<String> response = Unirest.post("https://{tenantDomain}.conductor.one/api/v1/grants/feed")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"after\": \"2023-11-07T05:31:56Z\",\n \"appEntitlementRefs\": [\n {\n \"appId\": \"<string>\",\n \"id\": \"<string>\"\n }\n ],\n \"appRefs\": [\n {\n \"id\": \"<string>\"\n }\n ],\n \"appUserRefs\": [\n {\n \"appId\": \"<string>\",\n \"id\": \"<string>\"\n }\n ],\n \"before\": \"2023-11-07T05:31:56Z\",\n \"expandMask\": {\n \"paths\": [\n \"<string>\"\n ]\n },\n \"pageSize\": 123,\n \"pageToken\": \"<string>\",\n \"userRefs\": [\n {\n \"id\": \"<string>\"\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://{tenantDomain}.conductor.one/api/v1/grants/feed")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"after\": \"2023-11-07T05:31:56Z\",\n \"appEntitlementRefs\": [\n {\n \"appId\": \"<string>\",\n \"id\": \"<string>\"\n }\n ],\n \"appRefs\": [\n {\n \"id\": \"<string>\"\n }\n ],\n \"appUserRefs\": [\n {\n \"appId\": \"<string>\",\n \"id\": \"<string>\"\n }\n ],\n \"before\": \"2023-11-07T05:31:56Z\",\n \"expandMask\": {\n \"paths\": [\n \"<string>\"\n ]\n },\n \"pageSize\": 123,\n \"pageToken\": \"<string>\",\n \"userRefs\": [\n {\n \"id\": \"<string>\"\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"expanded": [
{
"@type": "<string>"
}
],
"list": [
{
"appPath": "<string>",
"appUserPath": "<string>",
"entitlementPath": "<string>",
"feed": {
"appEntitlementId": "<string>",
"appId": "<string>",
"appUserId": "<string>",
"date": "2023-11-07T05:31:56Z",
"ticketId": "<string>"
},
"ticketPath": "<string>"
}
],
"nextPageToken": "<string>"
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
This API uses OAuth2 with the Client Credential flow. Client Credentials must be sent in the BODY, not the headers. For an example of how to implement this, refer to the c1TokenSource.Token() function.
Body
The SearchGrantFeedRequest message.
The list of app entitlements to limit the search to.
Show child attributes
Show child attributes
The list of apps to limit the search to.
Show child attributes
Show child attributes
The list of app users to limit the search to.
Show child attributes
Show child attributes
The AppEntitlementUserBindingExpandHistoryMask message.
Show child attributes
Show child attributes
The pageSize where 10 <= pageSize <= 100, default 25.
The page_token field for pagination.
The list of C1 users to limit the search to.
Show child attributes
Show child attributes
Response
The SearchGrantFeedResponse message contains a list of grant event results and a nextPageToken if applicable.
The SearchGrantFeedResponse message contains a list of grant event results and a nextPageToken if applicable.
The expanded field.
Show child attributes
Show child attributes
The list of results containing up to X results, where X is the page size defined in the request.
Show child attributes
Show child attributes
The nextPageToken is shown for the next page if the number of results is larger than the max page size. The server returns one page of results and the nextPageToken until all results are retrieved. To retrieve the next page, use the same request and append a pageToken field with the value of nextPageToken shown on the previous page.
Was this page helpful?