[ { "tag": "Communications", "method": "POST", "path": "/v1/api/communications/invites", "opId": "sendinvite", "desc": "Trigger an invite to an organization or candidate (specifying NotificationPlatform)", "params": [], "reqBody": { "content": { "application/json; version=1": { "schema": { "$ref": "#/components/schemas/InviteRequest" } } }, "required": true }, "responses": { "200": { "description": "OK", "content": { "application/json; version=1": { "schema": { "$ref": "#/components/schemas/Invite" } } } }, "400": { "description": "Bad Request", "content": { "application/json; version=1": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "500": { "description": "Internal Server Error", "content": { "application/json; version=1": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "401": { "description": "Unauthorized" } } }, { "tag": "Communications", "method": "GET", "path": "/v1/api/communications/invites/applicants/{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": { "description": "OK", "content": { "application/json; version=1": { "schema": { "$ref": "#/components/schemas/Invite" } } } }, "404": { "description": "Not Found" }, "401": { "description": "Unauthorized" }, "500": { "description": "Internal Server Error", "content": { "application/json; version=1": { "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": { "description": "OK", "content": { "application/json; version=1": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/Invite" } } } } }, "404": { "description": "Not Found" }, "401": { "description": "Unauthorized" }, "500": { "description": "Internal Server Error", "content": { "application/json; version=1": { "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": { "description": "OK", "content": { "application/json; version=1": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/Invite" } } } } }, "401": { "description": "Unauthorized" }, "500": { "description": "Internal Server Error", "content": { "application/json; version=1": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } } } }, { "tag": "Communications", "method": "GET", "path": "/v1/api/communications/norifications/{organisationId}", "opId": "getnotifications", "desc": "Retrieves the notification system report", "params": [ { "name": "organisationId", "in": "path", "required": true, "schema": { "type": "string" } } ], "reqBody": null, "responses": { "200": { "description": "OK", "content": { "application/json; version=1": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/Notification" } } } } }, "403": { "description": "Forbidden" }, "401": { "description": "Unauthorized" }, "404": { "description": "Not Found", "content": { "application/json; version=1": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/Notification" } } } } }, "500": { "description": "Internal Server Error", "content": { "application/json; version=1": { "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": { "content": { "application/json; version=1": { "schema": { "$ref": "#/components/schemas/UpdateEvidenceRequest" } } }, "required": true }, "responses": { "200": { "description": "OK" }, "404": { "description": "Not Found" }, "403": { "description": "Forbidden" }, "401": { "description": "Unauthorized" }, "400": { "description": "Bad Request", "content": { "application/json; version=1": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "500": { "description": "Internal Server Error", "content": { "application/json; version=1": { "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": { "description": "OK" }, "400": { "description": "Bad Request", "content": { "application/json; version=1": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "500": { "description": "Internal Server Error", "content": { "application/json; version=1": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "401": { "description": "Unauthorized" } } }, { "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": { "description": "OK", "content": { "application/json; version=1": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/Evidence" } } } } }, "500": { "description": "Internal Server Error", "content": { "application/json; version=1": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "401": { "description": "Unauthorized" } } }, { "tag": "Evidence & M&E", "method": "POST", "path": "/v1/api/evidence/indicators", "opId": "createindicator", "desc": "Define indicators and baselines/targets (M08)", "params": [], "reqBody": { "content": { "application/json; version=1": { "schema": { "$ref": "#/components/schemas/CreateIndicatorRequest" } } }, "required": true }, "responses": { "200": { "description": "OK" }, "404": { "description": "Not Found" }, "401": { "description": "Unauthorized" }, "400": { "description": "Bad Request", "content": { "application/json; version=1": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "500": { "description": "Internal Server Error", "content": { "application/json; version=1": { "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": { "description": "OK", "content": { "application/json; version=1": { "schema": { "$ref": "#/components/schemas/Indicator" } } } }, "404": { "description": "Not Found" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "500": { "description": "Internal Server Error", "content": { "application/json; version=1": { "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": { "description": "OK" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "400": { "description": "Bad Request", "content": { "application/json; version=1": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "500": { "description": "Internal Server Error", "content": { "application/json; version=1": { "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": { "description": "OK", "content": { "application/json; version=1": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/Indicator" } } } } }, "500": { "description": "Internal Server Error", "content": { "application/json; version=1": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "401": { "description": "Unauthorized" } } }, { "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": { "description": "OK", "content": { "application/json; version=1": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/Evidence" } } } } }, "404": { "description": "Not Found" }, "403": { "description": "Forbidden" }, "401": { "description": "Unauthorized" }, "500": { "description": "Internal Server Error", "content": { "application/json; version=1": { "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": { "content": { "application/json; version=1": { "schema": { "$ref": "#/components/schemas/CreateMilestoneRequest" } } }, "required": true }, "responses": { "200": { "description": "OK" }, "401": { "description": "Unauthorized" }, "400": { "description": "Bad Request", "content": { "application/json; version=1": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "500": { "description": "Internal Server Error", "content": { "application/json; version=1": { "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": { "description": "OK", "content": { "application/json; version=1": { "schema": { "$ref": "#/components/schemas/Evidence" } } } }, "404": { "description": "Not Found" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "500": { "description": "Internal Server Error", "content": { "application/json; version=1": { "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": { "description": "OK", "content": { "application/json; version=1": { "schema": { "type": "string" } } } }, "404": { "description": "Not Found", "content": { "application/json; version=1": { "schema": { "type": "string" } } } }, "403": { "description": "Forbidden" }, "401": { "description": "Unauthorized" }, "500": { "description": "Internal Server Error", "content": { "application/json; version=1": { "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": { "description": "OK", "content": { "application/json; version=1": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/Evidence" } } } } }, "404": { "description": "Not Found" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "500": { "description": "Internal Server Error", "content": { "application/json; version=1": { "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": { "content": { "application/json; version=1": { "schema": { "$ref": "#/components/schemas/CreateDisbursementRequest" } } }, "required": true }, "responses": { "200": { "description": "OK" }, "404": { "description": "Not Found" }, "401": { "description": "Unauthorized" }, "400": { "description": "Bad Request", "content": { "application/json; version=1": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "500": { "description": "Internal Server Error", "content": { "application/json; version=1": { "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", "schema": { "pattern": "^-?(?:0|[1-9]\\d*)$", "type": [ "integer", "string" ], "format": "int32", "default": 1 } }, { "name": "pageSize", "in": "query", "schema": { "pattern": "^-?(?:0|[1-9]\\d*)$", "type": [ "integer", "string" ], "format": "int32", "default": 10 } } ], "reqBody": null, "responses": { "200": { "description": "OK", "content": { "application/json; version=1": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/Disbursement" } } } } }, "401": { "description": "Unauthorized" }, "404": { "description": "Not Found" }, "500": { "description": "Internal Server Error", "content": { "application/json; version=1": { "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": { "content": { "application/json; version=1": { "schema": { "$ref": "#/components/schemas/UpdateDisbursementRequest" } } }, "required": true }, "responses": { "200": { "description": "OK" }, "400": { "description": "Bad Request", "content": { "application/json; version=1": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "500": { "description": "Internal Server Error", "content": { "application/json; version=1": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "401": { "description": "Unauthorized" } } }, { "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": { "description": "OK", "content": { "application/json; version=1": { "schema": { "$ref": "#/components/schemas/Disbursement" } } } }, "404": { "description": "Not Found" }, "401": { "description": "Unauthorized" }, "400": { "description": "Bad Request", "content": { "application/json; version=1": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "500": { "description": "Internal Server Error", "content": { "application/json; version=1": { "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": { "description": "OK" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "400": { "description": "Bad Request", "content": { "application/json; version=1": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "500": { "description": "Internal Server Error", "content": { "application/json; version=1": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } } } }, { "tag": "Execution", "method": "POST", "path": "/v1/api/execution/programmes/rules", "opId": "getrules", "desc": "Get a list of all programme rules", "params": [], "reqBody": { "content": { "application/json; version=1": { "schema": { "$ref": "#/components/schemas/Pagination" } } }, "required": true }, "responses": { "200": { "description": "OK", "content": { "application/json; version=1": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/Rule" } } } } }, "401": { "description": "Unauthorized" }, "500": { "description": "Internal Server Error", "content": { "application/json; version=1": { "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": { "content": { "application/json; version=1": { "schema": { "$ref": "#/components/schemas/CreateRiskRequest" } } }, "required": true }, "responses": { "200": { "description": "OK" }, "404": { "description": "Not Found" }, "401": { "description": "Unauthorized" }, "400": { "description": "Bad Request", "content": { "application/json; version=1": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "500": { "description": "Internal Server Error", "content": { "application/json; version=1": { "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", "schema": { "pattern": "^-?(?:0|[1-9]\\d*)$", "type": [ "integer", "string" ], "format": "int32", "default": 1 } }, { "name": "pageSize", "in": "query", "schema": { "pattern": "^-?(?:0|[1-9]\\d*)$", "type": [ "integer", "string" ], "format": "int32", "default": 100 } } ], "reqBody": null, "responses": { "200": { "description": "OK", "content": { "application/json; version=1": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/Risk" } } } } }, "401": { "description": "Unauthorized" }, "500": { "description": "Internal Server Error", "content": { "application/json; version=1": { "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": { "content": { "application/json; version=1": { "schema": { "$ref": "#/components/schemas/UpdateRiskRequest" } } }, "required": true }, "responses": { "200": { "description": "OK" }, "401": { "description": "Unauthorized" }, "400": { "description": "Bad Request", "content": { "application/json; version=1": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "500": { "description": "Internal Server Error", "content": { "application/json; version=1": { "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": { "description": "OK", "content": { "application/json; version=1": { "schema": { "$ref": "#/components/schemas/Risk" } } } }, "404": { "description": "Not Found" }, "401": { "description": "Unauthorized" }, "500": { "description": "Internal Server Error", "content": { "application/json; version=1": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } } } }, { "tag": "Execution", "method": "POST", "path": "/v1/api/execution/rules", "opId": "createrule", "desc": "Add rule against a programme", "params": [], "reqBody": { "content": { "application/json; version=1": { "schema": { "$ref": "#/components/schemas/CreateRuleRequest" } } }, "required": true }, "responses": { "200": { "description": "OK" }, "401": { "description": "Unauthorized" }, "400": { "description": "Bad Request", "content": { "application/json; version=1": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "500": { "description": "Internal Server Error", "content": { "application/json; version=1": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } } } }, { "tag": "Execution", "method": "PUT", "path": "/v1/api/execution/rules", "opId": "updaterule", "desc": "Update the details of a specific programme rule (supplied version auto-increment)", "params": [], "reqBody": { "content": { "application/json; version=1": { "schema": { "$ref": "#/components/schemas/UpdateRuleRequest" } } }, "required": true }, "responses": { "200": { "description": "OK" }, "401": { "description": "Unauthorized" }, "400": { "description": "Bad Request", "content": { "application/json; version=1": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "500": { "description": "Internal Server Error", "content": { "application/json; version=1": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } } } }, { "tag": "Execution", "method": "GET", "path": "/v1/api/execution/rules/{ruleId}", "opId": "getrule", "desc": "Get a specific programme rule", "params": [ { "name": "ruleId", "in": "path", "required": true, "schema": { "type": "string" } } ], "reqBody": null, "responses": { "200": { "description": "OK", "content": { "application/json; version=1": { "schema": { "$ref": "#/components/schemas/Rule" } } } }, "404": { "description": "Not Found" }, "401": { "description": "Unauthorized" }, "500": { "description": "Internal Server Error", "content": { "application/json; version=1": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } } } }, { "tag": "Governance", "method": "POST", "path": "/v1/api/governance/auditlog", "opId": "getauditlogs", "desc": "Retrieves audit logs based on pagination parameters", "params": [], "reqBody": { "content": { "application/json; version=1": { "schema": { "$ref": "#/components/schemas/Pagination" } } }, "required": true }, "responses": { "200": { "description": "OK", "content": { "application/json; version=1": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/AuditLog" } } } } }, "401": { "description": "Unauthorized" }, "400": { "description": "Bad Request", "content": { "application/json; version=1": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "500": { "description": "Internal Server Error", "content": { "application/json; version=1": { "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": { "description": "OK", "content": { "application/json; version=1": { "schema": { "$ref": "#/components/schemas/Dashboard" } } } }, "401": { "description": "Unauthorized" }, "500": { "description": "Internal Server Error", "content": { "application/json; version=1": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } } } }, { "tag": "Governance", "method": "POST", "path": "/v1/api/governance/instruments", "opId": "createinstrument", "desc": "Creates a new programme funding instrument", "params": [], "reqBody": { "content": { "application/json; version=1": { "schema": { "$ref": "#/components/schemas/CreateInstrumentRequest" } } }, "required": true }, "responses": { "200": { "description": "OK" }, "401": { "description": "Unauthorized" }, "400": { "description": "Bad Request", "content": { "application/json; version=1": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "500": { "description": "Internal Server Error", "content": { "application/json; version=1": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } } } }, { "tag": "Governance", "method": "PUT", "path": "/v1/api/governance/instruments", "opId": "updateinstrument", "desc": "Updates a programme funding instrument", "params": [], "reqBody": { "content": { "application/json; version=1": { "schema": { "$ref": "#/components/schemas/UpdateInstrumentRequest" } } }, "required": true }, "responses": { "200": { "description": "OK" }, "401": { "description": "Unauthorized" }, "400": { "description": "Bad Request", "content": { "application/json; version=1": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "500": { "description": "Internal Server Error", "content": { "application/json; version=1": { "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": { "description": "OK", "content": { "application/json; version=1": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/Instrument" } } } } }, "403": { "description": "Forbidden" }, "401": { "description": "Unauthorized" }, "500": { "description": "Internal Server Error", "content": { "application/json; version=1": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } } } }, { "tag": "Governance", "method": "POST", "path": "/v1/api/governance/organisations", "opId": "createorganisation", "desc": "Create a new organization profile", "params": [], "reqBody": { "content": { "application/json; version=1": { "schema": { "$ref": "#/components/schemas/CreateOrganisationRequest" } } }, "required": true }, "responses": { "200": { "description": "OK" }, "400": { "description": "Bad Request", "content": { "application/json; version=1": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "500": { "description": "Internal Server Error", "content": { "application/json; version=1": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "401": { "description": "Unauthorized" } } }, { "tag": "Governance", "method": "GET", "path": "/v1/api/governance/organisations", "opId": "getorganisations", "desc": "Get a paginated directory of organizations", "params": [ { "name": "page", "in": "query", "schema": { "pattern": "^-?(?:0|[1-9]\\d*)$", "type": [ "integer", "string" ], "format": "int32", "default": 1 } }, { "name": "pageSize", "in": "query", "schema": { "pattern": "^-?(?:0|[1-9]\\d*)$", "type": [ "integer", "string" ], "format": "int32", "default": 100 } } ], "reqBody": null, "responses": { "200": { "description": "OK", "content": { "application/json; version=1": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/Organisation" } } } } }, "500": { "description": "Internal Server Error", "content": { "application/json; version=1": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "401": { "description": "Unauthorized" } } }, { "tag": "Governance", "method": "PUT", "path": "/v1/api/governance/organisations", "opId": "updateorganisation", "desc": "Update an existing organization profile", "params": [], "reqBody": { "content": { "application/json; version=1": { "schema": { "$ref": "#/components/schemas/UpdateOrganisationRequest" } } }, "required": true }, "responses": { "200": { "description": "OK" }, "403": { "description": "Forbidden" }, "401": { "description": "Unauthorized" }, "400": { "description": "Bad Request", "content": { "application/json; version=1": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "500": { "description": "Internal Server Error", "content": { "application/json; version=1": { "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": { "content": { "application/json; version=1": { "schema": { "$ref": "#/components/schemas/CreatePortfolioRequest" } } }, "required": true }, "responses": { "200": { "description": "OK" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found", "content": { "application/json; version=1": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "400": { "description": "Bad Request", "content": { "application/json; version=1": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "500": { "description": "Internal Server Error", "content": { "application/json; version=1": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "401": { "description": "Unauthorized" } } }, { "tag": "Governance", "method": "PUT", "path": "/v1/api/governance/organisations/portfolio", "opId": "updateportfolio", "desc": "Update an existing organization portfolio", "params": [], "reqBody": { "content": { "application/json; version=1": { "schema": { "$ref": "#/components/schemas/UpdatePortfolioRequest" } } }, "required": true }, "responses": { "200": { "description": "OK" }, "404": { "description": "Not Found" }, "403": { "description": "Forbidden" }, "401": { "description": "Unauthorized" }, "400": { "description": "Bad Request", "content": { "application/json; version=1": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "500": { "description": "Internal Server Error", "content": { "application/json; version=1": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } } } }, { "tag": "Governance", "method": "POST", "path": "/v1/api/governance/organisations/portfolios", "opId": "getportfolios", "desc": "Get all portfolios", "params": [], "reqBody": { "content": { "application/json; version=1": { "schema": { "$ref": "#/components/schemas/Pagination" } } }, "required": true }, "responses": { "200": { "description": "OK", "content": { "application/json; version=1": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/Portfolio" } } } } }, "403": { "description": "Forbidden" }, "401": { "description": "Unauthorized" }, "500": { "description": "Internal Server Error", "content": { "application/json; version=1": { "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": { "description": "OK", "content": { "application/json; version=1": { "schema": { "$ref": "#/components/schemas/Organisation" } } } }, "404": { "description": "Not Found" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "500": { "description": "Internal Server Error", "content": { "application/json; version=1": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } } } }, { "tag": "Governance", "method": "GET", "path": "/v1/api/governance/organisations/{organisationId}/portfolio", "opId": "getorganisationportfolios", "desc": "Get all portfolios belonging to a specific organisation", "params": [ { "name": "organisationId", "in": "path", "required": true, "schema": { "type": "string" } } ], "reqBody": null, "responses": { "200": { "description": "OK", "content": { "application/json; version=1": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/Portfolio" } } } } }, "403": { "description": "Forbidden" }, "401": { "description": "Unauthorized" }, "500": { "description": "Internal Server Error", "content": { "application/json; version=1": { "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": { "description": "OK", "content": { "application/json; version=1": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/Portfolio" } } } } }, "404": { "description": "Not Found", "content": { "application/json; version=1": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/Portfolio" } } } } }, "403": { "description": "Forbidden" }, "401": { "description": "Unauthorized" }, "500": { "description": "Internal Server Error", "content": { "application/json; version=1": { "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": { "description": "OK", "content": { "application/json; version=1": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/Programme" } } } } }, "404": { "description": "Not Found" }, "403": { "description": "Forbidden" }, "401": { "description": "Unauthorized" }, "500": { "description": "Internal Server Error", "content": { "application/json; version=1": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } } } }, { "tag": "Governance", "method": "GET", "path": "/v1/api/governance/portfolios/{portfolioId}/value", "opId": "getporfoliovalue", "desc": "Calculates and returns a portfolio's total project's budget value", "params": [ { "name": "portfolioId", "in": "path", "required": true, "schema": { "type": "string" } } ], "reqBody": null, "responses": { "200": { "description": "OK", "content": { "application/json; version=1": { "schema": { "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$", "type": [ "number", "string" ], "format": "double" } } } }, "403": { "description": "Forbidden" }, "401": { "description": "Unauthorized" }, "400": { "description": "Bad Request", "content": { "application/json; version=1": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "500": { "description": "Internal Server Error", "content": { "application/json; version=1": { "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": { "description": "OK", "content": { "application/json; version=1": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/Programme" } } } } }, "403": { "description": "Forbidden" }, "401": { "description": "Unauthorized" }, "500": { "description": "Internal Server Error", "content": { "application/json; version=1": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } } } }, { "tag": "Governance", "method": "GET", "path": "/v1/api/governance/programmes/{programmeId}/value", "opId": "getprogrammevalue", "desc": "Calculates and returns a programme's total project budget value", "params": [ { "name": "programmeId", "in": "path", "required": true, "schema": { "type": "string" } } ], "reqBody": null, "responses": { "200": { "description": "OK", "content": { "application/json; version=1": { "schema": { "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$", "type": [ "number", "string" ], "format": "double" } } } }, "403": { "description": "Forbidden" }, "401": { "description": "Unauthorized" }, "400": { "description": "Bad Request", "content": { "application/json; version=1": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "500": { "description": "Internal Server Error", "content": { "application/json; version=1": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } } } }, { "tag": "Governance", "method": "POST", "path": "/v1/api/governance/tenants", "opId": "createtenant", "desc": "Create a new tenant", "params": [], "reqBody": { "content": { "application/json; version=1": { "schema": { "$ref": "#/components/schemas/CreateTenantRequest" } } }, "required": true }, "responses": { "200": { "description": "OK" }, "401": { "description": "Unauthorized" }, "400": { "description": "Bad Request", "content": { "application/json; version=1": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "500": { "description": "Internal Server Error", "content": { "application/json; version=1": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } } } }, { "tag": "Governance", "method": "GET", "path": "/v1/api/governance/tenants", "opId": "gettenantsretrieval", "desc": "Gets system tenants", "params": [], "reqBody": null, "responses": { "200": { "description": "OK", "content": { "application/json; version=1": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/Tenant" } } } } }, "401": { "description": "Unauthorized" }, "500": { "description": "Internal Server Error", "content": { "application/json; version=1": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } } } }, { "tag": "Governance", "method": "PUT", "path": "/v1/api/governance/tenants", "opId": "updatetenant", "desc": "Updates a specific tenant", "params": [], "reqBody": { "content": { "application/json; version=1": { "schema": { "$ref": "#/components/schemas/UpdateTenantRequest" } } }, "required": true }, "responses": { "200": { "description": "OK" }, "401": { "description": "Unauthorized" }, "400": { "description": "Bad Request", "content": { "application/json; version=1": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "500": { "description": "Internal Server Error", "content": { "application/json; version=1": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } } } }, { "tag": "Governance", "method": "GET", "path": "/v1/api/governance/tenants/{tenantId}", "opId": "gettenants", "desc": "Gets system tenants", "params": [ { "name": "tenantId", "in": "path", "required": true, "schema": { "type": "string" } } ], "reqBody": null, "responses": { "200": { "description": "OK", "content": { "application/json; version=1": { "schema": { "$ref": "#/components/schemas/Tenant" } } } }, "403": { "description": "Forbidden" }, "401": { "description": "Unauthorized" }, "404": { "description": "Not Found", "content": { "application/json; version=1": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "500": { "description": "Internal Server Error", "content": { "application/json; version=1": { "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": { "content": { "application/json; version=1": { "schema": { "$ref": "#/components/schemas/CreateAwardRequest" } } }, "required": true }, "responses": { "200": { "description": "OK" }, "401": { "description": "Unauthorized" }, "404": { "description": "Not Found" }, "400": { "description": "Bad Request", "content": { "application/json; version=1": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "500": { "description": "Internal Server Error", "content": { "application/json; version=1": { "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", "schema": { "pattern": "^-?(?:0|[1-9]\\d*)$", "type": [ "integer", "string" ], "format": "int32", "default": 1 } }, { "name": "pageSize", "in": "query", "schema": { "pattern": "^-?(?:0|[1-9]\\d*)$", "type": [ "integer", "string" ], "format": "int32", "default": 10 } } ], "reqBody": null, "responses": { "200": { "description": "OK", "content": { "application/json; version=1": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/Award" } } } } }, "500": { "description": "Internal Server Error", "content": { "application/json; version=1": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "401": { "description": "Unauthorized" } } }, { "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": { "description": "OK", "content": { "application/json; version=1": { "schema": { "$ref": "#/components/schemas/Award" } } } }, "403": { "description": "Forbidden" }, "401": { "description": "Unauthorized" }, "404": { "description": "Not Found" }, "500": { "description": "Internal Server Error", "content": { "application/json; version=1": { "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": { "content": { "application/json; version=1": { "schema": { "$ref": "#/components/schemas/CreateBudgetRequest" } } }, "required": true }, "responses": { "200": { "description": "OK" }, "404": { "description": "Not Found" }, "400": { "description": "Bad Request", "content": { "application/json; version=1": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "500": { "description": "Internal Server Error", "content": { "application/json; version=1": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "401": { "description": "Unauthorized" } } }, { "tag": "Grants", "method": "GET", "path": "/v1/api/grants/budgets", "opId": "getbudgets", "desc": "Get all budgets", "params": [ { "name": "page", "in": "query", "schema": { "pattern": "^-?(?:0|[1-9]\\d*)$", "type": [ "integer", "string" ], "format": "int32", "default": 1 } }, { "name": "pageSize", "in": "query", "schema": { "pattern": "^-?(?:0|[1-9]\\d*)$", "type": [ "integer", "string" ], "format": "int32", "default": 100 } } ], "reqBody": null, "responses": { "200": { "description": "OK", "content": { "application/json; version=1": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/Budget" } } } } }, "500": { "description": "Internal Server Error", "content": { "application/json; version=1": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "401": { "description": "Unauthorized" } } }, { "tag": "Governance", "method": "PUT", "path": "/v1/api/grants/budgets", "opId": "updatebudget", "desc": "Updates a specific budget", "params": [], "reqBody": { "content": { "application/json; version=1": { "schema": { "$ref": "#/components/schemas/UpdateBudgetRequest" } } }, "required": true }, "responses": { "200": { "description": "OK" }, "401": { "description": "Unauthorized" }, "400": { "description": "Bad Request", "content": { "application/json; version=1": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "500": { "description": "Internal Server Error", "content": { "application/json; version=1": { "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": { "description": "OK", "content": { "application/json; version=1": { "schema": { "$ref": "#/components/schemas/Budget" } } } }, "404": { "description": "Not Found" }, "403": { "description": "Forbidden" }, "401": { "description": "Unauthorized" }, "500": { "description": "Internal Server Error", "content": { "application/json; version=1": { "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": { "content": { "application/json; version=1": { "schema": { "$ref": "#/components/schemas/CreateContractRequest" } } }, "required": true }, "responses": { "200": { "description": "OK" }, "400": { "description": "Bad Request", "content": { "application/json; version=1": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "500": { "description": "Internal Server Error", "content": { "application/json; version=1": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "401": { "description": "Unauthorized" } } }, { "tag": "Grants", "method": "GET", "path": "/v1/api/grants/contracts", "opId": "getcontracts", "desc": "Get all contracts", "params": [ { "name": "page", "in": "query", "schema": { "pattern": "^-?(?:0|[1-9]\\d*)$", "type": [ "integer", "string" ], "format": "int32", "default": 1 } }, { "name": "pageSize", "in": "query", "schema": { "pattern": "^-?(?:0|[1-9]\\d*)$", "type": [ "integer", "string" ], "format": "int32", "default": 100 } } ], "reqBody": null, "responses": { "200": { "description": "OK", "content": { "application/json; version=1": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/Contract" } } } } }, "500": { "description": "Internal Server Error", "content": { "application/json; version=1": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "401": { "description": "Unauthorized" } } }, { "tag": "Grants", "method": "PUT", "path": "/v1/api/grants/contracts", "opId": "updatecontract", "desc": "Updates a specific contract", "params": [], "reqBody": { "content": { "application/json; version=1": { "schema": { "$ref": "#/components/schemas/UpdateContractRequest" } } }, "required": true }, "responses": { "200": { "description": "OK" }, "401": { "description": "Unauthorized" }, "404": { "description": "Not Found" }, "400": { "description": "Bad Request", "content": { "application/json; version=1": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "500": { "description": "Internal Server Error", "content": { "application/json; version=1": { "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": { "content": { "application/json; version=1": { "schema": { "$ref": "#/components/schemas/ExecuteContractRequest" } } }, "required": true }, "responses": { "200": { "description": "OK" }, "400": { "description": "Bad Request", "content": { "application/json; version=1": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "500": { "description": "Internal Server Error", "content": { "application/json; version=1": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "401": { "description": "Unauthorized" } } }, { "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": { "description": "OK", "content": { "application/json; version=1": { "schema": { "$ref": "#/components/schemas/Contract" } } } }, "404": { "description": "Not Found" }, "403": { "description": "Forbidden" }, "401": { "description": "Unauthorized" }, "500": { "description": "Internal Server Error", "content": { "application/json; version=1": { "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": { "description": "OK" }, "403": { "description": "Forbidden" }, "401": { "description": "Unauthorized" }, "404": { "description": "Not Found" }, "500": { "description": "Internal Server Error", "content": { "application/json; version=1": { "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": { "description": "OK", "content": { "application/json; version=1": { "schema": { "type": "string" } } } }, "403": { "description": "Forbidden" }, "401": { "description": "Unauthorized" }, "404": { "description": "Not Found" }, "500": { "description": "Internal Server Error", "content": { "application/json; version=1": { "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": { "description": "OK" }, "401": { "description": "Unauthorized" }, "500": { "description": "Internal Server Error", "content": { "application/json; version=1": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } } } }, { "tag": "Projects", "method": "POST", "path": "/v1/api/projects", "opId": "createproject", "desc": "Create a new project (M04)", "params": [], "reqBody": { "content": { "application/json; version=1": { "schema": { "$ref": "#/components/schemas/CreateProjectRequest" } } }, "required": true }, "responses": { "200": { "description": "OK" }, "404": { "description": "Not Found" }, "400": { "description": "Bad Request", "content": { "application/json; version=1": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "500": { "description": "Internal Server Error", "content": { "application/json; version=1": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "401": { "description": "Unauthorized" } } }, { "tag": "Projects", "method": "GET", "path": "/v1/api/projects", "opId": "getprojects", "desc": "Get a list of projects", "params": [ { "name": "page", "in": "query", "schema": { "pattern": "^-?(?:0|[1-9]\\d*)$", "type": [ "integer", "string" ], "format": "int32", "default": 1 } }, { "name": "pageSize", "in": "query", "schema": { "pattern": "^-?(?:0|[1-9]\\d*)$", "type": [ "integer", "string" ], "format": "int32", "default": 100 } } ], "reqBody": null, "responses": { "200": { "description": "OK", "content": { "application/json; version=1": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/Project" } } } } }, "500": { "description": "Internal Server Error", "content": { "application/json; version=1": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "401": { "description": "Unauthorized" } } }, { "tag": "Projects", "method": "PUT", "path": "/v1/api/projects", "opId": "updateproject", "desc": "Update project details", "params": [], "reqBody": { "content": { "application/json; version=1": { "schema": { "$ref": "#/components/schemas/UpdateProjectRequest" } } }, "required": true }, "responses": { "200": { "description": "OK" }, "400": { "description": "Bad Request", "content": { "application/json; version=1": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "500": { "description": "Internal Server Error", "content": { "application/json; version=1": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "401": { "description": "Unauthorized" } } }, { "tag": "Projects", "method": "POST", "path": "/v1/api/projects/activities", "opId": "createactivity", "desc": "Add a new activity under project (M04)", "params": [], "reqBody": { "content": { "application/json; version=1": { "schema": { "$ref": "#/components/schemas/CreateActivityRequest" } } }, "required": true }, "responses": { "200": { "description": "OK" }, "400": { "description": "Bad Request", "content": { "application/json; version=1": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "500": { "description": "Internal Server Error", "content": { "application/json; version=1": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "401": { "description": "Unauthorized" } } }, { "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": { "description": "OK", "content": { "application/json; version=1": { "schema": { "$ref": "#/components/schemas/Activity" } } } }, "404": { "description": "Not Found" }, "403": { "description": "Forbidden" }, "401": { "description": "Unauthorized" }, "500": { "description": "Internal Server Error", "content": { "application/json; version=1": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } } } }, { "tag": "Projects", "method": "POST", "path": "/v1/api/projects/beneficiaries", "opId": "createbeneficiary", "desc": "Add a new project beneficiary", "params": [], "reqBody": { "content": { "application/json; version=1": { "schema": { "$ref": "#/components/schemas/CreateBeneficiaryRequest" } } }, "required": true }, "responses": { "200": { "description": "OK" }, "400": { "description": "Bad Request", "content": { "application/json; version=1": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "500": { "description": "Internal Server Error", "content": { "application/json; version=1": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "401": { "description": "Unauthorized" } } }, { "tag": "Projects", "method": "PUT", "path": "/v1/api/projects/beneficiaries", "opId": "updatebeneficiary", "desc": "Update project beneficiary", "params": [], "reqBody": { "content": { "application/json; version=1": { "schema": { "$ref": "#/components/schemas/UpdateBeneficiaryRequest" } } }, "required": true }, "responses": { "200": { "description": "OK" }, "401": { "description": "Unauthorized" }, "400": { "description": "Bad Request", "content": { "application/json; version=1": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "500": { "description": "Internal Server Error", "content": { "application/json; version=1": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } } } }, { "tag": "Projects", "method": "GET", "path": "/v1/api/projects/beneficiaries/{beneficiaryId}", "opId": "getbeneficiaries", "desc": "Gets project beneficiaries", "params": [ { "name": "beneficiaryId", "in": "path", "required": true, "schema": { "type": "string" } } ], "reqBody": null, "responses": { "200": { "description": "OK", "content": { "application/json; version=1": { "schema": { "$ref": "#/components/schemas/Beneficiary" } } } }, "404": { "description": "Not Found" }, "403": { "description": "Forbidden" }, "401": { "description": "Unauthorized" }, "500": { "description": "Internal Server Error", "content": { "application/json; version=1": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } } } }, { "tag": "Projects", "method": "POST", "path": "/v1/api/projects/beneficiaris/outcomes", "opId": "createoutcome", "desc": "Add a new beneficiary outcome", "params": [], "reqBody": { "content": { "application/json; version=1": { "schema": { "$ref": "#/components/schemas/CreateOutcomeRequest" } } }, "required": true }, "responses": { "200": { "description": "OK" }, "400": { "description": "Bad Request", "content": { "application/json; version=1": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "500": { "description": "Internal Server Error", "content": { "application/json; version=1": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "401": { "description": "Unauthorized" } } }, { "tag": "Projects", "method": "POST", "path": "/v1/api/projects/changerequests", "opId": "createchangerequest", "desc": "Create a new change request against an existing project", "params": [], "reqBody": { "content": { "application/json; version=1": { "schema": { "$ref": "#/components/schemas/CreateChangeRequest" } } }, "required": true }, "responses": { "200": { "description": "OK" }, "403": { "description": "Forbidden" }, "401": { "description": "Unauthorized" }, "400": { "description": "Bad Request", "content": { "application/json; version=1": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "500": { "description": "Internal Server Error", "content": { "application/json; version=1": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } } } }, { "tag": "Projects", "method": "PUT", "path": "/v1/api/projects/changerequests", "opId": "updatechangerequest", "desc": "Update a specific project change request", "params": [], "reqBody": { "content": { "application/json; version=1": { "schema": { "$ref": "#/components/schemas/UpdateChangeRequest" } } }, "required": true }, "responses": { "200": { "description": "OK" }, "401": { "description": "Unauthorized" }, "400": { "description": "Bad Request", "content": { "application/json; version=1": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "500": { "description": "Internal Server Error", "content": { "application/json; version=1": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } } } }, { "tag": "Projects", "method": "GET", "path": "/v1/api/projects/changerequests/{changeRequestId}", "opId": "getchangerequest", "desc": "Gets a specific project change request", "params": [ { "name": "changeRequestId", "in": "path", "required": true, "schema": { "type": "string" } } ], "reqBody": null, "responses": { "200": { "description": "OK", "content": { "application/json; version=1": { "schema": { "$ref": "#/components/schemas/ChangeRequest" } } } }, "404": { "description": "Not Found" }, "403": { "description": "Forbidden" }, "401": { "description": "Unauthorized" }, "500": { "description": "Internal Server Error", "content": { "application/json; version=1": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } } } }, { "tag": "Projects", "method": "POST", "path": "/v1/api/projects/complianceitems", "opId": "createcomplianceitem", "desc": "Add a new beneficiary compliance item", "params": [], "reqBody": { "content": { "application/json; version=1": { "schema": { "$ref": "#/components/schemas/CreateComplianceItemRequest" } } }, "required": true }, "responses": { "200": { "description": "OK" }, "400": { "description": "Bad Request", "content": { "application/json; version=1": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "500": { "description": "Internal Server Error", "content": { "application/json; version=1": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "401": { "description": "Unauthorized" } } }, { "tag": "Projects", "method": "PUT", "path": "/v1/api/projects/complianceitems", "opId": "updatecomplianceitem", "desc": "Update a specific compliance item", "params": [], "reqBody": { "content": { "application/json; version=1": { "schema": { "$ref": "#/components/schemas/UpdateComplianceItemRequest" } } }, "required": true }, "responses": { "200": { "description": "OK" }, "401": { "description": "Unauthorized" }, "400": { "description": "Bad Request", "content": { "application/json; version=1": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "500": { "description": "Internal Server Error", "content": { "application/json; version=1": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } } } }, { "tag": "Projects", "method": "GET", "path": "/v1/api/projects/complianceitems/{complianceItemId}", "opId": "getcomplianceitem", "desc": "Gets a specific project compliance item", "params": [ { "name": "complianceItemId", "in": "path", "required": true, "schema": { "type": "string" } } ], "reqBody": null, "responses": { "200": { "description": "OK", "content": { "application/json; version=1": { "schema": { "$ref": "#/components/schemas/ComplianceItem" } } } }, "404": { "description": "Not Found" }, "403": { "description": "Forbidden" }, "401": { "description": "Unauthorized" }, "500": { "description": "Internal Server Error", "content": { "application/json; version=1": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } } } }, { "tag": "Projects", "method": "GET", "path": "/v1/api/projects/complianceitems/{projectId}", "opId": "getcomplianceitems", "desc": "Gets project compliance items", "params": [ { "name": "projectId", "in": "path", "required": true, "schema": { "type": "string" } } ], "reqBody": null, "responses": { "200": { "description": "OK", "content": { "application/json; version=1": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/ComplianceItem" } } } } }, "404": { "description": "Not Found" }, "403": { "description": "Forbidden" }, "401": { "description": "Unauthorized" }, "500": { "description": "Internal Server Error", "content": { "application/json; version=1": { "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": { "description": "OK", "content": { "application/json; version=1": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/Indicator" } } } } }, "404": { "description": "Not Found" }, "403": { "description": "Forbidden" }, "401": { "description": "Unauthorized" }, "500": { "description": "Internal Server Error", "content": { "application/json; version=1": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } } } }, { "tag": "Projects", "method": "POST", "path": "/v1/api/projects/issues", "opId": "createissue", "desc": "Add a new project issue", "params": [], "reqBody": { "content": { "application/json; version=1": { "schema": { "$ref": "#/components/schemas/CreateIssueRequest" } } }, "required": true }, "responses": { "200": { "description": "OK" }, "400": { "description": "Bad Request", "content": { "application/json; version=1": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "500": { "description": "Internal Server Error", "content": { "application/json; version=1": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "401": { "description": "Unauthorized" } } }, { "tag": "Projects", "method": "PUT", "path": "/v1/api/projects/issues", "opId": "updateissue", "desc": "Update a specific project issue", "params": [], "reqBody": { "content": { "application/json; version=1": { "schema": { "$ref": "#/components/schemas/UpdateIssueRequest" } } }, "required": true }, "responses": { "200": { "description": "OK" }, "401": { "description": "Unauthorized" }, "400": { "description": "Bad Request", "content": { "application/json; version=1": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "500": { "description": "Internal Server Error", "content": { "application/json; version=1": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } } } }, { "tag": "Projects", "method": "GET", "path": "/v1/api/projects/issues/{issueId}", "opId": "getissue", "desc": "Gets a specific project issue", "params": [ { "name": "issueId", "in": "path", "required": true, "schema": { "type": "string" } } ], "reqBody": null, "responses": { "200": { "description": "OK", "content": { "application/json; version=1": { "schema": { "$ref": "#/components/schemas/Issue" } } } }, "404": { "description": "Not Found" }, "403": { "description": "Forbidden" }, "401": { "description": "Unauthorized" }, "500": { "description": "Internal Server Error", "content": { "application/json; version=1": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } } } }, { "tag": "Projects", "method": "PUT", "path": "/v1/api/projects/milestone", "opId": "updatemilestone", "desc": "Update project milestone details", "params": [], "reqBody": { "content": { "application/json; version=1": { "schema": { "$ref": "#/components/schemas/UpdateMilestoneRequest" } } }, "required": true }, "responses": { "200": { "description": "OK" }, "500": { "description": "Internal Server Error", "content": { "application/json; version=1": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "401": { "description": "Unauthorized" } } }, { "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": { "description": "OK", "content": { "application/json; version=1": { "schema": { "$ref": "#/components/schemas/Milestone" } } } }, "404": { "description": "Not Found" }, "403": { "description": "Forbidden" }, "401": { "description": "Unauthorized" }, "500": { "description": "Internal Server Error", "content": { "application/json; version=1": { "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": { "description": "OK", "content": { "application/json; version=1": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/Milestone" } } } } }, "500": { "description": "Internal Server Error", "content": { "application/json; version=1": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "401": { "description": "Unauthorized" } } }, { "tag": "Projects", "method": "PUT", "path": "/v1/api/projects/outcomes", "opId": "updateoutcome", "desc": "Update project beneficiary outcome", "params": [], "reqBody": { "content": { "application/json; version=1": { "schema": { "$ref": "#/components/schemas/UpdateOutcomeRequest" } } }, "required": true }, "responses": { "200": { "description": "OK" }, "401": { "description": "Unauthorized" }, "400": { "description": "Bad Request", "content": { "application/json; version=1": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "500": { "description": "Internal Server Error", "content": { "application/json; version=1": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } } } }, { "tag": "Projects", "method": "GET", "path": "/v1/api/projects/outcomes/{beneficiatyId}", "opId": "getoutcomes", "desc": "Gets project beneficiary outcomes", "params": [ { "name": "beneficiatyId", "in": "path", "required": true, "schema": { "type": "string" } } ], "reqBody": null, "responses": { "200": { "description": "OK", "content": { "application/json; version=1": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/Outcome" } } } } }, "404": { "description": "Not Found" }, "403": { "description": "Forbidden" }, "401": { "description": "Unauthorized" }, "500": { "description": "Internal Server Error", "content": { "application/json; version=1": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } } } }, { "tag": "Projects", "method": "GET", "path": "/v1/api/projects/outcomes/{outcomeId}", "opId": "getoutcome", "desc": "Gets a specific project outcome", "params": [ { "name": "outcomeId", "in": "path", "required": true, "schema": { "type": "string" } } ], "reqBody": null, "responses": { "200": { "description": "OK", "content": { "application/json; version=1": { "schema": { "$ref": "#/components/schemas/Outcome" } } } }, "404": { "description": "Not Found" }, "403": { "description": "Forbidden" }, "401": { "description": "Unauthorized" }, "500": { "description": "Internal Server Error", "content": { "application/json; version=1": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } } } }, { "tag": "Projects", "method": "POST", "path": "/v1/api/projects/programme", "opId": "createprogramme", "desc": "Create programme", "params": [], "reqBody": { "content": { "application/json; version=1": { "schema": { "$ref": "#/components/schemas/CreateProgrammeRequest" } } }, "required": true }, "responses": { "200": { "description": "OK" }, "404": { "description": "Not Found" }, "403": { "description": "Forbidden" }, "401": { "description": "Unauthorized" }, "500": { "description": "Internal Server Error", "content": { "application/json; version=1": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } } } }, { "tag": "Projects", "method": "PUT", "path": "/v1/api/projects/programme", "opId": "updateprogramme", "desc": "Update existing programme", "params": [], "reqBody": { "content": { "application/json; version=1": { "schema": { "$ref": "#/components/schemas/UpdateProgrammeRequest" } } }, "required": true }, "responses": { "200": { "description": "OK" }, "403": { "description": "Forbidden" }, "401": { "description": "Unauthorized" }, "400": { "description": "Bad Request", "content": { "application/json; version=1": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "500": { "description": "Internal Server Error", "content": { "application/json; version=1": { "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": { "description": "OK", "content": { "application/json; version=1": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/Programme" } } } } }, "404": { "description": "Not Found" }, "403": { "description": "Forbidden" }, "401": { "description": "Unauthorized" }, "500": { "description": "Internal Server Error", "content": { "application/json; version=1": { "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": { "description": "OK", "content": { "application/json; version=1": { "schema": { "$ref": "#/components/schemas/Programme" } } } }, "403": { "description": "Forbidden" }, "401": { "description": "Unauthorized" }, "500": { "description": "Internal Server Error", "content": { "application/json; version=1": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } } } }, { "tag": "Projects", "method": "POST", "path": "/v1/api/projects/sitevisits", "opId": "createsitevisit", "desc": "Add a new project site visit", "params": [], "reqBody": { "content": { "application/json; version=1": { "schema": { "$ref": "#/components/schemas/CreateSiteVisitRequest" } } }, "required": true }, "responses": { "200": { "description": "OK" }, "400": { "description": "Bad Request", "content": { "application/json; version=1": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "500": { "description": "Internal Server Error", "content": { "application/json; version=1": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "401": { "description": "Unauthorized" } } }, { "tag": "Projects", "method": "PUT", "path": "/v1/api/projects/sitevisits", "opId": "updatesitevisit", "desc": "Update project site visit", "params": [], "reqBody": { "content": { "application/json; version=1": { "schema": { "$ref": "#/components/schemas/UpdateSiteVisitRequest" } } }, "required": true }, "responses": { "200": { "description": "OK" }, "401": { "description": "Unauthorized" }, "400": { "description": "Bad Request", "content": { "application/json; version=1": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "500": { "description": "Internal Server Error", "content": { "application/json; version=1": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } } } }, { "tag": "Projects", "method": "GET", "path": "/v1/api/projects/sitevisits/{siteVisitId}", "opId": "getsitevisit", "desc": "Gets project site visit", "params": [ { "name": "siteVisitId", "in": "path", "required": true, "schema": { "type": "string" } } ], "reqBody": null, "responses": { "200": { "description": "OK", "content": { "application/json; version=1": { "schema": { "$ref": "#/components/schemas/SiteVisit" } } } }, "404": { "description": "Not Found" }, "403": { "description": "Forbidden" }, "401": { "description": "Unauthorized" }, "500": { "description": "Internal Server Error", "content": { "application/json; version=1": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } } } }, { "tag": "Projects", "method": "PUT", "path": "/v1/api/projects/status", "opId": "updateprojectstatus", "desc": "Update project status (M04)", "params": [], "reqBody": { "content": { "application/json; version=1": { "schema": { "$ref": "#/components/schemas/UpdateProjectStatusRequest" } } }, "required": true }, "responses": { "200": { "description": "OK" }, "401": { "description": "Unauthorized" }, "400": { "description": "Bad Request", "content": { "application/json; version=1": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "500": { "description": "Internal Server Error", "content": { "application/json; version=1": { "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": { "description": "OK", "content": { "application/json; version=1": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/Project" } } } } }, "404": { "description": "Not Found" }, "403": { "description": "Forbidden" }, "401": { "description": "Unauthorized" }, "500": { "description": "Internal Server Error", "content": { "application/json; version=1": { "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": { "description": "OK", "content": { "application/json; version=1": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/Project" } } } } }, "404": { "description": "Not Found" }, "403": { "description": "Forbidden" }, "401": { "description": "Unauthorized" }, "500": { "description": "Internal Server Error", "content": { "application/json; version=1": { "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": { "description": "OK", "content": { "application/json; version=1": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/Activity" } } } } }, "403": { "description": "Forbidden" }, "401": { "description": "Unauthorized" }, "500": { "description": "Internal Server Error", "content": { "application/json; version=1": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } } } }, { "tag": "Projects", "method": "GET", "path": "/v1/api/projects/{projectId}/beneficiaries", "opId": "getbeneficiariesretrieval", "desc": "Gets project beneficiaries", "params": [ { "name": "projectId", "in": "path", "required": true, "schema": { "type": "string" } } ], "reqBody": null, "responses": { "200": { "description": "OK", "content": { "application/json; version=1": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/Beneficiary" } } } } }, "404": { "description": "Not Found" }, "403": { "description": "Forbidden" }, "401": { "description": "Unauthorized" }, "500": { "description": "Internal Server Error", "content": { "application/json; version=1": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } } } }, { "tag": "Projects", "method": "GET", "path": "/v1/api/projects/{projectId}/changerequests", "opId": "getchangerequests", "desc": "Gets project change requests", "params": [ { "name": "projectId", "in": "path", "required": true, "schema": { "type": "string" } } ], "reqBody": null, "responses": { "200": { "description": "OK", "content": { "application/json; version=1": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/ChangeRequest" } } } } }, "404": { "description": "Not Found" }, "403": { "description": "Forbidden" }, "401": { "description": "Unauthorized" }, "500": { "description": "Internal Server Error", "content": { "application/json; version=1": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } } } }, { "tag": "Projects", "method": "GET", "path": "/v1/api/projects/{projectId}/issues", "opId": "getissues", "desc": "Gets project issues", "params": [ { "name": "projectId", "in": "path", "required": true, "schema": { "type": "string" } } ], "reqBody": null, "responses": { "200": { "description": "OK", "content": { "application/json; version=1": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/Issue" } } } } }, "404": { "description": "Not Found" }, "403": { "description": "Forbidden" }, "401": { "description": "Unauthorized" }, "500": { "description": "Internal Server Error", "content": { "application/json; version=1": { "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": { "description": "OK", "content": { "application/json; version=1": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/Milestone" } } } } }, "404": { "description": "Not Found" }, "403": { "description": "Forbidden" }, "401": { "description": "Unauthorized" }, "500": { "description": "Internal Server Error", "content": { "application/json; version=1": { "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": { "description": "OK", "content": { "application/json; version=1": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/Risk" } } } } }, "404": { "description": "Not Found" }, "403": { "description": "Forbidden" }, "401": { "description": "Unauthorized" }, "500": { "description": "Internal Server Error", "content": { "application/json; version=1": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } } } }, { "tag": "Projects", "method": "GET", "path": "/v1/api/projects/{projectId}/sitevisits", "opId": "getsitevisits", "desc": "Gets project site visits", "params": [ { "name": "projectId", "in": "path", "required": true, "schema": { "type": "string" } } ], "reqBody": null, "responses": { "200": { "description": "OK", "content": { "application/json; version=1": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/SiteVisit" } } } } }, "404": { "description": "Not Found" }, "403": { "description": "Forbidden" }, "401": { "description": "Unauthorized" }, "500": { "description": "Internal Server Error", "content": { "application/json; version=1": { "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": { "content": { "application/json; version=1": { "schema": { "$ref": "#/components/schemas/UserFilterRequest" } } }, "required": true }, "responses": { "200": { "description": "OK", "content": { "application/json; version=1": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/User" } } } } }, "404": { "description": "Not Found" }, "401": { "description": "Unauthorized" }, "500": { "description": "Internal Server Error", "content": { "application/json; version=1": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } } } }, { "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": { "description": "OK", "content": { "application/json; version=1": { "schema": { "$ref": "#/components/schemas/User" } } } }, "404": { "description": "Not Found" }, "401": { "description": "Unauthorized" }, "500": { "description": "Internal Server Error", "content": { "application/json; version=1": { "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": { "description": "OK" }, "404": { "description": "Not Found" }, "401": { "description": "Unauthorized" }, "400": { "description": "Bad Request", "content": { "application/json; version=1": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "500": { "description": "Internal Server Error", "content": { "application/json; version=1": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } } } } ]