curl --request GET \
--url https://api.gominerva.com/clm/v1/profiles \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '{}'import requests
url = "https://api.gominerva.com/clm/v1/profiles"
payload = {}
headers = {
"x-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.get(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'GET',
headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({})
};
fetch('https://api.gominerva.com/clm/v1/profiles', 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.gominerva.com/clm/v1/profiles",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_POSTFIELDS => json_encode([
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-api-key: <api-key>"
],
]);
$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://api.gominerva.com/clm/v1/profiles"
payload := strings.NewReader("{}")
req, _ := http.NewRequest("GET", url, payload)
req.Header.Add("x-api-key", "<api-key>")
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.get("https://api.gominerva.com/clm/v1/profiles")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.gominerva.com/clm/v1/profiles")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{}"
response = http.request(request)
puts response.read_body{
"msg": "OK",
"result": {
"profiles": [
{
"id": "66c391b92888a0db5cc6d3f6",
"name": "Alex Morgan",
"profileCustomFields": [
{
"key": "loan_number",
"label": "Loan Number",
"type": "number",
"value": 4417723
},
{
"key": "loan_status",
"label": "Loan Status",
"type": "enum",
"value": "funded",
"valueLabel": "Funded"
},
{
"key": "servicing_details",
"label": "Servicing Details",
"type": "json",
"value": {
"portfolio": "Prime",
"boardingDate": "2026-08-27"
}
}
]
}
],
"meta": {
"page": 1,
"perPage": 20,
"total": 1
}
},
"status": 200
}List profiles
The GET method on the resource group lists profiles previously created in the requester’s organization. This can be used to extract profiles and sync them to an internal system, or to build integrations that fetch profiles according to selected filters. Each profile can include an optional profileCustomFields array when stored values resolve to active organization definitions. Definition edits and archives may take up to 60 seconds to appear in list responses; stored values do not change. After the read view refreshes, renamed labels are updated and archived fields are omitted. Existing profiles with no resolved custom values retain the previous response shape.
curl --request GET \
--url https://api.gominerva.com/clm/v1/profiles \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '{}'import requests
url = "https://api.gominerva.com/clm/v1/profiles"
payload = {}
headers = {
"x-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.get(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'GET',
headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({})
};
fetch('https://api.gominerva.com/clm/v1/profiles', 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.gominerva.com/clm/v1/profiles",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_POSTFIELDS => json_encode([
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-api-key: <api-key>"
],
]);
$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://api.gominerva.com/clm/v1/profiles"
payload := strings.NewReader("{}")
req, _ := http.NewRequest("GET", url, payload)
req.Header.Add("x-api-key", "<api-key>")
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.get("https://api.gominerva.com/clm/v1/profiles")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.gominerva.com/clm/v1/profiles")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{}"
response = http.request(request)
puts response.read_body{
"msg": "OK",
"result": {
"profiles": [
{
"id": "66c391b92888a0db5cc6d3f6",
"name": "Alex Morgan",
"profileCustomFields": [
{
"key": "loan_number",
"label": "Loan Number",
"type": "number",
"value": 4417723
},
{
"key": "loan_status",
"label": "Loan Status",
"type": "enum",
"value": "funded",
"valueLabel": "Funded"
},
{
"key": "servicing_details",
"label": "Servicing Details",
"type": "json",
"value": {
"portfolio": "Prime",
"boardingDate": "2026-08-27"
}
}
]
}
],
"meta": {
"page": 1,
"perPage": 20,
"total": 1
}
},
"status": 200
}Authorizations
The Minerva API key used for this integration. Manage API keys in the Minerva dashboard under Administration > Developers.
Query Parameters
The current page cursor to fetch, starting at 1
The number of records to fetch per page, max 100
Filter by partial matches across profile name, email, and external ID.
Filter by profiles whose externalId matches the supplied value exactly, ignoring letter case. Partial values do not match; use query, which searches name, email, and external ID, to match external IDs partially. The ID is supplied during the onboarding or profile creation API request by an external system such as a custom admin system or CRM.
Filter by partial matches to the full name.
Filter by partial matches to the profile's email address.
Filter by partial matches to address line 1.
Filter by partial matches to address line 2.
Filter by profiles with a certain date of birth, in \
Filter by profiles with a certain sex, as reported on their onboarding documentation. Should be \
Filter by partial matches to the profile's known city of residence.
Filter by partial matches to the profiles' known state/province of residence.
Filter by partial matches to the profiles' known country of residence.
Filter by partial matches to a country of citizenship.
Filter by tasks (comma-separated)
Filter by profile kind
Filter by profiles that are in a certain workflow status (example: \
Filter by profiles based on archived status. Omit to show all profiles (default behaviour).
Filter by profiles with certain flags (comma-separated). Example: \
Filter by last screened time start
Filter by last screened time end
Filter by monitored status
Filter by profiles assigned to any of the provided profile group IDs. Use comma-separated IDs for multiple groups.
The key to sort records by. This should match an existing key on the profile schema. Default: \
The direction to sort. Should be \
Body
The body is of type object.