info: title: Innovations API @ NHS Innovation Service version: 1.0.0 servers: - url: https://nhse-${ENV}-innovation-service-innovation-functions.azurewebsites.net/api openapi: 3.0.3 paths: /v1/{innovationId}/activities: get: operationId: v1-innovation-activities-log-list description: Get activities log list of an Innovation tags: - "[v1] Innovation Activities Log" parameters: - name: skip in: query required: false schema: type: integer - name: take in: query required: false schema: type: integer maximum: 100 default: 20 - name: order in: query required: false schema: type: object properties: {} additionalProperties: type: string enum: - ASC - DESC default: default: DESC - name: activityTypes in: query required: false schema: type: array items: type: string enum: - INNOVATION_MANAGEMENT - INNOVATION_RECORD - NEEDS_ASSESSMENT - SUPPORT - COMMENTS - TASKS - THREADS - name: dateFilters in: query required: false schema: type: array items: type: object properties: field: type: string enum: - createdAt startDate: type: string format: date-time endDate: type: string format: date-time required: - field additionalProperties: false - name: innovationId in: path required: true schema: type: string format: uuid responses: "200": description: Success content: application/json: schema: type: object properties: count: type: integer innovation: type: object properties: id: type: string format: uuid name: type: string required: - id - name additionalProperties: false data: type: array items: type: object properties: type: type: string enum: - INNOVATION_MANAGEMENT - INNOVATION_RECORD - NEEDS_ASSESSMENT - SUPPORT - COMMENTS - TASKS - THREADS activity: type: string enum: - INNOVATION_CREATION - OWNERSHIP_TRANSFER - SHARING_PREFERENCES_UPDATE - SECTION_DRAFT_UPDATE - SECTION_SUBMISSION - INNOVATION_SUBMISSION - NEEDS_ASSESSMENT_START - NEEDS_ASSESSMENT_START_EDIT - NEEDS_ASSESSMENT_COMPLETED - NEEDS_ASSESSMENT_EDITED - ORGANISATION_SUGGESTION - SUPPORT_STATUS_UPDATE - SUPPORT_PROGRESS_UPDATE - COMMENT_CREATION - TASK_CREATION - TASK_STATUS_DONE_UPDATE - TASK_STATUS_DECLINED_UPDATE - TASK_STATUS_OPEN_UPDATE - TASK_STATUS_CANCELLED_UPDATE - THREAD_CREATION - THREAD_MESSAGE_CREATION - NEEDS_ASSESSMENT_REASSESSMENT_REQUESTED - INNOVATION_PAUSE date: type: string format: date-time params: type: object properties: {} additionalProperties: false required: - type - date - params additionalProperties: false required: - count - innovation - data additionalProperties: false "500": description: An error occurred while processing the request. /v1/{innovationId}/all-sections: get: description: Get an innovation sections list details. tags: - Innovation summary: Get an innovation sections list details. operationId: v1-innovation-all-sections-list parameters: - name: innovationId in: path required: true schema: type: string format: uuid responses: "200": description: Success content: application/json: schema: type: array items: type: object properties: section: type: object properties: section: type: string status: type: string enum: - NOT_STARTED - DRAFT - SUBMITTED submittedAt: type: string format: date-time submittedBy: type: object properties: name: type: string displayTag: type: string required: - name - displayTag additionalProperties: false openTasksCount: type: integer required: - section - openTasksCount additionalProperties: false data: type: object properties: {} additionalProperties: false additionalProperties: false "401": description: Unauthorized "403": description: Forbidden "404": description: Not Found "500": description: Internal Server Error /v1/{innovationId}/archive: patch: summary: Archive an innovation description: Archive an innovation. operationId: v1-innovation-archive tags: - Innovation parameters: - name: innovationId in: path required: true schema: type: string format: uuid requestBody: required: true content: application/json: schema: type: object properties: reason: type: string enum: - DEVELOP_FURTHER - HAVE_ALL_SUPPORT - DECIDED_NOT_TO_PURSUE - ALREADY_LIVE_NHS - OTHER_DONT_WANT_TO_SAY required: - reason additionalProperties: false responses: "204": description: Innovation archived successfully. /v1/{innovationId}/assessments/{assessmentId}: patch: summary: Update the assigned assessor of an innovation. description: Update the assigned assessor of an innovation. operationId: v1-innovation-assessment-assessor-update parameters: - name: innovationId in: path required: true schema: type: string format: uuid description: Id of the innovation. - name: assessmentId in: path required: true schema: type: string format: uuid description: Id of the assessment. requestBody: description: The new assessor to be assigned. required: true content: application/json: schema: type: object properties: assessorId: type: string format: uuid description: Id of the new assessor to assign. required: - assessorId additionalProperties: false responses: "200": description: The assigned assessor has been successfully updated. content: application/json: schema: type: object properties: assessmentId: type: string format: uuid assessorId: type: string format: uuid required: - assessmentId - assessorId additionalProperties: false "400": description: Bad request. Validation error. "401": description: Unauthorized. Invalid authentication credentials. "403": description: Forbidden. User does not have permission to assign a new assessor. "404": description: Not found. Innovation or assessment not found. "500": description: Internal server error. get: summary: Get Innovation Assessment Info description: Get Innovation Assessment Info tags: - Innovation Assessment Info operationId: v1-innovation-assessment-info parameters: - name: innovationId in: path required: true schema: type: string format: uuid - name: assessmentId in: path required: true schema: type: string format: uuid responses: "200": description: Success content: application/json: schema: type: object properties: id: type: string format: uuid majorVersion: type: integer minorVersion: type: integer editReason: type: string nullable: true previousAssessment: type: object properties: id: type: string format: uuid majorVersion: type: integer minorVersion: type: integer required: - id - majorVersion - minorVersion additionalProperties: false reassessment: type: object properties: reassessmentReason: type: array items: type: string enum: - NO_SUPPORT - PREVIOUSLY_ARCHIVED - HAS_PROGRESSED_SIGNIFICANTLY - OTHER nullable: true otherReassessmentReason: type: string description: type: string whatSupportDoYouNeed: type: string nullable: true sectionsUpdatedSinceLastAssessment: type: array items: type: string required: - reassessmentReason - otherReassessmentReason - description - whatSupportDoYouNeed - sectionsUpdatedSinceLastAssessment additionalProperties: false summary: type: string nullable: true description: type: string nullable: true startedAt: type: string format: date-time nullable: true finishedAt: type: string format: date-time nullable: true assignTo: type: object properties: id: type: string format: uuid name: type: string required: - id - name additionalProperties: false maturityLevel: type: string nullable: true maturityLevelComment: type: string nullable: true hasRegulatoryApprovals: type: string nullable: true hasRegulatoryApprovalsComment: type: string nullable: true hasEvidence: type: string nullable: true hasEvidenceComment: type: string nullable: true hasValidation: type: string nullable: true hasValidationComment: type: string nullable: true hasProposition: type: string nullable: true hasPropositionComment: type: string nullable: true hasCompetitionKnowledge: type: string nullable: true hasCompetitionKnowledgeComment: type: string nullable: true hasImplementationPlan: type: string nullable: true hasImplementationPlanComment: type: string nullable: true hasScaleResource: type: string nullable: true hasScaleResourceComment: type: string nullable: true suggestedOrganisations: type: object properties: id: type: string format: uuid name: type: string acronym: type: string nullable: true units: type: array items: type: object properties: id: type: string format: uuid name: type: string acronym: type: string required: - id - name - acronym additionalProperties: false required: - id - name - acronym - units additionalProperties: false updatedAt: type: string format: date-time nullable: true updatedBy: type: object properties: id: type: string format: uuid name: type: string required: - id - name additionalProperties: false isLatest: type: boolean required: - id - majorVersion - minorVersion - summary - description - startedAt - finishedAt - maturityLevel - maturityLevelComment - hasRegulatoryApprovals - hasRegulatoryApprovalsComment - hasEvidence - hasEvidenceComment - hasValidation - hasValidationComment - hasProposition - hasPropositionComment - hasCompetitionKnowledge - hasCompetitionKnowledgeComment - hasImplementationPlan - hasImplementationPlanComment - hasScaleResource - hasScaleResourceComment - suggestedOrganisations - updatedAt - updatedBy - isLatest additionalProperties: false "400": description: Bad Request "401": description: Unauthorized "403": description: Forbidden "404": description: Not Found "500": description: Internal Server Error put: summary: Update an innovation assessment description: Update an innovation assessment. operationId: v1-innovation-assessment-update parameters: - name: innovationId in: path required: true schema: type: string format: uuid - name: assessmentId in: path required: true schema: type: string format: uuid requestBody: description: Innovation assessment update request body. required: true content: application/json: schema: type: object properties: summary: type: string maxLength: 2000 nullable: true description: type: string maxLength: 2000 nullable: true maturityLevel: type: string enum: - DISCOVERY - ADVANCED - READY nullable: true maturityLevelComment: type: string maxLength: 200 nullable: true hasRegulatoryApprovals: type: string enum: - YES - PARTIALLY - NO nullable: true hasRegulatoryApprovalsComment: type: string maxLength: 200 nullable: true hasEvidence: type: string enum: - YES - PARTIALLY - NO nullable: true hasEvidenceComment: type: string maxLength: 200 nullable: true hasValidation: type: string enum: - YES - PARTIALLY - NO nullable: true hasValidationComment: type: string maxLength: 200 nullable: true hasProposition: type: string enum: - YES - PARTIALLY - NO nullable: true hasPropositionComment: type: string maxLength: 200 nullable: true hasCompetitionKnowledge: type: string enum: - YES - PARTIALLY - NO nullable: true hasCompetitionKnowledgeComment: type: string maxLength: 200 nullable: true hasImplementationPlan: type: string enum: - YES - PARTIALLY - NO nullable: true hasImplementationPlanComment: type: string maxLength: 200 nullable: true hasScaleResource: type: string enum: - YES - PARTIALLY - NO nullable: true hasScaleResourceComment: type: string maxLength: 200 nullable: true suggestedOrganisationUnitsIds: type: array items: type: string format: uuid nullable: true isSubmission: type: boolean default: false additionalProperties: false responses: "200": description: Returns the updated innovation assessment. content: application/json: schema: type: object properties: id: type: string format: uuid required: - id additionalProperties: false "400": description: Bad request. Validation error. "401": description: Unauthorized. Invalid authentication credentials. "403": description: Forbidden. User does not have permission to update the innovation assessment. "404": description: Not found. Innovation or assessment not found. "500": description: Internal server error. /v1/{innovationId}/assessments: post: summary: Create an innovation assessment description: Create an innovation assessment. operationId: v1-innovation-assessment-create tags: - Innovation Assessment parameters: - name: innovationId in: path required: true schema: type: string format: uuid requestBody: description: The innovation assessment data. required: true content: application/json: schema: type: object properties: message: type: string maxLength: 4000 required: - message additionalProperties: false responses: "200": description: The innovation assessment has been created. content: application/json: schema: type: object properties: id: type: string format: uuid required: - id additionalProperties: false "400": description: The innovation assessment has not been created. "401": description: The user is not authenticated. "403": description: The user is not authorized to create an innovation assessment. "404": description: The innovation does not exist. "500": description: An error occurred while creating the innovation assessment. get: description: Get all completed assessments from an innovation operationId: v1-innovation-assessments-list parameters: - name: innovationId in: path required: true schema: type: string format: uuid responses: "200": description: Returns the complete assessments content: application/json: schema: type: array items: type: object properties: id: type: string format: uuid majorVersion: type: integer minorVersion: type: integer startedAt: type: string format: date-time finishedAt: type: string format: date-time required: - id - majorVersion - minorVersion - startedAt - finishedAt additionalProperties: false "400": description: Bad Request "401": description: Unauthorized "403": description: Forbidden "404": description: Not Found "500": description: Internal Server Error /v1/{innovationId}/assessments/edit: post: summary: Create a new assessment when editing an assessment description: Create a new assessment as a minor version of a previous assessment. operationId: v1-innovation-assessment-edit tags: - Innovation Assessment parameters: - name: innovationId in: path required: true schema: type: string format: uuid requestBody: required: true content: application/json: schema: type: object properties: reason: type: string maxLength: 2000 required: - reason additionalProperties: false responses: "200": description: The minor assessment version has been created. content: application/json: schema: type: object properties: id: type: string format: uuid required: - id additionalProperties: false "400": description: The minor assessment version has not been created. "401": description: The user is not authenticated. "403": description: The user is not authorized to create a minor assessment version. "404": description: The innovation does not exist. "500": description: An error occurred while creating the minor assessment version. /v1/{innovationId}/assessments/{assessmentId}/exemption: get: description: Get an assessment kpi exemption. operationId: v1-innovation-assessment-kpi-exemption-info tags: - "[v1] Innovation Assessment" parameters: - name: innovationId in: path required: true schema: type: string format: uuid - name: assessmentId in: path required: true schema: type: string format: uuid responses: "200": description: Success content: application/json: schema: type: object properties: isExempted: type: boolean exemption: type: object properties: reason: type: string enum: - NO_RESPONSE - TECHNICAL_DIFFICULTIES - INCORRECT_DETAILS - SERVICE_UNAVAILABLE - CAPACITY message: type: string exemptedAt: type: string format: date-time required: - reason additionalProperties: false required: - isExempted additionalProperties: false "400": description: The request is invalid. "401": description: The user is not authenticated. "403": description: The user is not authorized to access this resource. "500": description: An error occurred while processing the request. patch: description: Upsert an innovation assessment kpi exemption. operationId: v1-innovation-assessment-kpi-exemption-upsert tags: - "[v1] Innovation Assessment" parameters: - name: innovationId in: path required: true schema: type: string format: uuid - name: assessmentId in: path required: true schema: type: string format: uuid requestBody: required: true content: application/json: schema: type: object properties: reason: type: string enum: - NO_RESPONSE - TECHNICAL_DIFFICULTIES - INCORRECT_DETAILS - SERVICE_UNAVAILABLE - CAPACITY message: type: string maxLength: 2000 required: - reason additionalProperties: false responses: "204": description: Creates or updates the kpi exemption "400": description: The request is invalid. "401": description: The user is not authenticated. "403": description: The user is not authorized to access this resource. "500": description: An error occurred while processing the request. /v1/collaborators/{collaboratorId}/check: get: description: Check collaborator operationId: v1-innovation-collaboration-check tags: - "[v1] Innovation Collaborators" parameters: - name: collaboratorId in: path required: true schema: type: string format: uuid responses: "200": description: Success content: application/json: schema: type: object properties: userExists: type: boolean collaboratorStatus: type: string enum: - PENDING - ACTIVE - DECLINED - CANCELLED - REMOVED - LEFT - EXPIRED required: - userExists additionalProperties: false "404": description: Not Found /v1/{innovationId}/collaborators: post: description: Create (invites) a new collaborator for the innovations. operationId: v1-innovation-collaborator-create tags: - "[v1] Innovation Collaborators" parameters: - name: innovationId in: path required: true schema: type: string format: uuid requestBody: description: The collaborator to be invited. required: true content: application/json: schema: type: object properties: email: type: string format: email role: type: string maxLength: 25 nullable: true required: - email additionalProperties: false responses: "200": description: The collaborator has been created. content: application/json: schema: type: object properties: id: type: string format: uuid required: - id additionalProperties: false "400": description: The collaborator could not be created. "401": description: The user is not authorized to create an collaborator. "403": description: The user is not allowed to create an collaborator. "404": description: The innovation could not be found. "500": description: An unexpected error occurred while creating the collaborator. get: description: Get a list of innovation collaborators. operationId: v1-innovation-collaborators-list tags: - "[v1] Innovation Collaborators" parameters: - name: innovationId in: path required: true schema: type: string format: uuid responses: "200": description: The list of innovation collaborators. content: application/json: schema: type: object properties: count: type: integer data: type: array items: type: object properties: id: type: string format: uuid name: type: string role: type: string email: type: string status: type: string enum: - PENDING - ACTIVE - DECLINED - CANCELLED - REMOVED - LEFT - EXPIRED isActive: type: boolean required: - id additionalProperties: false required: - count - data additionalProperties: false "400": description: The request is invalid. "401": description: The user is not authenticated. "403": description: The user is not authorized to access this resource. "500": description: An error occurred while processing the request. /v1/{innovationId}/collaborators/{collaboratorId}: get: description: Get a collaborator information. operationId: v1-innovation-collaborator-info tags: - "[v1] Innovation Collaborators" parameters: - name: innovationId in: path required: true schema: type: string format: uuid - name: collaboratorId in: path required: true schema: type: string format: uuid responses: "200": description: The innovation collaborator information. content: application/json: schema: type: object properties: id: type: string format: uuid name: type: string role: type: string email: type: string status: type: string enum: - PENDING - ACTIVE - DECLINED - CANCELLED - REMOVED - LEFT - EXPIRED innovation: type: object properties: id: type: string format: uuid name: type: string description: type: string owner: type: object properties: id: type: string format: uuid name: type: string required: - id additionalProperties: false required: - id - name additionalProperties: false invitedAt: type: string format: date-time required: - id - email - innovation - invitedAt additionalProperties: false "401": description: Unauthorized "403": description: Forbidden "404": description: Not Found patch: description: Updates information of collaborator. operationId: v1-innovation-collaborator-update tags: - "[v1] Innovation Collaborators" parameters: - name: innovationId in: path required: true schema: type: string format: uuid - name: collaboratorId in: path required: true schema: type: string format: uuid requestBody: description: The information to update collaborator invite. required: true content: application/json: schema: type: object properties: status: anyOf: - type: string enum: - CANCELLED - REMOVED - type: string enum: - ACTIVE - DECLINED - LEFT role: oneOf: - type: string maxLength: 25 nullable: true additionalProperties: false responses: "200": description: The collaborator has been updated. content: application/json: schema: type: object properties: id: type: string format: uuid required: - id additionalProperties: false "400": description: The collaborator could not be updated. "401": description: The user is not authorized to update an collaborator. "403": description: The user is not allowed to update an collaborator. "404": description: The innovation could not be found. "500": description: An unexpected error occurred while updating the collaborator. /v1: post: description: Create an innovation operationId: v1-innovation-create parameters: [] requestBody: description: The innovation to be created. required: true content: application/json: schema: type: object properties: name: type: string description: type: string officeLocation: type: string countryLocation: type: string postcode: type: string hasWebsite: type: string website: type: string hasVideoDemonstration: type: string videoDemonstrationUrl: type: string required: - name - description - officeLocation - hasWebsite additionalProperties: false responses: "200": description: Success content: application/json: schema: type: object properties: id: type: string format: uuid required: - id additionalProperties: false "400": description: Invalid innovation payload "422": description: Unprocessable entity get: operationId: v1-innovations-list description: Get innovations list parameters: - name: skip in: query required: false schema: type: integer - name: take in: query required: false schema: type: integer maximum: 100 default: 20 - name: order in: query required: false schema: type: object properties: {} additionalProperties: type: string enum: - ASC - DESC default: {} - name: careSettings in: query required: false schema: type: array items: type: string enum: - ACADEMIA - ACUTE_TRUSTS_INPATIENT - ACUTE_TRUSTS_OUTPATIENT - AMBULANCE - CARE_HOMES_CARE_SETTING - END_LIFE_CARE - ICS - INDUSTRY - LOCAL_AUTHORITY_EDUCATION - MENTAL_HEALTH - PHARMACY - PRIMARY_CARE - SOCIAL_CARE - THIRD_SECTOR_ORGANISATIONS - URGENT_AND_EMERGENCY - OTHER - name: categories in: query required: false schema: type: array items: type: string enum: - MEDICAL_DEVICE - IN_VITRO_DIAGNOSTIC - PHARMACEUTICAL - DIGITAL - AI - EDUCATION - PPE - MODELS_CARE - ESTATES_FACILITIES - TRAVEL_TRANSPORT - FOOD_NUTRITION - DATA_MONITORING - OTHER - name: dateFilters in: query required: false schema: type: array items: type: object properties: field: type: string enum: - lastAssessmentRequestAt - submittedAt - updatedAt - support.updatedAt startDate: type: string format: date-time endDate: type: string format: date-time required: - field additionalProperties: false - name: diseasesAndConditions in: query required: false schema: type: array items: type: string maxLength: 100 - name: engagingOrganisations in: query required: false schema: type: array items: type: string - name: engagingUnits in: query required: false schema: type: array items: type: string format: uuid - name: fields in: query required: true schema: type: array items: type: string enum: - id - uniqueId - name - status - statusUpdatedAt - groupedStatus - archiveReason - submittedAt - updatedAt - lastAssessmentRequestAt - description - careSettings - categories - countryName - diseasesAndConditions - involvedAACProgrammes - keyHealthInequalities - mainCategory - otherCareSetting - otherCategoryDescription - postcode - areas - assessment.id - assessment.majorVersion - assessment.minorVersion - assessment.isExempt - assessment.assignedTo - assessment.updatedAt - assessment.finishedAt - assessment.maturityLevel - progressAreas - engagingOrganisations - engagingUnits - suggestion.suggestedBy - suggestion.suggestedOn - support.closeReason - support.id - support.isShared - support.status - support.updatedAt - support.updatedBy - lastSupportGivenAt - owner.id - owner.name - owner.companyName - owner.email - statistics.notifications - statistics.tasks - statistics.messages minItems: 1 - name: groupedStatuses in: query required: false schema: type: array items: type: string enum: - RECORD_NOT_SHARED - AWAITING_NEEDS_ASSESSMENT - NEEDS_ASSESSMENT - AWAITING_SUPPORT - RECEIVING_SUPPORT - NO_ACTIVE_SUPPORT - AWAITING_NEEDS_REASSESSMENT - ARCHIVED - name: archiveReason in: query required: false schema: type: array items: type: string enum: - DEVELOP_FURTHER - HAVE_ALL_SUPPORT - DECIDED_NOT_TO_PURSUE - ALREADY_LIVE_NHS - OTHER_DONT_WANT_TO_SAY - SIX_MONTHS_INACTIVITY - OWNER_ACCOUNT_DELETED - LEGACY - name: involvedAACProgrammes in: query required: false schema: type: array items: type: string enum: - No - Health Innovation Network (HIN) - Artificial Intelligence in Health and Care Award - Clinical Entrepreneur Programme (CEP) - Early Access to Medicines Scheme - Innovation and Technology Payment Programme - Innovation for Healthcare Inequalities Programme (InHIP) - Innovative Devices Access Pathway (IDAP) - Innovative Licensing and Access Pathway (ILAP) - NHS Innovation Accelerator (NIA) - NHS Insights Prioritisation Programme - NHS InSites Programme - Pathway Transformation Fund - Patient Entrepreneur Programme (PEP) - Rapid Uptake Products Programme - Small Business Research Initiative for Healthcare (SBRI) - Test beds - name: keyHealthInequalities in: query required: false schema: type: array items: type: string enum: - MATERNITY - SEVER_MENTAL_ILLNESS - CHRONIC_RESPIRATORY_DISEASE - EARLY_CANCER_DIAGNOSIS - HYPERTENSION_CASE_FINDING - NONE - name: locations in: query required: false schema: type: array items: type: string enum: - England - Scotland - Wales - Northern Ireland - Based outside UK - name: search in: query required: false schema: type: string maxLength: 200 nullable: true - name: areas in: query required: false schema: type: array items: type: string enum: - EMERGING_INFECTIOUS_DISEASES - DATA_ANALYTICS_AND_RESEARCH - DIGITALISING_SYSTEM - HOSPITAL_TO_COMMUNITY - IMPROVING_SYSTEM_FLOW - PREVENTIVE_CARE - SUPPORTING_PEOPLE_HEALTH - PATIENT_SAFETY - WORKFORCE_RESOURCE_OPTIMISATION - NET_ZERO_GREENER_INNOVATION - NONE responses: "200": description: Success content: application/json: schema: type: object properties: id: type: string description: Unique identifier for innovation object "400": description: Invalid innovation payload /v1/{innovationId}/csv: post: description: Generate CSV for an innovation tags: - "[v1] Innovations" operationId: v1-innovation-csv-export parameters: - name: innovationId in: path required: true schema: type: string format: uuid requestBody: required: true content: application/json: schema: type: object properties: sections: type: array items: type: object properties: sections: type: array items: type: object properties: section: type: string status: type: string enum: - NOT_STARTED - DRAFT - SUBMITTED - UNKNOWN answers: type: array items: type: object properties: label: type: string value: type: string nullable: true required: - label - value additionalProperties: false required: - section - status - answers additionalProperties: false title: type: string required: - sections - title additionalProperties: false startSectionIndex: type: number format: float required: - sections - startSectionIndex additionalProperties: false responses: "200": description: Ok. "400": description: Bad request. /v1/innovation-record/docx: get: description: Generate docx for the innovation record tags: - "[v1] Innovations" operationId: v1-innovation-record-docx-export responses: "200": description: DOCX file download content: application/vnd.openxmlformats-officedocument.wordprocessingml.document: schema: type: string "400": description: Bad request. /v1/{innovationId}/evidence: post: description: Create an innovation evidence entry. tags: - Innovation summary: Create an innovation evidence entry. operationId: v1-innovation-evidence-create parameters: - name: innovationId in: path required: true schema: type: string format: uuid description: The innovation id. requestBody: description: The evidence data to create. required: true content: application/json: schema: type: object properties: evidenceSubmitType: type: string enum: - CLINICAL_OR_CARE - COST_IMPACT_OR_ECONOMIC - OTHER_EFFECTIVENESS - PRE_CLINICAL - REAL_WORLD evidenceType: type: string enum: - DATA_PUBLISHED - NON_RANDOMISED_COMPARATIVE_DATA - NON_RANDOMISED_NON_COMPARATIVE_DATA - CONFERENCE - RANDOMISED_CONTROLLED_TRIAL - UNPUBLISHED_DATA - OTHER description: type: string maxLength: 50 summary: type: string maxLength: 1000 required: - evidenceSubmitType - summary additionalProperties: false responses: "200": description: Innovation evidence info. content: application/json: schema: type: object properties: id: type: string format: uuid required: - id additionalProperties: false "400": description: Bad Request "401": description: Unauthorized "403": description: Forbidden "404": description: Not found "500": description: Internal server error /v1/{innovationId}/evidence/{evidenceId}: delete: description: Delete an innovation evidence entry. tags: - Innovation summary: Delete an innovation evidence entry. operationId: v1-innovation-evidence-delete parameters: - name: innovationId in: path required: true schema: type: string format: uuid - name: evidenceId in: path required: true schema: type: string format: uuid responses: "204": description: Success. "400": description: Bad Request "401": description: Unauthorized "403": description: Forbidden "404": description: Not found "500": description: Internal server error put: description: Update an innovation evidence entry. tags: - Innovation summary: Update an innovation evidence entry. operationId: v1-innovation-evidence-update parameters: - name: innovationId in: path required: true schema: type: string format: uuid - name: evidenceId in: path required: true schema: type: string format: uuid requestBody: description: The evidence data to update. required: true content: application/json: schema: type: object properties: evidenceSubmitType: type: string enum: - CLINICAL_OR_CARE - COST_IMPACT_OR_ECONOMIC - OTHER_EFFECTIVENESS - PRE_CLINICAL - REAL_WORLD evidenceType: type: string enum: - DATA_PUBLISHED - NON_RANDOMISED_COMPARATIVE_DATA - NON_RANDOMISED_NON_COMPARATIVE_DATA - CONFERENCE - RANDOMISED_CONTROLLED_TRIAL - UNPUBLISHED_DATA - OTHER description: type: string maxLength: 50 summary: type: string maxLength: 1000 required: - evidenceSubmitType - summary additionalProperties: false responses: "204": description: Success. "400": description: Bad Request "401": description: Unauthorized "403": description: Forbidden "404": description: Not found "500": description: Internal server error /v1/{innovationId}/evidences/{evidenceId}: get: description: Get an innovation evidence info. tags: - Innovation summary: Get an innovation evidence info. operationId: v1-innovation-evidence-info parameters: - name: innovationId in: path required: true schema: type: string format: uuid - name: evidenceId in: path required: true schema: type: string format: uuid responses: "200": description: Innovation section info. content: application/json: schema: type: object properties: id: type: string description: Innovation evidence id. evidenceType: type: string enum: - DATA_PUBLISHED - NON_RANDOMISED_COMPARATIVE_DATA - NON_RANDOMISED_NON_COMPARATIVE_DATA - CONFERENCE - RANDOMISED_CONTROLLED_TRIAL - UNPUBLISHED_DATA - OTHER description: Evidence type. evidenceSubmitType: type: string enum: - CLINICAL_OR_CARE - COST_IMPACT_OR_ECONOMIC - OTHER_EFFECTIVENESS - PRE_CLINICAL - REAL_WORLD description: Clinical submit type. description: type: string description: Evidence description. summary: type: string description: Evidence summary. files: type: array description: Innovation evidence files. items: type: object properties: id: type: string description: File id. displayFileName: type: string description: File display name. url: type: string description: File url. "401": description: Unauthorized "403": description: Forbidden "404": description: Not found "500": description: Internal server error /v1/{innovationId}/files: post: description: Create a new innovation file. operationId: v1-innovation-file-create tags: - "[v1] Innovation Files" parameters: - name: innovationId in: path required: true schema: type: string format: uuid requestBody: required: true content: application/json: schema: type: object properties: context: type: object properties: id: type: string maxLength: 100 type: type: string enum: - INNOVATION - INNOVATION_EVIDENCE - INNOVATION_MESSAGE - INNOVATION_PROGRESS_UPDATE - INNOVATION_SECTION - INNOVATION_REGULATIONS required: - id - type additionalProperties: false name: type: string maxLength: 100 description: type: string maxLength: 500 file: type: object properties: id: type: string maxLength: 100 name: type: string maxLength: 100 size: type: number format: float extension: type: string maxLength: 4 required: - id - name - size - extension additionalProperties: false required: - context - name - file additionalProperties: false responses: "200": description: The innovation file has been created. content: application/json: schema: type: object properties: id: type: string format: uuid required: - id additionalProperties: false "400": description: The innovation file could not be created. "401": description: The user is not authorized to create an innovation file. "403": description: The user is not allowed to create an innovation file. "404": description: The innovation could not be found. "500": description: An unexpected error occurred while creating the innovation file. get: operationId: v1-innovation-files-list description: Get innovation files list tags: - "[v1] Innovation Files" parameters: - name: innovationId in: path required: true schema: type: string format: uuid - name: skip in: query required: false schema: type: integer - name: take in: query required: false schema: type: integer maximum: 100 default: 20 - name: order in: query required: false schema: type: object properties: {} additionalProperties: type: string enum: - ASC - DESC default: default: DESC - name: name in: query required: false schema: type: string - name: uploadedBy in: query required: false schema: type: array items: type: string enum: - ADMIN - INNOVATOR - ACCESSOR - ASSESSMENT - QUALIFYING_ACCESSOR - name: contextTypes in: query required: false schema: type: array items: type: string enum: - INNOVATION - INNOVATION_EVIDENCE - INNOVATION_MESSAGE - INNOVATION_PROGRESS_UPDATE - INNOVATION_SECTION - INNOVATION_REGULATIONS - name: contextId in: query required: false schema: type: string maxLength: 100 - name: units in: query required: false schema: type: array items: type: string format: uuid - name: dateFilter in: query required: false schema: type: array items: type: object properties: field: type: string enum: - createdAt startDate: type: string format: date-time endDate: type: string format: date-time required: - field additionalProperties: false - name: fields in: query required: false schema: type: array items: type: string enum: - description responses: "200": description: Success content: application/json: schema: type: object properties: count: type: integer description: The total number of records. data: type: array items: type: object properties: id: type: string context: type: object properties: id: type: string type: type: string enum: - INNOVATION - INNOVATION_EVIDENCE - INNOVATION_MESSAGE - INNOVATION_PROGRESS_UPDATE - INNOVATION_SECTION - INNOVATION_REGULATIONS name: type: string description: type: string createdAt: type: string createdBy: type: object properties: name: type: string role: type: string enum: - ADMIN - INNOVATOR - ACCESSOR - ASSESSMENT - QUALIFYING_ACCESSOR isOwner: type: boolean orgUnitName: type: string file: type: object properties: id: type: string description: Storage Id name: type: string size: type: number extension: type: string url: type: string "400": description: The request is invalid. "401": description: The user is not authenticated. "403": description: The user is not authorized to access this resource. "500": description: An error occurred while processing the request. /v1/{innovationId}/files/{fileId}: delete: operationId: v1-innovation-file-delete description: Delete an innovation file. tags: - "[v1] Innovation Files" parameters: - name: innovationId in: path required: true schema: type: string format: uuid - name: fileId in: path required: true schema: type: string format: uuid responses: "204": description: Success. "400": description: Bad Request "401": description: Unauthorized "403": description: Forbidden "404": description: Not found "500": description: Internal server error get: operationId: v1-innovation-file-info description: Get innovation file info tags: - "[v1] Innovation Files" parameters: - name: innovationId in: path required: true schema: type: string format: uuid - name: fileId in: path required: true schema: type: string format: uuid responses: "200": description: Success content: application/json: schema: type: object properties: id: type: string format: uuid context: type: object properties: id: type: string format: uuid type: type: string enum: - INNOVATION - INNOVATION_EVIDENCE - INNOVATION_MESSAGE - INNOVATION_PROGRESS_UPDATE - INNOVATION_SECTION - INNOVATION_REGULATIONS name: type: string required: - id additionalProperties: false name: type: string description: type: string createdAt: type: string format: date-time createdBy: type: object properties: name: type: string role: type: string enum: - ADMIN - INNOVATOR - ACCESSOR - ASSESSMENT - QUALIFYING_ACCESSOR isOwner: type: boolean orgUnitName: type: string required: - name - role additionalProperties: false file: type: object properties: id: type: string format: uuid name: type: string size: type: number format: float extension: type: string url: type: string required: - id - name - extension - url additionalProperties: false canDelete: type: boolean required: - id - name - createdAt - file - canDelete additionalProperties: false "400": description: The request is invalid. "401": description: The user is not authenticated. "403": description: The user is not authorized to access this resource. "500": description: An error occurred while processing the request. /v1/{innovationId}/files/upload-url: post: operationId: v1-innovation-file-upload-url description: Get the upload url for an innovation file. tags: - "[v1] Innovation Files" parameters: - name: innovationId in: path required: true schema: type: string format: uuid requestBody: required: true content: application/json: schema: type: object properties: filename: type: string required: - filename additionalProperties: false responses: "200": description: Success content: application/json: schema: type: object properties: id: type: string format: uuid name: type: string url: type: string required: - id - name - url additionalProperties: false "400": description: Invalid payload "404": description: Innovation not found /v1/{innovationId}: get: operationId: v1-innovation-info description: Get innovation information. tags: - "[v1] Innovation" parameters: - name: innovationId in: path required: true schema: type: string format: uuid responses: "200": description: Success content: application/json: schema: type: object properties: id: type: string format: uuid uniqueId: type: string name: type: string description: type: string nullable: true version: type: string status: type: string enum: - CREATED - WAITING_NEEDS_ASSESSMENT - NEEDS_ASSESSMENT - IN_PROGRESS - WITHDRAWN - ARCHIVED archiveReason: type: string nullable: true groupedStatus: type: string enum: - RECORD_NOT_SHARED - AWAITING_NEEDS_ASSESSMENT - NEEDS_ASSESSMENT - AWAITING_SUPPORT - RECEIVING_SUPPORT - NO_ACTIVE_SUPPORT - AWAITING_NEEDS_REASSESSMENT - WITHDRAWN - ARCHIVED hasBeenAssessed: type: boolean statusUpdatedAt: type: string format: date-time submittedAt: type: string format: date-time nullable: true countryName: type: string nullable: true postCode: type: string nullable: true categories: type: array items: type: string enum: - MEDICAL_DEVICE - IN_VITRO_DIAGNOSTIC - PHARMACEUTICAL - DIGITAL - AI - EDUCATION - PPE - MODELS_CARE - ESTATES_FACILITIES - TRAVEL_TRANSPORT - FOOD_NUTRITION - DATA_MONITORING - OTHER otherCategoryDescription: type: string nullable: true owner: type: object properties: id: type: string format: uuid name: type: string isActive: type: boolean email: type: string contactByEmail: type: boolean contactByPhone: type: boolean contactByPhoneTimeFrame: type: string enum: - MORNING - AFTERNOON - DAILY nullable: true mobilePhone: type: string nullable: true jobTitle: type: string nullable: true lastLoginAt: type: string format: date-time nullable: true organisation: type: object properties: name: type: string size: type: string nullable: true registrationNumber: type: string nullable: true required: - name - size - registrationNumber additionalProperties: false required: - id - name - isActive - contactByPhoneTimeFrame additionalProperties: false daysSinceNoActiveSupport: type: number format: float expectedArchiveDate: type: string format: date-time assessment: type: object properties: id: type: string format: uuid createdAt: type: string format: date-time finishedAt: type: string format: date-time nullable: true assignedTo: type: object properties: id: type: string format: uuid name: type: string userRoleId: type: string jobTitle: type: string nullable: true required: - id - name - userRoleId additionalProperties: false required: - id - createdAt - finishedAt additionalProperties: false supports: type: array items: type: object properties: id: type: string format: uuid status: type: string enum: - SUGGESTED - ENGAGING - WAITING - UNASSIGNED - UNSUITABLE - CLOSED organisationUnitId: type: string required: - id - organisationUnitId additionalProperties: false nullable: true collaboratorId: type: string createdAt: type: string format: date-time required: - id - uniqueId - name - description - version - status - archiveReason - groupedStatus - hasBeenAssessed - statusUpdatedAt - submittedAt - countryName - postCode - categories - otherCategoryDescription - collaboratorId - createdAt additionalProperties: false "400": description: Invalid innovation payload /v1/{innovationId}/pdf: post: description: Generate PDF for an innovation tags: - "[v1] Innovations" operationId: v1-innovation-pdf-export parameters: - name: innovationId in: path required: true schema: type: string format: uuid requestBody: required: true content: application/json: schema: type: object properties: sections: type: array items: type: object properties: sections: type: array items: type: object properties: section: type: string status: type: string enum: - NOT_STARTED - DRAFT - SUBMITTED - UNKNOWN answers: type: array items: type: object properties: label: type: string value: type: string nullable: true required: - label - value additionalProperties: false required: - section - status - answers additionalProperties: false title: type: string required: - sections - title additionalProperties: false startSectionIndex: type: number format: float required: - sections - startSectionIndex additionalProperties: false responses: "200": description: Ok. "400": description: Bad request. /v1/{innovationId}/progress: get: operationId: v1-innovation-progress-info description: Get innovation progress information. tags: - "[v1] Innovation" parameters: - name: innovationId in: path required: true schema: type: string format: uuid responses: "200": description: Success "400": description: Invalid innovation payload /v1/{innovationId}/reassessments: post: operationId: v1-innovation-reassessment-request-create description: Create a reassessment request for an innovation. summary: Create a reassessment request for an innovation. tags: - "[v1] Innovation Assessments" parameters: - name: innovationId in: path required: true schema: type: string format: uuid requestBody: description: Create a reassessment request for an innovation. required: true content: application/json: schema: type: object properties: reassessmentReason: type: array items: type: string enum: - NO_SUPPORT - PREVIOUSLY_ARCHIVED - HAS_PROGRESSED_SIGNIFICANTLY - OTHER minItems: 1 otherReassessmentReason: type: string maxLength: 200 description: type: string maxLength: 1500 whatSupportDoYouNeed: type: string maxLength: 1500 required: - reassessmentReason - description - whatSupportDoYouNeed additionalProperties: false responses: "200": description: Returns the reassessment request and the cloned assessment id content: application/json: schema: type: object properties: id: type: string format: uuid required: - id additionalProperties: false "400": description: Bad request "401": description: Unauthorized "403": description: Forbidden "404": description: Not found "422": description: Unprocessable entity "500": description: Internal server error /v1/{innovationId}/sections/{sectionKey}: get: description: Get an innovation section info. tags: - Innovation summary: Get an innovation section info. operationId: v1-innovation-section-info parameters: - name: innovationId in: path required: true schema: type: string format: uuid - name: sectionKey in: path required: true schema: type: string enum: - INNOVATION_DESCRIPTION - UNDERSTANDING_OF_NEEDS - EVIDENCE_OF_EFFECTIVENESS - MARKET_RESEARCH - CURRENT_CARE_PATHWAY - TESTING_WITH_USERS - REGULATIONS_AND_STANDARDS - INTELLECTUAL_PROPERTY - REVENUE_MODEL - COST_OF_INNOVATION - DEPLOYMENT responses: "200": description: Innovation section info. content: application/json: schema: type: object properties: id: type: string format: uuid nullable: true section: type: string enum: - INNOVATION_DESCRIPTION - UNDERSTANDING_OF_NEEDS - EVIDENCE_OF_EFFECTIVENESS - MARKET_RESEARCH - CURRENT_CARE_PATHWAY - TESTING_WITH_USERS - REGULATIONS_AND_STANDARDS - INTELLECTUAL_PROPERTY - REVENUE_MODEL - COST_OF_INNOVATION - DEPLOYMENT status: type: string enum: - NOT_STARTED - DRAFT - SUBMITTED submittedAt: type: string format: date-time nullable: true submittedBy: type: object properties: name: type: string displayTag: type: string required: - name - displayTag additionalProperties: false nullable: true data: type: object properties: {} additionalProperties: false nullable: true tasksIds: type: array items: type: string required: - id - section - status - submittedAt - submittedBy - data additionalProperties: false "401": description: Unauthorized "403": description: Forbidden "404": description: Not found "500": description: Internal server error put: description: Update an innovation section info. tags: - Innovation summary: Update an innovation section info. operationId: v1-innovation-section-update parameters: - name: innovationId in: path required: true schema: type: string format: uuid - name: sectionKey in: path required: true schema: type: string enum: - INNOVATION_DESCRIPTION - UNDERSTANDING_OF_NEEDS - EVIDENCE_OF_EFFECTIVENESS - MARKET_RESEARCH - CURRENT_CARE_PATHWAY - TESTING_WITH_USERS - REGULATIONS_AND_STANDARDS - INTELLECTUAL_PROPERTY - REVENUE_MODEL - COST_OF_INNOVATION - DEPLOYMENT requestBody: description: Innovation section info update request body. content: application/json: schema: type: object properties: name: type: string description: type: string status: type: string responses: "200": description: Innovation section info updated successfully. content: application/json: schema: type: object properties: id: type: string format: uuid additionalProperties: false "400": description: Bad request. "401": description: Unauthorized. "403": description: Forbidden. "404": description: Not found. "500": description: Internal server error. /v1/{innovationId}/sections/{sectionKey}/submit: patch: description: Submit an innovation section. tags: - Innovation summary: Submit an innovation section. operationId: v1-innovation-section-submit parameters: - name: innovationId in: path required: true schema: type: string format: uuid - name: sectionKey in: path required: true schema: type: string enum: - INNOVATION_DESCRIPTION - UNDERSTANDING_OF_NEEDS - EVIDENCE_OF_EFFECTIVENESS - MARKET_RESEARCH - CURRENT_CARE_PATHWAY - TESTING_WITH_USERS - REGULATIONS_AND_STANDARDS - INTELLECTUAL_PROPERTY - REVENUE_MODEL - COST_OF_INNOVATION - DEPLOYMENT responses: "200": description: Innovation section submit response. content: application/json: schema: type: object properties: id: type: string format: uuid required: - id additionalProperties: false /v1/{innovationId}/sections: get: description: Get an innovation sections list. tags: - Innovation summary: Get an innovation sections list. operationId: v1-innovation-sections-list parameters: - name: innovationId in: path required: true schema: type: string format: uuid responses: "200": description: Success content: application/json: schema: type: array items: type: object properties: id: type: string format: uuid nullable: true section: type: string enum: - INNOVATION_DESCRIPTION - UNDERSTANDING_OF_NEEDS - EVIDENCE_OF_EFFECTIVENESS - MARKET_RESEARCH - CURRENT_CARE_PATHWAY - TESTING_WITH_USERS - REGULATIONS_AND_STANDARDS - INTELLECTUAL_PROPERTY - REVENUE_MODEL - COST_OF_INNOVATION - DEPLOYMENT status: type: string enum: - NOT_STARTED - DRAFT - SUBMITTED submittedAt: type: string format: date-time nullable: true submittedBy: type: object properties: name: type: string isOwner: type: boolean required: - name additionalProperties: false nullable: true openTasksCount: type: integer required: - id - submittedAt - submittedBy - openTasksCount additionalProperties: false "401": description: Unauthorized "403": description: Forbidden "404": description: Not Found "500": description: Internal Server Error /v1/{innovationId}/shares: get: description: Get all the shares for an innovation. tags: - Innovation summary: Get all the shares for an innovation. operationId: v1-innovation-shares parameters: - name: innovationId in: path required: true schema: type: string format: uuid responses: "200": description: OK content: application/json: schema: type: array items: type: object properties: organisation: type: object properties: id: type: string format: uuid name: type: string acronym: type: string nullable: true required: - id - name - acronym additionalProperties: false additionalProperties: false "401": description: Unauthorized "403": description: Forbidden "404": description: Not Found "500": description: Internal Server Error put: description: Update the shares for an innovation. tags: - Innovation summary: Update all the shares for an innovation. operationId: v1-innovation-shares-update parameters: - name: innovationId in: path required: true schema: type: string format: uuid requestBody: required: true content: application/json: schema: type: object properties: organisations: type: array items: type: string format: uuid minItems: 1 required: - organisations additionalProperties: false responses: "200": description: OK content: application/json: schema: type: object properties: id: type: string format: uuid description: The unique identifier of the innovation. required: - id additionalProperties: false "401": description: Unauthorized "403": description: Forbidden "404": description: Not Found "500": description: Internal Server Error /v1/{innovationId}/statistics: get: description: Get an innovation statistics tags: - "[v1] Innovation Statistics" operationId: v1-innovation-statistics parameters: - name: innovationId in: path required: true schema: type: string format: uuid - name: statistics in: query required: true schema: type: array items: type: string enum: - SECTIONS_SUBMITTED_COUNTER - TASKS_OPEN_COUNTER - TASKS_RESPONDED_COUNTER - UNREAD_MESSAGES_COUNTER - SECTIONS_SUBMITTED_SINCE_SUPPORT_START_COUNTER - SECTIONS_SUBMITTED_SINCE_ASSESSMENT_START_COUNTER - UNREAD_MESSAGES_THREADS_INITIATED_BY_COUNTER - PENDING_EXPORT_REQUESTS_COUNTER - DOCUMENTS_STATISTICS_COUNTER - UNANSWERED_SURVEYS_BY_UNIT_COUNTER responses: "200": description: Ok. "400": description: Bad request. /v1/{innovationId}/submissions: get: operationId: v1-innovation-submission-states description: Get innovation submission states. parameters: - name: innovationId in: path required: true schema: type: string format: uuid responses: "200": description: Success content: application/json: schema: type: object properties: submittedAllSections: type: boolean submittedForNeedsAssessment: type: boolean required: - submittedAllSections - submittedForNeedsAssessment additionalProperties: false "400": description: Invalid innovation payload /v1/{innovationId}/submit: patch: summary: Submit an innovation description: Submit an innovation for assessment. operationId: v1-innovation-submit tags: - Innovation parameters: - name: innovationId in: path required: true schema: type: string format: uuid responses: "200": description: Innovation submitted successfully. content: application/json: schema: type: object properties: id: type: string format: uuid status: type: string enum: - CREATED - WAITING_NEEDS_ASSESSMENT - NEEDS_ASSESSMENT - IN_PROGRESS - WITHDRAWN - ARCHIVED required: - id - status additionalProperties: false "400": description: Bad request. "401": description: Unauthorized. "403": description: Forbidden. "404": description: Not found. "500": description: Internal server error. /v1/{innovationId}/suggestions: get: description: Get suggestions list of an Innovation operationId: v1-innovation-suggestions tags: - Innovation Suggestions parameters: - name: innovationId in: path required: true schema: type: string format: uuid responses: "200": description: OK "400": description: Bad Request "404": description: Not Found post: description: Create suggestion for an Innovation operationId: v1-innovation-suggestions-create tags: - Create Innovation Suggestion parameters: - name: innovationId in: path required: true schema: type: string format: uuid requestBody: required: true content: application/json: schema: type: object properties: description: type: string maxLength: 2000 organisationUnits: type: array items: type: string minItems: 1 required: - description - organisationUnits additionalProperties: false responses: "201": description: Creates a suggestion. "401": description: Unauthorised "404": description: Not Found /v1/{innovationId}/supports/available-status: get: description: Get available status for a support operationId: v1-innovation-support-available-status tags: - "[v1] Innovation Support" parameters: - name: innovationId in: path required: true schema: type: string format: uuid responses: "200": description: OK content: application/json: schema: type: object properties: availableStatus: type: array items: type: string enum: - SUGGESTED - ENGAGING - WAITING - UNASSIGNED - UNSUITABLE - CLOSED additionalProperties: false "400": description: Bad Request "401": description: Unauthorized "403": description: Forbidden "404": description: Not found "500": description: Internal server error /v1/{innovationId}/supports/{supportId}/accessors: put: description: Assigns accessors to a support. operationId: v1-innovation-support-change-accessors tags: - "[v1] Innovation Support" parameters: - name: innovationId in: path required: true schema: type: string format: uuid - name: supportId in: path required: true schema: type: string format: uuid requestBody: description: The accessors to be assigned. required: true content: application/json: schema: type: object properties: message: type: string maxLength: 2000 nullable: true accessors: type: array items: type: object properties: id: type: string format: uuid userRoleId: type: string format: uuid required: - id - userRoleId additionalProperties: false minItems: 1 required: - message - accessors additionalProperties: false responses: "204": description: Innovation ID content: application/json: schema: type: object properties: id: type: string format: uuid required: - id /v1/{innovationId}/supports/{supportId}/change-request: post: description: Request Change Support for a given innovation. operationId: v1-innovation-support-change-request tags: - Innovation Support parameters: - name: innovationId in: path required: true schema: type: string format: uuid - name: supportId in: path required: true schema: type: string format: uuid requestBody: required: true content: application/json: schema: type: object properties: status: type: string enum: - ENGAGING - WAITING - UNSUITABLE - CLOSED not: enum: - SUGGESTED - UNASSIGNED message: type: string maxLength: 2000 required: - status - message additionalProperties: false responses: "200": description: Innovation ID content: application/json: schema: type: object properties: success: type: boolean required: - success additionalProperties: false /v1/{innovationId}/supports/{supportId}: get: description: Get supporting information for an Innovation operationId: v1-innovation-support-info tags: - "[v1] Innovation Support" parameters: - name: innovationId in: path required: true schema: type: string format: uuid - name: supportId in: path required: true schema: type: string format: uuid responses: "200": description: OK content: application/json: schema: type: object properties: id: type: string format: uuid status: type: string enum: - SUGGESTED - ENGAGING - WAITING - UNASSIGNED - UNSUITABLE - CLOSED engagingAccessors: type: array items: type: object properties: id: type: string format: uuid userRoleId: type: string format: uuid name: type: string isActive: type: boolean required: - id - userRoleId - name - isActive additionalProperties: false required: - id additionalProperties: false "400": description: Bad Request "404": description: Not Found put: description: Update support on innovation. operationId: v1-innovation-support-update tags: - "[v1] Innovation Support" parameters: - name: innovationId in: path required: true schema: type: string format: uuid - name: supportId in: path required: true schema: type: string format: uuid requestBody: required: true content: application/json: schema: type: object properties: status: type: string enum: - ENGAGING - WAITING - UNSUITABLE - CLOSED message: type: string maxLength: 4000 accessors: oneOf: - type: array items: type: object properties: id: type: string format: uuid userRoleId: type: string format: uuid required: - id - userRoleId additionalProperties: false x-required: true required: - status - message additionalProperties: false responses: "200": description: Innovation ID content: application/json: schema: type: object properties: id: type: string format: uuid required: - id additionalProperties: false /v1/{innovationId}/supports: post: description: Starts support in innovation. operationId: v1-innovation-support-start tags: - "[v1] Innovation Support" parameters: - name: innovationId in: path required: true schema: type: string format: uuid requestBody: required: true content: application/json: schema: type: object properties: status: type: string enum: - ENGAGING - WAITING - UNSUITABLE message: type: string maxLength: 4000 file: type: object properties: name: type: string maxLength: 100 description: type: string maxLength: 500 file: type: object properties: id: type: string maxLength: 100 name: type: string maxLength: 100 size: type: number format: float extension: type: string maxLength: 4 required: - id - name - size - extension additionalProperties: false required: - name - file additionalProperties: false accessors: oneOf: - type: array items: type: object properties: id: type: string format: uuid userRoleId: type: string format: uuid required: - id - userRoleId additionalProperties: false x-required: true required: - status - message additionalProperties: false responses: "201": description: Creates a new innovation support request for the innovation identified by the supplied Innovation ID. content: application/json: schema: type: object properties: id: type: string format: uuid required: - id additionalProperties: false "401": description: Unauthorised. get: description: Get a list with all Innovation's Supports. operationId: v1-innovations-supports-list tags: - "[v1] Innovation Support" parameters: - name: innovationId in: path required: true schema: type: string format: uuid responses: "200": description: Success content: application/json: schema: type: array items: type: object properties: id: type: string format: uuid status: type: string enum: - SUGGESTED - ENGAGING - WAITING - UNASSIGNED - UNSUITABLE - CLOSED organisation: type: object properties: id: type: string format: uuid name: type: string acronym: type: string unit: type: object properties: id: type: string format: uuid name: type: string acronym: type: string required: - id - name - acronym additionalProperties: false required: - id - name - acronym additionalProperties: false engagingAccessors: type: array items: type: object properties: id: type: string format: uuid userRoleId: type: string name: type: string isActive: type: boolean required: - id - userRoleId - name - isActive additionalProperties: false required: - id - status additionalProperties: false "404": description: Not found /v1/{innovationId}/support-summary: get: operationId: v1-innovation-support-summary-list description: Get support summary list tags: - "[v1] Innovation Support Summary" parameters: - name: innovationId in: path required: true schema: type: string format: uuid responses: "200": description: Success content: application/json: schema: type: array items: type: object properties: id: type: string name: type: string support: type: object properties: id: type: string status: type: string enum: - SUGGESTED - ENGAGING - WAITING - UNASSIGNED - UNSUITABLE - CLOSED start: type: string format: date-time end: type: string format: date-time minStart: type: string format: date-time organisation: type: object properties: id: type: string name: type: string "400": description: The request is invalid. "401": description: The user is not authenticated. "403": description: The user is not authorized to access this resource. "500": description: An error occurred while processing the request. /v1/{innovationId}/support-summary/progress-update: post: description: Create support summary progress update. operationId: v1-innovation-support-summary-progress-create tags: - "[v1] Innovation Support Summary" parameters: - name: innovationId in: path required: true schema: type: string format: uuid requestBody: required: true content: application/json: schema: anyOf: - type: object properties: description: type: string maxLength: 2000 document: type: object properties: name: type: string maxLength: 100 description: type: string maxLength: 500 file: type: object properties: id: type: string maxLength: 100 name: type: string maxLength: 100 size: type: number format: float extension: type: string maxLength: 4 required: - id - name - size - extension additionalProperties: false required: - name - file additionalProperties: false createdAt: type: string format: date-time title: type: string maxLength: 100 required: - description - title additionalProperties: false - type: object properties: description: type: string maxLength: 2000 document: type: object properties: name: type: string maxLength: 100 description: type: string maxLength: 500 file: type: object properties: id: type: string maxLength: 100 name: type: string maxLength: 100 size: type: number format: float extension: type: string maxLength: 4 required: - id - name - size - extension additionalProperties: false required: - name - file additionalProperties: false createdAt: type: string format: date-time categories: type: array items: type: string maxLength: 100 whetherToNotify: type: string maxLength: 3 required: - description - categories additionalProperties: false - type: object properties: description: type: string maxLength: 2000 document: type: object properties: name: type: string maxLength: 100 description: type: string maxLength: 500 file: type: object properties: id: type: string maxLength: 100 name: type: string maxLength: 100 size: type: number format: float extension: type: string maxLength: 4 required: - id - name - size - extension additionalProperties: false required: - name - file additionalProperties: false createdAt: type: string format: date-time category: type: string maxLength: 100 subCategories: type: array items: type: string maxLength: 100 required: - description - category - subCategories additionalProperties: false responses: "201": description: Creates a new progress update "400": description: The request is invalid. "401": description: The user is not authenticated. "403": description: The user is not authorized to access this resource. "500": description: An error occurred while processing the request. /v1/{innovationId}/support-summary/progress-update/{progressId}: delete: description: Delete support summary progress update. operationId: v1-innovation-support-summary-progress-delete tags: - "[v1] Innovation Support Summary" parameters: - name: innovationId in: path required: true schema: type: string format: uuid - name: progressId in: path required: true schema: type: string format: uuid responses: "204": description: Deletes a progress update. "400": description: The request is invalid. "401": description: The user is not authenticated. "403": description: The user is not authorized to access this resource. "500": description: An error occurred while processing the request. /v1/{innovationId}/support-summary/units/{unitId}: get: operationId: v1-innovation-support-summary-unit-info description: Get support summary unit info tags: - "[v1] Innovation Support Summary" parameters: - name: innovationId in: path required: true schema: type: string format: uuid - name: unitId in: path required: true schema: type: string format: uuid responses: "200": description: Success content: application/json: schema: type: array items: type: object properties: id: type: string createdAt: type: string createdBy: type: object properties: id: type: string name: type: string displayRole: type: string jobTitle: type: string nullable: true type: type: string params: type: object properties: supportStatus: type: string enum: - SUGGESTED - ENGAGING - WAITING - UNASSIGNED - UNSUITABLE - CLOSED message: type: string title: type: string suggestedByName: type: string file: type: object properties: id: type: string name: type: string url: type: string "400": description: The request is invalid. "401": description: The user is not authenticated. "403": description: The user is not authorized to access this resource. "500": description: An error occurred while processing the request. /v1/{innovationId}/surveys/{surveyId}: patch: description: Answer a survey operationId: v1-innovation-survey-answer tags: - "[v1] Innovation Surveys" parameters: - name: innovationId in: path required: true schema: type: string format: uuid - name: surveyId in: path required: true schema: type: string format: uuid requestBody: required: true content: application/json: schema: type: object properties: supportSatisfaction: type: string enum: - "1" - "2" - "3" - "4" - "5" - "6" - "7" - "8" - "9" - "10" ideaOnHowToProceed: type: string enum: - YES - NO howLikelyWouldYouRecommendIS: type: string enum: - "1" - "2" - "3" - "4" - "5" - "6" - "7" - "8" - "9" - "10" comment: type: string maxLength: 4000 nullable: true required: - supportSatisfaction - ideaOnHowToProceed - howLikelyWouldYouRecommendIS additionalProperties: false responses: "204": description: Survey answered successfuly "400": description: Bad request. "401": description: Unauthorized. "403": description: Forbidden. "404": description: Not found. "500": description: Internal server error. /v1/{innovationId}/surveys: get: description: Get a list of all unanswered surveys operationId: v1-innovation-survey-list tags: - "[v1] Innovation Surveys" parameters: - name: innovationId in: path required: true schema: type: string format: uuid responses: "200": description: Success content: application/json: schema: type: array items: type: object properties: id: type: string format: uuid createdAt: type: string format: date-time info: type: object properties: type: type: string supportId: type: string format: uuid supportUnit: type: string supportFinishedAt: type: string format: date-time required: - type - supportId - supportUnit - supportFinishedAt additionalProperties: false required: - id - createdAt additionalProperties: false "400": description: Bad request. "401": description: Unauthorized. "403": description: Forbidden. "404": description: Not found. "500": description: Internal server error. /v1/{innovationId}/tasks: post: description: Create a new innovation task. operationId: v1-innovation-task-create tags: - "[v1] Innovation Tasks" parameters: - name: innovationId in: path required: true schema: type: string format: uuid requestBody: description: The innovation task to create. required: true content: application/json: schema: type: object properties: section: type: string enum: - INNOVATION_DESCRIPTION - UNDERSTANDING_OF_NEEDS - EVIDENCE_OF_EFFECTIVENESS - MARKET_RESEARCH - CURRENT_CARE_PATHWAY - TESTING_WITH_USERS - REGULATIONS_AND_STANDARDS - INTELLECTUAL_PROPERTY - REVENUE_MODEL - COST_OF_INNOVATION - DEPLOYMENT description: The section key. description: type: string maxLength: 500 description: The description of the task. required: - section - description additionalProperties: false responses: "200": description: The innovation task has been created. content: application/json: schema: type: object properties: id: type: string format: uuid description: The innovation task id. example: c0a80121-7ac0-464e-b8f6-27b88b0cda7f required: - id additionalProperties: false "400": description: The innovation task could not be created. "401": description: The user is not authorized to create an innovation task. "403": description: The user is not allowed to create an innovation task. "404": description: The innovation could not be found. "500": description: An unexpected error occurred while creating the innovation task. /v1/{innovationId}/tasks/{taskId}: get: description: Get an innovation task. operationId: v1-innovation-task-info tags: - "[v1] Innovation Tasks" parameters: - name: innovationId in: path required: true schema: type: string format: uuid - name: taskId in: path required: true schema: type: string format: uuid responses: "200": description: The innovation task. content: application/json: schema: type: object properties: id: type: string format: uuid displayId: type: string status: type: string enum: - OPEN - DONE - DECLINED - CANCELLED section: type: string enum: - INNOVATION_DESCRIPTION - UNDERSTANDING_OF_NEEDS - EVIDENCE_OF_EFFECTIVENESS - MARKET_RESEARCH - CURRENT_CARE_PATHWAY - TESTING_WITH_USERS - REGULATIONS_AND_STANDARDS - INTELLECTUAL_PROPERTY - REVENUE_MODEL - COST_OF_INNOVATION - DEPLOYMENT descriptions: type: array items: type: object properties: description: type: string createdAt: type: string format: date-time name: type: string displayTag: type: string required: - description - createdAt - name - displayTag additionalProperties: false sameOrganisation: type: boolean threadId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time updatedBy: type: object properties: name: type: string displayTag: type: string required: - name - displayTag additionalProperties: false createdBy: type: object properties: name: type: string displayTag: type: string required: - name - displayTag additionalProperties: false assignedTo: type: object properties: name: type: string displayTag: type: string required: - name - displayTag additionalProperties: false required: - id - displayId - status - section - descriptions - sameOrganisation - threadId - createdAt - updatedAt - updatedBy - createdBy - assignedTo additionalProperties: false "401": description: Unauthorized "403": description: Forbidden "404": description: Not Found put: description: Update an innovation task. operationId: v1-innovation-task-update tags: - "[v1] Innovation Tasks" parameters: - name: innovationId in: path required: true schema: type: string format: uuid - name: taskId in: path required: true schema: type: string format: uuid requestBody: description: The innovation task data. required: true content: application/json: schema: type: object properties: status: oneOf: - type: string enum: - OPEN - CANCELLED x-required: true - type: string enum: - DONE - DECLINED x-required: true message: type: string maxLength: 500 required: - message additionalProperties: false responses: "200": description: The innovation task has been updated. content: application/json: schema: type: object properties: id: type: string format: uuid required: - id additionalProperties: false "400": description: The innovation task data is invalid. "401": description: The user is not authorized to update the innovation task. "404": description: The innovation task does not exist. "500": description: An error occurred while updating the innovation task. /v1/tasks: get: description: Get a list of innovation tasks. operationId: v1-innovation-tasks-list tags: - "[v1] Innovation Tasks" parameters: - name: skip in: query required: false schema: type: integer - name: take in: query required: false schema: type: integer maximum: 100 default: 20 - name: order in: query required: false schema: type: object properties: {} additionalProperties: type: string enum: - ASC - DESC default: default: DESC - name: innovationId in: query required: false schema: type: string format: uuid - name: innovationName in: query required: false schema: type: string nullable: true - name: sections in: query required: false schema: type: array items: type: string enum: - INNOVATION_DESCRIPTION - UNDERSTANDING_OF_NEEDS - EVIDENCE_OF_EFFECTIVENESS - MARKET_RESEARCH - CURRENT_CARE_PATHWAY - TESTING_WITH_USERS - REGULATIONS_AND_STANDARDS - INTELLECTUAL_PROPERTY - REVENUE_MODEL - COST_OF_INNOVATION - DEPLOYMENT - name: status in: query required: false schema: type: array items: type: string enum: - OPEN - DONE - DECLINED - CANCELLED - name: innovationStatus in: query required: false schema: type: array items: type: string enum: - CREATED - WAITING_NEEDS_ASSESSMENT - NEEDS_ASSESSMENT - IN_PROGRESS - WITHDRAWN - ARCHIVED - name: createdByMe in: query required: false schema: type: boolean - name: createdByMyUnit in: query required: false schema: type: boolean default: true - name: fields in: query required: false schema: type: array items: type: string enum: - notifications responses: "200": description: The list of innovation tasks. content: application/json: schema: type: object properties: count: type: integer data: type: object properties: id: type: string format: uuid displayId: type: string innovation: type: object properties: id: type: string format: uuid name: type: string required: - id - name additionalProperties: false status: type: string enum: - OPEN - DONE - DECLINED - CANCELLED section: type: string enum: - INNOVATION_DESCRIPTION - UNDERSTANDING_OF_NEEDS - EVIDENCE_OF_EFFECTIVENESS - MARKET_RESEARCH - CURRENT_CARE_PATHWAY - TESTING_WITH_USERS - REGULATIONS_AND_STANDARDS - INTELLECTUAL_PROPERTY - REVENUE_MODEL - COST_OF_INNOVATION - DEPLOYMENT sameOrganisation: type: boolean notifications: type: integer createdAt: type: string format: date-time createdBy: type: object properties: name: type: string displayTag: type: string required: - name - displayTag additionalProperties: false updatedAt: type: string format: date-time updatedBy: type: object properties: name: type: string displayTag: type: string required: - name - displayTag additionalProperties: false required: - id - displayId - innovation - status - section - sameOrganisation - notifications - createdAt - createdBy - updatedAt - updatedBy additionalProperties: false required: - count additionalProperties: false "400": description: The request is invalid. "401": description: The user is not authenticated. "403": description: The user is not authorized to access this resource. "500": description: An error occurred while processing the request. /v1/{innovationId}/threads/available-recipients: get: description: Get a list with a list of thread recipients for a respective innovation. operationId: v1-innovations-threads-available-recipients tags: - "[v1] Innovation Threads Available Recipients" parameters: - name: innovationId in: path required: true schema: type: string format: uuid responses: "200": description: Success content: application/json: schema: type: array items: type: object properties: id: type: string format: uuid status: type: string enum: - ENGAGING - WAITING - SUGGESTED - PREVIOUS_ENGAGED organisation: type: object properties: id: type: string format: uuid name: type: string acronym: type: string unit: type: object properties: id: type: string format: uuid name: type: string acronym: type: string required: - id - name - acronym additionalProperties: false required: - id - name - acronym additionalProperties: false recipients: type: object properties: id: type: string format: uuid name: type: string required: - id - name additionalProperties: false required: - id - organisation additionalProperties: false "404": description: Not found /v1/{innovationId}/threads: post: summary: Create a new editable thread description: Create a new editable thread. tags: - Innovation Threads operationId: v1-innovation-thread-create parameters: - name: innovationId in: path required: true schema: type: string format: uuid requestBody: description: The thread details. required: true content: application/json: schema: type: object properties: subject: type: string maxLength: 200 message: type: string maxLength: 4000 file: type: object properties: name: type: string maxLength: 100 description: type: string maxLength: 500 file: type: object properties: id: type: string maxLength: 100 name: type: string maxLength: 100 size: type: number format: float extension: type: string maxLength: 4 required: - id - name - size - extension additionalProperties: false required: - name - file additionalProperties: false followerUserRoleIds: type: array items: type: string format: uuid required: - subject - message - followerUserRoleIds additionalProperties: false responses: "200": description: The thread was created successfully. content: application/json: schema: type: object properties: id: type: string format: uuid required: - id additionalProperties: false "400": description: The request was invalid. "401": description: The user is not authenticated. "403": description: The user is not authorized to create a thread. "404": description: The innovation does not exist. "500": description: An error occurred while creating the thread. get: summary: Get Innovation Threads description: Get Innovation Threads tags: - Innovation Threads operationId: v1-innovation-thread-list parameters: - name: innovationId in: path required: true schema: type: string format: uuid - name: skip in: query required: false schema: type: integer - name: take in: query required: false schema: type: integer maximum: 100 default: 20 - name: order in: query required: false schema: type: object properties: {} additionalProperties: type: string enum: - ASC - DESC default: default: DESC - name: subject in: query required: false schema: type: string maxLength: 100 responses: "200": description: Success content: application/json: schema: type: object properties: count: type: integer data: type: array items: type: object properties: id: type: string format: uuid subject: type: string createdBy: type: object properties: id: type: string format: uuid displayTeam: type: string required: - id additionalProperties: false lastMessage: type: object properties: id: type: string format: uuid createdAt: type: string format: date-time createdBy: type: object properties: id: type: string format: uuid displayTeam: type: string required: - id additionalProperties: false required: - id - createdAt additionalProperties: false messageCount: type: integer hasUnreadNotifications: type: boolean required: - id - subject - messageCount - hasUnreadNotifications additionalProperties: false required: - count additionalProperties: false "401": description: Unauthorized "403": description: Forbidden "404": description: Not Found "500": description: Internal Server Error /v1/{innovationId}/threads/{threadId}/followers: get: summary: Get Innovation Thread Followers description: Get Innovation Thread Followers tags: - Innovation Thread operationId: v1-innovation-thread-followers parameters: - name: innovationId in: path required: true schema: type: string format: uuid - name: threadId in: path required: true schema: type: string format: uuid responses: "200": description: Success content: application/json: schema: type: array items: type: object properties: followers: type: object properties: id: type: string format: uuid name: type: string isLocked: type: boolean isOwner: type: boolean role: type: object properties: id: type: string format: uuid role: type: string enum: - ADMIN - INNOVATOR - ACCESSOR - ASSESSMENT - QUALIFYING_ACCESSOR required: - id - role additionalProperties: false organisationUnit: type: object properties: id: type: string format: uuid name: type: string acronym: type: string required: - id - name - acronym additionalProperties: false nullable: true required: - id - name - isLocked - organisationUnit additionalProperties: false additionalProperties: false "401": description: Unauthorized "403": description: Forbidden "404": description: Not Found "500": description: Internal Server Error patch: summary: Update Innovation Thread Followers description: Update Innovation Thread Followers tags: - Innovation Thread operationId: v1-innovation-thread-followers-update parameters: - name: innovationId in: path required: true schema: type: string format: uuid - name: threadId in: path required: true schema: type: string format: uuid requestBody: required: true content: application/json: schema: type: object properties: followerUserRoleIds: type: array items: type: string format: uuid required: - followerUserRoleIds additionalProperties: false responses: "204": description: Success "401": description: Unauthorized "403": description: Forbidden "404": description: Not Found "500": description: Internal Server Error /v1/{innovationId}/threads/{threadId}/followers/{roleId}: delete: description: Innovation Thread delete follower tags: - Innovation Thread operationId: v1-innovation-thread-followers-delete parameters: - name: innovationId in: path required: true schema: type: string format: uuid - name: threadId in: path required: true schema: type: string format: uuid - name: roleId in: path required: true schema: type: string format: uuid responses: "204": description: Success "401": description: Unauthorized "403": description: Forbidden "404": description: Not Found "500": description: Internal Server Error /v1/{innovationId}/threads/{threadId}: get: summary: Get Innovation Thread Info description: Get Innovation Thread Info tags: - Innovation Thread operationId: v1-innovation-thread-info parameters: - name: innovationId in: path required: true schema: type: string format: uuid - name: threadId in: path required: true schema: type: string format: uuid responses: "200": description: Success content: application/json: schema: type: object properties: id: type: string format: uuid subject: type: string context: type: object properties: type: type: string enum: - NEEDS_ASSESSMENT - SUPPORT - TASK - ORGANISATION_SUGGESTION id: type: string format: uuid required: - type - id additionalProperties: false createdAt: type: string format: date-time createdBy: type: object properties: id: type: string format: uuid name: type: string required: - id - name additionalProperties: false required: - id - subject - createdAt additionalProperties: false "401": description: Unauthorized "403": description: Forbidden "404": description: Not Found "500": description: Internal Server Error /v1/{innovationId}/threads/{threadId}/messages: post: description: Creates a new message in a thread. operationId: v1-innovation-thread-message-create tags: - "[v1] Innovation Threads" parameters: - name: innovationId in: path required: true schema: type: string format: uuid - name: threadId in: path required: true schema: type: string format: uuid requestBody: description: Message to be created. required: true content: application/json: schema: type: object properties: message: type: string maxLength: 4000 file: type: object properties: name: type: string maxLength: 100 description: type: string maxLength: 500 file: type: object properties: id: type: string maxLength: 100 name: type: string maxLength: 100 size: type: number format: float extension: type: string maxLength: 4 required: - id - name - size - extension additionalProperties: false required: - name - file additionalProperties: false required: - message additionalProperties: false responses: "200": description: Message created. content: application/json: schema: type: object properties: threadMessage: type: object properties: createdBy: type: object properties: id: type: string format: uuid identityId: type: string required: - id - identityId additionalProperties: false id: type: string format: uuid message: type: string isEditable: type: boolean createdAt: type: string format: date-time required: - id - message - isEditable - createdAt additionalProperties: false required: - threadMessage additionalProperties: false "400": description: Bad request. "401": description: Unauthorized. "403": description: Forbidden. "404": description: Not found. "500": description: Internal server error. get: summary: Get a list of messages from a thread description: Get a list of messages from a thread operationId: v1-innovation-thread-message-list tags: - "[v1] Innovation Threads" parameters: - name: innovationId in: path required: true schema: type: string format: uuid - name: threadId in: path required: true schema: type: string format: uuid responses: "200": description: Returns a list of messages from a thread content: application/json: schema: type: object properties: count: type: integer messages: type: array items: type: object properties: id: type: string format: uuid message: type: string file: type: object properties: id: type: string format: uuid name: type: string url: type: string required: - id - name - url additionalProperties: false createdAt: type: string format: date-time isNew: type: boolean isEditable: type: boolean createdBy: type: object properties: id: type: string format: uuid name: type: string role: type: string isOwner: type: boolean organisation: type: object properties: id: type: string format: uuid name: type: string acronym: type: string nullable: true required: - id - name - acronym additionalProperties: false organisationUnit: type: object properties: id: type: string format: uuid name: type: string acronym: type: string nullable: true required: - id - name - acronym additionalProperties: false required: - id - name - role - isOwner additionalProperties: false updatedAt: type: string format: date-time required: - id - message - createdAt - isNew - isEditable - updatedAt additionalProperties: false required: - count additionalProperties: false "400": description: Bad request "401": description: Unauthorized "403": description: Forbidden "404": description: Not found "500": description: Internal server error /v1/{innovationId}/threads/{threadId}/messages/{messageId}: get: summary: Get a thread message info description: Get a thread message info tags: - "[v1] Innovation Threads" parameters: - name: innovationId in: path required: true schema: type: string format: uuid - name: threadId in: path required: true schema: type: string format: uuid - name: messageId in: path required: true schema: type: string format: uuid responses: "200": description: Success content: application/json: schema: type: object properties: id: type: string format: uuid message: type: string createdAt: type: string format: date-time required: - id - message - createdAt additionalProperties: false "401": description: Unauthorized "403": description: Forbidden "404": description: Not Found "500": description: Internal Server Error put: summary: Update a thread message description: Update a thread message tags: - "[v1] Innovation Threads" operationId: v1-innovation-thread-message-update parameters: - name: innovationId in: path required: true schema: type: string format: uuid - name: threadId in: path required: true schema: type: string format: uuid - name: messageId in: path required: true schema: type: string format: uuid requestBody: required: true content: application/json: schema: type: object properties: message: type: string maxLength: 4000 required: - message additionalProperties: false responses: "200": description: Success content: application/json: schema: type: object properties: id: type: string format: uuid description: Message Id required: - id additionalProperties: false "400": description: Bad Request "401": description: Unauthorized "403": description: Forbidden "404": description: Not Found "500": description: Internal Server Error /v1/transfers/{transferId}/check: get: description: Get details of pending innovations transfers operationId: v1-innovation-transfer-check parameters: - name: transferId in: path required: true schema: type: string format: uuid responses: "200": description: Ok content: application/json: schema: type: object properties: userExists: type: boolean required: - userExists additionalProperties: false "404": description: The innovation transfer does not exist /v1/transfers: post: description: Create an innovation transfer operationId: createInnovationTransfer parameters: [] requestBody: required: true content: application/json: schema: type: object properties: email: type: string format: email innovationId: type: string format: uuid ownerToCollaborator: type: boolean required: - email - innovationId - ownerToCollaborator additionalProperties: false responses: "200": description: Success content: application/json: schema: type: object properties: id: type: string format: uuid required: - id additionalProperties: false "400": description: Bad Request content: application/json: schema: type: object "422": description: Unprocessable Entity get: description: Get innovation transfer list operationId: getInnovationTransferList parameters: [] responses: "200": description: The innovation assessment has been created. content: application/json: schema: type: array items: type: object properties: id: type: string format: uuid email: type: string innovation: type: object properties: id: type: string format: uuid name: type: string owner: type: string required: - id - name additionalProperties: false required: - id - email - innovation additionalProperties: false /v1/transfers/{transferId}: get: description: Get an innovation transfer operationId: getInnovationTransfer parameters: - name: transferId in: path required: true schema: type: string format: uuid responses: "200": description: Success content: application/json: schema: type: object properties: id: type: string format: uuid email: type: string innovation: type: object properties: id: type: string format: uuid name: type: string owner: type: object properties: name: type: string required: - name additionalProperties: false required: - id - name - owner additionalProperties: false required: - id - email - innovation additionalProperties: false "404": description: Not Found content: application/json: schema: type: object patch: description: Update an innovation transfer status operationId: v1-innovation-transfer-update parameters: - name: transferId in: path required: true schema: type: string format: uuid requestBody: description: The innovation transfer status required: true content: application/json: schema: type: object properties: status: type: string enum: - CANCELED - DECLINED - COMPLETED required: - status additionalProperties: false responses: "204": description: The innovation transfer status has been updated content: application/json: schema: type: object properties: id: type: string format: uuid required: - id additionalProperties: false "400": description: The innovation transfer status is invalid "401": description: The user is not authorized to update the innovation transfer status "404": description: The innovation transfer does not exist "500": description: An error occurred while updating the innovation transfer status /v1/{innovationId}/units-suggestions: get: description: Get suggestions made by other units to the innovation operationId: v1-innovation-units-suggestions tags: - Innovation Suggestions parameters: - name: innovationId in: path required: true schema: type: string format: uuid description: The innovation id. responses: "200": description: OK "400": description: Bad Request "404": description: Not found /v1/{innovationId}/export-requests: post: operationId: v1-innovations-export-requests-create description: Create export request. tags: - "[v1] Innovation Export Requests" parameters: - name: innovationId in: path required: true schema: type: string format: uuid requestBody: required: true content: application/json: schema: type: object properties: requestReason: type: string maxLength: 500 required: - requestReason additionalProperties: false responses: "201": description: Creates a new export request content: application/json: schema: type: object properties: id: type: string format: uuid required: - id additionalProperties: false "400": description: The request is invalid. "401": description: The user is not authenticated. "403": description: The user is not authorized to access this resource. "500": description: An error occurred while processing the request. get: operationId: v1-innovations-export-request-list description: Get export requests from a innovation. tags: - "[v1] Innovation Export Requests" parameters: - name: innovationId in: path required: true schema: type: string format: uuid - name: skip in: query required: false schema: type: integer - name: take in: query required: false schema: type: integer maximum: 100 default: 20 - name: order in: query required: false schema: type: object properties: {} additionalProperties: type: string enum: - ASC - DESC default: default: DESC - name: statuses in: query required: false schema: type: array items: type: string enum: - PENDING - APPROVED - REJECTED - CANCELLED responses: "200": description: Success content: application/json: schema: type: array items: type: object properties: count: type: integer data: type: object properties: id: type: string format: uuid status: type: string enum: - PENDING - APPROVED - REJECTED - CANCELLED createdBy: type: object properties: name: type: string displayRole: type: string displayTeam: type: string required: - name additionalProperties: false createdAt: type: string format: date-time required: - id - createdAt additionalProperties: false required: - count additionalProperties: false "400": description: The request is invalid. "401": description: The user is not authenticated. "403": description: The user is not authorized to access this resource. "500": description: An error occurred while processing the request. /v1/{innovationId}/export-requests/{requestId}: get: operationId: v1-innovations-export-request-info description: Get export request info. tags: - "[v1] Innovation Export Requests" parameters: - name: innovationId in: path required: true schema: type: string format: uuid - name: requestId in: path required: true schema: type: string format: uuid responses: "200": description: Success content: application/json: schema: type: object properties: id: type: string format: uuid status: type: string enum: - PENDING - APPROVED - REJECTED - CANCELLED requestReason: type: string rejectReason: type: string createdBy: type: object properties: name: {} displayRole: type: string displayType: type: string additionalProperties: false createdAt: type: string format: date-time updatedBy: type: object properties: name: type: string required: - name additionalProperties: false updatedAt: type: string format: date-time required: - id - requestReason - createdAt - updatedAt additionalProperties: false "400": description: The request is invalid. "401": description: The user is not authenticated. "403": description: The user is not authorized to access this resource. "500": description: An error occurred while processing the request. patch: operationId: v1-innovations-export-request-update description: Patch export request status tags: - "[v1] Innovation Export Requests" parameters: - name: innovationId in: path required: true schema: type: string format: uuid - name: requestId in: path required: true schema: type: string format: uuid requestBody: required: true content: application/json: schema: type: object properties: status: oneOf: - type: string enum: - CANCELLED x-required: true - type: string enum: - REJECTED - APPROVED x-required: true rejectReason: oneOf: - type: string maxLength: 500 x-required: true additionalProperties: false responses: "204": description: Export request was successfully updated "400": description: The request is invalid. "401": description: The user is not authenticated. "403": description: The user is not authorized to access this resource. "500": description: An error occurred while processing the request. /v1/needing-action: get: operationId: v1-innovations-needing-action description: Get innovations that need action parameters: [] responses: "200": description: Success content: application/json: schema: type: object properties: innovations: type: array items: type: object properties: id: type: string format: uuid name: type: string supportStatus: {} dueDate: type: string format: date-time dueDays: type: integer required: - id - name - supportStatus - dueDate - dueDays additionalProperties: false count: type: integer required: - count additionalProperties: false "400": description: Invalid innovation payload /v1/overdue-assessments: get: operationId: v1-innovations-overdue-assessments description: Get assessment overdue innovations parameters: [] responses: "200": description: Success content: application/json: schema: type: object properties: overdue: type: integer required: - overdue additionalProperties: false "400": description: Invalid innovation payload /v1/search: get: operationId: v1-innovations-search description: Get search innovations list parameters: - name: skip in: query required: false schema: type: integer - name: take in: query required: false schema: type: integer maximum: 100 default: 20 - name: order in: query required: false schema: type: object properties: {} additionalProperties: type: string enum: - ASC - DESC default: default: DESC - name: type in: query required: false schema: type: string enum: - csv - name: careSettings in: query required: false schema: type: array items: type: string enum: - ACADEMIA - ACUTE_TRUSTS_INPATIENT - ACUTE_TRUSTS_OUTPATIENT - AMBULANCE - CARE_HOMES_CARE_SETTING - END_LIFE_CARE - ICS - INDUSTRY - LOCAL_AUTHORITY_EDUCATION - MENTAL_HEALTH - PHARMACY - PRIMARY_CARE - SOCIAL_CARE - THIRD_SECTOR_ORGANISATIONS - URGENT_AND_EMERGENCY - OTHER - name: categories in: query required: false schema: type: array items: type: string enum: - MEDICAL_DEVICE - IN_VITRO_DIAGNOSTIC - PHARMACEUTICAL - DIGITAL - AI - EDUCATION - PPE - MODELS_CARE - ESTATES_FACILITIES - TRAVEL_TRANSPORT - FOOD_NUTRITION - DATA_MONITORING - OTHER - name: dateFilters in: query required: false schema: type: array items: type: object properties: field: type: string enum: - lastAssessmentRequestAt - submittedAt - updatedAt - support.updatedAt startDate: type: string format: date-time endDate: type: string format: date-time required: - field additionalProperties: false - name: diseasesAndConditions in: query required: false schema: type: array items: type: string maxLength: 100 - name: engagingOrganisations in: query required: false schema: type: array items: type: string - name: engagingUnits in: query required: false schema: type: array items: type: string format: uuid - name: fields in: query required: true schema: type: array items: type: string enum: - id - uniqueId - name - status - statusUpdatedAt - groupedStatus - archiveReason - submittedAt - updatedAt - lastAssessmentRequestAt - description - careSettings - categories - countryName - diseasesAndConditions - involvedAACProgrammes - keyHealthInequalities - mainCategory - otherCareSetting - otherCategoryDescription - postcode - areas - assessment.id - assessment.majorVersion - assessment.minorVersion - assessment.isExempt - assessment.assignedTo - assessment.updatedAt - assessment.finishedAt - assessment.maturityLevel - progressAreas - engagingOrganisations - engagingUnits - suggestion.suggestedBy - suggestion.suggestedOn - support.closeReason - support.id - support.isShared - support.status - support.updatedAt - support.updatedBy - lastSupportGivenAt - owner.id - owner.name - owner.companyName - owner.email - statistics.notifications - statistics.tasks - statistics.messages minItems: 1 - name: groupedStatuses in: query required: false schema: type: array items: type: string enum: - RECORD_NOT_SHARED - AWAITING_NEEDS_ASSESSMENT - NEEDS_ASSESSMENT - AWAITING_SUPPORT - RECEIVING_SUPPORT - NO_ACTIVE_SUPPORT - AWAITING_NEEDS_REASSESSMENT - ARCHIVED - name: archiveReason in: query required: false schema: type: array items: type: string enum: - DEVELOP_FURTHER - HAVE_ALL_SUPPORT - DECIDED_NOT_TO_PURSUE - ALREADY_LIVE_NHS - OTHER_DONT_WANT_TO_SAY - SIX_MONTHS_INACTIVITY - OWNER_ACCOUNT_DELETED - LEGACY - name: involvedAACProgrammes in: query required: false schema: type: array items: type: string enum: - No - Health Innovation Network (HIN) - Artificial Intelligence in Health and Care Award - Clinical Entrepreneur Programme (CEP) - Early Access to Medicines Scheme - Innovation and Technology Payment Programme - Innovation for Healthcare Inequalities Programme (InHIP) - Innovative Devices Access Pathway (IDAP) - Innovative Licensing and Access Pathway (ILAP) - NHS Innovation Accelerator (NIA) - NHS Insights Prioritisation Programme - NHS InSites Programme - Pathway Transformation Fund - Patient Entrepreneur Programme (PEP) - Rapid Uptake Products Programme - Small Business Research Initiative for Healthcare (SBRI) - Test beds - name: keyHealthInequalities in: query required: false schema: type: array items: type: string enum: - MATERNITY - SEVER_MENTAL_ILLNESS - CHRONIC_RESPIRATORY_DISEASE - EARLY_CANCER_DIAGNOSIS - HYPERTENSION_CASE_FINDING - NONE - name: locations in: query required: false schema: type: array items: type: string enum: - England - Scotland - Wales - Northern Ireland - Based outside UK - name: search in: query required: false schema: type: string maxLength: 200 nullable: true - name: areas in: query required: false schema: type: array items: type: string enum: - EMERGING_INFECTIOUS_DISEASES - DATA_ANALYTICS_AND_RESEARCH - DIGITALISING_SYSTEM - HOSPITAL_TO_COMMUNITY - IMPROVING_SYSTEM_FLOW - PREVENTIVE_CARE - SUPPORTING_PEOPLE_HEALTH - PATIENT_SAFETY - WORKFORCE_RESOURCE_OPTIMISATION - NET_ZERO_GREENER_INNOVATION - NONE - name: maturityLevels in: query required: false schema: type: array items: type: string enum: - DISCOVERY - ADVANCED - READY - name: progressAreas in: query required: false schema: type: array items: type: string enum: - deploymentCount - ukcaceCertification - dtacCertification - evidenceClinicalOrCare - evidenceRealWorld - assessmentRealWorldValidation - evidenceOfImpact - assessmentEvidenceProveEfficacy - evidenceCostImpact - workingProduct - carbonReductionPlan - htwTerComplete - niceGuidanceComplete - scProcurementRouteIdentified responses: "204": description: Success "400": description: Bad Request "401": description: Unauthorized "403": description: Forbidden "404": description: Not Found "500": description: Internal Server Error /v1/share-with-organisation/{organisationId}: post: operationId: v1-innovations-share-with-organisation description: Share all user innovations with an organisation parameters: - name: organisationId in: path required: true schema: type: string format: uuid responses: "204": description: Success "400": description: Bad Request "401": description: Unauthorized "403": description: Forbidden "404": description: Not Found "500": description: Internal Server Error /v1/{innovationId}/validate: get: description: Get validation information. operationId: v1-innovations-validate parameters: - name: innovationId in: path required: true schema: type: string format: uuid description: Id of the innovation. responses: "200": description: The innovation assessment has been created. content: application/json: schema: type: object properties: validations: type: array items: type: object properties: rule: type: string valid: type: boolean details: {} required: - rule - valid additionalProperties: false additionalProperties: false "400": description: Bad request. "401": description: The user is not authorized to access validation data. "500": description: An error occurred while fetching the validation data. /v1/ir-schema: get: operationId: v1-ir-schema-info description: Get current ir schema tags: - "[v1] IR Schema" responses: "200": description: Success content: application/json: schema: type: object properties: version: type: integer schema: type: object properties: {} additionalProperties: false required: - version - schema additionalProperties: false "400": description: Bad request "401": description: Not authorized "403": description: Forbidden "500": description: An error occurred