The Results API is the core reporting surface of PRMS. Every piece of evidence that an initiative reports—policy changes, innovations, capacity sharing outcomes, and more—is modelled as a result. The endpoints below let you create result headers, fill in general information, manage geographic scope and partner associations, and retrieve filtered lists for reporting. All endpoints require the customDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/AllianceBioversityCIAT/onecgiar_pr/llms.txt
Use this file to discover all available pages before exploring further.
auth: <JWT> header returned by the authentication flow. The token is automatically refreshed on each successful request.
Authentication
auth header. There is no public access. Requests without a valid token receive 401 Unauthorized with shouldRedirectToLogin: true. Expired tokens receive 401 with shouldRefreshToken: true.Result types
Theresult_type_id field on every result record maps to one of the following values:
| ID | Type |
|---|---|
| 1 | Policy Change |
| 2 | Innovation Use |
| 3 | Capacity Change |
| 4 | Other Outcome |
| 5 | Capacity Sharing for Development |
| 6 | Knowledge Product |
| 7 | Innovation Development |
| 8 | Other Output |
| 9 | Impact Contribution |
| 10 | Innovation Use (IPSR) |
| 11 | Complementary Innovation |
Result statuses
| ID | Name | Description |
|---|---|---|
| 1 | Editing | Result is being authored; not yet submitted for QA. |
| 2 | Quality Assessed | A QA reviewer has assessed the result positively. |
| 3 | Submitted | Result submitted to the reporting cycle. |
| 4 | Discontinued | Result has been discontinued. |
| 5 | Pending Review | Result is awaiting bilateral review. |
| 6 | Approved | Bilateral result has been approved by a reviewer. |
| 7 | Rejected | Bilateral result has been rejected; returned for revision. |
Response envelope
Successful responses are wrapped by theResponseInterceptor:
HttpExceptionFilter follow:
Core result endpoints
Create result header
Registers the base record for a new result and links it to the authenticated user. The returnedid is used for all subsequent sub-resource writes.
resultId in sub-resource endpoints.1042).1 (Editing) on creation.true on creation.Get result by ID
Returns full result data for the provided internal identifier.id (not result_code).List all results (full)
Returns the complete list of registered results. Large datasets — prefer the filtered endpoint for production use.List simplified results
Returns a lightweight payload suitable for dropdowns and autocomplete widgets.Search results by name
Performs a partial-match search on the result title.Deep search by title
Runs the legacy deep-search pipeline, which searches across additional indexed fields.List results by user role (filtered)
The primary endpoint for the PRMS result list page. Returns paginated, filterable results associated with a given user. All query parameters are optional and can be comma-separated for multi-value filtering.submitter_id.version_id. Accepts comma-separated values.W1/W2 for pool funding / Science Program results, or W3/Bilaterals for bilateral project results.meta pagination block.page is also provided.true, restricts to results where created_by matches the authenticated user.true, restricts to results that have an active submission row for the authenticated user. When both filter_created_by_me and filter_submitted_by_me are true, rows matching either condition are included (OR logic).page and limit query params are provided.Soft delete a result
Marks a result as deleted (is_active = false). The record is preserved for audit purposes.
Get science program progress
Aggregates reported results by Science Program (portfolio 3) and splits them by the authenticated user’s permissions.Get results by program and centers
Returns results grouped by project, filtered by program and optionally by center.SP01).CT01,CT02).Get pending review count
Returns the count of results pending review for a specific Science Program.SP01).General information
Update general information
Creates or updates the full general information section of a result. Call this after creating the result header to supply the description, cross-cutting tags, partners, and KRS metadata.{ institutions_id: number } objects for partner institutions.{ institutions_type_id: number } for institution types without a specific institution.is_krs is true).Get general information
Retrieves the general information section for a result.Geographic scope
Save geographic scope
Sets the geographic scope for a result, including regions and countries.resiltId in the API).{ id: number, name: string } region objects when scope includes regions.{ id: number, name: string } country objects when scope includes countries.Get geographic scope
Sub-resource endpoints
The following sub-resources are mounted as children of/api/results/. Each manages a specific aspect of the result record.
Evidences — /api/results/evidences/*
Evidences — /api/results/evidences/*
| Method | Path | Description |
|---|---|---|
| GET | /api/results/evidences/get/:resultId | Retrieve all evidences for a result. |
| PATCH | /api/results/evidences/save/:resultId | Save (create or update) evidences for a result. |
link (URL), description, and evidence_type_id classifying the document.Geographic scope (countries/regions) — /api/results/result-countries/* and /api/results/result-regions/*
Geographic scope (countries/regions) — /api/results/result-countries/* and /api/results/result-regions/*
| Method | Path | Description |
|---|---|---|
| GET | /api/results/result-countries/get/:resultId | List countries linked to a result. |
| PATCH | /api/results/result-countries/save/:resultId | Save country associations. |
| GET | /api/results/subnational/get/:resultId | List sub-national scope records. |
| PATCH | /api/results/subnational/save/:resultId | Save sub-national scope. |
Partners and institutions — /api/results/results-by-institutions/*
Partners and institutions — /api/results/results-by-institutions/*
| Method | Path | Description |
|---|---|---|
| GET | /api/results/results-by-institutions/get/:resultId | List all partner institutions for a result. |
| PATCH | /api/results/results-by-institutions/save/:resultId | Save partner institution associations. |
institution_id, institution_roles_id, and optionally delivery-type sub-records.ToC links — /api/results/toc/*
ToC links — /api/results/toc/*
| Method | Path | Description |
|---|---|---|
| GET | /api/results/toc/get/:resultId | Retrieve ToC result links for a result. |
| PATCH | /api/results/toc/save/:resultId | Save ToC result links. |
toc_result_id (from the /toc/ API) and carries contributing initiative information.Actors — /api/results/actors/*
Actors — /api/results/actors/*
| Method | Path | Description |
|---|---|---|
| GET | /api/results/actors/get/:resultId | List actor records for a result. |
| PATCH | /api/results/actors/save/:resultId | Save actor records. |
actor_type_id, sex_and_age_disaggregation, how_many, and optional age-range breakdowns.Budget — /api/results/result-budget (non-pooled projects)
Budget — /api/results/result-budget (non-pooled projects)
| Method | Path | Description |
|---|---|---|
| GET | /api/results/non-pooled-projects/get/:resultId | List non-pooled project budget records. |
| PATCH | /api/results/non-pooled-projects/save/:resultId | Save non-pooled project budget links. |
grant_title, center_grant_id, funder_institution_id, and lead_center_id.Submissions — /api/results/submissions/*
Submissions — /api/results/submissions/*
| Method | Path | Description |
|---|---|---|
| PATCH | /api/results/submissions/submit/:resultId | Submit a result (moves toward status Submitted). |
| PATCH | /api/results/submissions/unsubmit/:resultId | Retract a submission and return to Editing. |
| PATCH | /api/results/submissions/submit-ipsr/:resultId | Submit an IPSR innovation package. |
| PATCH | /api/results/submissions/unsubmit-ipsr/:resultId | Retract an IPSR submission. |
Linked results — /api/results/linked/*
Linked results — /api/results/linked/*
| Method | Path | Description |
|---|---|---|
| GET | /api/results/linked/get/:resultId | Retrieve linked result records. |
| PATCH | /api/results/linked/save/:resultId | Save linked result associations. |
Impact areas — /api/results/impact-area-indicators/* and /api/results/impact-area-target/*
Impact areas — /api/results/impact-area-indicators/* and /api/results/impact-area-target/*
| Method | Path | Description |
|---|---|---|
| GET | /api/results/impact-area-indicators/get/:resultId | List impact area indicator alignments. |
| PATCH | /api/results/impact-area-indicators/save/:resultId | Save impact area indicator alignments. |
| GET | /api/results/impact-area-target/get/:resultId | List impact area targets. |
| PATCH | /api/results/impact-area-target/save/:resultId | Save impact area targets. |
Reporting exports
Basic reporting list
Returns the dataset used to generate the basic Excel report. All filters are optional.YYYY-MM-DD).YYYY-MM-DD). Must be ≥ initDate when both are provided.{ id: number } phase objects to filter by.{ id: number } or { official_code: string } initiative filter objects.{ id: number } result type filter objects.{ status_id: number } status filter objects.{ name: string } with values "W1/W2" or "W3/Bilaterals".true, only returns results created by the authenticated user.true, only returns results submitted by the authenticated user. Combined with filterCreatedByMe as OR logic when both are true.Full-metadata export (async)
Queues an asynchronous job that builds a multi-sheet Excel workbook. When complete, the authenticated user receives an email with a time-limited S3 download link.202 Accepted with a jobId.
Response
Get export job status
pending, processing, done, or failed.status is done.Bilateral result endpoints
Results sourced from bilateral projects (source = "API") have additional endpoints for review workflows.
GET /api/results/bilateral/:resultId — Get bilateral result
GET /api/results/bilateral/:resultId — Get bilateral result
PATCH /api/results/bilateral/review-update/data-standard/:resultId — Update data standard fields
PATCH /api/results/bilateral/review-update/data-standard/:resultId — Update data standard fields
PENDING_REVIEW status.PATCH /api/results/bilateral/:resultId/review-decision — Approve or reject
PATCH /api/results/bilateral/:resultId/review-decision — Approve or reject
PATCH /api/results/bilateral/:resultId/title — Update title
PATCH /api/results/bilateral/:resultId/title — Update title
EDITING status unless the user has Admin privileges. The new title must be unique among active results.Reference endpoints
Institutions
Institutions
| Method | Path | Description |
|---|---|---|
| GET | /api/results/get/institutions/all | List all institutions linked to results. |
| GET | /api/results/get/institutions-type/all | List all institution types. |
| GET | /api/results/get/institutions-type/new | List institution types available for new records. |
| GET | /api/results/get/institutions-type/childless | List institution types with no child relationships. |
| GET | /api/results/get/institutions-type/legacy | List legacy institution types. |
Result types and levels
Result types and levels
| Method | Path | Description |
|---|---|---|
| GET | /api/results/types | List all result types. |
| GET | /api/results/levels | List all result levels. |
| GET | /api/results/type-by-level | List result types scoped to their valid levels. |
Centers, versions, and years
Centers, versions, and years
| Method | Path | Description |
|---|---|---|
| GET | /api/results/get/centers/:resultId | List centers associated with a result. |
| GET | /api/results/versions | List reporting phases/versions. |
| GET | /api/results/years | List available reporting years. |