Files
pfm/PostFundManagement.ConsoleUI/all_endpoints.json
T
2026-09-20 08:26:06 +02:00

3268 lines
69 KiB
JSON

[
{
"tag": "Users",
"method": "GET",
"path": "/v1/api/users/{userId}",
"opId": "getuser",
"desc": "Gets the metadata of a single user.",
"params": [
{
"name": "userId",
"in": "path",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
}
],
"reqBody": null,
"responses": {
"200": {
"desc": "OK",
"schema": {
"$ref": "#/components/schemas/User"
}
},
"401": {
"desc": "Unauthorized",
"schema": null
},
"404": {
"desc": "Not Found",
"schema": null
},
"500": {
"desc": "Internal Server Error",
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
},
{
"tag": "Users",
"method": "POST",
"path": "/v1/api/users/{page}/{pageSize}",
"opId": "getusers",
"desc": "Paginated, searchable directory of system users. Supports filtering by ActivityStatus, searching by Email, and sorting",
"params": [
{
"name": "page",
"in": "path",
"required": true,
"schema": {
"pattern": "^-?(?:0|[1-9]\\d*)$",
"type": "integer",
"format": "int32",
"default": 1
}
},
{
"name": "pageSize",
"in": "path",
"required": true,
"schema": {
"pattern": "^-?(?:0|[1-9]\\d*)$",
"type": "integer",
"format": "int32",
"default": 100
}
}
],
"reqBody": {
"required": true,
"contentType": "application/json; version=1",
"schema": {
"$ref": "#/components/schemas/UserFilterRequest"
}
},
"responses": {
"200": {
"desc": "OK",
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/User"
}
}
},
"401": {
"desc": "Unauthorized",
"schema": null
},
"404": {
"desc": "Not Found",
"schema": null
},
"500": {
"desc": "Internal Server Error",
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
},
{
"tag": "Users",
"method": "POST",
"path": "/v1/api/integration/sync",
"opId": "syncuser",
"desc": "Trigger integration and data synchronization in the background",
"params": [],
"reqBody": null,
"responses": {
"200": {
"desc": "OK",
"schema": null
},
"401": {
"desc": "Unauthorized",
"schema": null
},
"500": {
"desc": "Internal Server Error",
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
},
{
"tag": "Users",
"method": "GET",
"path": "/v1/api/users/{userId}/status/{status}",
"opId": "updateuserstatus",
"desc": "Changes the Activity status of the user in the system",
"params": [
{
"name": "userId",
"in": "path",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
},
{
"name": "status",
"in": "path",
"required": true,
"schema": {
"$ref": "#/components/schemas/ActivityStatus"
}
}
],
"reqBody": null,
"responses": {
"200": {
"desc": "OK",
"schema": null
},
"400": {
"desc": "Bad Request",
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"401": {
"desc": "Unauthorized",
"schema": null
},
"404": {
"desc": "Not Found",
"schema": null
},
"500": {
"desc": "Internal Server Error",
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
},
{
"tag": "Projects",
"method": "POST",
"path": "/v1/api/projects/activities",
"opId": "createactivity",
"desc": "Add a new activity under project (M04)",
"params": [],
"reqBody": {
"required": true,
"contentType": "application/json; version=1",
"schema": {
"$ref": "#/components/schemas/CreateActivityRequest"
}
},
"responses": {
"200": {
"desc": "OK",
"schema": null
},
"400": {
"desc": "Bad Request",
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"401": {
"desc": "Unauthorized",
"schema": null
},
"500": {
"desc": "Internal Server Error",
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
},
{
"tag": "Projects",
"method": "POST",
"path": "/v1/api/projects/programme",
"opId": "createprogramme",
"desc": "Create programme",
"params": [],
"reqBody": {
"required": true,
"contentType": "application/json; version=1",
"schema": {
"$ref": "#/components/schemas/CreateProgrammeRequest"
}
},
"responses": {
"200": {
"desc": "OK",
"schema": null
},
"401": {
"desc": "Unauthorized",
"schema": null
},
"403": {
"desc": "Forbidden",
"schema": null
},
"404": {
"desc": "Not Found",
"schema": null
},
"500": {
"desc": "Internal Server Error",
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
},
{
"tag": "Projects",
"method": "PUT",
"path": "/v1/api/projects/programme",
"opId": "updateprogramme",
"desc": "Update existing programme",
"params": [],
"reqBody": {
"required": true,
"contentType": "application/json; version=1",
"schema": {
"$ref": "#/components/schemas/UpdateProgrammeRequest"
}
},
"responses": {
"200": {
"desc": "OK",
"schema": null
},
"400": {
"desc": "Bad Request",
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"401": {
"desc": "Unauthorized",
"schema": null
},
"403": {
"desc": "Forbidden",
"schema": null
},
"500": {
"desc": "Internal Server Error",
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
},
{
"tag": "Projects",
"method": "POST",
"path": "/v1/api/projects",
"opId": "createproject",
"desc": "Create a new project (M04)",
"params": [],
"reqBody": {
"required": true,
"contentType": "application/json; version=1",
"schema": {
"$ref": "#/components/schemas/CreateProjectRequest"
}
},
"responses": {
"200": {
"desc": "OK",
"schema": null
},
"400": {
"desc": "Bad Request",
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"401": {
"desc": "Unauthorized",
"schema": null
},
"404": {
"desc": "Not Found",
"schema": null
},
"500": {
"desc": "Internal Server Error",
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
},
{
"tag": "Projects",
"method": "GET",
"path": "/v1/api/projects",
"opId": "getprojects",
"desc": "Get a list of projects",
"params": [
{
"name": "page",
"in": "query",
"required": false,
"schema": {
"pattern": "^-?(?:0|[1-9]\\d*)$",
"type": [
"integer",
"string"
],
"format": "int32",
"default": 1
}
},
{
"name": "pageSize",
"in": "query",
"required": false,
"schema": {
"pattern": "^-?(?:0|[1-9]\\d*)$",
"type": [
"integer",
"string"
],
"format": "int32",
"default": 100
}
}
],
"reqBody": null,
"responses": {
"200": {
"desc": "OK",
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Project"
}
}
},
"401": {
"desc": "Unauthorized",
"schema": null
},
"500": {
"desc": "Internal Server Error",
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
},
{
"tag": "Projects",
"method": "PUT",
"path": "/v1/api/projects",
"opId": "updateproject",
"desc": "Update project details",
"params": [],
"reqBody": {
"required": true,
"contentType": "application/json; version=1",
"schema": {
"$ref": "#/components/schemas/UpdateProjectRequest"
}
},
"responses": {
"200": {
"desc": "OK",
"schema": null
},
"400": {
"desc": "Bad Request",
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"401": {
"desc": "Unauthorized",
"schema": null
},
"500": {
"desc": "Internal Server Error",
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
},
{
"tag": "Projects",
"method": "GET",
"path": "/v1/api/projects/{projectId}/activities",
"opId": "getactivities",
"desc": "Get a list of activities for a project",
"params": [
{
"name": "projectId",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"reqBody": null,
"responses": {
"200": {
"desc": "OK",
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Activity"
}
}
},
"401": {
"desc": "Unauthorized",
"schema": null
},
"403": {
"desc": "Forbidden",
"schema": null
},
"500": {
"desc": "Internal Server Error",
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
},
{
"tag": "Projects",
"method": "GET",
"path": "/v1/api/projects/activities/{activityId}",
"opId": "getactivity",
"desc": "Gets a specific activity by it's id",
"params": [
{
"name": "activityId",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"reqBody": null,
"responses": {
"200": {
"desc": "OK",
"schema": {
"$ref": "#/components/schemas/Activity"
}
},
"401": {
"desc": "Unauthorized",
"schema": null
},
"403": {
"desc": "Forbidden",
"schema": null
},
"404": {
"desc": "Not Found",
"schema": null
},
"500": {
"desc": "Internal Server Error",
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
},
{
"tag": "Projects",
"method": "GET",
"path": "/v1/api/projects/milestones/{milestoneId}",
"opId": "getmilestone",
"desc": "Gets a specific milestone",
"params": [
{
"name": "milestoneId",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"reqBody": null,
"responses": {
"200": {
"desc": "OK",
"schema": {
"$ref": "#/components/schemas/Milestone"
}
},
"401": {
"desc": "Unauthorized",
"schema": null
},
"403": {
"desc": "Forbidden",
"schema": null
},
"404": {
"desc": "Not Found",
"schema": null
},
"500": {
"desc": "Internal Server Error",
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
},
{
"tag": "Projects",
"method": "GET",
"path": "/v1/api/projects/milestones/{page}/{pageSize}",
"opId": "getmilestones",
"desc": "Get a list of all milestones",
"params": [
{
"name": "page",
"in": "path",
"required": true,
"schema": {
"pattern": "^-?(?:0|[1-9]\\d*)$",
"type": "integer",
"format": "int32",
"default": 1
}
},
{
"name": "pageSize",
"in": "path",
"required": true,
"schema": {
"pattern": "^-?(?:0|[1-9]\\d*)$",
"type": "integer",
"format": "int32",
"default": 100
}
}
],
"reqBody": null,
"responses": {
"200": {
"desc": "OK",
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Milestone"
}
}
},
"401": {
"desc": "Unauthorized",
"schema": null
},
"500": {
"desc": "Internal Server Error",
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
},
{
"tag": "Projects",
"method": "GET",
"path": "/v1/api/projects/programme/{programmeId}",
"opId": "getprogramme",
"desc": "Get specific programme",
"params": [
{
"name": "programmeId",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"reqBody": null,
"responses": {
"200": {
"desc": "OK",
"schema": {
"$ref": "#/components/schemas/Programme"
}
},
"401": {
"desc": "Unauthorized",
"schema": null
},
"403": {
"desc": "Forbidden",
"schema": null
},
"500": {
"desc": "Internal Server Error",
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
},
{
"tag": "Projects",
"method": "GET",
"path": "/v1/api/projects/{programmeId}/programme",
"opId": "getprogrammeprojects",
"desc": "Get a list of all projects under a programme",
"params": [
{
"name": "programmeId",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"reqBody": null,
"responses": {
"200": {
"desc": "OK",
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Project"
}
}
},
"401": {
"desc": "Unauthorized",
"schema": null
},
"403": {
"desc": "Forbidden",
"schema": null
},
"404": {
"desc": "Not Found",
"schema": null
},
"500": {
"desc": "Internal Server Error",
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
},
{
"tag": "Projects",
"method": "GET",
"path": "/v1/api/projects/programme/{page}/{pageSize}",
"opId": "getprogrammesprojects",
"desc": "Get a list of all programmes",
"params": [
{
"name": "page",
"in": "path",
"required": true,
"schema": {
"pattern": "^-?(?:0|[1-9]\\d*)$",
"type": "integer",
"format": "int32",
"default": 1
}
},
{
"name": "pageSize",
"in": "path",
"required": true,
"schema": {
"pattern": "^-?(?:0|[1-9]\\d*)$",
"type": "integer",
"format": "int32",
"default": 100
}
}
],
"reqBody": null,
"responses": {
"200": {
"desc": "OK",
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Programme"
}
}
},
"401": {
"desc": "Unauthorized",
"schema": null
},
"403": {
"desc": "Forbidden",
"schema": null
},
"404": {
"desc": "Not Found",
"schema": null
},
"500": {
"desc": "Internal Server Error",
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
},
{
"tag": "Projects",
"method": "GET",
"path": "/v1/api/projects/{projectId}",
"opId": "getproject",
"desc": "Get project by ID",
"params": [
{
"name": "projectId",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"reqBody": null,
"responses": {
"200": {
"desc": "OK",
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Project"
}
}
},
"401": {
"desc": "Unauthorized",
"schema": null
},
"403": {
"desc": "Forbidden",
"schema": null
},
"404": {
"desc": "Not Found",
"schema": null
},
"500": {
"desc": "Internal Server Error",
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
},
{
"tag": "Projects",
"method": "GET",
"path": "/v1/api/projects/indicators/project/{projectId}",
"opId": "getprojectindicators",
"desc": "Get get a detailed list of project indicators",
"params": [
{
"name": "projectId",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"reqBody": null,
"responses": {
"200": {
"desc": "OK",
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Indicator"
}
}
},
"401": {
"desc": "Unauthorized",
"schema": null
},
"403": {
"desc": "Forbidden",
"schema": null
},
"404": {
"desc": "Not Found",
"schema": null
},
"500": {
"desc": "Internal Server Error",
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
},
{
"tag": "Projects",
"method": "GET",
"path": "/v1/api/projects/{projectId}/milestones",
"opId": "getprojectmilestones",
"desc": "Get a list of milestones for a project",
"params": [
{
"name": "projectId",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"reqBody": null,
"responses": {
"200": {
"desc": "OK",
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Milestone"
}
}
},
"401": {
"desc": "Unauthorized",
"schema": null
},
"403": {
"desc": "Forbidden",
"schema": null
},
"404": {
"desc": "Not Found",
"schema": null
},
"500": {
"desc": "Internal Server Error",
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
},
{
"tag": "Projects",
"method": "GET",
"path": "/v1/api/projects/{projectId}/risks",
"opId": "getprojectrisks",
"desc": "Get a list of risks for a project",
"params": [
{
"name": "projectId",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"reqBody": null,
"responses": {
"200": {
"desc": "OK",
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Risk"
}
}
},
"401": {
"desc": "Unauthorized",
"schema": null
},
"403": {
"desc": "Forbidden",
"schema": null
},
"404": {
"desc": "Not Found",
"schema": null
},
"500": {
"desc": "Internal Server Error",
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
},
{
"tag": "Projects",
"method": "PUT",
"path": "/v1/api/projects/milestone",
"opId": "updatemilestone",
"desc": "Update project milestone details",
"params": [],
"reqBody": {
"required": true,
"contentType": "application/json; version=1",
"schema": {
"$ref": "#/components/schemas/UpdateMilestoneRequest"
}
},
"responses": {
"200": {
"desc": "OK",
"schema": null
},
"401": {
"desc": "Unauthorized",
"schema": null
},
"500": {
"desc": "Internal Server Error",
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
},
{
"tag": "Projects",
"method": "PUT",
"path": "/v1/api/projects/status",
"opId": "updateprojectstatus",
"desc": "Update project status (M04)",
"params": [],
"reqBody": {
"required": true,
"contentType": "application/json; version=1",
"schema": {
"$ref": "#/components/schemas/UpdateProjectStatusRequest"
}
},
"responses": {
"200": {
"desc": "OK",
"schema": null
},
"400": {
"desc": "Bad Request",
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"401": {
"desc": "Unauthorized",
"schema": null
},
"500": {
"desc": "Internal Server Error",
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
},
{
"tag": "Grants",
"method": "POST",
"path": "/v1/api/grants/awards",
"opId": "createaward",
"desc": "Register an approved funding award (M01)",
"params": [],
"reqBody": {
"required": true,
"contentType": "application/json; version=1",
"schema": {
"$ref": "#/components/schemas/CreateAwardRequest"
}
},
"responses": {
"200": {
"desc": "OK",
"schema": null
},
"400": {
"desc": "Bad Request",
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"401": {
"desc": "Unauthorized",
"schema": null
},
"404": {
"desc": "Not Found",
"schema": null
},
"500": {
"desc": "Internal Server Error",
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
},
{
"tag": "Grants",
"method": "GET",
"path": "/v1/api/grants/awards",
"opId": "getawards",
"desc": "Get a list of awards",
"params": [
{
"name": "page",
"in": "query",
"required": false,
"schema": {
"pattern": "^-?(?:0|[1-9]\\d*)$",
"type": [
"integer",
"string"
],
"format": "int32",
"default": 1
}
},
{
"name": "pageSize",
"in": "query",
"required": false,
"schema": {
"pattern": "^-?(?:0|[1-9]\\d*)$",
"type": [
"integer",
"string"
],
"format": "int32",
"default": 10
}
}
],
"reqBody": null,
"responses": {
"200": {
"desc": "OK",
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Award"
}
}
},
"401": {
"desc": "Unauthorized",
"schema": null
},
"500": {
"desc": "Internal Server Error",
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
},
{
"tag": "Grants",
"method": "POST",
"path": "/v1/api/grants/budgets",
"opId": "createbudget",
"desc": "Create a new budget line (M05)",
"params": [],
"reqBody": {
"required": true,
"contentType": "application/json; version=1",
"schema": {
"$ref": "#/components/schemas/CreateBudgetRequest"
}
},
"responses": {
"200": {
"desc": "OK",
"schema": null
},
"400": {
"desc": "Bad Request",
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"401": {
"desc": "Unauthorized",
"schema": null
},
"404": {
"desc": "Not Found",
"schema": null
},
"500": {
"desc": "Internal Server Error",
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
},
{
"tag": "Grants",
"method": "GET",
"path": "/v1/api/grants/budgets",
"opId": "getbudgets",
"desc": "Get all budgets",
"params": [
{
"name": "page",
"in": "query",
"required": false,
"schema": {
"pattern": "^-?(?:0|[1-9]\\d*)$",
"type": [
"integer",
"string"
],
"format": "int32",
"default": 1
}
},
{
"name": "pageSize",
"in": "query",
"required": false,
"schema": {
"pattern": "^-?(?:0|[1-9]\\d*)$",
"type": [
"integer",
"string"
],
"format": "int32",
"default": 100
}
}
],
"reqBody": null,
"responses": {
"200": {
"desc": "OK",
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Budget"
}
}
},
"401": {
"desc": "Unauthorized",
"schema": null
},
"500": {
"desc": "Internal Server Error",
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
},
{
"tag": "Grants",
"method": "POST",
"path": "/v1/api/grants/contracts",
"opId": "createcontract",
"desc": "Create a contract record from an approved award (M02)",
"params": [],
"reqBody": {
"required": true,
"contentType": "application/json; version=1",
"schema": {
"$ref": "#/components/schemas/CreateContractRequest"
}
},
"responses": {
"200": {
"desc": "OK",
"schema": null
},
"400": {
"desc": "Bad Request",
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"401": {
"desc": "Unauthorized",
"schema": null
},
"500": {
"desc": "Internal Server Error",
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
},
{
"tag": "Grants",
"method": "GET",
"path": "/v1/api/grants/contracts",
"opId": "getcontracts",
"desc": "Get all contracts",
"params": [
{
"name": "page",
"in": "query",
"required": false,
"schema": {
"pattern": "^-?(?:0|[1-9]\\d*)$",
"type": [
"integer",
"string"
],
"format": "int32",
"default": 1
}
},
{
"name": "pageSize",
"in": "query",
"required": false,
"schema": {
"pattern": "^-?(?:0|[1-9]\\d*)$",
"type": [
"integer",
"string"
],
"format": "int32",
"default": 100
}
}
],
"reqBody": null,
"responses": {
"200": {
"desc": "OK",
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Contract"
}
}
},
"401": {
"desc": "Unauthorized",
"schema": null
},
"500": {
"desc": "Internal Server Error",
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
},
{
"tag": "Grants",
"method": "PUT",
"path": "/v1/api/grants/contracts",
"opId": "updatecontract",
"desc": "Updates a specific contract",
"params": [],
"reqBody": {
"required": true,
"contentType": "application/json; version=1",
"schema": {
"$ref": "#/components/schemas/UpdateContractRequest"
}
},
"responses": {
"200": {
"desc": "OK",
"schema": null
},
"400": {
"desc": "Bad Request",
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"401": {
"desc": "Unauthorized",
"schema": null
},
"404": {
"desc": "Not Found",
"schema": null
},
"500": {
"desc": "Internal Server Error",
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
},
{
"tag": "Grants",
"method": "POST",
"path": "/v1/api/grants/contracts/execute",
"opId": "executecontract",
"desc": "Execute the contract and lock the contractual version",
"params": [],
"reqBody": {
"required": true,
"contentType": "application/json; version=1",
"schema": {
"$ref": "#/components/schemas/ExecuteContractRequest"
}
},
"responses": {
"200": {
"desc": "OK",
"schema": null
},
"400": {
"desc": "Bad Request",
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"401": {
"desc": "Unauthorized",
"schema": null
},
"500": {
"desc": "Internal Server Error",
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
},
{
"tag": "Grants",
"method": "GET",
"path": "/v1/api/grants/awards/{awardId}",
"opId": "getaward",
"desc": "Get award by ID",
"params": [
{
"name": "awardId",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"reqBody": null,
"responses": {
"200": {
"desc": "OK",
"schema": {
"$ref": "#/components/schemas/Award"
}
},
"401": {
"desc": "Unauthorized",
"schema": null
},
"403": {
"desc": "Forbidden",
"schema": null
},
"404": {
"desc": "Not Found",
"schema": null
},
"500": {
"desc": "Internal Server Error",
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
},
{
"tag": "Grants",
"method": "GET",
"path": "/v1/api/grants/budgets/{budgetId}",
"opId": "getbudget",
"desc": "Get budget by ID",
"params": [
{
"name": "budgetId",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"reqBody": null,
"responses": {
"200": {
"desc": "OK",
"schema": {
"$ref": "#/components/schemas/Budget"
}
},
"401": {
"desc": "Unauthorized",
"schema": null
},
"403": {
"desc": "Forbidden",
"schema": null
},
"404": {
"desc": "Not Found",
"schema": null
},
"500": {
"desc": "Internal Server Error",
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
},
{
"tag": "Grants",
"method": "GET",
"path": "/v1/api/grants/contracts/{contractId}",
"opId": "getcontract",
"desc": "Get contract by ID",
"params": [
{
"name": "contractId",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"reqBody": null,
"responses": {
"200": {
"desc": "OK",
"schema": {
"$ref": "#/components/schemas/Contract"
}
},
"401": {
"desc": "Unauthorized",
"schema": null
},
"403": {
"desc": "Forbidden",
"schema": null
},
"404": {
"desc": "Not Found",
"schema": null
},
"500": {
"desc": "Internal Server Error",
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
},
{
"tag": "Grants",
"method": "POST",
"path": "/v1/api/grants/contracts/{contractId}",
"opId": "uploadcontract",
"desc": "Uploads a contract file securely",
"params": [
{
"name": "contractId",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"reqBody": null,
"responses": {
"200": {
"desc": "OK",
"schema": null
},
"401": {
"desc": "Unauthorized",
"schema": null
},
"403": {
"desc": "Forbidden",
"schema": null
},
"404": {
"desc": "Not Found",
"schema": null
},
"500": {
"desc": "Internal Server Error",
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
},
{
"tag": "Grants",
"method": "GET",
"path": "/v1/api/grants/contracts/{contractId}/securelink",
"opId": "getcontracturl",
"desc": "Gets a secure download URL, has expiry period (default 15min)",
"params": [
{
"name": "contractId",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"reqBody": null,
"responses": {
"200": {
"desc": "OK",
"schema": {
"type": "string"
}
},
"401": {
"desc": "Unauthorized",
"schema": null
},
"403": {
"desc": "Forbidden",
"schema": null
},
"404": {
"desc": "Not Found",
"schema": null
},
"500": {
"desc": "Internal Server Error",
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
},
{
"tag": "Governance",
"method": "POST",
"path": "/v1/api/governance/organisations",
"opId": "createorganisation",
"desc": "Create a new organization profile",
"params": [],
"reqBody": {
"required": true,
"contentType": "application/json; version=1",
"schema": {
"$ref": "#/components/schemas/CreateOrganisationRequest"
}
},
"responses": {
"200": {
"desc": "OK",
"schema": null
},
"400": {
"desc": "Bad Request",
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"401": {
"desc": "Unauthorized",
"schema": null
},
"500": {
"desc": "Internal Server Error",
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
},
{
"tag": "Governance",
"method": "GET",
"path": "/v1/api/governance/organisations",
"opId": "getorganisations",
"desc": "Get a paginated directory of organizations",
"params": [
{
"name": "page",
"in": "query",
"required": false,
"schema": {
"pattern": "^-?(?:0|[1-9]\\d*)$",
"type": [
"integer",
"string"
],
"format": "int32",
"default": 1
}
},
{
"name": "pageSize",
"in": "query",
"required": false,
"schema": {
"pattern": "^-?(?:0|[1-9]\\d*)$",
"type": [
"integer",
"string"
],
"format": "int32",
"default": 100
}
}
],
"reqBody": null,
"responses": {
"200": {
"desc": "OK",
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Organisation"
}
}
},
"401": {
"desc": "Unauthorized",
"schema": null
},
"500": {
"desc": "Internal Server Error",
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
},
{
"tag": "Governance",
"method": "PUT",
"path": "/v1/api/governance/organisations",
"opId": "updateorganisation",
"desc": "Update an existing organization profile",
"params": [],
"reqBody": {
"required": true,
"contentType": "application/json; version=1",
"schema": {
"$ref": "#/components/schemas/UpdateOrganisationRequest"
}
},
"responses": {
"200": {
"desc": "OK",
"schema": null
},
"400": {
"desc": "Bad Request",
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"401": {
"desc": "Unauthorized",
"schema": null
},
"404": {
"desc": "Not Found",
"schema": null
},
"500": {
"desc": "Internal Server Error",
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
},
{
"tag": "Governance",
"method": "POST",
"path": "/v1/api/governance/organisations/portfolio",
"opId": "createportfolio",
"desc": "Create a new organization portfolio",
"params": [],
"reqBody": {
"required": true,
"contentType": "application/json; version=1",
"schema": {
"$ref": "#/components/schemas/CreatePortfolioRequest"
}
},
"responses": {
"200": {
"desc": "OK",
"schema": null
},
"400": {
"desc": "Bad Request",
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"401": {
"desc": "Unauthorized",
"schema": null
},
"403": {
"desc": "Forbidden",
"schema": null
},
"404": {
"desc": "Not Found",
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"500": {
"desc": "Internal Server Error",
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
},
{
"tag": "Governance",
"method": "PUT",
"path": "/v1/api/governance/organisations/portfolio",
"opId": "updateportfolio",
"desc": "Update an existing organization portfolio",
"params": [],
"reqBody": {
"required": true,
"contentType": "application/json; version=1",
"schema": {
"$ref": "#/components/schemas/UpdatePortfolioRequest"
}
},
"responses": {
"200": {
"desc": "OK",
"schema": null
},
"400": {
"desc": "Bad Request",
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"401": {
"desc": "Unauthorized",
"schema": null
},
"403": {
"desc": "Forbidden",
"schema": null
},
"404": {
"desc": "Not Found",
"schema": null
},
"500": {
"desc": "Internal Server Error",
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
},
{
"tag": "Governance",
"method": "GET",
"path": "/v1/api/governance/dashboard",
"opId": "dashboard",
"desc": "Get executive portfolio dashboard metrics and KPIs",
"params": [],
"reqBody": null,
"responses": {
"200": {
"desc": "OK",
"schema": {
"$ref": "#/components/schemas/Dashboard"
}
},
"401": {
"desc": "Unauthorized",
"schema": null
},
"500": {
"desc": "Internal Server Error",
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
},
{
"tag": "Governance",
"method": "GET",
"path": "/v1/api/governance/instruments/{programmeId}",
"opId": "getinstruments",
"desc": "Get all funding instruments",
"params": [
{
"name": "programmeId",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"reqBody": null,
"responses": {
"200": {
"desc": "OK",
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Instrument"
}
}
},
"401": {
"desc": "Unauthorized",
"schema": null
},
"403": {
"desc": "Forbidden",
"schema": null
},
"500": {
"desc": "Internal Server Error",
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
},
{
"tag": "Governance",
"method": "GET",
"path": "/v1/api/governance/organisations/{organisationId}",
"opId": "getorganisation",
"desc": "Get organization profile by ID",
"params": [
{
"name": "organisationId",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"reqBody": null,
"responses": {
"200": {
"desc": "OK",
"schema": {
"$ref": "#/components/schemas/Organisation"
}
},
"401": {
"desc": "Unauthorized",
"schema": null
},
"403": {
"desc": "Forbidden",
"schema": null
},
"404": {
"desc": "Not Found",
"schema": null
},
"500": {
"desc": "Internal Server Error",
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
},
{
"tag": "Governance",
"method": "GET",
"path": "/v1/api/governance/portfolios/{portfolioId}",
"opId": "getportfolio",
"desc": "Get a specific portfolios",
"params": [
{
"name": "portfolioId",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"reqBody": null,
"responses": {
"200": {
"desc": "OK",
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Portfolio"
}
}
},
"401": {
"desc": "Unauthorized",
"schema": null
},
"403": {
"desc": "Forbidden",
"schema": null
},
"404": {
"desc": "Not Found",
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Portfolio"
}
}
},
"500": {
"desc": "Internal Server Error",
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
},
{
"tag": "Governance",
"method": "GET",
"path": "/v1/api/governance/portfolios/{portfolioId}/programmes",
"opId": "getportfolioprogrammes",
"desc": "Get a programme's portfolios",
"params": [
{
"name": "portfolioId",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"reqBody": null,
"responses": {
"200": {
"desc": "OK",
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Programme"
}
}
},
"401": {
"desc": "Unauthorized",
"schema": null
},
"403": {
"desc": "Forbidden",
"schema": null
},
"404": {
"desc": "Not Found",
"schema": null
},
"500": {
"desc": "Internal Server Error",
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
},
{
"tag": "Governance",
"method": "GET",
"path": "/v1/api/governance/organisations/{organisationId}/portfolio",
"opId": "getportfolios",
"desc": "Get all portfolios",
"params": [
{
"name": "organisationId",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"reqBody": null,
"responses": {
"200": {
"desc": "OK",
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Portfolio"
}
}
},
"401": {
"desc": "Unauthorized",
"schema": null
},
"403": {
"desc": "Forbidden",
"schema": null
},
"500": {
"desc": "Internal Server Error",
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
},
{
"tag": "Governance",
"method": "GET",
"path": "/v1/api/governance/programmes/{portfolioId}",
"opId": "getprogrammes",
"desc": "Get all programmes",
"params": [
{
"name": "portfolioId",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"reqBody": null,
"responses": {
"200": {
"desc": "OK",
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Programme"
}
}
},
"401": {
"desc": "Unauthorized",
"schema": null
},
"403": {
"desc": "Forbidden",
"schema": null
},
"500": {
"desc": "Internal Server Error",
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
},
{
"tag": "Execution",
"method": "POST",
"path": "/v1/api/execution/disbursements/{disbursementId}/approve",
"opId": "approvedisbursement",
"desc": "Approve disbursement and release payment (M06)",
"params": [
{
"name": "disbursementId",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"reqBody": null,
"responses": {
"200": {
"desc": "OK",
"schema": null
},
"400": {
"desc": "Bad Request",
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"401": {
"desc": "Unauthorized",
"schema": null
},
"403": {
"desc": "Forbidden",
"schema": null
},
"500": {
"desc": "Internal Server Error",
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
},
{
"tag": "Execution",
"method": "POST",
"path": "/v1/api/execution/disbursements",
"opId": "createdisbursement",
"desc": "Create a new disbursement schedule (M06)",
"params": [],
"reqBody": {
"required": true,
"contentType": "application/json; version=1",
"schema": {
"$ref": "#/components/schemas/CreateDisbursementRequest"
}
},
"responses": {
"200": {
"desc": "OK",
"schema": null
},
"400": {
"desc": "Bad Request",
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"401": {
"desc": "Unauthorized",
"schema": null
},
"404": {
"desc": "Not Found",
"schema": null
},
"500": {
"desc": "Internal Server Error",
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
},
{
"tag": "Execution",
"method": "GET",
"path": "/v1/api/execution/disbursements",
"opId": "getdisbursements",
"desc": "Get a list of disbursements",
"params": [
{
"name": "page",
"in": "query",
"required": false,
"schema": {
"pattern": "^-?(?:0|[1-9]\\d*)$",
"type": [
"integer",
"string"
],
"format": "int32",
"default": 1
}
},
{
"name": "pageSize",
"in": "query",
"required": false,
"schema": {
"pattern": "^-?(?:0|[1-9]\\d*)$",
"type": [
"integer",
"string"
],
"format": "int32",
"default": 10
}
}
],
"reqBody": null,
"responses": {
"200": {
"desc": "OK",
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Disbursement"
}
}
},
"401": {
"desc": "Unauthorized",
"schema": null
},
"404": {
"desc": "Not Found",
"schema": null
},
"500": {
"desc": "Internal Server Error",
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
},
{
"tag": "Execution",
"method": "PUT",
"path": "/v1/api/execution/disbursements",
"opId": "updatedisbursement",
"desc": "Update the details of a specific disbursement",
"params": [],
"reqBody": {
"required": true,
"contentType": "application/json; version=1",
"schema": {
"$ref": "#/components/schemas/UpdateDisbursementRequest"
}
},
"responses": {
"200": {
"desc": "OK",
"schema": null
},
"400": {
"desc": "Bad Request",
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"401": {
"desc": "Unauthorized",
"schema": null
},
"500": {
"desc": "Internal Server Error",
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
},
{
"tag": "Execution",
"method": "POST",
"path": "/v1/api/execution/risks",
"opId": "createrisk",
"desc": "Add risk to risk register (M09)",
"params": [],
"reqBody": {
"required": true,
"contentType": "application/json; version=1",
"schema": {
"$ref": "#/components/schemas/CreateRiskRequest"
}
},
"responses": {
"200": {
"desc": "OK",
"schema": null
},
"400": {
"desc": "Bad Request",
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"401": {
"desc": "Unauthorized",
"schema": null
},
"404": {
"desc": "Not Found",
"schema": null
},
"500": {
"desc": "Internal Server Error",
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
},
{
"tag": "Execution",
"method": "GET",
"path": "/v1/api/execution/risks",
"opId": "getrisks",
"desc": "Get a list of all risks",
"params": [
{
"name": "page",
"in": "query",
"required": false,
"schema": {
"pattern": "^-?(?:0|[1-9]\\d*)$",
"type": [
"integer",
"string"
],
"format": "int32",
"default": 1
}
},
{
"name": "pageSize",
"in": "query",
"required": false,
"schema": {
"pattern": "^-?(?:0|[1-9]\\d*)$",
"type": [
"integer",
"string"
],
"format": "int32",
"default": 100
}
}
],
"reqBody": null,
"responses": {
"200": {
"desc": "OK",
"schema": null
},
"401": {
"desc": "Unauthorized",
"schema": null
},
"500": {
"desc": "Internal Server Error",
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
},
{
"tag": "Execution",
"method": "PUT",
"path": "/v1/api/execution/risks",
"opId": "updaterisk",
"desc": "Update the details of a specific risk",
"params": [],
"reqBody": {
"required": true,
"contentType": "application/json; version=1",
"schema": {
"$ref": "#/components/schemas/UpdateRiskRequest"
}
},
"responses": {
"200": {
"desc": "OK",
"schema": null
},
"400": {
"desc": "Bad Request",
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"401": {
"desc": "Unauthorized",
"schema": null
},
"500": {
"desc": "Internal Server Error",
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
},
{
"tag": "Execution",
"method": "GET",
"path": "/v1/api/execution/disbursements/{disbursementId}",
"opId": "getdisbursement",
"desc": "Get a specific disbursement",
"params": [
{
"name": "disbursementId",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"reqBody": null,
"responses": {
"200": {
"desc": "OK",
"schema": {
"$ref": "#/components/schemas/Disbursement"
}
},
"400": {
"desc": "Bad Request",
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"401": {
"desc": "Unauthorized",
"schema": null
},
"404": {
"desc": "Not Found",
"schema": null
},
"500": {
"desc": "Internal Server Error",
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
},
{
"tag": "Execution",
"method": "GET",
"path": "/v1/api/execution/risks/{riskId}",
"opId": "getrisk",
"desc": "Get a specific risk",
"params": [
{
"name": "riskId",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"reqBody": null,
"responses": {
"200": {
"desc": "OK",
"schema": {
"$ref": "#/components/schemas/Risk"
}
},
"401": {
"desc": "Unauthorized",
"schema": null
},
"404": {
"desc": "Not Found",
"schema": null
},
"500": {
"desc": "Internal Server Error",
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
},
{
"tag": "Evidence & M&E",
"method": "PUT",
"path": "/v1/api/evidence/file",
"opId": "createevidence",
"desc": "Upload supporting evidence file to S3 and register metadata (M14)",
"params": [],
"reqBody": null,
"responses": {
"200": {
"desc": "OK",
"schema": null
},
"400": {
"desc": "Bad Request",
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"401": {
"desc": "Unauthorized",
"schema": null
},
"500": {
"desc": "Internal Server Error",
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
},
{
"tag": "Evidence & M&E",
"method": "POST",
"path": "/v1/api/evidence/indicators",
"opId": "createindicator",
"desc": "Define indicators and baselines/targets (M08)",
"params": [],
"reqBody": {
"required": true,
"contentType": "application/json; version=1",
"schema": {
"$ref": "#/components/schemas/CreateIndicatorRequest"
}
},
"responses": {
"200": {
"desc": "OK",
"schema": null
},
"400": {
"desc": "Bad Request",
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"401": {
"desc": "Unauthorized",
"schema": null
},
"404": {
"desc": "Not Found",
"schema": null
},
"500": {
"desc": "Internal Server Error",
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
},
{
"tag": "Evidence & M&E",
"method": "POST",
"path": "/v1/api/evidence/milestones",
"opId": "createmilestonerequest",
"desc": "Define contractual milestones (M07)",
"params": [],
"reqBody": {
"required": true,
"contentType": "application/json; version=1",
"schema": {
"$ref": "#/components/schemas/CreateMilestoneRequest"
}
},
"responses": {
"200": {
"desc": "OK",
"schema": null
},
"400": {
"desc": "Bad Request",
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"401": {
"desc": "Unauthorized",
"schema": null
},
"500": {
"desc": "Internal Server Error",
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
},
{
"tag": "Evidence & M&E",
"method": "GET",
"path": "/v1/api/evidence/{evidenceId}",
"opId": "getevidence",
"desc": "Get a specific evidence record and assiciated file URLs",
"params": [
{
"name": "evidenceId",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"reqBody": null,
"responses": {
"200": {
"desc": "OK",
"schema": {
"$ref": "#/components/schemas/Evidence"
}
},
"401": {
"desc": "Unauthorized",
"schema": null
},
"403": {
"desc": "Forbidden",
"schema": null
},
"404": {
"desc": "Not Found",
"schema": null
},
"500": {
"desc": "Internal Server Error",
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
},
{
"tag": "Evidence & M&E",
"method": "GET",
"path": "/v1/api/evidence/files/{page}/{pageSize}",
"opId": "getevidencefiles",
"desc": "Get a list of all uploaded evidence files metadata",
"params": [
{
"name": "page",
"in": "path",
"required": true,
"schema": {
"pattern": "^-?(?:0|[1-9]\\d*)$",
"type": "integer",
"format": "int32",
"default": 1
}
},
{
"name": "pageSize",
"in": "path",
"required": true,
"schema": {
"pattern": "^-?(?:0|[1-9]\\d*)$",
"type": "integer",
"format": "int32",
"default": 100
}
}
],
"reqBody": null,
"responses": {
"200": {
"desc": "OK",
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Evidence"
}
}
},
"401": {
"desc": "Unauthorized",
"schema": null
},
"500": {
"desc": "Internal Server Error",
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
},
{
"tag": "Grants",
"method": "GET",
"path": "/v1/api/evidence/{evidenceId}/securelink",
"opId": "getevidenceurl",
"desc": "Gets a secure download URL of the evidence file, URL expires (default: 15min)",
"params": [
{
"name": "evidenceId",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"reqBody": null,
"responses": {
"200": {
"desc": "OK",
"schema": {
"type": "string"
}
},
"401": {
"desc": "Unauthorized",
"schema": null
},
"403": {
"desc": "Forbidden",
"schema": null
},
"404": {
"desc": "Not Found",
"schema": {
"type": "string"
}
},
"500": {
"desc": "Internal Server Error",
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
},
{
"tag": "Evidence & M&E",
"method": "GET",
"path": "/v1/api/evidence/indicators/{indicatorId}",
"opId": "getindicator",
"desc": "Get a specific indicator.",
"params": [
{
"name": "indicatorId",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"reqBody": null,
"responses": {
"200": {
"desc": "OK",
"schema": {
"$ref": "#/components/schemas/Indicator"
}
},
"401": {
"desc": "Unauthorized",
"schema": null
},
"403": {
"desc": "Forbidden",
"schema": null
},
"404": {
"desc": "Not Found",
"schema": null
},
"500": {
"desc": "Internal Server Error",
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
},
{
"tag": "Evidence & M&E",
"method": "GET",
"path": "/v1/api/evidence/indicators/{page}/{pageSize}",
"opId": "getindicators",
"desc": "Get a list of indicators",
"params": [
{
"name": "page",
"in": "path",
"required": true,
"schema": {
"pattern": "^-?(?:0|[1-9]\\d*)$",
"type": "integer",
"format": "int32",
"default": 1
}
},
{
"name": "pageSize",
"in": "path",
"required": true,
"schema": {
"pattern": "^-?(?:0|[1-9]\\d*)$",
"type": "integer",
"format": "int32",
"default": 100
}
}
],
"reqBody": null,
"responses": {
"200": {
"desc": "OK",
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Indicator"
}
}
},
"401": {
"desc": "Unauthorized",
"schema": null
},
"500": {
"desc": "Internal Server Error",
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
},
{
"tag": "Evidence & M&E",
"method": "GET",
"path": "/v1/api/evidence/milestone/{milestoneId}",
"opId": "getmilestoneevidence",
"desc": "Get a list of all uploaded evidence metadata for a specific mliestone",
"params": [
{
"name": "milestoneId",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"reqBody": null,
"responses": {
"200": {
"desc": "OK",
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Evidence"
}
}
},
"401": {
"desc": "Unauthorized",
"schema": null
},
"403": {
"desc": "Forbidden",
"schema": null
},
"404": {
"desc": "Not Found",
"schema": null
},
"500": {
"desc": "Internal Server Error",
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
},
{
"tag": "Evidence & M&E",
"method": "GET",
"path": "/v1/api/evidence/{projectId}",
"opId": "getprojectevidence",
"desc": "Get a list of all uploaded evidence metadata for a specific project",
"params": [
{
"name": "projectId",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"reqBody": null,
"responses": {
"200": {
"desc": "OK",
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Evidence"
}
}
},
"401": {
"desc": "Unauthorized",
"schema": null
},
"403": {
"desc": "Forbidden",
"schema": null
},
"404": {
"desc": "Not Found",
"schema": null
},
"500": {
"desc": "Internal Server Error",
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
},
{
"tag": "Evidence & M&E",
"method": "POST",
"path": "/v1/api/evidence/indicators/{indicatorId}/actuals/{actualAmount}",
"opId": "recordindicatoramount",
"desc": "Record actual values for indicators (M08)",
"params": [
{
"name": "indicatorId",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "actualAmount",
"in": "path",
"required": true,
"schema": {
"pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
"type": "number",
"format": "double"
}
}
],
"reqBody": null,
"responses": {
"200": {
"desc": "OK",
"schema": null
},
"400": {
"desc": "Bad Request",
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"401": {
"desc": "Unauthorized",
"schema": null
},
"403": {
"desc": "Forbidden",
"schema": null
},
"500": {
"desc": "Internal Server Error",
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
},
{
"tag": "Evidence & M&E",
"method": "PUT",
"path": "/v1/api/evidence",
"opId": "updateevidence",
"desc": "Updates a specific evidence record metadata",
"params": [],
"reqBody": {
"required": true,
"contentType": "application/json; version=1",
"schema": {
"$ref": "#/components/schemas/UpdateEvidenceRequest"
}
},
"responses": {
"200": {
"desc": "OK",
"schema": null
},
"400": {
"desc": "Bad Request",
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"401": {
"desc": "Unauthorized",
"schema": null
},
"403": {
"desc": "Forbidden",
"schema": null
},
"404": {
"desc": "Not Found",
"schema": null
},
"500": {
"desc": "Internal Server Error",
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
},
{
"tag": "Communications",
"method": "GET",
"path": "/v1/api/communications/invites/applicant/{applicantUserId}",
"opId": "getapplicantinvite",
"desc": "Gets an applicant's invite",
"params": [
{
"name": "applicantUserId",
"in": "path",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
}
],
"reqBody": null,
"responses": {
"200": {
"desc": "OK",
"schema": {
"$ref": "#/components/schemas/Invite"
}
},
"401": {
"desc": "Unauthorized",
"schema": null
},
"404": {
"desc": "Not Found",
"schema": null
},
"500": {
"desc": "Internal Server Error",
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
},
{
"tag": "Communications",
"method": "GET",
"path": "/v1/api/communications/invites/{applicantUserId}",
"opId": "getapplicantinvites",
"desc": "Gets an applicant's invite list",
"params": [
{
"name": "applicantUserId",
"in": "path",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
}
],
"reqBody": null,
"responses": {
"200": {
"desc": "OK",
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Invite"
}
}
},
"401": {
"desc": "Unauthorized",
"schema": null
},
"404": {
"desc": "Not Found",
"schema": null
},
"500": {
"desc": "Internal Server Error",
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
},
{
"tag": "Communications",
"method": "GET",
"path": "/v1/api/communications/invites/{page}/{pageSize}",
"opId": "getinvites",
"desc": "Get a list of sent invitations",
"params": [
{
"name": "page",
"in": "path",
"required": true,
"schema": {
"pattern": "^-?(?:0|[1-9]\\d*)$",
"type": "integer",
"format": "int32",
"default": 1
}
},
{
"name": "pageSize",
"in": "path",
"required": true,
"schema": {
"pattern": "^-?(?:0|[1-9]\\d*)$",
"type": "integer",
"format": "int32",
"default": 100
}
}
],
"reqBody": null,
"responses": {
"200": {
"desc": "OK",
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Invite"
}
}
},
"401": {
"desc": "Unauthorized",
"schema": null
},
"500": {
"desc": "Internal Server Error",
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
},
{
"tag": "Communications",
"method": "POST",
"path": "/v1/api/communications/invite",
"opId": "sendinvite",
"desc": "Trigger an invite to an organization or candidate (specifying NotificationPlatform)",
"params": [],
"reqBody": {
"required": true,
"contentType": "application/json; version=1",
"schema": {
"$ref": "#/components/schemas/InviteRequest"
}
},
"responses": {
"200": {
"desc": "OK",
"schema": {
"$ref": "#/components/schemas/Invite"
}
},
"400": {
"desc": "Bad Request",
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"401": {
"desc": "Unauthorized",
"schema": null
},
"500": {
"desc": "Internal Server Error",
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
}
]