JavaScript SDK
const response = await client.profiles.retrieve([{ userIdentifier: 'abcd' }]);res = client.iam.user_profiles.retrieve("foo")
res = client.iam.user_profiles.retrieve(["bar", "baz"])
curl --request POST \
--url https://{cluster}.cognitedata.com/api/v1/projects/{project}/profiles/byids \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"items": [
{
"userIdentifier": "abcd"
}
]
}
'<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://{cluster}.cognitedata.com/api/v1/projects/{project}/profiles/byids",
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([
'items' => [
[
'userIdentifier' => 'abcd'
]
]
]),
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://{cluster}.cognitedata.com/api/v1/projects/{project}/profiles/byids"
payload := strings.NewReader("{\n \"items\": [\n {\n \"userIdentifier\": \"abcd\"\n }\n ]\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://{cluster}.cognitedata.com/api/v1/projects/{project}/profiles/byids")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"items\": [\n {\n \"userIdentifier\": \"abcd\"\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://{cluster}.cognitedata.com/api/v1/projects/{project}/profiles/byids")
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 \"items\": [\n {\n \"userIdentifier\": \"abcd\"\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"items": [
{
"userIdentifier": "abcd",
"lastUpdatedTime": 1730204346000,
"givenName": "Jane",
"surname": "Doe",
"email": "jane.doe@example.com",
"displayName": "Jane Doe",
"jobTitle": "Software Engineer"
}
]
}{
"error": {
"code": 123,
"message": "<string>",
"missing": [
{
"userIdentifier": "abcd"
}
],
"duplicated": [
{
"userIdentifier": "abcd"
}
]
}
}Retrieve profiles by ID in the current project
deprecated
Required capabilities:
userProfilesAcl:READ
Deprecated in favor of the Retrieve principals endpoint.
Retrieve one or more user profiles indexed by the user identifier in the same CDF project.
POST
/
profiles
/
byids
JavaScript SDK
const response = await client.profiles.retrieve([{ userIdentifier: 'abcd' }]);res = client.iam.user_profiles.retrieve("foo")
res = client.iam.user_profiles.retrieve(["bar", "baz"])
curl --request POST \
--url https://{cluster}.cognitedata.com/api/v1/projects/{project}/profiles/byids \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"items": [
{
"userIdentifier": "abcd"
}
]
}
'<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://{cluster}.cognitedata.com/api/v1/projects/{project}/profiles/byids",
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([
'items' => [
[
'userIdentifier' => 'abcd'
]
]
]),
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://{cluster}.cognitedata.com/api/v1/projects/{project}/profiles/byids"
payload := strings.NewReader("{\n \"items\": [\n {\n \"userIdentifier\": \"abcd\"\n }\n ]\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://{cluster}.cognitedata.com/api/v1/projects/{project}/profiles/byids")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"items\": [\n {\n \"userIdentifier\": \"abcd\"\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://{cluster}.cognitedata.com/api/v1/projects/{project}/profiles/byids")
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 \"items\": [\n {\n \"userIdentifier\": \"abcd\"\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"items": [
{
"userIdentifier": "abcd",
"lastUpdatedTime": 1730204346000,
"givenName": "Jane",
"surname": "Doe",
"email": "jane.doe@example.com",
"displayName": "Jane Doe",
"jobTitle": "Software Engineer"
}
]
}{
"error": {
"code": 123,
"message": "<string>",
"missing": [
{
"userIdentifier": "abcd"
}
],
"duplicated": [
{
"userIdentifier": "abcd"
}
]
}
}Authorizations
oidc-tokenoauth2-client-credentialsoauth2-open-industrial-dataoauth2-auth-code
Access token issued by the CDF project's configured identity provider. Access token must be an OpenID Connect token, and the project must be configured to accept OpenID Connect tokens. Use a header key of 'Authorization' with a value of 'Bearer $accesstoken'. The token can be obtained through any flow supported by the identity provider.
Body
application/json
Specify a maximum of 1000 unique IDs.
Array of user identifiers
Show child attributes
Show child attributes
Response
Show child attributes
Show child attributes
Last modified on July 10, 2026
Was this page helpful?
List all user profiles in the current project
Previous
Search user profiles in the current project
Next
⌘I