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.AppSearch.Search(ctx, nil)
if err != nil {
log.Fatal(err)
}
if res.SearchAppsResponse != nil {
for {
// handle items
res, err = res.Next()
if err != nil {
// handle error
}
if res == nil {
break
}
}
}
}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.appSearch.search();
for await (const page of result) {
console.log(page);
}
}
run();curl --request POST \
--url https://{tenantDomain}.conductor.one/api/v1/search/apps \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"appIds": [
"<string>"
],
"displayName": "<string>",
"excludeAppIds": [
"<string>"
],
"onlyDirectories": true,
"pageSize": 123,
"pageToken": "<string>",
"policyRefs": [
{
"id": "<string>"
}
],
"query": "<string>"
}
'import requests
url = "https://{tenantDomain}.conductor.one/api/v1/search/apps"
payload = {
"appIds": ["<string>"],
"displayName": "<string>",
"excludeAppIds": ["<string>"],
"onlyDirectories": True,
"pageSize": 123,
"pageToken": "<string>",
"policyRefs": [{ "id": "<string>" }],
"query": "<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({
appIds: ['<string>'],
displayName: '<string>',
excludeAppIds: ['<string>'],
onlyDirectories: true,
pageSize: 123,
pageToken: '<string>',
policyRefs: [{id: '<string>'}],
query: '<string>'
})
};
fetch('https://{tenantDomain}.conductor.one/api/v1/search/apps', 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/search/apps",
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([
'appIds' => [
'<string>'
],
'displayName' => '<string>',
'excludeAppIds' => [
'<string>'
],
'onlyDirectories' => true,
'pageSize' => 123,
'pageToken' => '<string>',
'policyRefs' => [
[
'id' => '<string>'
]
],
'query' => '<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/search/apps")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"appIds\": [\n \"<string>\"\n ],\n \"displayName\": \"<string>\",\n \"excludeAppIds\": [\n \"<string>\"\n ],\n \"onlyDirectories\": true,\n \"pageSize\": 123,\n \"pageToken\": \"<string>\",\n \"policyRefs\": [\n {\n \"id\": \"<string>\"\n }\n ],\n \"query\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://{tenantDomain}.conductor.one/api/v1/search/apps")
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 \"appIds\": [\n \"<string>\"\n ],\n \"displayName\": \"<string>\",\n \"excludeAppIds\": [\n \"<string>\"\n ],\n \"onlyDirectories\": true,\n \"pageSize\": 123,\n \"pageToken\": \"<string>\",\n \"policyRefs\": [\n {\n \"id\": \"<string>\"\n }\n ],\n \"query\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"list": [
{
"annotations": {},
"appAccountId": "<string>",
"appAccountName": "<string>",
"appOwners": [
{
"createdAt": "2023-11-07T05:31:56Z",
"delegatedUserId": "<string>",
"deletedAt": "2023-11-07T05:31:56Z",
"department": "<string>",
"departmentSources": [
{
"appId": "<string>",
"appUserId": "<string>",
"appUserProfileAttributeKey": "<string>",
"userAttributeMappingId": "<string>",
"value": "<string>"
}
],
"directoryIds": [
"<string>"
],
"directoryStatusSources": [
{
"appId": "<string>",
"appUserId": "<string>",
"appUserProfileAttributeKey": "<string>",
"userAttributeMappingId": "<string>",
"value": "<string>"
}
],
"displayName": "<string>",
"email": "<string>",
"emailSources": [
{
"appId": "<string>",
"appUserId": "<string>",
"appUserProfileAttributeKey": "<string>",
"userAttributeMappingId": "<string>",
"value": "<string>"
}
],
"emails": [
"<string>"
],
"employeeIdSources": [
{
"appId": "<string>",
"appUserId": "<string>",
"appUserProfileAttributeKey": "<string>",
"userAttributeMappingId": "<string>",
"value": "<string>"
}
],
"employeeIds": [
"<string>"
],
"employmentStatus": "<string>",
"employmentStatusSources": [
{
"appId": "<string>",
"appUserId": "<string>",
"appUserProfileAttributeKey": "<string>",
"userAttributeMappingId": "<string>",
"value": "<string>"
}
],
"employmentType": "<string>",
"employmentTypeSources": [
{
"appId": "<string>",
"appUserId": "<string>",
"appUserProfileAttributeKey": "<string>",
"userAttributeMappingId": "<string>",
"value": "<string>"
}
],
"id": "<string>",
"jobTitle": "<string>",
"jobTitleSources": [
{
"appId": "<string>",
"appUserId": "<string>",
"appUserProfileAttributeKey": "<string>",
"userAttributeMappingId": "<string>",
"value": "<string>"
}
],
"managerIds": [
"<string>"
],
"managerSources": [
{
"appId": "<string>",
"appUserId": "<string>",
"appUserProfileAttributeKey": "<string>",
"userAttributeMappingId": "<string>",
"value": "<string>"
}
],
"profile": {},
"roleIds": [
"<string>"
],
"updatedAt": "2023-11-07T05:31:56Z",
"username": "<string>",
"usernameSources": [
{
"appId": "<string>",
"appUserId": "<string>",
"appUserProfileAttributeKey": "<string>",
"userAttributeMappingId": "<string>",
"value": "<string>"
}
],
"usernames": [
"<string>"
]
}
],
"appUserMapper": {
"mappingCases": [
{
"appUserKeyCel": "<string>",
"userKeyCel": "<string>"
}
]
},
"certifyPolicyId": "<string>",
"connectorVersion": 123,
"createdAt": "2023-11-07T05:31:56Z",
"defaultRequestCatalogId": "<string>",
"deletedAt": "2023-11-07T05:31:56Z",
"description": "<string>",
"displayName": "<string>",
"enableConnectorSourcedOwnership": true,
"fieldMask": "<string>",
"grantPolicyId": "<string>",
"iconUrl": "<string>",
"id": "<string>",
"instructions": "<string>",
"isDirectory": true,
"isManuallyManaged": true,
"logoUri": "<string>",
"monthlyCostUsd": 123,
"parentAppId": "<string>",
"revokePolicyId": "<string>",
"strictAccessEntitlementProvisioning": true,
"updatedAt": "2023-11-07T05:31:56Z",
"userCount": "<string>"
}
],
"nextPageToken": "<string>"
}Search
Search apps based on filters specified in the request body.
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.AppSearch.Search(ctx, nil)
if err != nil {
log.Fatal(err)
}
if res.SearchAppsResponse != nil {
for {
// handle items
res, err = res.Next()
if err != nil {
// handle error
}
if res == nil {
break
}
}
}
}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.appSearch.search();
for await (const page of result) {
console.log(page);
}
}
run();curl --request POST \
--url https://{tenantDomain}.conductor.one/api/v1/search/apps \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"appIds": [
"<string>"
],
"displayName": "<string>",
"excludeAppIds": [
"<string>"
],
"onlyDirectories": true,
"pageSize": 123,
"pageToken": "<string>",
"policyRefs": [
{
"id": "<string>"
}
],
"query": "<string>"
}
'import requests
url = "https://{tenantDomain}.conductor.one/api/v1/search/apps"
payload = {
"appIds": ["<string>"],
"displayName": "<string>",
"excludeAppIds": ["<string>"],
"onlyDirectories": True,
"pageSize": 123,
"pageToken": "<string>",
"policyRefs": [{ "id": "<string>" }],
"query": "<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({
appIds: ['<string>'],
displayName: '<string>',
excludeAppIds: ['<string>'],
onlyDirectories: true,
pageSize: 123,
pageToken: '<string>',
policyRefs: [{id: '<string>'}],
query: '<string>'
})
};
fetch('https://{tenantDomain}.conductor.one/api/v1/search/apps', 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/search/apps",
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([
'appIds' => [
'<string>'
],
'displayName' => '<string>',
'excludeAppIds' => [
'<string>'
],
'onlyDirectories' => true,
'pageSize' => 123,
'pageToken' => '<string>',
'policyRefs' => [
[
'id' => '<string>'
]
],
'query' => '<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/search/apps")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"appIds\": [\n \"<string>\"\n ],\n \"displayName\": \"<string>\",\n \"excludeAppIds\": [\n \"<string>\"\n ],\n \"onlyDirectories\": true,\n \"pageSize\": 123,\n \"pageToken\": \"<string>\",\n \"policyRefs\": [\n {\n \"id\": \"<string>\"\n }\n ],\n \"query\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://{tenantDomain}.conductor.one/api/v1/search/apps")
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 \"appIds\": [\n \"<string>\"\n ],\n \"displayName\": \"<string>\",\n \"excludeAppIds\": [\n \"<string>\"\n ],\n \"onlyDirectories\": true,\n \"pageSize\": 123,\n \"pageToken\": \"<string>\",\n \"policyRefs\": [\n {\n \"id\": \"<string>\"\n }\n ],\n \"query\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"list": [
{
"annotations": {},
"appAccountId": "<string>",
"appAccountName": "<string>",
"appOwners": [
{
"createdAt": "2023-11-07T05:31:56Z",
"delegatedUserId": "<string>",
"deletedAt": "2023-11-07T05:31:56Z",
"department": "<string>",
"departmentSources": [
{
"appId": "<string>",
"appUserId": "<string>",
"appUserProfileAttributeKey": "<string>",
"userAttributeMappingId": "<string>",
"value": "<string>"
}
],
"directoryIds": [
"<string>"
],
"directoryStatusSources": [
{
"appId": "<string>",
"appUserId": "<string>",
"appUserProfileAttributeKey": "<string>",
"userAttributeMappingId": "<string>",
"value": "<string>"
}
],
"displayName": "<string>",
"email": "<string>",
"emailSources": [
{
"appId": "<string>",
"appUserId": "<string>",
"appUserProfileAttributeKey": "<string>",
"userAttributeMappingId": "<string>",
"value": "<string>"
}
],
"emails": [
"<string>"
],
"employeeIdSources": [
{
"appId": "<string>",
"appUserId": "<string>",
"appUserProfileAttributeKey": "<string>",
"userAttributeMappingId": "<string>",
"value": "<string>"
}
],
"employeeIds": [
"<string>"
],
"employmentStatus": "<string>",
"employmentStatusSources": [
{
"appId": "<string>",
"appUserId": "<string>",
"appUserProfileAttributeKey": "<string>",
"userAttributeMappingId": "<string>",
"value": "<string>"
}
],
"employmentType": "<string>",
"employmentTypeSources": [
{
"appId": "<string>",
"appUserId": "<string>",
"appUserProfileAttributeKey": "<string>",
"userAttributeMappingId": "<string>",
"value": "<string>"
}
],
"id": "<string>",
"jobTitle": "<string>",
"jobTitleSources": [
{
"appId": "<string>",
"appUserId": "<string>",
"appUserProfileAttributeKey": "<string>",
"userAttributeMappingId": "<string>",
"value": "<string>"
}
],
"managerIds": [
"<string>"
],
"managerSources": [
{
"appId": "<string>",
"appUserId": "<string>",
"appUserProfileAttributeKey": "<string>",
"userAttributeMappingId": "<string>",
"value": "<string>"
}
],
"profile": {},
"roleIds": [
"<string>"
],
"updatedAt": "2023-11-07T05:31:56Z",
"username": "<string>",
"usernameSources": [
{
"appId": "<string>",
"appUserId": "<string>",
"appUserProfileAttributeKey": "<string>",
"userAttributeMappingId": "<string>",
"value": "<string>"
}
],
"usernames": [
"<string>"
]
}
],
"appUserMapper": {
"mappingCases": [
{
"appUserKeyCel": "<string>",
"userKeyCel": "<string>"
}
]
},
"certifyPolicyId": "<string>",
"connectorVersion": 123,
"createdAt": "2023-11-07T05:31:56Z",
"defaultRequestCatalogId": "<string>",
"deletedAt": "2023-11-07T05:31:56Z",
"description": "<string>",
"displayName": "<string>",
"enableConnectorSourcedOwnership": true,
"fieldMask": "<string>",
"grantPolicyId": "<string>",
"iconUrl": "<string>",
"id": "<string>",
"instructions": "<string>",
"isDirectory": true,
"isManuallyManaged": true,
"logoUri": "<string>",
"monthlyCostUsd": 123,
"parentAppId": "<string>",
"revokePolicyId": "<string>",
"strictAccessEntitlementProvisioning": true,
"updatedAt": "2023-11-07T05:31:56Z",
"userCount": "<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
Search Apps by a few properties.
A list of app IDs to restrict the search to.
Search for apps with a case insensitive match on the display name.
A list of app IDs to remove from the results.
Only return apps which are directories
The pageSize where 0 <= pageSize <= 100. Values < 10 will be set to 10. A value of 0 returns the default page size (currently 25)
The pageToken field.
Search for apps that use any of these policies.
Show child attributes
Show child attributes
Query the apps with a fuzzy search on display name and description.
Response
The SearchAppsResponse message contains a list of results and a nextPageToken if applicable.
The SearchAppsResponse message contains a list of results and a nextPageToken if applicable.
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 retreived. 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?