Overview
Assessments are the core entity in the CGIAR Risk Intelligence Tool. Each assessment represents a comprehensive risk evaluation for a specific company or partner organization. The platform supports multiple intake modes and tracks assessments through a complete lifecycle from draft to completion.Assessment Lifecycle
Assessments progress through four distinct statuses:DRAFT
Initial state when an assessment is created. Users can configure basic details and choose an intake mode.
ANALYZING
Document parsing and AI analysis are in progress. Background jobs are running to extract information.
ACTION_REQUIRED
Gap detection has identified missing or incomplete data fields that need user review and correction.
Intake Modes
The platform supports three intake modes for gathering assessment data:Upload
Upload PDF documents (business plans, financial statements) for automated extraction using AWS Textract
Guided Interview
Step-by-step questionnaire that collects information through structured questions
Manual Entry
Direct data entry into structured forms organized by risk category
Creating an Assessment
Required Fields
| Field | Type | Description |
|---|---|---|
name | string | Assessment name (max 200 chars) |
companyName | string | Company being assessed (max 200 chars) |
intakeMode | enum | One of: UPLOAD, GUIDED_INTERVIEW, MANUAL_ENTRY |
companyType | string | Optional. Type of organization (max 100 chars) |
country | string | Optional. Defaults to “Kenya” (max 100 chars) |
All assessments are user-scoped. Users can only access assessments they created.
Updating an Assessment
Assessments support optimistic locking to prevent concurrent modification conflicts:Updatable Fields
name- Assessment namecompanyName- Company namecompanyType- Company typestatus- Assessment status (transitions managed by system in most cases)progress- Completion percentage (0-100, managed by system)version- Current version for optimistic locking
Document Upload
For assessments using theUPLOAD intake mode, documents are uploaded via presigned S3 URLs:
Request Upload URL
POST /api/assessments/:id/documents
Only PDF files are supported. The maximum file size and MIME type validation is enforced at the API level.
Listing Assessments
Retrieve assessments with cursor-based pagination, filtering, and search:Query Parameters
| Parameter | Type | Description |
|---|---|---|
status | enum | Filter by: DRAFT, ANALYZING, ACTION_REQUIRED, COMPLETE |
search | string | Search in assessment name or company name (case-insensitive) |
limit | number | Results per page (default: 10, max: 100) |
cursor | string | Pagination cursor from previous response |
Assessment Statistics
Get aggregated counts by status:Comments
Assessments support threaded comments for collaboration:Deleting an Assessment
DELETE /api/assessments/:id
Complete API Reference
POST /api/assessments - Create assessment
POST /api/assessments - Create assessment
Request Body:Response:
Assessment object with status DRAFTGET /api/assessments - List assessments
GET /api/assessments - List assessments
Query Parameters:
status?: AssessmentStatussearch?: stringlimit?: number(default: 10)cursor?: string
data, nextCursor, totalGET /api/assessments/stats - Get statistics
GET /api/assessments/stats - Get statistics
Response:
GET /api/assessments/:id - Get single assessment
GET /api/assessments/:id - Get single assessment
Response: Complete
Assessment objectErrors:- 404 if assessment not found
- 403 if user doesn’t own the assessment
PUT /api/assessments/:id - Update assessment
PUT /api/assessments/:id - Update assessment
Request Body: Partial update with optional
version for optimistic lockingResponse: Updated Assessment object with incremented versionErrors:- 409 if version conflict detected
DELETE /api/assessments/:id - Delete assessment
DELETE /api/assessments/:id - Delete assessment
Response: 204 No ContentNote: Cascades to all related entities
Code Example: Complete Assessment Creation Flow
Best Practices
Always Use Version Control
Include the
version field when updating assessments to prevent data loss from concurrent editsPoll Job Status
After triggering document parsing, poll the job status endpoint every 3-5 seconds until completion
Handle 403 Errors
Users can only access their own assessments. Always handle ownership errors gracefully
Validate File Types
Only PDF files are supported for upload. Validate on the client before requesting presigned URLs
Related Resources
Risk Scoring
Learn how assessments are scored across 7 risk categories
AI Analysis
Understand the multi-agent AI pipeline that processes assessments
Report Generation
Generate PDF reports with traffic-light risk indicators