# List all assessments
curl -X GET "https://api.example.com/api/assessments?limit=10" \
-H "Authorization: Bearer YOUR_TOKEN"
# Filter by status
curl -X GET "https://api.example.com/api/assessments?status=DRAFT&limit=20" \
-H "Authorization: Bearer YOUR_TOKEN"
# Search by company name
curl -X GET "https://api.example.com/api/assessments?search=Acme" \
-H "Authorization: Bearer YOUR_TOKEN"
# Paginate using cursor
curl -X GET "https://api.example.com/api/assessments?limit=10&cursor=550e8400-e29b-41d4-a716-446655440000" \
-H "Authorization: Bearer YOUR_TOKEN"
// Fetch first page
const response = await fetch(
'https://api.example.com/api/assessments?limit=10',
{
headers: { 'Authorization': 'Bearer YOUR_TOKEN' }
}
);
const { data, nextCursor, total } = await response.json();
// Fetch next page
if (nextCursor) {
const nextPage = await fetch(
`https://api.example.com/api/assessments?limit=10&cursor=${nextCursor}`,
{
headers: { 'Authorization': 'Bearer YOUR_TOKEN' }
}
);
}
import requests
# Fetch first page
response = requests.get(
'https://api.example.com/api/assessments',
headers={'Authorization': 'Bearer YOUR_TOKEN'},
params={'limit': 10, 'status': 'DRAFT'}
)
result = response.json()
data = result['data']
next_cursor = result['nextCursor']
total = result['total']
# Fetch next page
if next_cursor:
next_response = requests.get(
'https://api.example.com/api/assessments',
headers={'Authorization': 'Bearer YOUR_TOKEN'},
params={'limit': 10, 'cursor': next_cursor}
)
{
"data": [
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"name": "Q1 2026 Risk Assessment",
"companyName": "Acme Coffee Cooperative",
"companyType": "Cooperative",
"country": "Kenya",
"status": "ANALYZING",
"intakeMode": "UPLOAD",
"progress": 35,
"version": 3,
"overallRiskScore": null,
"overallRiskLevel": null,
"userId": "auth0|123456789",
"createdAt": "2026-03-04T10:30:00.000Z",
"updatedAt": "2026-03-04T11:15:00.000Z"
},
{
"id": "660e8400-e29b-41d4-a716-446655440001",
"name": "Annual Review 2025",
"companyName": "Kenya Tea Growers",
"companyType": "Cooperative",
"country": "Kenya",
"status": "COMPLETE",
"intakeMode": "GUIDED_INTERVIEW",
"progress": 100,
"version": 8,
"overallRiskScore": 42.5,
"overallRiskLevel": "MODERATE",
"userId": "auth0|123456789",
"createdAt": "2026-02-15T08:00:00.000Z",
"updatedAt": "2026-02-28T16:45:00.000Z"
}
],
"nextCursor": "660e8400-e29b-41d4-a716-446655440001",
"total": 25
}
Assessments
List assessments
GET
/
api
/
assessments
# List all assessments
curl -X GET "https://api.example.com/api/assessments?limit=10" \
-H "Authorization: Bearer YOUR_TOKEN"
# Filter by status
curl -X GET "https://api.example.com/api/assessments?status=DRAFT&limit=20" \
-H "Authorization: Bearer YOUR_TOKEN"
# Search by company name
curl -X GET "https://api.example.com/api/assessments?search=Acme" \
-H "Authorization: Bearer YOUR_TOKEN"
# Paginate using cursor
curl -X GET "https://api.example.com/api/assessments?limit=10&cursor=550e8400-e29b-41d4-a716-446655440000" \
-H "Authorization: Bearer YOUR_TOKEN"
// Fetch first page
const response = await fetch(
'https://api.example.com/api/assessments?limit=10',
{
headers: { 'Authorization': 'Bearer YOUR_TOKEN' }
}
);
const { data, nextCursor, total } = await response.json();
// Fetch next page
if (nextCursor) {
const nextPage = await fetch(
`https://api.example.com/api/assessments?limit=10&cursor=${nextCursor}`,
{
headers: { 'Authorization': 'Bearer YOUR_TOKEN' }
}
);
}
import requests
# Fetch first page
response = requests.get(
'https://api.example.com/api/assessments',
headers={'Authorization': 'Bearer YOUR_TOKEN'},
params={'limit': 10, 'status': 'DRAFT'}
)
result = response.json()
data = result['data']
next_cursor = result['nextCursor']
total = result['total']
# Fetch next page
if next_cursor:
next_response = requests.get(
'https://api.example.com/api/assessments',
headers={'Authorization': 'Bearer YOUR_TOKEN'},
params={'limit': 10, 'cursor': next_cursor}
)
{
"data": [
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"name": "Q1 2026 Risk Assessment",
"companyName": "Acme Coffee Cooperative",
"companyType": "Cooperative",
"country": "Kenya",
"status": "ANALYZING",
"intakeMode": "UPLOAD",
"progress": 35,
"version": 3,
"overallRiskScore": null,
"overallRiskLevel": null,
"userId": "auth0|123456789",
"createdAt": "2026-03-04T10:30:00.000Z",
"updatedAt": "2026-03-04T11:15:00.000Z"
},
{
"id": "660e8400-e29b-41d4-a716-446655440001",
"name": "Annual Review 2025",
"companyName": "Kenya Tea Growers",
"companyType": "Cooperative",
"country": "Kenya",
"status": "COMPLETE",
"intakeMode": "GUIDED_INTERVIEW",
"progress": 100,
"version": 8,
"overallRiskScore": 42.5,
"overallRiskLevel": "MODERATE",
"userId": "auth0|123456789",
"createdAt": "2026-02-15T08:00:00.000Z",
"updatedAt": "2026-02-28T16:45:00.000Z"
}
],
"nextCursor": "660e8400-e29b-41d4-a716-446655440001",
"total": 25
}
Retrieve a paginated list of assessments for the authenticated user.
Query parameters
string
Filter by assessment status.Allowed values:
DRAFT, ANALYZING, ACTION_REQUIRED, COMPLETEstring
Search assessments by name or company name (case-insensitive).
string
Cursor for pagination. Use the
nextCursor from the previous response.number
default:"10"
Number of assessments to return per page.Range: 1-100
Response
Assessment[]
Array of assessment objects.
Show Assessment properties
Show Assessment properties
string
Unique assessment identifier (UUID).
string
Assessment name.
string
Company name.
string
Company type.
string
Country of operation.
string
Current status:
DRAFT, ANALYZING, ACTION_REQUIRED, or COMPLETEstring
Data collection method:
UPLOAD, GUIDED_INTERVIEW, or MANUAL_ENTRYnumber
Completion percentage (0-100).
number
Version number for optimistic locking.
number
Aggregated risk score (0-100). Null until analysis is complete.
string
Risk classification:
LOW, MODERATE, HIGH, or CRITICAL. Null until complete.string
Creator user ID.
string
ISO 8601 creation timestamp.
string
ISO 8601 last update timestamp.
string
Cursor for the next page. Null if no more results.
number
Total count of assessments matching the filter.
# List all assessments
curl -X GET "https://api.example.com/api/assessments?limit=10" \
-H "Authorization: Bearer YOUR_TOKEN"
# Filter by status
curl -X GET "https://api.example.com/api/assessments?status=DRAFT&limit=20" \
-H "Authorization: Bearer YOUR_TOKEN"
# Search by company name
curl -X GET "https://api.example.com/api/assessments?search=Acme" \
-H "Authorization: Bearer YOUR_TOKEN"
# Paginate using cursor
curl -X GET "https://api.example.com/api/assessments?limit=10&cursor=550e8400-e29b-41d4-a716-446655440000" \
-H "Authorization: Bearer YOUR_TOKEN"
// Fetch first page
const response = await fetch(
'https://api.example.com/api/assessments?limit=10',
{
headers: { 'Authorization': 'Bearer YOUR_TOKEN' }
}
);
const { data, nextCursor, total } = await response.json();
// Fetch next page
if (nextCursor) {
const nextPage = await fetch(
`https://api.example.com/api/assessments?limit=10&cursor=${nextCursor}`,
{
headers: { 'Authorization': 'Bearer YOUR_TOKEN' }
}
);
}
import requests
# Fetch first page
response = requests.get(
'https://api.example.com/api/assessments',
headers={'Authorization': 'Bearer YOUR_TOKEN'},
params={'limit': 10, 'status': 'DRAFT'}
)
result = response.json()
data = result['data']
next_cursor = result['nextCursor']
total = result['total']
# Fetch next page
if next_cursor:
next_response = requests.get(
'https://api.example.com/api/assessments',
headers={'Authorization': 'Bearer YOUR_TOKEN'},
params={'limit': 10, 'cursor': next_cursor}
)
{
"data": [
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"name": "Q1 2026 Risk Assessment",
"companyName": "Acme Coffee Cooperative",
"companyType": "Cooperative",
"country": "Kenya",
"status": "ANALYZING",
"intakeMode": "UPLOAD",
"progress": 35,
"version": 3,
"overallRiskScore": null,
"overallRiskLevel": null,
"userId": "auth0|123456789",
"createdAt": "2026-03-04T10:30:00.000Z",
"updatedAt": "2026-03-04T11:15:00.000Z"
},
{
"id": "660e8400-e29b-41d4-a716-446655440001",
"name": "Annual Review 2025",
"companyName": "Kenya Tea Growers",
"companyType": "Cooperative",
"country": "Kenya",
"status": "COMPLETE",
"intakeMode": "GUIDED_INTERVIEW",
"progress": 100,
"version": 8,
"overallRiskScore": 42.5,
"overallRiskLevel": "MODERATE",
"userId": "auth0|123456789",
"createdAt": "2026-02-15T08:00:00.000Z",
"updatedAt": "2026-02-28T16:45:00.000Z"
}
],
"nextCursor": "660e8400-e29b-41d4-a716-446655440001",
"total": 25
}
⌘I