curl --request POST \
--url https://cloud.cdata.com/api/v1/admin/users/{id}/permissions \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"resource": "salesforce-prod",
"operations": [
"read"
],
"type": "connection"
}
'import requests
url = "https://cloud.cdata.com/api/v1/admin/users/{id}/permissions"
payload = {
"resource": "salesforce-prod",
"operations": ["read"],
"type": "connection"
}
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({resource: 'salesforce-prod', operations: ['read'], type: 'connection'})
};
fetch('https://cloud.cdata.com/api/v1/admin/users/{id}/permissions', 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://cloud.cdata.com/api/v1/admin/users/{id}/permissions",
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([
'resource' => 'salesforce-prod',
'operations' => [
'read'
],
'type' => 'connection'
]),
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;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://cloud.cdata.com/api/v1/admin/users/{id}/permissions"
payload := strings.NewReader("{\n \"resource\": \"salesforce-prod\",\n \"operations\": [\n \"read\"\n ],\n \"type\": \"connection\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://cloud.cdata.com/api/v1/admin/users/{id}/permissions")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"resource\": \"salesforce-prod\",\n \"operations\": [\n \"read\"\n ],\n \"type\": \"connection\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://cloud.cdata.com/api/v1/admin/users/{id}/permissions")
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 \"resource\": \"salesforce-prod\",\n \"operations\": [\n \"read\"\n ],\n \"type\": \"connection\"\n}"
response = http.request(request)
puts response.read_body{
"id": "p1b2c3d4-e5f6-7890-abcd-ef1234567890",
"user_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"resource": "salesforce-prod",
"operations": [
"read"
],
"type": "connection",
"assigned_at": "2026-06-15T10:00:00Z",
"assigned_by": "00000000-0000-0000-0000-000000000001"
}Assign User Permission
Assign a direct resource permission to a user. Permissions can be granted at the user level independently of any role assignment.
curl --request POST \
--url https://cloud.cdata.com/api/v1/admin/users/{id}/permissions \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"resource": "salesforce-prod",
"operations": [
"read"
],
"type": "connection"
}
'import requests
url = "https://cloud.cdata.com/api/v1/admin/users/{id}/permissions"
payload = {
"resource": "salesforce-prod",
"operations": ["read"],
"type": "connection"
}
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({resource: 'salesforce-prod', operations: ['read'], type: 'connection'})
};
fetch('https://cloud.cdata.com/api/v1/admin/users/{id}/permissions', 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://cloud.cdata.com/api/v1/admin/users/{id}/permissions",
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([
'resource' => 'salesforce-prod',
'operations' => [
'read'
],
'type' => 'connection'
]),
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;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://cloud.cdata.com/api/v1/admin/users/{id}/permissions"
payload := strings.NewReader("{\n \"resource\": \"salesforce-prod\",\n \"operations\": [\n \"read\"\n ],\n \"type\": \"connection\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://cloud.cdata.com/api/v1/admin/users/{id}/permissions")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"resource\": \"salesforce-prod\",\n \"operations\": [\n \"read\"\n ],\n \"type\": \"connection\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://cloud.cdata.com/api/v1/admin/users/{id}/permissions")
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 \"resource\": \"salesforce-prod\",\n \"operations\": [\n \"read\"\n ],\n \"type\": \"connection\"\n}"
response = http.request(request)
puts response.read_body{
"id": "p1b2c3d4-e5f6-7890-abcd-ef1234567890",
"user_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"resource": "salesforce-prod",
"operations": [
"read"
],
"type": "connection",
"assigned_at": "2026-06-15T10:00:00Z",
"assigned_by": "00000000-0000-0000-0000-000000000001"
}Authorizations
The access token received from the authorization server in the OAuth 2.0 flow.
Path Parameters
User identifier (UUID).
Body
The name of the specific connection instance this permission applies to. This is the connection name as defined in Connect AI, not the connector type.
One or more operations to permit on the resource.
create, read, update, delete, execute Always connection. Classifies what category of resource the permission governs.
connection Response
Created
Permission identifier.
The user this permission is assigned to.
The connection name this permission applies to.
Allowed operations on the resource.
create, read, update, delete, execute Always connection. Classifies what category of resource the permission governs.
connection ISO 8601 UTC.
The user who assigned this permission.
Was this page helpful?