diff --git a/pre-api-stg.yaml b/pre-api-stg.yaml index ac5c9f40ed..f9647451d0 100644 --- a/pre-api-stg.yaml +++ b/pre-api-stg.yaml @@ -2354,6 +2354,14 @@ definitions: format: uuid type: string type: object + RecordingVisibility: + properties: + recordingId: + format: uuid + type: string + visibility: + type: string + type: object RecordingsPerCaseReportDTO: description: RecordingsPerCaseReportDTO properties: @@ -4458,6 +4466,102 @@ paths: summary: Search all Recordings tags: - recording-controller + /recordings/visibility: + get: + operationId: recordingVisibility + parameters: + - description: Get a list of recordings that are visible/invisible by exception + enum: + - DEFAULT + - VISIBLE + - INVISIBLE + in: query + name: visible + required: true + type: string + x-example: VISIBLE + - description: The User Id of the User making the request + format: uuid + in: header + name: X-User-Id + required: false + type: string + x-example: 123e4567-e89b-12d3-a456-426614174000 + produces: + - application/octet-stream + responses: + '200': + description: OK + schema: + items: + format: uuid + type: string + type: array + summary: Get recordings that are (in)visible by exception + tags: + - recording-controller + put: + consumes: + - multipart/form-data + operationId: updateRecordingsVisibility + parameters: + - description: The User Id of the User making the request + format: uuid + in: header + name: X-User-Id + required: false + type: string + x-example: 123e4567-e89b-12d3-a456-426614174000 + - format: binary + in: formData + name: file + required: true + type: string + produces: + - application/octet-stream + responses: + '200': + description: OK + schema: + items: + $ref: '#/definitions/RecordingVisibility' + type: array + tags: + - recording-controller + /recordings/visibility/reset: + put: + consumes: + - application/json + operationId: recordingVisibility_1 + parameters: + - description: The User Id of the User making the request + format: uuid + in: header + name: X-User-Id + required: false + type: string + x-example: 123e4567-e89b-12d3-a456-426614174000 + - in: body + name: body + required: true + schema: + items: + format: uuid + type: string + type: array + produces: + - application/octet-stream + responses: + '200': + description: OK + schema: + items: + format: uuid + type: string + type: array + summary: Reset visibility of recordings to default + tags: + - recording-controller '/recordings/{recordingId}': delete: operationId: deleteRecording @@ -4555,6 +4659,32 @@ paths: summary: Revert deletion of a recording tags: - recording-controller + '/recordings/{recordingId}/visibility': + get: + operationId: getRecordingVisibilityById + parameters: + - format: uuid + in: path + name: recordingId + required: true + type: string + - description: The User Id of the User making the request + format: uuid + in: header + name: X-User-Id + required: false + type: string + x-example: 123e4567-e89b-12d3-a456-426614174000 + produces: + - application/octet-stream + responses: + '200': + description: OK + schema: + type: string + summary: Get a Recording Visibility by Id + tags: + - recording-controller /reports-v2/capture-sessions-concurrent: get: operationId: reportConcurrentCaptureSessionsv2 diff --git a/specs/pre-api.json b/specs/pre-api.json index bfa0f29db1..7eb9d3e00a 100644 --- a/specs/pre-api.json +++ b/specs/pre-api.json @@ -1 +1 @@ -{"openapi":"3.0.1","info":{"description":"PRE API - Used for managing courts, bookings, recordings and permissions.","license":{"name":"MIT","url":"https://opensource.org/licenses/MIT"},"title":"Pre Recorded Evidence API","version":"v0.0.1"},"externalDocs":{"description":"README","url":"https://github.com/hmcts/pre-api"},"servers":[{"url":"http://localhost","description":"Generated server url"}],"security":[{"Ocp-Apim-Subscription-Key":[]}],"tags":[{"description":"Monitor and interact","externalDocs":{"description":"Spring Boot Actuator Web API Documentation","url":"https://docs.spring.io/spring-boot/docs/current/actuator-api/html/"},"name":"Actuator"}],"paths":{"/accept-terms-and-conditions/{termsId}":{"post":{"operationId":"acceptTermsAndConditions","parameters":[{"in":"path","name":"termsId","required":true,"schema":{"type":"string","format":"uuid"}},{"description":"The User Id of the User making the request","example":"123e4567-e89b-12d3-a456-426614174000","in":"header","name":"X-User-Id","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK"}},"summary":"Accept terms and conditions for a user","tags":["terms-and-conditions-controller"]}},"/app-terms-and-conditions/latest":{"get":{"operationId":"getLatestTermsForApp","parameters":[{"description":"The User Id of the User making the request","example":"123e4567-e89b-12d3-a456-426614174000","in":"header","name":"X-User-Id","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/TermsAndConditionsDTO"}}},"description":"OK"}},"summary":"Get the latest terms and conditions for the app","tags":["terms-and-conditions-controller"]}},"/audit/{id}":{"put":{"operationId":"putAudit","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string","format":"uuid"}},{"description":"The User Id of the User making the request","example":"123e4567-e89b-12d3-a456-426614174000","in":"header","name":"X-User-Id","required":false,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateAuditDTO"}}},"required":true},"responses":{"200":{"description":"OK"}},"summary":"Create an Audit Entry","tags":["audit-controller"]}},"/b2c/email-verification":{"post":{"operationId":"postEmailVerification","parameters":[{"description":"The User Id of the User making the request","example":"123e4567-e89b-12d3-a456-426614174000","in":"header","name":"X-User-Id","required":false,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VerifyEmailRequestDTO"}}},"required":true},"responses":{"204":{"description":"No Content"}},"summary":"Trigger an email verification email to be sent out via gov notify","tags":["b-2-c-controller"]}},"/bookings":{"get":{"operationId":"searchBookings","parameters":[{"description":"The Case Id to search for","example":"123e4567-e89b-12d3-a456-426614174000","in":"query","name":"caseId","schema":{"type":"string","format":"uuid"}},{"description":"The Case Reference to search for","example":1234567890123456,"in":"query","name":"caseReference","schema":{"type":"string"}},{"description":"The Date the Booking is scheduled for","example":"2024-04-27","in":"query","name":"scheduledFor","schema":{"type":"string","format":"date"}},{"description":"The Participant Id to search for","example":"123e4567-e89b-12d3-a456-426614174000","in":"query","name":"participantId","schema":{"type":"string","format":"uuid"}},{"description":"The Court Id to search for","example":"123e4567-e89b-12d3-a456-426614174000","in":"query","name":"courtId","schema":{"type":"string","format":"uuid"}},{"description":"If the booking has any recordings","in":"query","name":"hasRecordings","schema":{"type":"boolean"}},{"description":"Search bookings with at least one associated capture session with one of the statuses listed","in":"query","name":"captureSessionStatusIn","schema":{"type":"string"}},{"description":"Bookings where the associated capture sessions do not match status or bookings without sessions","in":"query","name":"captureSessionStatusNotIn","schema":{"type":"string"}},{"description":"Sort by","example":"createdAt,desc","in":"query","name":"sort","schema":{"type":"string"}},{"description":"The page number of search result to return","example":0,"in":"query","name":"page","schema":{"type":"integer","format":"int32"}},{"description":"The number of search results to return per page","example":10,"in":"query","name":"size","schema":{"type":"integer","format":"int32"}},{"description":"The User Id of the User making the request","example":"123e4567-e89b-12d3-a456-426614174000","in":"header","name":"X-User-Id","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/PagedModelEntityModelBookingDTO"}}},"description":"OK"}},"summary":"Search All Bookings using Case Id, Case Ref, or Scheduled For","tags":["booking-controller"]}},"/bookings/migrate-case/{bookingId}":{"put":{"operationId":"migrateToDifferentCaseReference","parameters":[{"in":"path","name":"bookingId","required":true,"schema":{"type":"string","format":"uuid"}},{"description":"The User Id of the User making the request","example":"123e4567-e89b-12d3-a456-426614174000","in":"header","name":"X-User-Id","required":false,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateBookingCaseDTO"}}},"required":true},"responses":{"200":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/BookingDTO"}}},"description":"OK"}},"summary":"Migrate a Booking to a different case reference","tags":["booking-controller"]}},"/bookings/{bookingId}":{"delete":{"operationId":"deleteBooking","parameters":[{"in":"path","name":"bookingId","required":true,"schema":{"type":"string","format":"uuid"}},{"description":"The User Id of the User making the request","example":"123e4567-e89b-12d3-a456-426614174000","in":"header","name":"X-User-Id","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK"}},"summary":"Delete a Booking","tags":["booking-controller"]},"get":{"operationId":"getBookingById","parameters":[{"in":"path","name":"bookingId","required":true,"schema":{"type":"string","format":"uuid"}},{"description":"The User Id of the User making the request","example":"123e4567-e89b-12d3-a456-426614174000","in":"header","name":"X-User-Id","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/BookingDTO"}}},"description":"OK"}},"summary":"Get a Booking by Id","tags":["booking-controller"]},"put":{"operationId":"putBooking","parameters":[{"in":"path","name":"bookingId","required":true,"schema":{"type":"string","format":"uuid"}},{"description":"The User Id of the User making the request","example":"123e4567-e89b-12d3-a456-426614174000","in":"header","name":"X-User-Id","required":false,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateBookingDTO"}}},"required":true},"responses":{"200":{"description":"OK"}},"summary":"Create or Update a Booking","tags":["booking-controller"]}},"/bookings/{bookingId}/share":{"get":{"operationId":"getSharedBookingLogs","parameters":[{"in":"path","name":"bookingId","required":true,"schema":{"type":"string","format":"uuid"}},{"description":"The page number of search result to return","example":0,"in":"query","name":"page","schema":{"type":"integer","format":"int32"}},{"description":"The number of search results to return per page","example":10,"in":"query","name":"size","schema":{"type":"integer","format":"int32"}},{"description":"The User Id of the User making the request","example":"123e4567-e89b-12d3-a456-426614174000","in":"header","name":"X-User-Id","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/PagedModelEntityModelShareBookingDTO"}}},"description":"OK"}},"tags":["booking-controller"]},"put":{"operationId":"shareBookingById","parameters":[{"in":"path","name":"bookingId","required":true,"schema":{"type":"string","format":"uuid"}},{"description":"The User Id of the User making the request","example":"123e4567-e89b-12d3-a456-426614174000","in":"header","name":"X-User-Id","required":false,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateShareBookingDTO"}}},"required":true},"responses":{"200":{"description":"OK"}},"summary":"Share a Booking","tags":["booking-controller"]}},"/bookings/{bookingId}/share/{shareId}":{"delete":{"operationId":"deleteShareBookingById","parameters":[{"in":"path","name":"bookingId","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"shareId","required":true,"schema":{"type":"string","format":"uuid"}},{"description":"The User Id of the User making the request","example":"123e4567-e89b-12d3-a456-426614174000","in":"header","name":"X-User-Id","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK"}},"tags":["booking-controller"]}},"/bookings/{bookingId}/undelete":{"post":{"operationId":"undeleteBooking","parameters":[{"in":"path","name":"bookingId","required":true,"schema":{"type":"string","format":"uuid"}},{"description":"The User Id of the User making the request","example":"123e4567-e89b-12d3-a456-426614174000","in":"header","name":"X-User-Id","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK"}},"summary":"Revert deletion of a booking","tags":["booking-controller"]}},"/capture-sessions":{"get":{"operationId":"searchCaptureSessions","parameters":[{"description":"The case reference to search for","example":1234567890123456,"in":"query","name":"caseReference","schema":{"type":"string"}},{"description":"The booking id to search for","example":"123e4567-e89b-12d3-a456-426614174000","in":"query","name":"bookingId","schema":{"type":"string","format":"uuid"}},{"description":"The origin of the capture session to search for","in":"query","name":"origin","schema":{"type":"string","enum":["PRE","VODAFONE","VODAFONE_VISIBLE"]}},{"description":"The recording status to search for","in":"query","name":"recordingStatus","schema":{"type":"string","enum":["STANDBY","INITIALISING","RECORDING","PROCESSING","RECORDING_AVAILABLE","FAILURE","NO_RECORDING"]}},{"description":"The Date the Booking was scheduled for","example":"2024-04-27","in":"query","name":"scheduledFor","schema":{"type":"string","format":"date"}},{"description":"The court id of the capture session to search by","example":"123e4567-e89b-12d3-a456-426614174000","in":"query","name":"courtId","schema":{"type":"string","format":"uuid"}},{"description":"The page number of search result to return","example":0,"in":"query","name":"page","schema":{"type":"integer","format":"int32"}},{"description":"The number of search results to return per page","example":10,"in":"query","name":"size","schema":{"type":"integer","format":"int32"}},{"description":"The User Id of the User making the request","example":"123e4567-e89b-12d3-a456-426614174000","in":"header","name":"X-User-Id","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/PagedModelEntityModelCaptureSessionDTO"}}},"description":"OK"}},"summary":"Search All Capture Sessions","tags":["capture-session-controller"]}},"/capture-sessions/trigger-registration/{captureSessionId}":{"put":{"operationId":"triggerRegistrationForCaptureSession","parameters":[{"in":"path","name":"captureSessionId","required":true,"schema":{"type":"string","format":"uuid"}},{"description":"The User Id of the User making the request","example":"123e4567-e89b-12d3-a456-426614174000","in":"header","name":"X-User-Id","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK"}},"summary":"Register a Capture Session that got stuck in PROCESSING state","tags":["capture-session-controller"]}},"/capture-sessions/{captureSessionId}":{"delete":{"operationId":"deleteCaptureSessionById","parameters":[{"in":"path","name":"captureSessionId","required":true,"schema":{"type":"string","format":"uuid"}},{"description":"The User Id of the User making the request","example":"123e4567-e89b-12d3-a456-426614174000","in":"header","name":"X-User-Id","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK"}},"summary":"Delete Capture Session by Id","tags":["capture-session-controller"]},"get":{"operationId":"getCaptureSessionById","parameters":[{"in":"path","name":"captureSessionId","required":true,"schema":{"type":"string","format":"uuid"}},{"description":"The User Id of the User making the request","example":"123e4567-e89b-12d3-a456-426614174000","in":"header","name":"X-User-Id","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/CaptureSessionDTO"}}},"description":"OK"}},"summary":"Get a Capture Session by Id","tags":["capture-session-controller"]},"put":{"operationId":"upsertCaptureSession","parameters":[{"in":"path","name":"captureSessionId","required":true,"schema":{"type":"string","format":"uuid"}},{"description":"The User Id of the User making the request","example":"123e4567-e89b-12d3-a456-426614174000","in":"header","name":"X-User-Id","required":false,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateCaptureSessionDTO"}}},"required":true},"responses":{"200":{"description":"OK"}},"summary":"Create or Update a Capture Session","tags":["capture-session-controller"]}},"/capture-sessions/{captureSessionId}/undelete":{"post":{"operationId":"undeleteCaptureSession","parameters":[{"in":"path","name":"captureSessionId","required":true,"schema":{"type":"string","format":"uuid"}},{"description":"The User Id of the User making the request","example":"123e4567-e89b-12d3-a456-426614174000","in":"header","name":"X-User-Id","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK"}},"summary":"Revert deletion of a capture session","tags":["capture-session-controller"]}},"/cases":{"get":{"operationId":"getCases","parameters":[{"description":"The case reference to search by","example":1234567890123456,"in":"query","name":"reference","schema":{"type":"string"}},{"description":"The court id to search by","example":"123e4567-e89b-12d3-a456-426614174000","in":"query","name":"courtId","schema":{"type":"string","format":"uuid"}},{"description":"Include cases marked as deleted","in":"query","name":"includeDeleted","schema":{"type":"boolean"}},{"description":"The page number of search result to return","example":0,"in":"query","name":"page","schema":{"type":"integer","format":"int32"}},{"description":"The number of search results to return per page","example":10,"in":"query","name":"size","schema":{"type":"integer","format":"int32"}},{"description":"The User Id of the User making the request","example":"123e4567-e89b-12d3-a456-426614174000","in":"header","name":"X-User-Id","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/PagedModelEntityModelCaseDTO"}}},"description":"OK"}},"summary":"Get a case by reference or court id","tags":["case-controller"]}},"/cases/close-pending":{"post":{"operationId":"closePendingCases","parameters":[{"description":"The User Id of the User making the request","example":"123e4567-e89b-12d3-a456-426614174000","in":"header","name":"X-User-Id","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK"}},"summary":"Close cases in PENDING_CLOSURE state > 29 days","tags":["case-controller"]}},"/cases/{id}":{"delete":{"operationId":"deleteCase","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string","format":"uuid"}},{"description":"The User Id of the User making the request","example":"123e4567-e89b-12d3-a456-426614174000","in":"header","name":"X-User-Id","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK"}},"summary":"Mark a Case as deleted","tags":["case-controller"]},"get":{"operationId":"getCaseById","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string","format":"uuid"}},{"description":"The User Id of the User making the request","example":"123e4567-e89b-12d3-a456-426614174000","in":"header","name":"X-User-Id","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/CaseDTO"}}},"description":"OK"}},"summary":"Get a case by id","tags":["case-controller"]},"put":{"operationId":"putCase","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string","format":"uuid"}},{"description":"The User Id of the User making the request","example":"123e4567-e89b-12d3-a456-426614174000","in":"header","name":"X-User-Id","required":false,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateCaseDTO"}}},"required":true},"responses":{"200":{"description":"OK"}},"summary":"Create or Update a Case","tags":["case-controller"]}},"/cases/{id}/undelete":{"post":{"operationId":"undeleteCase","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string","format":"uuid"}},{"description":"The User Id of the User making the request","example":"123e4567-e89b-12d3-a456-426614174000","in":"header","name":"X-User-Id","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK"}},"summary":"Revert deletion of a case","tags":["case-controller"]}},"/courts":{"get":{"operationId":"searchCourts","parameters":[{"description":"The type of the court to search by","in":"query","name":"courtType","schema":{"type":"string","enum":["CROWN","MAGISTRATE","FAMILY"]}},{"description":"The name of the court to search by","example":"Example","in":"query","name":"name","schema":{"type":"string"}},{"description":"The location code of the court to search by","in":"query","name":"locationCode","schema":{"type":"string"}},{"description":"The region name of the court to search by","example":"London","in":"query","name":"regionName","schema":{"type":"string"}},{"description":"The page number of search result to return","example":0,"in":"query","name":"page","schema":{"type":"integer","format":"int32"}},{"description":"The number of search results to return per page","example":10,"in":"query","name":"size","schema":{"type":"integer","format":"int32"}},{"description":"The User Id of the User making the request","example":"123e4567-e89b-12d3-a456-426614174000","in":"header","name":"X-User-Id","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/PagedModelEntityModelCourtDTO"}}},"description":"OK"}},"summary":"Search for Courts by court type, name, location code or region name","tags":["court-controller"]}},"/courts/email":{"post":{"operationId":"updateCourtEmailAddresses","parameters":[{"description":"The User Id of the User making the request","example":"123e4567-e89b-12d3-a456-426614174000","in":"header","name":"X-User-Id","required":false,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"required":["file"],"type":"object","properties":{"file":{"type":"string","format":"binary"}}}}}},"responses":{"200":{"content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/CourtEmailDTO"}}}},"description":"OK"}},"tags":["court-controller"]}},"/courts/{courtId}":{"get":{"operationId":"getCourtById","parameters":[{"in":"path","name":"courtId","required":true,"schema":{"type":"string","format":"uuid"}},{"description":"The User Id of the User making the request","example":"123e4567-e89b-12d3-a456-426614174000","in":"header","name":"X-User-Id","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/CourtDTO"}}},"description":"OK"}},"summary":"Get a Court by Id","tags":["court-controller"]},"put":{"operationId":"putCourt","parameters":[{"in":"path","name":"courtId","required":true,"schema":{"type":"string","format":"uuid"}},{"description":"The User Id of the User making the request","example":"123e4567-e89b-12d3-a456-426614174000","in":"header","name":"X-User-Id","required":false,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateCourtDTO"}}},"required":true},"responses":{"200":{"description":"OK"}},"summary":"Create or Update a Court","tags":["court-controller"]}},"/edits":{"get":{"operationId":"searchEdits","parameters":[{"description":"The source recording's id to search by","example":"123e4567-e89b-12d3-a456-426614174000","in":"query","name":"sourceRecordingId","schema":{"type":"string","format":"uuid"}},{"description":"The date of last modification to search after","example":"2024-04-27","in":"query","name":"lastModifiedAfter","schema":{"type":"string","format":"date"}},{"description":"The date of last modification to search before","example":"2024-04-27","in":"query","name":"lastModifiedBefore","schema":{"type":"string","format":"date"}},{"description":"Sort by","example":"createdAt,desc","in":"query","name":"sort","schema":{"type":"string"}},{"description":"The page number of search result to return","example":0,"in":"query","name":"page","schema":{"type":"integer","format":"int32"}},{"description":"The number of search results to return per page","example":10,"in":"query","name":"size","schema":{"type":"integer","format":"int32"}},{"description":"The User Id of the User making the request","example":"123e4567-e89b-12d3-a456-426614174000","in":"header","name":"X-User-Id","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/PagedModelEntityModelEditRequestDTO"}}},"description":"OK"}},"tags":["edit-controller"]}},"/edits/from-csv/{sourceRecordingId}":{"post":{"operationId":"createEditFromCsv","parameters":[{"in":"path","name":"sourceRecordingId","required":true,"schema":{"type":"string","format":"uuid"}},{"description":"The User Id of the User making the request","example":"123e4567-e89b-12d3-a456-426614174000","in":"header","name":"X-User-Id","required":false,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"required":["file"],"type":"object","properties":{"file":{"type":"string","format":"binary"}}}}}},"responses":{"200":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/EditRequestDTO"}}},"description":"OK"}},"tags":["edit-controller"]}},"/edits/{id}":{"delete":{"operationId":"delete","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string","format":"uuid"}},{"description":"The User Id of the User making the request","example":"123e4567-e89b-12d3-a456-426614174000","in":"header","name":"X-User-Id","required":false,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateEditRequestDTO"}}},"required":true},"responses":{"200":{"description":"OK"}},"tags":["edit-controller"]},"get":{"operationId":"getEditRequestById","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string","format":"uuid"}},{"description":"The User Id of the User making the request","example":"123e4567-e89b-12d3-a456-426614174000","in":"header","name":"X-User-Id","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/EditRequestDTO"}}},"description":"OK"}},"tags":["edit-controller"]},"put":{"operationId":"upsertEditRequest","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string","format":"uuid"}},{"description":"The User Id of the User making the request","example":"123e4567-e89b-12d3-a456-426614174000","in":"header","name":"X-User-Id","required":false,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateEditRequestDTO"}}},"required":true},"responses":{"200":{"description":"OK"}},"tags":["edit-controller"]}},"/health":{"get":{"operationId":"health","parameters":[{"description":"The User Id of the User making the request","example":"123e4567-e89b-12d3-a456-426614174000","in":"header","name":"X-User-Id","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}},"application/vnd.spring-boot.actuator.v2+json":{"schema":{"type":"object"}},"application/vnd.spring-boot.actuator.v3+json":{"schema":{"type":"object"}}},"description":"OK"}},"summary":"Actuator web endpoint 'health'","tags":["Actuator"]}},"/invites":{"get":{"operationId":"searchInvites","parameters":[{"description":"The first name of the user to search by","in":"query","name":"firstName","schema":{"type":"string"}},{"description":"The last name of the user to search by","in":"query","name":"lastName","schema":{"type":"string"}},{"description":"The email of the user to search by","example":"example@example.com","in":"query","name":"email","schema":{"type":"string"}},{"description":"The organisation of the user to search by","in":"query","name":"organisation","schema":{"type":"string"}},{"description":"The access status of the user to search by","in":"query","name":"status","schema":{"type":"string","enum":["INVITATION_SENT","REGISTERED","ACTIVE","INACTIVE"]}},{"description":"The page number of search result to return","example":0,"in":"query","name":"page","schema":{"type":"integer","format":"int32"}},{"description":"The number of search results to return per page","example":10,"in":"query","name":"size","schema":{"type":"integer","format":"int32"}},{"description":"The User Id of the User making the request","example":"123e4567-e89b-12d3-a456-426614174000","in":"header","name":"X-User-Id","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/PagedModelEntityModelInviteDTO"}}},"description":"OK"}},"summary":"Search for Invites by first name, last name, email or organisation","tags":["invite-controller"]}},"/invites/redeem":{"post":{"operationId":"redeemInvite","parameters":[{"description":"The email of the user to redeem the invite for","example":"example@example.com","in":"query","name":"email","required":true,"schema":{"type":"string"}},{"description":"The User Id of the User making the request","example":"123e4567-e89b-12d3-a456-426614174000","in":"header","name":"X-User-Id","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK"}},"summary":"Redeem an invite","tags":["invite-controller"]}},"/invites/{userId}":{"delete":{"operationId":"deleteInvite","parameters":[{"in":"path","name":"userId","required":true,"schema":{"type":"string","format":"uuid"}},{"description":"The User Id of the User making the request","example":"123e4567-e89b-12d3-a456-426614174000","in":"header","name":"X-User-Id","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK"}},"summary":"Delete the user with invitation sent status","tags":["invite-controller"]},"get":{"operationId":"getInviteById","parameters":[{"in":"path","name":"userId","required":true,"schema":{"type":"string","format":"uuid"}},{"description":"The User Id of the User making the request","example":"123e4567-e89b-12d3-a456-426614174000","in":"header","name":"X-User-Id","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/InviteDTO"}}},"description":"OK"}},"summary":"Get an invite by user id","tags":["invite-controller"]},"put":{"operationId":"putInvite","parameters":[{"in":"path","name":"userId","required":true,"schema":{"type":"string","format":"uuid"}},{"description":"The User Id of the User making the request","example":"123e4567-e89b-12d3-a456-426614174000","in":"header","name":"X-User-Id","required":false,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateInviteDTO"}}},"required":true},"responses":{"200":{"description":"OK"}},"summary":"Create a portal access user and invite them","tags":["invite-controller"]}},"/media-service/assets":{"get":{"operationId":"getAssets","parameters":[{"description":"The User Id of the User making the request","example":"123e4567-e89b-12d3-a456-426614174000","in":"header","name":"X-User-Id","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AssetDTO"}}}},"description":"OK"}},"summary":"Get all media service assets","tags":["media-service-controller"]}},"/media-service/assets/{assetName}":{"get":{"operationId":"getAssetsByName","parameters":[{"in":"path","name":"assetName","required":true,"schema":{"type":"string"}},{"description":"The User Id of the User making the request","example":"123e4567-e89b-12d3-a456-426614174000","in":"header","name":"X-User-Id","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/AssetDTO"}}},"description":"OK"}},"summary":"Get a media service asset by name","tags":["media-service-controller"]}},"/media-service/blob/{containerName}":{"get":{"operationId":"checkBlobExists","parameters":[{"in":"path","name":"containerName","required":true,"schema":{"type":"string"}},{"description":"The User Id of the User making the request","example":"123e4567-e89b-12d3-a456-426614174000","in":"header","name":"X-User-Id","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"content":{"*/*":{"schema":{"type":"boolean"}}},"description":"OK"}},"summary":"Checks if a container contains the .ism file. 204 on success, 404 on failure.","tags":["media-service-controller"]}},"/media-service/generate-asset":{"post":{"operationId":"generateAsset","parameters":[{"description":"The User Id of the User making the request","example":"123e4567-e89b-12d3-a456-426614174000","in":"header","name":"X-User-Id","required":false,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerateAssetDTO"}}},"required":true},"responses":{"200":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/GenerateAssetResponseDTO"}}},"description":"OK"}},"summary":"LEGACY - Given a source & destination, this endpoint will generate a streaming asset for a given mp4","tags":["media-service-controller"]}},"/media-service/health":{"get":{"operationId":"mediaServiceHealth","parameters":[{"description":"The User Id of the User making the request","example":"123e4567-e89b-12d3-a456-426614174000","in":"header","name":"X-User-Id","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"content":{"*/*":{"schema":{"type":"string"}}},"description":"OK"}},"summary":"Check the status of the media service connection","tags":["media-service-controller"]}},"/media-service/live-event/check/{captureSessionId}":{"post":{"operationId":"checkStream","parameters":[{"in":"path","name":"captureSessionId","required":true,"schema":{"type":"string","format":"uuid"}},{"description":"The User Id of the User making the request","example":"123e4567-e89b-12d3-a456-426614174000","in":"header","name":"X-User-Id","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/CaptureSessionDTO"}}},"description":"OK"}},"summary":"Check stream has started","tags":["media-service-controller"]}},"/media-service/live-event/end/{captureSessionId}":{"put":{"operationId":"stopLiveEvent","parameters":[{"in":"path","name":"captureSessionId","required":true,"schema":{"type":"string","format":"uuid"}},{"description":"The User Id of the User making the request","example":"123e4567-e89b-12d3-a456-426614174000","in":"header","name":"X-User-Id","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/CaptureSessionDTO"}}},"description":"OK"}},"summary":"Stop a live event","tags":["media-service-controller"]}},"/media-service/live-event/start/{captureSessionId}":{"put":{"operationId":"startLiveEvent","parameters":[{"in":"path","name":"captureSessionId","required":true,"schema":{"type":"string","format":"uuid"}},{"description":"The User Id of the User making the request","example":"123e4567-e89b-12d3-a456-426614174000","in":"header","name":"X-User-Id","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/CaptureSessionDTO"}}},"description":"OK"}},"summary":"Start a live event","tags":["media-service-controller"]}},"/media-service/live-events":{"get":{"operationId":"getLiveEvents","parameters":[{"description":"The User Id of the User making the request","example":"123e4567-e89b-12d3-a456-426614174000","in":"header","name":"X-User-Id","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/LiveEventDTO"}}}},"description":"OK"}},"summary":"Get a list of media service live events","tags":["media-service-controller"]}},"/media-service/live-events/{liveEventName}":{"get":{"operationId":"getLiveEventsByName","parameters":[{"in":"path","name":"liveEventName","required":true,"schema":{"type":"string"}},{"description":"The User Id of the User making the request","example":"123e4567-e89b-12d3-a456-426614174000","in":"header","name":"X-User-Id","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/LiveEventDTO"}}},"description":"OK"}},"summary":"Get a media service live event by name","tags":["media-service-controller"]}},"/media-service/streaming-locator/live-event/{captureSessionId}":{"put":{"operationId":"playLiveEvent","parameters":[{"in":"path","name":"captureSessionId","required":true,"schema":{"type":"string","format":"uuid"}},{"description":"The User Id of the User making the request","example":"123e4567-e89b-12d3-a456-426614174000","in":"header","name":"X-User-Id","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/CaptureSessionDTO"}}},"description":"OK"}},"summary":"Play a live event","tags":["media-service-controller"]}},"/media-service/vod":{"get":{"operationId":"getVod","parameters":[{"in":"query","name":"recordingId","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"query","name":"mediaService","required":false,"schema":{"type":"string"}},{"description":"The User Id of the User making the request","example":"123e4567-e89b-12d3-a456-426614174000","in":"header","name":"X-User-Id","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/PlaybackDTO"}}},"description":"OK"}},"tags":["media-service-controller"]}},"/portal-terms-and-conditions/latest":{"get":{"operationId":"getLatestTermsForPortal","parameters":[{"description":"The User Id of the User making the request","example":"123e4567-e89b-12d3-a456-426614174000","in":"header","name":"X-User-Id","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/TermsAndConditionsDTO"}}},"description":"OK"}},"summary":"Get the latest terms and conditions for the portal","tags":["terms-and-conditions-controller"]}},"/recordings":{"get":{"operationId":"getRecordings","parameters":[{"description":"Partial string of the recording id to search by","example":"123e4567-e89b-12d3-a456-426614174000","in":"query","name":"id","schema":{"type":"string"}},{"description":"The capture session to search by","example":"123e4567-e89b-12d3-a456-426614174000","in":"query","name":"captureSessionId","schema":{"type":"string","format":"uuid"}},{"description":"The parent recording to search by","example":"123e4567-e89b-12d3-a456-426614174000","in":"query","name":"parentRecordingId","schema":{"type":"string","format":"uuid"}},{"description":"The participant to search by","example":"123e4567-e89b-12d3-a456-426614174000","in":"query","name":"participantId","schema":{"type":"string","format":"uuid"}},{"description":"The name of a witness to search by","in":"query","name":"witnessName","schema":{"type":"string"}},{"description":"The name of a defendant to search by","in":"query","name":"defendantName","schema":{"type":"string"}},{"description":"The case reference to search by","example":"CASE12345","in":"query","name":"caseReference","schema":{"type":"string"}},{"description":"The Date the recording's capture session was started at","example":"2024-04-27","in":"query","name":"startedAt","schema":{"type":"string","format":"date"}},{"description":"The court to search by","example":"123e4567-e89b-12d3-a456-426614174000","in":"query","name":"courtId","schema":{"type":"string","format":"uuid"}},{"description":"Include recordings marked as deleted","in":"query","name":"includeDeleted","schema":{"type":"boolean"}},{"description":"The version number to search by","in":"query","name":"version","schema":{"type":"integer","format":"int32"}},{"description":"The case status to search by","in":"query","name":"caseOpen","schema":{"type":"boolean"}},{"description":"Sort by","example":"createdAt,desc","in":"query","name":"sort","schema":{"type":"string"}},{"description":"The page number of search result to return","example":0,"in":"query","name":"page","schema":{"type":"integer","format":"int32"}},{"description":"The number of search results to return per page","example":10,"in":"query","name":"size","schema":{"type":"integer","format":"int32"}},{"description":"The User Id of the User making the request","example":"123e4567-e89b-12d3-a456-426614174000","in":"header","name":"X-User-Id","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/PagedModelEntityModelRecordingDTO"}}},"description":"OK"}},"summary":"Search all Recordings","tags":["recording-controller"]}},"/recordings/{recordingId}":{"delete":{"operationId":"deleteRecording","parameters":[{"in":"path","name":"recordingId","required":true,"schema":{"type":"string","format":"uuid"}},{"description":"The User Id of the User making the request","example":"123e4567-e89b-12d3-a456-426614174000","in":"header","name":"X-User-Id","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK"}},"summary":"Delete a Recording","tags":["recording-controller"]},"get":{"operationId":"getRecordingById","parameters":[{"in":"path","name":"recordingId","required":true,"schema":{"type":"string","format":"uuid"}},{"description":"The User Id of the User making the request","example":"123e4567-e89b-12d3-a456-426614174000","in":"header","name":"X-User-Id","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/RecordingDTO"}}},"description":"OK"}},"summary":"Get a Recording by Id","tags":["recording-controller"]},"put":{"operationId":"putRecordings","parameters":[{"in":"path","name":"recordingId","required":true,"schema":{"type":"string","format":"uuid"}},{"description":"The User Id of the User making the request","example":"123e4567-e89b-12d3-a456-426614174000","in":"header","name":"X-User-Id","required":false,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateRecordingDTO"}}},"required":true},"responses":{"200":{"description":"OK"}},"summary":"Create or Update a Recording","tags":["recording-controller"]}},"/recordings/{recordingId}/undelete":{"post":{"operationId":"undeleteRecording","parameters":[{"in":"path","name":"recordingId","required":true,"schema":{"type":"string","format":"uuid"}},{"description":"The User Id of the User making the request","example":"123e4567-e89b-12d3-a456-426614174000","in":"header","name":"X-User-Id","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK"}},"summary":"Revert deletion of a recording","tags":["recording-controller"]}},"/reports-v2/capture-sessions-concurrent":{"get":{"operationId":"reportConcurrentCaptureSessionsv2","parameters":[{"description":"The User Id of the User making the request","example":"123e4567-e89b-12d3-a456-426614174000","in":"header","name":"X-User-Id","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ConcurrentCaptureSessionReportDTOV2"}}}},"description":"OK"}},"tags":["report-controller"]}},"/reports-v2/completed-capture-sessions":{"get":{"operationId":"reportCompletedCaptureSessions_1","parameters":[{"description":"The User Id of the User making the request","example":"123e4567-e89b-12d3-a456-426614174000","in":"header","name":"X-User-Id","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/CompletedCaptureSessionReportDTOV2"}}}},"description":"OK"}},"summary":"Get a report on capture sessions with available recordings v2","tags":["report-controller"]}},"/reports-v2/edits":{"get":{"operationId":"reportEdits_1","parameters":[{"description":"The User Id of the User making the request","example":"123e4567-e89b-12d3-a456-426614174000","in":"header","name":"X-User-Id","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/EditReportDTOV2"}}}},"description":"OK"}},"summary":"Get a report on recordings edits v2","tags":["report-controller"]}},"/reports-v2/playback":{"get":{"operationId":"reportPlayback_1","parameters":[{"description":"The source of the playback. Only accepts PORTAL, APPLICATION or null","in":"query","name":"source","required":false,"schema":{"type":"string","enum":["APPLICATION","PORTAL","ADMIN","AUTO"]}},{"description":"The User Id of the User making the request","example":"123e4567-e89b-12d3-a456-426614174000","in":"header","name":"X-User-Id","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PlaybackReportDTOV2"}}}},"description":"OK"}},"summary":"Get report on playback by playback source (PORTAL, APPLICATION) v2","tags":["report-controller"]}},"/reports-v2/recording-participants":{"get":{"operationId":"reportRecordingParticipants_1","parameters":[{"description":"The User Id of the User making the request","example":"123e4567-e89b-12d3-a456-426614174000","in":"header","name":"X-User-Id","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/RecordingParticipantsReportDTO"}}}},"description":"OK"}},"summary":"Get report on participants and the recordings they are part of v2","tags":["report-controller"]}},"/reports-v2/recordings-per-case":{"get":{"operationId":"reportRecordingsPerCase_1","parameters":[{"description":"The User Id of the User making the request","example":"123e4567-e89b-12d3-a456-426614174000","in":"header","name":"X-User-Id","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/RecordingsPerCaseReportDTOV2"}}}},"description":"OK"}},"summary":"Get the number of completed capture sessions for each case v2","tags":["report-controller"]}},"/reports-v2/schedules":{"get":{"operationId":"reportSchedules_1","parameters":[{"description":"The User Id of the User making the request","example":"123e4567-e89b-12d3-a456-426614174000","in":"header","name":"X-User-Id","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ScheduleReportDTOV2"}}}},"description":"OK"}},"summary":"Get a list of completed capture sessions with booking details v2","tags":["report-controller"]}},"/reports-v2/share-bookings-removed":{"get":{"operationId":"reportShareBookingRemoved_1","parameters":[{"description":"The User Id of the User making the request","example":"123e4567-e89b-12d3-a456-426614174000","in":"header","name":"X-User-Id","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AccessRemovedReportDTOV2"}}}},"description":"OK"}},"summary":"Get report on booking share removal v2","tags":["report-controller"]}},"/reports-v2/shared-bookings":{"get":{"operationId":"reportBookingsShared_1","parameters":[{"description":"The court id to search by","example":"123e4567-e89b-12d3-a456-426614174000","in":"query","name":"courtId","schema":{"type":"string","format":"uuid"}},{"description":"The booking id to search by","example":"123e4567-e89b-12d3-a456-426614174000","in":"query","name":"bookingId","schema":{"type":"string","format":"uuid"}},{"description":"The id of the user the booking is shared with to search by","example":"123e4567-e89b-12d3-a456-426614174000","in":"query","name":"sharedWithId","schema":{"type":"string","format":"uuid"}},{"description":"The email of the user the booking is shared with to search by","example":"example@example.com","in":"query","name":"sharedWithEmail","schema":{"type":"string"}},{"description":"The shares must be active (not deleted) then true, otherwise false","example":true,"in":"query","name":"onlyActive","schema":{"type":"boolean"}},{"description":"The User Id of the User making the request","example":"123e4567-e89b-12d3-a456-426614174000","in":"header","name":"X-User-Id","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SharedReportDTOV2"}}}},"description":"OK"}},"summary":"Get a report on the bookings that have been shared v2","tags":["report-controller"]}},"/reports-v2/user-full-access-report":{"get":{"operationId":"reportUserFullAccess","parameters":[{"description":"The User Id of the User making the request","example":"123e4567-e89b-12d3-a456-426614174000","in":"header","name":"X-User-Id","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/UserAccessReportDTO"}}}},"description":"OK"}},"summary":"Get full report on app users","tags":["report-controller"]}},"/reports-v2/user-full-access-report-csv":{"get":{"operationId":"reportUserFullAccessCsv","parameters":[{"description":"The User Id of the User making the request","example":"123e4567-e89b-12d3-a456-426614174000","in":"header","name":"X-User-Id","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"content":{"text/csv":{"schema":{"type":"string","format":"byte"}}},"description":"OK"}},"summary":"Get full report on app users in CSV format","tags":["report-controller"]}},"/reports-v2/user-primary-courts":{"get":{"operationId":"reportUserPrimaryCourts_1","parameters":[{"description":"The User Id of the User making the request","example":"123e4567-e89b-12d3-a456-426614174000","in":"header","name":"X-User-Id","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/UserPrimaryCourtReportDTO"}}}},"description":"OK"}},"summary":"Get report on app users and their primary courts v2","tags":["report-controller"]}},"/reports-v2/user-recording-playback":{"get":{"operationId":"userRecordingPlaybackReport","parameters":[{"description":"The User Id of the User making the request","example":"123e4567-e89b-12d3-a456-426614174000","in":"header","name":"X-User-Id","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/UserRecordingPlaybackReportDTOV2"}}}},"description":"OK"}},"summary":"Get report on playback by playback for all sources v2","tags":["report-controller"]}},"/reports/capture-sessions-concurrent":{"get":{"operationId":"reportConcurrentCaptureSessions","parameters":[{"description":"The User Id of the User making the request","example":"123e4567-e89b-12d3-a456-426614174000","in":"header","name":"X-User-Id","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ConcurrentCaptureSessionReportDTO"}}}},"description":"OK"}},"tags":["legacy-report-controller"]}},"/reports/completed-capture-sessions":{"get":{"operationId":"reportCompletedCaptureSessions","parameters":[{"description":"The User Id of the User making the request","example":"123e4567-e89b-12d3-a456-426614174000","in":"header","name":"X-User-Id","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/CompletedCaptureSessionReportDTO"}}}},"description":"OK"}},"summary":"Get a report on capture sessions with available recordings","tags":["legacy-report-controller"]}},"/reports/edits":{"get":{"operationId":"reportEdits","parameters":[{"description":"The User Id of the User making the request","example":"123e4567-e89b-12d3-a456-426614174000","in":"header","name":"X-User-Id","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/EditReportDTO"}}}},"description":"OK"}},"summary":"Get a report on recordings edits","tags":["legacy-report-controller"]}},"/reports/playback":{"get":{"operationId":"reportPlayback","parameters":[{"description":"The source of the playback. Only accepts PORTAL, APPLICATION or null","in":"query","name":"source","required":false,"schema":{"type":"string","enum":["APPLICATION","PORTAL","ADMIN","AUTO"]}},{"description":"The User Id of the User making the request","example":"123e4567-e89b-12d3-a456-426614174000","in":"header","name":"X-User-Id","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PlaybackReportDTO"}}}},"description":"OK"}},"summary":"Get report on playback by playback source (PORTAL, APPLICATION)","tags":["legacy-report-controller"]}},"/reports/recording-participants":{"get":{"operationId":"reportRecordingParticipants","parameters":[{"description":"The User Id of the User making the request","example":"123e4567-e89b-12d3-a456-426614174000","in":"header","name":"X-User-Id","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/RecordingParticipantsReportDTO"}}}},"description":"OK"}},"summary":"Get report on participants and the recordings they are part of","tags":["legacy-report-controller"]}},"/reports/recordings-per-case":{"get":{"operationId":"reportRecordingsPerCase","parameters":[{"description":"The User Id of the User making the request","example":"123e4567-e89b-12d3-a456-426614174000","in":"header","name":"X-User-Id","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/RecordingsPerCaseReportDTO"}}}},"description":"OK"}},"summary":"Get the number of completed capture sessions for each case","tags":["legacy-report-controller"]}},"/reports/schedules":{"get":{"operationId":"reportSchedules","parameters":[{"description":"The User Id of the User making the request","example":"123e4567-e89b-12d3-a456-426614174000","in":"header","name":"X-User-Id","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ScheduleReportDTO"}}}},"description":"OK"}},"summary":"Get a list of completed capture sessions with booking details","tags":["legacy-report-controller"]}},"/reports/share-bookings-removed":{"get":{"operationId":"reportShareBookingRemoved","parameters":[{"description":"The User Id of the User making the request","example":"123e4567-e89b-12d3-a456-426614174000","in":"header","name":"X-User-Id","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AccessRemovedReportDTO"}}}},"description":"OK"}},"summary":"Get report on booking share removal","tags":["legacy-report-controller"]}},"/reports/shared-bookings":{"get":{"operationId":"reportBookingsShared","parameters":[{"description":"The court id to search by","example":"123e4567-e89b-12d3-a456-426614174000","in":"query","name":"courtId","schema":{"type":"string","format":"uuid"}},{"description":"The booking id to search by","example":"123e4567-e89b-12d3-a456-426614174000","in":"query","name":"bookingId","schema":{"type":"string","format":"uuid"}},{"description":"The id of the user the booking is shared with to search by","example":"123e4567-e89b-12d3-a456-426614174000","in":"query","name":"sharedWithId","schema":{"type":"string","format":"uuid"}},{"description":"The email of the user the booking is shared with to search by","example":"example@example.com","in":"query","name":"sharedWithEmail","schema":{"type":"string"}},{"description":"The User Id of the User making the request","example":"123e4567-e89b-12d3-a456-426614174000","in":"header","name":"X-User-Id","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SharedReportDTO"}}}},"description":"OK"}},"summary":"Get a report on the bookings that have been shared","tags":["legacy-report-controller"]}},"/reports/user-primary-courts":{"get":{"operationId":"reportUserPrimaryCourts","parameters":[{"description":"The User Id of the User making the request","example":"123e4567-e89b-12d3-a456-426614174000","in":"header","name":"X-User-Id","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/UserPrimaryCourtReportDTO"}}}},"description":"OK"}},"summary":"Get report on app users: their first and last name, their role, their active status, their primary court and their last access time (if available)","tags":["legacy-report-controller"]}},"/roles":{"get":{"operationId":"getRoles","parameters":[{"description":"The User Id of the User making the request","example":"123e4567-e89b-12d3-a456-426614174000","in":"header","name":"X-User-Id","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/RoleDTO"}}}},"description":"OK"}},"summary":"Get a list of all roles","tags":["role-controller"]}},"/users":{"get":{"operationId":"getUsers","parameters":[{"description":"The name of the user to search by","in":"query","name":"name","schema":{"type":"string"}},{"description":"The email of the user to search by","example":"example@example.com","in":"query","name":"email","schema":{"type":"string"}},{"description":"The organisation of the user to search by","in":"query","name":"organisation","schema":{"type":"string"}},{"description":"The court id of the user to search by","example":"123e4567-e89b-12d3-a456-426614174000","in":"query","name":"courtId","schema":{"type":"string","format":"uuid"}},{"description":"The role id of the user to search by","example":"123e4567-e89b-12d3-a456-426614174000","in":"query","name":"roleId","schema":{"type":"string","format":"uuid"}},{"description":"Get Users by their access type","in":"query","name":"accessType","schema":{"type":"string","enum":["PORTAL","APP"]}},{"description":"Include users marked as deleted","in":"query","name":"includeDeleted","schema":{"type":"boolean"}},{"description":"Filter by users with active app access","in":"query","name":"appActive","schema":{"type":"boolean"}},{"description":"The page number of search result to return","example":0,"in":"query","name":"page","schema":{"type":"integer","format":"int32"}},{"description":"The number of search results to return per page","example":10,"in":"query","name":"size","schema":{"type":"integer","format":"int32"}},{"description":"The User Id of the User making the request","example":"123e4567-e89b-12d3-a456-426614174000","in":"header","name":"X-User-Id","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/PagedModelEntityModelUserDTO"}}},"description":"OK"}},"summary":"Search for Users by first name, last name, email, organisation, court or role","tags":["user-controller"]}},"/users/by-email/{email}":{"get":{"operationId":"getUserAccessByEmail","parameters":[{"in":"path","name":"email","required":true,"schema":{"type":"string"}},{"description":"The User Id of the User making the request","example":"123e4567-e89b-12d3-a456-426614174000","in":"header","name":"X-User-Id","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/AccessDTO"}}},"description":"OK"}},"summary":"Get a User's App Access by Email","tags":["user-controller"]}},"/users/{userId}":{"delete":{"operationId":"deleteUser","parameters":[{"in":"path","name":"userId","required":true,"schema":{"type":"string","format":"uuid"}},{"description":"The User Id of the User making the request","example":"123e4567-e89b-12d3-a456-426614174000","in":"header","name":"X-User-Id","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK"}},"summary":"Delete a User","tags":["user-controller"]},"get":{"operationId":"getUserById","parameters":[{"in":"path","name":"userId","required":true,"schema":{"type":"string","format":"uuid"}},{"description":"The User Id of the User making the request","example":"123e4567-e89b-12d3-a456-426614174000","in":"header","name":"X-User-Id","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/UserDTO"}}},"description":"OK"}},"summary":"Get a User by Id","tags":["user-controller"]},"put":{"operationId":"putUser","parameters":[{"in":"path","name":"userId","required":true,"schema":{"type":"string","format":"uuid"}},{"description":"The User Id of the User making the request","example":"123e4567-e89b-12d3-a456-426614174000","in":"header","name":"X-User-Id","required":false,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateUserDTO"}}},"required":true},"responses":{"200":{"description":"OK"}},"summary":"Create or Update a User","tags":["user-controller"]}},"/users/{userId}/undelete":{"post":{"operationId":"undeleteUser","parameters":[{"in":"path","name":"userId","required":true,"schema":{"type":"string","format":"uuid"}},{"description":"The User Id of the User making the request","example":"123e4567-e89b-12d3-a456-426614174000","in":"header","name":"X-User-Id","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK"}},"summary":"Revert deletion of user","tags":["user-controller"]}},"/vf-migration-records":{"get":{"operationId":"getVfMigrationRecords","parameters":[{"description":"The case reference to search for","in":"query","name":"caseReference","schema":{"type":"string"}},{"description":"The witness name to search for","in":"query","name":"witnessName","schema":{"type":"string"}},{"description":"The defendant name to search for","in":"query","name":"defendantName","schema":{"type":"string"}},{"description":"The court id to search for","in":"query","name":"courtId","schema":{"type":"string","format":"uuid"}},{"description":"The court reference to search for","in":"query","name":"courtReference","schema":{"type":"string"}},{"description":"The status to search for","in":"query","name":"status","schema":{"type":"string","enum":["PENDING","SUCCESS","FAILED","READY","SUBMITTED","IGNORED"]}},{"description":"The date the record was created to search from","example":"2024-04-27","in":"query","name":"createDateFrom","schema":{"type":"string","format":"date"}},{"description":"The date the record was created to search to","example":"2024-04-27","in":"query","name":"createDateTo","schema":{"type":"string","format":"date"}},{"description":"Search by a list of reasons","in":"query","name":"reasonIn","schema":{"type":"string"}},{"description":"Search by a list of reasons that should not be included","in":"query","name":"reasonNotIn","schema":{"type":"string"}},{"description":"Sort by","example":"archiveName,desc","in":"query","name":"sort","schema":{"type":"string"}},{"description":"The page number of search result to return","example":0,"in":"query","name":"page","schema":{"type":"integer","format":"int32"}},{"description":"The number of search results to return per page","example":10,"in":"query","name":"size","schema":{"type":"integer","format":"int32"}},{"description":"The User Id of the User making the request","example":"123e4567-e89b-12d3-a456-426614174000","in":"header","name":"X-User-Id","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/PagedModelEntityModelVfMigrationRecordDTO"}}},"description":"OK"}},"summary":"Search all migration records","tags":["vf-migration-controller"]}},"/vf-migration-records/import-assets":{"post":{"operationId":"importVodafoneAssets","parameters":[{"description":"The User Id of the User making the request","example":"123e4567-e89b-12d3-a456-426614174000","in":"header","name":"X-User-Id","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK"}},"summary":"Imports Vodafone for resolbed migration records","tags":["vf-migration-controller"]}},"/vf-migration-records/submit":{"post":{"operationId":"submitMigrationRecords","parameters":[{"description":"The User Id of the User making the request","example":"123e4567-e89b-12d3-a456-426614174000","in":"header","name":"X-User-Id","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK"}},"summary":"Submits resolved migration records and runs import","tags":["vf-migration-controller"]}},"/vf-migration-records/{id}":{"put":{"operationId":"putVfMigrationRecord","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string","format":"uuid"}},{"description":"The User Id of the User making the request","example":"123e4567-e89b-12d3-a456-426614174000","in":"header","name":"X-User-Id","required":false,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateVfMigrationRecordDTO"}}},"required":true},"responses":{"200":{"description":"OK"}},"summary":"Update vf migration record","tags":["vf-migration-controller"]}}},"components":{"schemas":{"AccessDTO":{"type":"object","properties":{"app_access":{"uniqueItems":true,"type":"array","description":"AccessAppAccess","items":{"$ref":"#/components/schemas/BaseAppAccessDTO"}},"portal_access":{"uniqueItems":true,"type":"array","description":"AccessPortalAccess","items":{"$ref":"#/components/schemas/PortalAccessDTO"}},"terms_accepted":{"type":"object","additionalProperties":{"type":"boolean","description":"UserTermsAccepted"},"description":"UserTermsAccepted"},"user":{"$ref":"#/components/schemas/BaseUserDTO"}},"description":"AccessDTO"},"AccessRemovedReportDTO":{"type":"object","properties":{"case_reference":{"type":"string","description":"AccessRemovedReportCaseReference"},"court":{"type":"string","description":"AccessRemovedReportCourtName"},"regions":{"uniqueItems":true,"type":"array","description":"AccessRemovedReportRegions","items":{"$ref":"#/components/schemas/RegionDTO"}},"removal_reason":{"type":"string","description":"AccessRemovedReportRemovalReason"},"removed_at":{"type":"string","description":"AccessRemovedReportRemovedAt","format":"date-time"},"user_email":{"type":"string","description":"AccessRemovedReportUserEmail"},"user_full_name":{"type":"string","description":"AccessRemovedReportUserFullName"}},"description":"AccessRemovedReportDTO"},"AccessRemovedReportDTOV2":{"type":"object","properties":{"case_reference":{"type":"string","description":"ReportCaseReference"},"county":{"type":"string","description":"ReportCounty"},"court":{"type":"string","description":"ReportCourt"},"full_name":{"type":"string","description":"AccessRemovedReportUserFullName"},"postcode":{"type":"string","description":"ReportPostcode"},"region":{"type":"string","description":"ReportRegion"},"removed_date":{"type":"string","description":"AccessRemovedReportRemovedDate"},"removed_time":{"type":"string","description":"AccessRemovedReportRemovedTime"},"removed_timezone":{"type":"string","description":"AccessRemovedReportRemovedTimezone"},"user_email":{"type":"string","description":"AccessRemovedReportUserEmail"}},"description":"AccessRemovedReportDTOV2"},"AssetDTO":{"type":"object","properties":{"container":{"type":"string","description":"AssetContainer"},"description":{"type":"string","description":"AssetDescription"},"name":{"type":"string","description":"AssetName"},"storage_account_name":{"type":"string","description":"AssetStorageAccountName"}},"description":"AssetDTO"},"BaseAppAccessDTO":{"type":"object","properties":{"active":{"type":"boolean","description":"AppAccessActive"},"court":{"$ref":"#/components/schemas/CourtDTO"},"created_at":{"type":"string","description":"AppAccessCreatedAt","format":"date-time"},"default_court":{"type":"boolean","description":"AppAccessIsDefaultCourt"},"id":{"type":"string","description":"AppAccessId","format":"uuid"},"last_access":{"type":"string","description":"AppAccessLastAccess","format":"date-time"},"role":{"$ref":"#/components/schemas/RoleDTO"}},"description":"BaseAppAccessDTO"},"BaseUserDTO":{"required":["email","first_name","id","last_name"],"type":"object","properties":{"alternative_email":{"type":"string","format":"email","description":"AlternativeEmail","maxLength":100,"minLength":0},"email":{"type":"string","format":"email","description":"UserEmail","minLength":1},"first_name":{"minLength":1,"type":"string","description":"UserFirstName"},"id":{"type":"string","description":"UserId","format":"uuid"},"last_name":{"minLength":1,"type":"string","description":"UserLastName"},"organisation":{"type":"string","description":"UserOrganisation"},"phone_number":{"type":"string","description":"UserPhoneNumber"}},"description":"BaseUserDTO"},"BookingDTO":{"type":"object","properties":{"capture_sessions":{"type":"array","description":"CaptureSessions","items":{"$ref":"#/components/schemas/CaptureSessionDTO"}},"case_dto":{"$ref":"#/components/schemas/CaseDTO"},"created_at":{"type":"string","description":"BookingCreatedAt","format":"date-time"},"deleted_at":{"type":"string","description":"BookingDeletedAt","format":"date-time"},"id":{"type":"string","description":"BookingId","format":"uuid"},"modified_at":{"type":"string","description":"BookingModifiedAt","format":"date-time"},"participants":{"type":"array","description":"BookingParticipants","items":{"$ref":"#/components/schemas/ParticipantDTO"}},"scheduled_for":{"type":"string","description":"BookingScheduledFor","format":"date-time"},"shares":{"type":"array","description":"BookingShares","items":{"$ref":"#/components/schemas/ShareBookingDTO"}}},"description":"BookingDTO"},"CaptureSessionDTO":{"required":["booking_id","id","origin","status"],"type":"object","properties":{"booking_id":{"type":"string","description":"CreateCaptureSessionBookingId","format":"uuid"},"case_closed_at":{"type":"string","description":"CaptureSessionCaseClosedAt","format":"date-time"},"case_state":{"type":"string","description":"CaptureSessionCaseState","enum":["OPEN","PENDING_CLOSURE","CLOSED"]},"court_name":{"type":"string","description":"RecordingParticipants"},"deleted_at":{"type":"string","description":"CaptureSessionDeletedAt","format":"date-time"},"finished_at":{"type":"string","description":"CreateCaptureSessionFinishedAt","format":"date-time"},"finished_by_user_id":{"type":"string","description":"CreateCaptureSessionFinishedByUserId","format":"uuid"},"id":{"type":"string","description":"CreateCaptureSessionId","format":"uuid"},"ingest_address":{"type":"string","description":"CreateCaptureSessionIngestAddress"},"live_output_url":{"type":"string","description":"CreateCaptureSessionLiveOutputURL"},"origin":{"type":"string","description":"CreateCaptureSessionOrigin","enum":["PRE","VODAFONE","VODAFONE_VISIBLE"]},"started_at":{"type":"string","description":"CreateCaptureSessionStartedAt","format":"date-time"},"started_by_user_id":{"type":"string","description":"CreateCaptureSessionStartedByUserId","format":"uuid"},"status":{"type":"string","description":"CreateCaptureSessionStatus","enum":["STANDBY","INITIALISING","RECORDING","PROCESSING","RECORDING_AVAILABLE","FAILURE","NO_RECORDING"]}},"description":"CaptureSessionDTO"},"CaseDTO":{"type":"object","properties":{"closed_at":{"type":"string","description":"CaseClosedAt","format":"date-time"},"court":{"$ref":"#/components/schemas/CourtDTO"},"created_at":{"type":"string","description":"CaseCreatedAt","format":"date-time"},"deleted_at":{"type":"string","description":"CaseDeletedAt","format":"date-time"},"id":{"type":"string","description":"CaseId","format":"uuid"},"modified_at":{"type":"string","description":"CaseModifiedAt","format":"date-time"},"origin":{"type":"string","description":"CaseOrigin","enum":["PRE","VODAFONE","VODAFONE_VISIBLE"]},"participants":{"type":"array","description":"CaseParticipants","items":{"$ref":"#/components/schemas/ParticipantDTO"}},"reference":{"type":"string","description":"CaseReference"},"state":{"type":"string","description":"CaseState","enum":["OPEN","PENDING_CLOSURE","CLOSED"]},"test":{"type":"boolean","description":"CaseIsTest"}},"description":"CaseDTO"},"CompletedCaptureSessionReportDTO":{"type":"object","properties":{"case_reference":{"type":"string","description":"CompletedCaptureSessionReportCaseReference"},"count_defendants":{"type":"integer","description":"CompletedCaptureSessionReportDefendantCount","format":"int32"},"count_witnesses":{"type":"integer","description":"CompletedCaptureSessionReportWitnessCount","format":"int32"},"court":{"type":"string","description":"CompletedCaptureSessionReportCourtName"},"duration":{"type":"string","description":"CompletedCaptureSessionReportDuration"},"finished_at":{"type":"string","description":"CompletedCaptureSessionReportFinishedAt","format":"date-time"},"recording_status":{"type":"string","description":"CompletedCaptureSessionReportRecordingStatus","enum":["STANDBY","INITIALISING","RECORDING","PROCESSING","RECORDING_AVAILABLE","FAILURE","NO_RECORDING"]},"regions":{"uniqueItems":true,"type":"array","description":"CompletedCaptureSessionReportRegions","items":{"$ref":"#/components/schemas/RegionDTO"}},"scheduled_for":{"type":"string","description":"CompletedCaptureSessionReportBookingScheduledFor","format":"date-time"},"started_at":{"type":"string","description":"CompletedCaptureSessionReportStartedAt","format":"date-time"}},"description":"CompletedCaptureSessionReportDTO"},"CompletedCaptureSessionReportDTOV2":{"type":"object","properties":{"case_reference":{"type":"string","description":"ReportCaseReference"},"county":{"type":"string","description":"ReportCounty"},"court":{"type":"string","description":"ReportCourt"},"defendant":{"type":"integer","description":"CompletedCaptureSessionReportDefendantCount","format":"int32"},"defendant_names":{"type":"string","description":"CompletedCaptureSessionReportDefendantNames"},"finish_time":{"type":"string","description":"CompletedCaptureSessionReportFinishTime"},"postcode":{"type":"string","description":"ReportPostcode"},"recording_date":{"type":"string","description":"CompletedCaptureSessionReportRecordingDate"},"recording_time":{"type":"string","description":"CompletedCaptureSessionReportRecordingTime"},"region":{"type":"string","description":"ReportRegion"},"scheduled_date":{"type":"string","description":"CompletedCaptureSessionReportScheduledDate"},"status":{"type":"string","description":"CompletedCaptureSessionReportStatus","enum":["STANDBY","INITIALISING","RECORDING","PROCESSING","RECORDING_AVAILABLE","FAILURE","NO_RECORDING"]},"timezone":{"type":"string","description":"CompletedCaptureSessionReportTimezone"},"witness":{"type":"integer","description":"CompletedCaptureSessionReportWitnessCount","format":"int32"},"witness_names":{"type":"string","description":"CompletedCaptureSessionReportWitnessNames"}},"description":"CompletedCaptureSessionReportDTOV2"},"ConcurrentCaptureSessionReportDTO":{"type":"object","properties":{"case_reference":{"type":"string","description":"CaptureSessionCaseReference"},"court":{"type":"string","description":"CaptureSessionCourtName"},"duration":{"type":"string","description":"CaptureSessionDuration"},"end_time":{"type":"string","description":"CaptureSessionEndTime","format":"date-time"},"id":{"type":"string","description":"CaptureSessionId","format":"uuid"},"region":{"uniqueItems":true,"type":"array","description":"CaptureSessionRegionName","items":{"$ref":"#/components/schemas/RegionDTO"}},"start_time":{"type":"string","description":"CaptureSessionStartTime","format":"date-time"}},"description":"ConcurrentCaptureSessionReportDTO"},"ConcurrentCaptureSessionReportDTOV2":{"type":"object","properties":{"case_reference":{"type":"string","description":"ReportCaseReference"},"county":{"type":"string","description":"ReportCounty"},"court":{"type":"string","description":"ReportCourt"},"date":{"type":"string","description":"CaptureSessionStartDate"},"duration":{"type":"string","description":"CaptureSessionDuration"},"end_time":{"type":"string","description":"CaptureSessionEndTime"},"postcode":{"type":"string","description":"ReportPostcode"},"region":{"type":"string","description":"ReportRegion"},"start_time":{"type":"string","description":"CaptureSessionStartTime"},"timezone":{"type":"string","description":"CaptureSessionStartTimezone"}},"description":"ConcurrentCaptureSessionReportDTOV2"},"CourtDTO":{"type":"object","properties":{"county":{"type":"string","description":"CourtCounty"},"court_type":{"type":"string","description":"CourtType","enum":["CROWN","MAGISTRATE","FAMILY"]},"group_email":{"type":"string","description":"CourtGroupEmail"},"id":{"type":"string","description":"CourtId","format":"uuid"},"location_code":{"type":"string","description":"CourtLocationCode"},"name":{"type":"string","description":"CourtName"},"postcode":{"type":"string","description":"CourtPostcode"},"regions":{"type":"array","description":"CourtRegions","items":{"$ref":"#/components/schemas/RegionDTO"}}},"description":"CourtDTO"},"CourtEmailDTO":{"type":"object","properties":{"group_email":{"type":"string","description":"CourtGroupEmail"},"name":{"type":"string","description":"CourtName"}},"description":"CourtEmailDTO"},"CreateAppAccessDTO":{"required":["court_id","id","role_id","user_id"],"type":"object","properties":{"active":{"type":"boolean","description":"AppAccessActive"},"court_id":{"type":"string","description":"AppAccessCourtId","format":"uuid"},"default_court":{"type":"boolean","description":"AppAccessIsDefaultCourt"},"id":{"type":"string","description":"AppAccessId","format":"uuid"},"last_active":{"type":"string","description":"AppAccessLastActive","format":"date-time"},"role_id":{"type":"string","description":"AppAccessRoleId","format":"uuid"},"user_id":{"type":"string","description":"AppAccessUserId","format":"uuid"}},"description":"CreateAppAccessDTO"},"CreateAuditDTO":{"required":["id","source"],"type":"object","properties":{"activity":{"type":"string","description":"AuditActivity"},"audit_details":{"$ref":"#/components/schemas/JsonNode"},"category":{"type":"string","description":"AuditCategory"},"functional_area":{"type":"string","description":"AuditFunctionalArea"},"id":{"type":"string","description":"AuditId","format":"uuid"},"source":{"type":"string","description":"AuditLogSource","enum":["APPLICATION","PORTAL","ADMIN","AUTO"]},"table_name":{"type":"string","description":"AuditTableName"},"table_record_id":{"type":"string","description":"AuditTableNameRecordId","format":"uuid"}},"description":"AuditDTO"},"CreateBookingDTO":{"required":["case_id","id","scheduled_for"],"type":"object","properties":{"case_id":{"type":"string","description":"CreateBookingCaseId","format":"uuid"},"id":{"type":"string","description":"CreateBookingId","format":"uuid"},"participants":{"uniqueItems":true,"type":"array","description":"CreateBookingParticipants","items":{"$ref":"#/components/schemas/CreateParticipantDTO"}},"scheduled_for":{"type":"string","description":"CreateBookingScheduledFor","format":"date-time"}},"description":"CreateBookingDTO"},"CreateCaptureSessionDTO":{"required":["booking_id","id","origin","status"],"type":"object","properties":{"booking_id":{"type":"string","description":"CreateCaptureSessionBookingId","format":"uuid"},"finished_at":{"type":"string","description":"CreateCaptureSessionFinishedAt","format":"date-time"},"finished_by_user_id":{"type":"string","description":"CreateCaptureSessionFinishedByUserId","format":"uuid"},"id":{"type":"string","description":"CreateCaptureSessionId","format":"uuid"},"ingest_address":{"type":"string","description":"CreateCaptureSessionIngestAddress"},"live_output_url":{"type":"string","description":"CreateCaptureSessionLiveOutputURL"},"origin":{"type":"string","description":"CreateCaptureSessionOrigin","enum":["PRE","VODAFONE","VODAFONE_VISIBLE"]},"started_at":{"type":"string","description":"CreateCaptureSessionStartedAt","format":"date-time"},"started_by_user_id":{"type":"string","description":"CreateCaptureSessionStartedByUserId","format":"uuid"},"status":{"type":"string","description":"CreateCaptureSessionStatus","enum":["STANDBY","INITIALISING","RECORDING","PROCESSING","RECORDING_AVAILABLE","FAILURE","NO_RECORDING"]}},"description":"CreateCaptureSessionDTO"},"CreateCaseDTO":{"required":["reference"],"type":"object","properties":{"closed_at":{"type":"string","description":"CreateCaseClosedAt","format":"date-time"},"court_id":{"type":"string","description":"CreateCaseCourtId","format":"uuid"},"id":{"type":"string","description":"CreateCaseId","format":"uuid"},"origin":{"type":"string","description":"CreateCaseOrigin","enum":["PRE","VODAFONE","VODAFONE_VISIBLE"]},"participants":{"uniqueItems":true,"type":"array","description":"CaseParticipants","items":{"$ref":"#/components/schemas/CreateParticipantDTO"}},"reference":{"maxLength":13,"minLength":9,"type":"string","description":"CreateCaseReference"},"state":{"type":"string","description":"CreateCaseState","enum":["OPEN","PENDING_CLOSURE","CLOSED"]},"test":{"type":"boolean","description":"CreateCaseIsTest"}},"description":"CreateCaseDTO"},"CreateCourtDTO":{"required":["court_type","id","location_code","name","regions"],"type":"object","properties":{"county":{"type":"string","description":"CreateCourtCounty"},"court_type":{"type":"string","description":"CreateCourtType","enum":["CROWN","MAGISTRATE","FAMILY"]},"group_email":{"type":"string","description":"CreateCourtGroupEmail"},"id":{"type":"string","description":"CreateCourtId","format":"uuid"},"location_code":{"type":"string","description":"CreateCourtLocationCode"},"name":{"type":"string","description":"CreateCourtName"},"postcode":{"pattern":"^[A-Z]{1,2}[0-9][0-9A-Z]? [0-9][A-Z]{2}$","type":"string","description":"CreateCourtPostcode"},"regions":{"maxItems":2147483647,"minItems":1,"type":"array","description":"CreateCourtRegionIds","items":{"type":"string","description":"CreateCourtRegionIds","format":"uuid"}}},"description":"CreateCourtDTO"},"CreateEditRequestDTO":{"required":["id","source_recording_id","status"],"type":"object","properties":{"approved_at":{"type":"string","description":"CreateEditRequestApprovedAt","format":"date-time"},"approved_by":{"maxLength":100,"minLength":0,"type":"string","description":"CreateEditRequestApprovedBy"},"edit_instructions":{"type":"array","description":"CreateEditRequestInstructions","items":{"$ref":"#/components/schemas/EditCutInstructionDTO"}},"force_reencode":{"type":"boolean","description":"Force full-file reencode instead of cut-based editing","default":false},"id":{"type":"string","description":"CreateEditRequestId","format":"uuid"},"jointly_agreed":{"type":"boolean","description":"CreateEditRequestJointlyAgreed"},"rejection_reason":{"maxLength":512,"minLength":0,"type":"string","description":"CreateEditRequestRejectionReason"},"send_notifications":{"type":"boolean","description":"Send notifications when the edited recording becomes available","default":true},"source_recording_id":{"type":"string","description":"CreateEditRequestSourceRecordingId","format":"uuid"},"status":{"type":"string","description":"CreateEditRequestStatus","enum":["DRAFT","SUBMITTED","APPROVED","REJECTED","PENDING","PROCESSING","COMPLETE","ERROR"]}},"description":"CreateEditRequestDTO"},"CreateInviteDTO":{"required":["email","first_name","last_name","user_id"],"type":"object","properties":{"email":{"type":"string","format":"email","description":"InviteEmail","minLength":1},"first_name":{"minLength":1,"type":"string","description":"InviteFirstName"},"last_name":{"minLength":1,"type":"string","description":"InviteLastName"},"organisation":{"type":"string","description":"InviteOrganisation"},"phone":{"type":"string","description":"InvitePhone"},"user_id":{"type":"string","description":"InviteUserId","format":"uuid"}},"description":"CreateInviteDTO"},"CreateParticipantDTO":{"type":"object","properties":{"first_name":{"type":"string","description":"CreateParticipantFirstName"},"id":{"type":"string","description":"CreateParticipantId","format":"uuid"},"last_name":{"type":"string","description":"CreateParticipantLastName"},"participant_type":{"type":"string","description":"CreateParticipantType","enum":["WITNESS","DEFENDANT"]}},"description":"CreateParticipantDTO"},"CreatePortalAccessDTO":{"required":["id","status"],"type":"object","properties":{"id":{"type":"string","description":"PortalAccessId","format":"uuid"},"invited_at":{"type":"string","description":"PortalAccessInvitedAt","format":"date-time"},"last_access":{"type":"string","description":"PortalAccessLastAccess","format":"date-time"},"registered_at":{"type":"string","description":"PortalAccessRegisteredAt","format":"date-time"},"status":{"type":"string","description":"PortalAccessStatus","enum":["INVITATION_SENT","REGISTERED","ACTIVE","INACTIVE"]}},"description":"CreatePortalAccessDTO"},"CreateRecordingDTO":{"required":["capture_session_id","filename","id","version"],"type":"object","properties":{"capture_session_id":{"type":"string","description":"RecordingCaptureSessionId","format":"uuid"},"duration":{"type":"string","description":"RecordingDuration","example":"PT3M"},"edit_instructions":{"type":"string","description":"RecordingEditInstructions"},"filename":{"type":"string","description":"RecordingFilename"},"id":{"type":"string","description":"RecordingId","format":"uuid"},"parent_recording_id":{"type":"string","description":"RecordingParentRecordingId","format":"uuid"},"url":{"type":"string","description":"RecordingURL"},"version":{"minimum":1,"type":"integer","description":"RecordingVersion","format":"int32"}},"description":"CreateRecordingDTO"},"CreateShareBookingDTO":{"type":"object","properties":{"booking_id":{"type":"string","format":"uuid"},"id":{"type":"string","format":"uuid"},"shared_by_user":{"type":"string","format":"uuid"},"shared_with_user":{"type":"string","format":"uuid"}}},"CreateUserDTO":{"required":["app_access","email","first_name","id","last_name","portal_access"],"type":"object","properties":{"alternative_email":{"type":"string","format":"email","description":"AlternativeEmail","maxLength":100,"minLength":0},"app_access":{"uniqueItems":true,"type":"array","description":"UserAppAccess","items":{"$ref":"#/components/schemas/CreateAppAccessDTO"}},"email":{"type":"string","format":"email","description":"UserEmail","minLength":1},"first_name":{"minLength":1,"type":"string","description":"UserFirstName"},"id":{"type":"string","description":"UserId","format":"uuid"},"last_name":{"minLength":1,"type":"string","description":"UserLastName"},"organisation":{"type":"string","description":"UserOrganisation"},"phone_number":{"type":"string","description":"UserPhoneNumber"},"portal_access":{"uniqueItems":true,"type":"array","description":"UserPortalAccess","items":{"$ref":"#/components/schemas/CreatePortalAccessDTO"}}},"description":"CreateUserDTO"},"CreateVfMigrationRecordDTO":{"required":["id","status"],"type":"object","properties":{"court_id":{"type":"string","description":"CreateMigrationRecordCourtId","format":"uuid"},"defendant_name":{"type":"string","description":"CreateMigrationRecordDefendantName"},"exhibit_reference":{"type":"string","description":"CreateMigrationRecordExhibitReference"},"id":{"type":"string","description":"CreateMigrationRecordId","format":"uuid"},"recording_date":{"type":"string","description":"CreateMigrationRecordRecordingDate","format":"date-time"},"recording_version":{"type":"string","description":"CreateMigrationRecordRecordingVersion","enum":["ORIG","COPY"]},"recording_version_number":{"minimum":1,"type":"number","description":"CreateMigrationRecordRecordingVersion","format":"double"},"resolved_at":{"type":"string","description":"CreateMigrationRecordResolvedAt","format":"date-time"},"status":{"type":"string","description":"CreateMigrationRecordStatus","enum":["PENDING","SUCCESS","FAILED","READY","SUBMITTED","IGNORED"]},"urn":{"type":"string","description":"CreateMigrationRecordUrn"},"witness_name":{"type":"string","description":"CreateMigrationRecordWitnessName"}},"description":"CreateVfMigrationRecordDTO"},"EditCutInstructionDTO":{"required":["end_of_cut","start_of_cut"],"type":"object","properties":{"end_of_cut":{"pattern":"^([01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d$","type":"string","description":"EditInstructionEnd"},"reason":{"type":"string"},"start_of_cut":{"pattern":"^([01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d$","type":"string","description":"EditInstructionStart"}},"description":"EditCutInstructionDTO"},"EditInstructions":{"type":"object","properties":{"ffmpegInstructions":{"type":"array","items":{"$ref":"#/components/schemas/FfmpegEditInstructionDTO"}},"forceReencode":{"type":"boolean"},"requestedInstructions":{"type":"array","items":{"$ref":"#/components/schemas/EditCutInstructionDTO"}},"sendNotifications":{"type":"boolean"}},"description":"EditRequestEditInstruction"},"EditReportDTO":{"type":"object","properties":{"case_reference":{"type":"string","description":"EditReportCaseReference"},"court":{"type":"string","description":"EditReportCourtName"},"created_at":{"type":"string","description":"EditReportEditCreatedAt","format":"date-time"},"recording_id":{"type":"string","description":"EditReportRecordingId","format":"uuid"},"regions":{"uniqueItems":true,"type":"array","description":"EditReportRegions","items":{"$ref":"#/components/schemas/RegionDTO"}},"version":{"type":"integer","description":"EditReportRecordingVersion","format":"int32"}},"description":"EditReportDTO"},"EditReportDTOV2":{"type":"object","properties":{"case_reference":{"type":"string","description":"ReportCaseReference"},"county":{"type":"string","description":"ReportCounty"},"court":{"type":"string","description":"ReportCourt"},"edit_date":{"type":"string","description":"EditReportEditDate"},"edit_time":{"type":"string","description":"EditReportEditTime"},"postcode":{"type":"string","description":"ReportPostcode"},"region":{"type":"string","description":"ReportRegion"},"timezone":{"type":"string","description":"EditReportEditTimezone"},"version":{"type":"integer","description":"EditReportRecordingVersion","format":"int32"}},"description":"EditReportDTOV2"},"EditRequestDTO":{"type":"object","properties":{"approved_at":{"type":"string","description":"EditRequestApprovedAt","format":"date-time"},"approved_by":{"type":"string","description":"EditRequestApprovedBy"},"created_at":{"type":"string","description":"EditRequestCreatedAt","format":"date-time"},"created_by":{"type":"string","description":"EditRequestCreatedByName"},"created_by_id":{"type":"string","description":"EditRequestCreatedById","format":"uuid"},"edit_instruction":{"$ref":"#/components/schemas/EditInstructions"},"finished_at":{"type":"string","description":"EditRequestFinishedAt","format":"date-time"},"id":{"type":"string","description":"EditRequestId","format":"uuid"},"jointly_agreed":{"type":"boolean","description":"EditRequestJointlyAgreed"},"modified_at":{"type":"string","description":"EditRequestModifiedAt","format":"date-time"},"rejection_reason":{"type":"string","description":"EditRequestRejectionReason"},"source_recording":{"$ref":"#/components/schemas/RecordingDTO"},"started_at":{"type":"string","description":"EditRequestStartedAt","format":"date-time"},"status":{"type":"string","description":"EditRequestStatus","enum":["DRAFT","SUBMITTED","APPROVED","REJECTED","PENDING","PROCESSING","COMPLETE","ERROR"]}}},"EntityModelBookingDTO":{"type":"object","properties":{"_links":{"$ref":"#/components/schemas/Links"},"capture_sessions":{"type":"array","description":"CaptureSessions","items":{"$ref":"#/components/schemas/CaptureSessionDTO"}},"case_dto":{"$ref":"#/components/schemas/CaseDTO"},"created_at":{"type":"string","description":"BookingCreatedAt","format":"date-time"},"deleted_at":{"type":"string","description":"BookingDeletedAt","format":"date-time"},"id":{"type":"string","description":"BookingId","format":"uuid"},"modified_at":{"type":"string","description":"BookingModifiedAt","format":"date-time"},"participants":{"type":"array","description":"BookingParticipants","items":{"$ref":"#/components/schemas/ParticipantDTO"}},"scheduled_for":{"type":"string","description":"BookingScheduledFor","format":"date-time"},"shares":{"type":"array","description":"BookingShares","items":{"$ref":"#/components/schemas/ShareBookingDTO"}}}},"EntityModelCaptureSessionDTO":{"required":["booking_id","id","origin","status"],"type":"object","properties":{"_links":{"$ref":"#/components/schemas/Links"},"booking_id":{"type":"string","description":"CreateCaptureSessionBookingId","format":"uuid"},"case_closed_at":{"type":"string","description":"CaptureSessionCaseClosedAt","format":"date-time"},"case_state":{"type":"string","description":"CaptureSessionCaseState","enum":["OPEN","PENDING_CLOSURE","CLOSED"]},"court_name":{"type":"string","description":"RecordingParticipants"},"deleted_at":{"type":"string","description":"CaptureSessionDeletedAt","format":"date-time"},"finished_at":{"type":"string","description":"CreateCaptureSessionFinishedAt","format":"date-time"},"finished_by_user_id":{"type":"string","description":"CreateCaptureSessionFinishedByUserId","format":"uuid"},"id":{"type":"string","description":"CreateCaptureSessionId","format":"uuid"},"ingest_address":{"type":"string","description":"CreateCaptureSessionIngestAddress"},"live_output_url":{"type":"string","description":"CreateCaptureSessionLiveOutputURL"},"origin":{"type":"string","description":"CreateCaptureSessionOrigin","enum":["PRE","VODAFONE","VODAFONE_VISIBLE"]},"started_at":{"type":"string","description":"CreateCaptureSessionStartedAt","format":"date-time"},"started_by_user_id":{"type":"string","description":"CreateCaptureSessionStartedByUserId","format":"uuid"},"status":{"type":"string","description":"CreateCaptureSessionStatus","enum":["STANDBY","INITIALISING","RECORDING","PROCESSING","RECORDING_AVAILABLE","FAILURE","NO_RECORDING"]}}},"EntityModelCaseDTO":{"type":"object","properties":{"_links":{"$ref":"#/components/schemas/Links"},"closed_at":{"type":"string","description":"CaseClosedAt","format":"date-time"},"court":{"$ref":"#/components/schemas/CourtDTO"},"created_at":{"type":"string","description":"CaseCreatedAt","format":"date-time"},"deleted_at":{"type":"string","description":"CaseDeletedAt","format":"date-time"},"id":{"type":"string","description":"CaseId","format":"uuid"},"modified_at":{"type":"string","description":"CaseModifiedAt","format":"date-time"},"origin":{"type":"string","description":"CaseOrigin","enum":["PRE","VODAFONE","VODAFONE_VISIBLE"]},"participants":{"type":"array","description":"CaseParticipants","items":{"$ref":"#/components/schemas/ParticipantDTO"}},"reference":{"type":"string","description":"CaseReference"},"state":{"type":"string","description":"CaseState","enum":["OPEN","PENDING_CLOSURE","CLOSED"]},"test":{"type":"boolean","description":"CaseIsTest"}}},"EntityModelCourtDTO":{"type":"object","properties":{"_links":{"$ref":"#/components/schemas/Links"},"county":{"type":"string","description":"CourtCounty"},"court_type":{"type":"string","description":"CourtType","enum":["CROWN","MAGISTRATE","FAMILY"]},"group_email":{"type":"string","description":"CourtGroupEmail"},"id":{"type":"string","description":"CourtId","format":"uuid"},"location_code":{"type":"string","description":"CourtLocationCode"},"name":{"type":"string","description":"CourtName"},"postcode":{"type":"string","description":"CourtPostcode"},"regions":{"type":"array","description":"CourtRegions","items":{"$ref":"#/components/schemas/RegionDTO"}}}},"EntityModelEditRequestDTO":{"type":"object","properties":{"_links":{"$ref":"#/components/schemas/Links"},"approved_at":{"type":"string","description":"EditRequestApprovedAt","format":"date-time"},"approved_by":{"type":"string","description":"EditRequestApprovedBy"},"created_at":{"type":"string","description":"EditRequestCreatedAt","format":"date-time"},"created_by":{"type":"string","description":"EditRequestCreatedByName"},"created_by_id":{"type":"string","description":"EditRequestCreatedById","format":"uuid"},"edit_instruction":{"$ref":"#/components/schemas/EditInstructions"},"finished_at":{"type":"string","description":"EditRequestFinishedAt","format":"date-time"},"id":{"type":"string","description":"EditRequestId","format":"uuid"},"jointly_agreed":{"type":"boolean","description":"EditRequestJointlyAgreed"},"modified_at":{"type":"string","description":"EditRequestModifiedAt","format":"date-time"},"rejection_reason":{"type":"string","description":"EditRequestRejectionReason"},"source_recording":{"$ref":"#/components/schemas/RecordingDTO"},"started_at":{"type":"string","description":"EditRequestStartedAt","format":"date-time"},"status":{"type":"string","description":"EditRequestStatus","enum":["DRAFT","SUBMITTED","APPROVED","REJECTED","PENDING","PROCESSING","COMPLETE","ERROR"]}}},"EntityModelInviteDTO":{"type":"object","properties":{"_links":{"$ref":"#/components/schemas/Links"},"code":{"type":"string","description":"InviteCode"},"email":{"type":"string","description":"InviteUserEmail"},"first_name":{"type":"string","description":"InviteUserFirstName"},"invited_at":{"type":"string","description":"InvitedAt","format":"date-time"},"last_name":{"type":"string","description":"InviteUserLastName"},"user_id":{"type":"string","description":"InviteUserId","format":"uuid"}}},"EntityModelRecordingDTO":{"required":["filename","id","version"],"type":"object","properties":{"_links":{"$ref":"#/components/schemas/Links"},"capture_session":{"$ref":"#/components/schemas/CaptureSessionDTO"},"case_id":{"type":"string","description":"RecordingCaseId","format":"uuid"},"case_reference":{"type":"string","description":"RecordingCaseReference"},"created_at":{"type":"string","description":"RecordingCreatedAt","format":"date-time"},"deleted_at":{"type":"string","description":"RecordingDeletedAt","format":"date-time"},"duration":{"type":"string","description":"RecordingDuration","example":"PT3M"},"edit_instructions":{"type":"string","description":"RecordingEditInstructions"},"edit_requests":{"type":"array","description":"RecordingEditRequests","items":{"$ref":"#/components/schemas/EditRequestDTO"}},"edit_status":{"type":"string","description":"RecordingEditStatus","enum":["DRAFT","SUBMITTED","APPROVED","REJECTED","PENDING","PROCESSING","COMPLETE","ERROR"]},"filename":{"type":"string","description":"RecordingFilename"},"id":{"type":"string","description":"RecordingId","format":"uuid"},"is_test_case":{"type":"boolean","description":"RecordingIsTestCase"},"parent_recording_id":{"type":"string","description":"RecordingParentRecordingId","format":"uuid"},"participants":{"type":"array","description":"RecordingParticipants","items":{"$ref":"#/components/schemas/ParticipantDTO"}},"total_version_count":{"type":"integer","description":"RecordingTotalVersionCount","format":"int32"},"url":{"type":"string","description":"RecordingURL"},"version":{"minimum":1,"type":"integer","description":"RecordingVersion","format":"int32"}}},"EntityModelShareBookingDTO":{"type":"object","properties":{"_links":{"$ref":"#/components/schemas/Links"},"booking_id":{"type":"string","format":"uuid"},"created_at":{"type":"string","format":"date-time"},"deleted_at":{"type":"string","format":"date-time"},"id":{"type":"string","format":"uuid"},"shared_by_user":{"$ref":"#/components/schemas/BaseUserDTO"},"shared_with_user":{"$ref":"#/components/schemas/BaseUserDTO"}}},"EntityModelUserDTO":{"required":["email","first_name","id","last_name"],"type":"object","properties":{"_links":{"$ref":"#/components/schemas/Links"},"alternative_email":{"type":"string","format":"email","description":"AlternativeEmail","maxLength":100,"minLength":0},"app_access":{"type":"array","description":"UserAppAccess","items":{"$ref":"#/components/schemas/BaseAppAccessDTO"}},"created_at":{"type":"string","description":"UserCreatedAt","format":"date-time"},"deleted_at":{"type":"string","description":"UserDeletedAt","format":"date-time"},"email":{"type":"string","format":"email","description":"UserEmail","minLength":1},"first_name":{"minLength":1,"type":"string","description":"UserFirstName"},"id":{"type":"string","description":"UserId","format":"uuid"},"last_name":{"minLength":1,"type":"string","description":"UserLastName"},"modified_at":{"type":"string","description":"UserModifiedAt","format":"date-time"},"organisation":{"type":"string","description":"UserOrganisation"},"phone_number":{"type":"string","description":"UserPhoneNumber"},"portal_access":{"type":"array","description":"UserPortalAccess","items":{"$ref":"#/components/schemas/PortalAccessDTO"}},"terms_accepted":{"type":"object","additionalProperties":{"type":"boolean","description":"UserTermsAccepted"},"description":"UserTermsAccepted"}}},"EntityModelVfMigrationRecordDTO":{"type":"object","properties":{"_links":{"$ref":"#/components/schemas/Links"},"archive_id":{"type":"string","description":"MigrationRecordArchiveId"},"archive_name":{"type":"string","description":"MigrationRecordArchiveName"},"booking_id":{"type":"string","description":"MigrationRecordBookingId","format":"uuid"},"capture_session_id":{"type":"string","description":"MigrationRecordCaptureSessionId","format":"uuid"},"court_id":{"type":"string","description":"MigrationRecordCourtId","format":"uuid"},"court_reference":{"type":"string","description":"MigrationRecordCourtReference"},"create_time":{"type":"string","description":"MigrationRecordCreateTime","format":"date-time"},"created_at":{"type":"string","description":"MigrationRecordCreatedAt","format":"date-time"},"defendant_name":{"type":"string","description":"MigrationRecordDefendantName"},"duration":{"type":"integer","description":"MigrationRecordDuration","format":"int32"},"error_message":{"type":"string","description":"MigrationRecordErrorMessage"},"exhibit_reference":{"type":"string","description":"MigrationRecordExhibitReference"},"file_size":{"type":"string","description":"MigrationRecordFileSize"},"filename":{"type":"string","description":"MigrationRecordFilename"},"id":{"type":"string","description":"MigrationRecordId","format":"uuid"},"is_most_recent":{"type":"boolean","description":"MigrationRecordIsMostRecent"},"parent_temp_id":{"type":"string","description":"MigrationRecordParentTempId","format":"uuid"},"reason":{"type":"string","description":"MigrationRecordReason"},"recording_group_key":{"type":"string","description":"MigrationRecordRecordingGroupKey"},"recording_id":{"type":"string","description":"MigrationRecordRecordingId","format":"uuid"},"recording_version":{"type":"string","description":"MigrationRecordRecordingVersion"},"recording_version_number":{"type":"string","description":"MigrationRecordRecordingVersionNumber"},"resolved_at":{"type":"string","description":"MigrationRecordResolvedAt","format":"date-time"},"status":{"type":"string","description":"MigrationRecordStatus","enum":["PENDING","SUCCESS","FAILED","READY","SUBMITTED","IGNORED"]},"urn":{"type":"string","description":"MigrationRecordUrn"},"witness_name":{"type":"string","description":"MigrationRecordWitnessName"}}},"FfmpegEditInstructionDTO":{"type":"object","properties":{"end":{"type":"integer","format":"int64"},"start":{"type":"integer","format":"int64"}}},"GenerateAssetDTO":{"type":"object","properties":{"description":{"type":"string","description":"GenerateAssetDescription"},"destination_container":{"type":"string","description":"GenerateAssetDestinationContainer","format":"uuid"},"final_asset":{"type":"string","description":"GenerateAssetFinalAsset"},"parent_recording_id":{"type":"string","description":"ParentRecordingId","format":"uuid"},"source_container":{"pattern":"^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}-input$","type":"string","description":"GenerateAssetSourceContainer"},"temp_asset":{"type":"string","description":"GenerateAssetTempAsset"}},"description":"GenerateAssetDTO"},"GenerateAssetResponseDTO":{"type":"object","properties":{"asset":{"type":"string","description":"GenerateAssetResponseAsset"},"container":{"type":"string","description":"GenerateAssetResponseContainer"},"description":{"type":"string","description":"GenerateAssetResponseDescription"},"jobStatus":{"type":"string","description":"GenerateAssetResponseJobStatus"}},"description":"GenerateAssetResponseDTO"},"InviteDTO":{"type":"object","properties":{"code":{"type":"string","description":"InviteCode"},"email":{"type":"string","description":"InviteUserEmail"},"first_name":{"type":"string","description":"InviteUserFirstName"},"invited_at":{"type":"string","description":"InvitedAt","format":"date-time"},"last_name":{"type":"string","description":"InviteUserLastName"},"user_id":{"type":"string","description":"InviteUserId","format":"uuid"}},"description":"InviteDTO"},"JsonNode":{"type":"object","description":"AuditDetailsJSONString"},"Link":{"type":"object","properties":{"deprecation":{"type":"string"},"href":{"type":"string"},"hreflang":{"type":"string"},"name":{"type":"string"},"profile":{"type":"string"},"templated":{"type":"boolean"},"title":{"type":"string"},"type":{"type":"string"}}},"Links":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/Link"}},"LiveEventDTO":{"type":"object","properties":{"description":{"type":"string","description":"LiveEventDescription"},"id":{"type":"string","description":"LiveEventId"},"input_rtmp":{"type":"string","description":"LiveEventInputRtmp"},"name":{"type":"string","description":"LiveEventName"},"resource_state":{"type":"string","description":"LiveEventResourceState"}},"description":"LiveEventDTO"},"PageMetadata":{"type":"object","properties":{"number":{"type":"integer","format":"int64"},"size":{"type":"integer","format":"int64"},"totalElements":{"type":"integer","format":"int64"},"totalPages":{"type":"integer","format":"int64"}}},"PagedModelEntityModelBookingDTO":{"type":"object","properties":{"_embedded":{"type":"object","properties":{"bookingDTOList":{"type":"array","items":{"$ref":"#/components/schemas/EntityModelBookingDTO"}}}},"_links":{"$ref":"#/components/schemas/Links"},"page":{"$ref":"#/components/schemas/PageMetadata"}}},"PagedModelEntityModelCaptureSessionDTO":{"type":"object","properties":{"_embedded":{"type":"object","properties":{"captureSessionDTOList":{"type":"array","items":{"$ref":"#/components/schemas/EntityModelCaptureSessionDTO"}}}},"_links":{"$ref":"#/components/schemas/Links"},"page":{"$ref":"#/components/schemas/PageMetadata"}}},"PagedModelEntityModelCaseDTO":{"type":"object","properties":{"_embedded":{"type":"object","properties":{"caseDTOList":{"type":"array","items":{"$ref":"#/components/schemas/EntityModelCaseDTO"}}}},"_links":{"$ref":"#/components/schemas/Links"},"page":{"$ref":"#/components/schemas/PageMetadata"}}},"PagedModelEntityModelCourtDTO":{"type":"object","properties":{"_embedded":{"type":"object","properties":{"courtDTOList":{"type":"array","items":{"$ref":"#/components/schemas/EntityModelCourtDTO"}}}},"_links":{"$ref":"#/components/schemas/Links"},"page":{"$ref":"#/components/schemas/PageMetadata"}}},"PagedModelEntityModelEditRequestDTO":{"type":"object","properties":{"_embedded":{"type":"object","properties":{"editRequestDTOList":{"type":"array","items":{"$ref":"#/components/schemas/EntityModelEditRequestDTO"}}}},"_links":{"$ref":"#/components/schemas/Links"},"page":{"$ref":"#/components/schemas/PageMetadata"}}},"PagedModelEntityModelInviteDTO":{"type":"object","properties":{"_embedded":{"type":"object","properties":{"inviteDTOList":{"type":"array","items":{"$ref":"#/components/schemas/EntityModelInviteDTO"}}}},"_links":{"$ref":"#/components/schemas/Links"},"page":{"$ref":"#/components/schemas/PageMetadata"}}},"PagedModelEntityModelRecordingDTO":{"type":"object","properties":{"_embedded":{"type":"object","properties":{"recordingDTOList":{"type":"array","items":{"$ref":"#/components/schemas/EntityModelRecordingDTO"}}}},"_links":{"$ref":"#/components/schemas/Links"},"page":{"$ref":"#/components/schemas/PageMetadata"}}},"PagedModelEntityModelShareBookingDTO":{"type":"object","properties":{"_embedded":{"type":"object","properties":{"shareBookingDTOList":{"type":"array","items":{"$ref":"#/components/schemas/EntityModelShareBookingDTO"}}}},"_links":{"$ref":"#/components/schemas/Links"},"page":{"$ref":"#/components/schemas/PageMetadata"}}},"PagedModelEntityModelUserDTO":{"type":"object","properties":{"_embedded":{"type":"object","properties":{"userDTOList":{"type":"array","items":{"$ref":"#/components/schemas/EntityModelUserDTO"}}}},"_links":{"$ref":"#/components/schemas/Links"},"page":{"$ref":"#/components/schemas/PageMetadata"}}},"PagedModelEntityModelVfMigrationRecordDTO":{"type":"object","properties":{"_embedded":{"type":"object","properties":{"vfMigrationRecordDTOList":{"type":"array","items":{"$ref":"#/components/schemas/EntityModelVfMigrationRecordDTO"}}}},"_links":{"$ref":"#/components/schemas/Links"},"page":{"$ref":"#/components/schemas/PageMetadata"}}},"ParticipantDTO":{"type":"object","properties":{"created_at":{"type":"string","description":"ParticipantCreatedAt","format":"date-time"},"deleted_at":{"type":"string","description":"ParticipantDeletedAt","format":"date-time"},"first_name":{"type":"string","description":"ParticipantFirstName"},"id":{"type":"string","description":"ParticipantId","format":"uuid"},"last_name":{"type":"string","description":"ParticipantLastName"},"modified_at":{"type":"string","description":"ParticipantModifiedAt","format":"date-time"},"participant_type":{"type":"string","description":"ParticipantType","enum":["WITNESS","DEFENDANT"]}},"description":"ParticipantDTO"},"PlaybackDTO":{"type":"object","properties":{"dash_url":{"type":"string","description":"PlaybackDashUrl"},"hls_url":{"type":"string","description":"PlaybackHlsUrl"},"license_url":{"type":"string","description":"PlaybackLicenseUrl"},"token":{"type":"string","description":"PlaybackToken"}},"description":"PlaybackDTO"},"PlaybackReportDTO":{"type":"object","properties":{"case_reference":{"type":"string","description":"PlaybackReportCaseReference"},"court":{"type":"string","description":"PlaybackReportCourt"},"playback_at":{"type":"string","description":"PlaybackReportPlaybackAt","format":"date-time"},"recording_id":{"type":"string","description":"PlaybackReportRecordingId","format":"uuid"},"regions":{"uniqueItems":true,"type":"array","description":"PlaybackReportRegions","items":{"$ref":"#/components/schemas/RegionDTO"}},"user_email":{"type":"string","description":"PlaybackReportUserEmail"},"user_full_name":{"type":"string","description":"PlaybackReportUserFullName"}},"description":"PlaybackReportDTO"},"PlaybackReportDTOV2":{"type":"object","properties":{"case_reference":{"type":"string","description":"ReportCaseReference"},"county":{"type":"string","description":"ReportCounty"},"court":{"type":"string","description":"ReportCourt"},"defendants":{"type":"string","description":"PlaybackReportDefendants"},"playback_date":{"type":"string","description":"PlaybackReportPlaybackDate"},"playback_time":{"type":"string","description":"PlaybackReportPlaybackTime"},"playback_time_zone":{"type":"string","description":"PlaybackReportTimeZone"},"postcode":{"type":"string","description":"ReportPostcode"},"recording_version":{"type":"integer","description":"PlaybackReportRecordingVersion","format":"int32"},"region":{"type":"string","description":"ReportRegion"},"user_email":{"type":"string","description":"PlaybackReportUserEmail"},"user_full_name":{"type":"string","description":"PlaybackReportUserFullName"},"user_organisation":{"type":"string","description":"PlaybackReportUserOrganisation"},"witness":{"type":"string","description":"PlaybackReportWitness"}},"description":"PlaybackReportDTOV2"},"PortalAccessDTO":{"type":"object","properties":{"deleted_at":{"type":"string","description":"PortalAccessDeletedAt","format":"date-time"},"id":{"type":"string","description":"PortalAccessId","format":"uuid"},"invited_at":{"type":"string","description":"PortalAccessInvitedAt","format":"date-time"},"last_access":{"type":"string","description":"PortalAccessLastAccess","format":"date-time"},"registered_at":{"type":"string","description":"PortalAccessRegisteredAt","format":"date-time"},"status":{"type":"string","description":"PortalAccessStatus","enum":["INVITATION_SENT","REGISTERED","ACTIVE","INACTIVE"]}},"description":"PortalAccessDTO"},"RecordingDTO":{"required":["filename","id","version"],"type":"object","properties":{"capture_session":{"$ref":"#/components/schemas/CaptureSessionDTO"},"case_id":{"type":"string","description":"RecordingCaseId","format":"uuid"},"case_reference":{"type":"string","description":"RecordingCaseReference"},"created_at":{"type":"string","description":"RecordingCreatedAt","format":"date-time"},"deleted_at":{"type":"string","description":"RecordingDeletedAt","format":"date-time"},"duration":{"type":"string","description":"RecordingDuration","example":"PT3M"},"edit_instructions":{"type":"string","description":"RecordingEditInstructions"},"edit_requests":{"type":"array","description":"RecordingEditRequests","items":{"$ref":"#/components/schemas/EditRequestDTO"}},"edit_status":{"type":"string","description":"RecordingEditStatus","enum":["DRAFT","SUBMITTED","APPROVED","REJECTED","PENDING","PROCESSING","COMPLETE","ERROR"]},"filename":{"type":"string","description":"RecordingFilename"},"id":{"type":"string","description":"RecordingId","format":"uuid"},"is_test_case":{"type":"boolean","description":"RecordingIsTestCase"},"parent_recording_id":{"type":"string","description":"RecordingParentRecordingId","format":"uuid"},"participants":{"type":"array","description":"RecordingParticipants","items":{"$ref":"#/components/schemas/ParticipantDTO"}},"total_version_count":{"type":"integer","description":"RecordingTotalVersionCount","format":"int32"},"url":{"type":"string","description":"RecordingURL"},"version":{"minimum":1,"type":"integer","description":"RecordingVersion","format":"int32"}},"description":"RecordingDTO"},"RecordingParticipantsReportDTO":{"type":"object","properties":{"case_reference":{"type":"string","description":"RecordingParticipantCaseReference"},"court_name":{"type":"string","description":"RecordingParticipantCourtName"},"participant_name":{"type":"string","description":"RecordingParticipantName"},"participant_type":{"type":"string","description":"RecordingParticipantType","enum":["WITNESS","DEFENDANT"]},"recorded_at":{"type":"string","description":"RecordingParticipantRecordedAt","format":"date-time"},"recording_id":{"type":"string","description":"RecordingParticipantRecordingId","format":"uuid"}},"description":"RecordingParticipantsReportDTOV2"},"RecordingsPerCaseReportDTO":{"type":"object","properties":{"case_reference":{"type":"string","description":"RecordingsPerCaseCaseReference"},"count":{"type":"integer","description":"RecordingsPerCaseCount","format":"int32"},"court":{"type":"string","description":"RecordingsPerCaseCourt"},"regions":{"uniqueItems":true,"type":"array","description":"RecordingsPerCaseRegions","items":{"$ref":"#/components/schemas/RegionDTO"}}},"description":"RecordingsPerCaseReportDTO"},"RecordingsPerCaseReportDTOV2":{"type":"object","properties":{"case_reference":{"type":"string","description":"ReportCaseReference"},"county":{"type":"string","description":"ReportCounty"},"court":{"type":"string","description":"ReportCourt"},"number_of_recordings":{"type":"integer","description":"RecordingsPerCaseNumberOfRecordings","format":"int32"},"postcode":{"type":"string","description":"ReportPostcode"},"region":{"type":"string","description":"ReportRegion"}},"description":"RecordingsPerCaseReportDTOV2"},"RegionDTO":{"type":"object","properties":{"name":{"type":"string","description":"RegionName"}},"description":"RegionDTO"},"RoleDTO":{"type":"object","properties":{"description":{"type":"string","description":"RoleDescription"},"id":{"type":"string","description":"RoleId","format":"uuid"},"name":{"type":"string","description":"RoleName"}},"description":"RoleDTO"},"ScheduleReportDTO":{"type":"object","properties":{"booking_created_at":{"type":"string","description":"ScheduleReportBookingCreatedAt","format":"date-time"},"capture_session_user":{"type":"string","description":"ScheduleReportUserEmail"},"case_reference":{"type":"string","description":"ScheduleReportCaseReference"},"court":{"type":"string","description":"ScheduleReportCourtName"},"regions":{"uniqueItems":true,"type":"array","description":"ScheduleReportCourtRegions","items":{"$ref":"#/components/schemas/RegionDTO"}},"scheduled_for":{"type":"string","description":"ScheduleReportStartedAt","format":"date-time"}},"description":"ScheduleReportDTO"},"ScheduleReportDTOV2":{"type":"object","properties":{"case_reference":{"type":"string","description":"ReportCaseReference"},"county":{"type":"string","description":"ReportCounty"},"court":{"type":"string","description":"ReportCourt"},"date_of_booking":{"type":"string","description":"ScheduleReportBookingCreatedAt"},"postcode":{"type":"string","description":"ReportPostcode"},"region":{"type":"string","description":"ReportRegion"},"scheduled_date":{"type":"string","description":"ScheduleReportStartedDate"},"user":{"type":"string","description":"ScheduleReportUserEmail"}},"description":"ScheduleReportDTOV2"},"ShareBookingDTO":{"type":"object","properties":{"booking_id":{"type":"string","format":"uuid"},"created_at":{"type":"string","format":"date-time"},"deleted_at":{"type":"string","format":"date-time"},"id":{"type":"string","format":"uuid"},"shared_by_user":{"$ref":"#/components/schemas/BaseUserDTO"},"shared_with_user":{"$ref":"#/components/schemas/BaseUserDTO"}},"description":"BookingShares"},"SharedReportDTO":{"type":"object","properties":{"allocated_by":{"type":"string","description":"SharedReportAllocatedBy"},"allocated_by_full_name":{"type":"string","description":"SharedReportAllocatedToFullName"},"allocated_to":{"type":"string","description":"SharedReportAllocatedTo"},"allocated_to_full_name":{"type":"string","description":"SharedReportAllocatedToFullName"},"booking_id":{"type":"string","description":"SharedReportBookingId","format":"uuid"},"case_reference":{"type":"string","description":"SharedReportCaseReference"},"court":{"type":"string","description":"SharedReportCourtName"},"regions":{"uniqueItems":true,"type":"array","description":"SharedReportRegions","items":{"$ref":"#/components/schemas/RegionDTO"}},"shared_at":{"type":"string","description":"SharedReportSharedAt","format":"date-time"}},"description":"SharedReportDTO"},"SharedReportDTOV2":{"type":"object","properties":{"case_reference":{"type":"string","description":"ReportCaseReference"},"county":{"type":"string","description":"ReportCounty"},"court":{"type":"string","description":"ReportCourt"},"granted_by":{"type":"string","description":"SharedReportGrantedBy"},"granted_by_full_name":{"type":"string","description":"SharedReportGrantedByFullName"},"postcode":{"type":"string","description":"ReportPostcode"},"region":{"type":"string","description":"ReportRegion"},"share_date":{"type":"string","description":"SharedReportShareDate"},"share_time":{"type":"string","description":"SharedReportShareTime"},"shared_with":{"type":"string","description":"SharedReportSharedWith"},"shared_with_full_name":{"type":"string","description":"SharedReportSharedWithFullName"},"timezone":{"type":"string","description":"SharedReportShareTimezone"}},"description":"SharedReportDTOV2"},"TermsAndConditionsDTO":{"type":"object","properties":{"created_at":{"type":"string","format":"date-time"},"html":{"type":"string"},"id":{"type":"string","format":"uuid"},"type":{"type":"string","enum":["APP","PORTAL"]}}},"UpdateBookingCaseDTO":{"required":["booking_id","case_id"],"type":"object","properties":{"booking_id":{"type":"string","description":"UpdateBookingId","format":"uuid"},"case_id":{"type":"string","description":"CaseReferenceId","format":"uuid"}},"description":"UpdateBookingCaseDTO"},"UserAccessReportDTO":{"type":"object","properties":{"access_type":{"type":"string","description":"AccessType"},"active":{"type":"string","description":"UserReportActive"},"alternative_email":{"type":"string","description":"UserAlternativeEmail"},"court_name":{"type":"string","description":"CourtName"},"first_name":{"type":"string","description":"UserReportFirstName"},"last_name":{"type":"string","description":"UserReportLastName"},"primary_email":{"type":"string","description":"UserPrimaryEmail"},"role_name":{"type":"string","description":"UserReportRoleName"}},"description":"UserAccessReport"},"UserDTO":{"required":["email","first_name","id","last_name"],"type":"object","properties":{"alternative_email":{"type":"string","format":"email","description":"AlternativeEmail","maxLength":100,"minLength":0},"app_access":{"type":"array","description":"UserAppAccess","items":{"$ref":"#/components/schemas/BaseAppAccessDTO"}},"created_at":{"type":"string","description":"UserCreatedAt","format":"date-time"},"deleted_at":{"type":"string","description":"UserDeletedAt","format":"date-time"},"email":{"type":"string","format":"email","description":"UserEmail","minLength":1},"first_name":{"minLength":1,"type":"string","description":"UserFirstName"},"id":{"type":"string","description":"UserId","format":"uuid"},"last_name":{"minLength":1,"type":"string","description":"UserLastName"},"modified_at":{"type":"string","description":"UserModifiedAt","format":"date-time"},"organisation":{"type":"string","description":"UserOrganisation"},"phone_number":{"type":"string","description":"UserPhoneNumber"},"portal_access":{"type":"array","description":"UserPortalAccess","items":{"$ref":"#/components/schemas/PortalAccessDTO"}},"terms_accepted":{"type":"object","additionalProperties":{"type":"boolean","description":"UserTermsAccepted"},"description":"UserTermsAccepted"}},"description":"UserDTO"},"UserPrimaryCourtReportDTO":{"type":"object","properties":{"active":{"type":"string","description":"UserPrimaryCourtReportActive"},"first_name":{"type":"string","description":"UserPrimaryCourtReportFirstName"},"last_access":{"type":"string","description":"UserPrimaryCourtReportLastAccess","format":"date-time"},"last_name":{"type":"string","description":"UserPrimaryCourtReportLastName"},"primary_court_name":{"type":"string","description":"UserPrimaryCourtReportPrimaryCourtName"},"role_name":{"type":"string","description":"UserPrimaryCourtReportRoleName"}},"description":"UserPrimaryCourtReportDTOV2"},"UserRecordingPlaybackReportDTOV2":{"type":"object","properties":{"case_reference":{"type":"string","description":"ReportCaseReference"},"county":{"type":"string","description":"ReportCounty"},"court":{"type":"string","description":"ReportCourt"},"defendants":{"type":"string","description":"PlaybackReportDefendants"},"playback_date":{"type":"string","description":"PlaybackReportPlaybackDate"},"playback_time":{"type":"string","description":"PlaybackReportPlaybackTime"},"postcode":{"type":"string","description":"ReportPostcode"},"recording_version":{"type":"integer","description":"PlaybackReportRecordingVersion","format":"int32"},"region":{"type":"string","description":"ReportRegion"},"user_email":{"type":"string","description":"PlaybackReportUserEmail"},"user_full_name":{"type":"string","description":"PlaybackReportUserFullName"},"user_organisation":{"type":"string","description":"PlaybackReportUserOrganisation"},"witness":{"type":"string","description":"PlaybackReportWitness"}},"description":"UserRecordingPlaybackReportDTOV2"},"VerifyEmailRequestDTO":{"required":["email","verification_code"],"type":"object","properties":{"email":{"type":"string","format":"email","description":"Email","minLength":1},"verification_code":{"minLength":1,"pattern":"^[0-9]{6}$","type":"string","description":"VerificationCode"}},"description":"VerifyEmailRequestDTO"}},"securitySchemes":{"Ocp-Apim-Subscription-Key":{"in":"header","name":"Ocp-Apim-Subscription-Key","type":"apiKey"}}}} \ No newline at end of file +{"openapi":"3.0.1","info":{"description":"PRE API - Used for managing courts, bookings, recordings and permissions.","license":{"name":"MIT","url":"https://opensource.org/licenses/MIT"},"title":"Pre Recorded Evidence API","version":"v0.0.1"},"externalDocs":{"description":"README","url":"https://github.com/hmcts/pre-api"},"servers":[{"url":"http://localhost","description":"Generated server url"}],"security":[{"Ocp-Apim-Subscription-Key":[]}],"tags":[{"description":"Monitor and interact","externalDocs":{"description":"Spring Boot Actuator Web API Documentation","url":"https://docs.spring.io/spring-boot/docs/current/actuator-api/html/"},"name":"Actuator"}],"paths":{"/accept-terms-and-conditions/{termsId}":{"post":{"operationId":"acceptTermsAndConditions","parameters":[{"in":"path","name":"termsId","required":true,"schema":{"type":"string","format":"uuid"}},{"description":"The User Id of the User making the request","example":"123e4567-e89b-12d3-a456-426614174000","in":"header","name":"X-User-Id","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK"}},"summary":"Accept terms and conditions for a user","tags":["terms-and-conditions-controller"]}},"/app-terms-and-conditions/latest":{"get":{"operationId":"getLatestTermsForApp","parameters":[{"description":"The User Id of the User making the request","example":"123e4567-e89b-12d3-a456-426614174000","in":"header","name":"X-User-Id","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/TermsAndConditionsDTO"}}},"description":"OK"}},"summary":"Get the latest terms and conditions for the app","tags":["terms-and-conditions-controller"]}},"/audit/{id}":{"put":{"operationId":"putAudit","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string","format":"uuid"}},{"description":"The User Id of the User making the request","example":"123e4567-e89b-12d3-a456-426614174000","in":"header","name":"X-User-Id","required":false,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateAuditDTO"}}},"required":true},"responses":{"200":{"description":"OK"}},"summary":"Create an Audit Entry","tags":["audit-controller"]}},"/b2c/email-verification":{"post":{"operationId":"postEmailVerification","parameters":[{"description":"The User Id of the User making the request","example":"123e4567-e89b-12d3-a456-426614174000","in":"header","name":"X-User-Id","required":false,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VerifyEmailRequestDTO"}}},"required":true},"responses":{"204":{"description":"No Content"}},"summary":"Trigger an email verification email to be sent out via gov notify","tags":["b-2-c-controller"]}},"/bookings":{"get":{"operationId":"searchBookings","parameters":[{"description":"The Case Id to search for","example":"123e4567-e89b-12d3-a456-426614174000","in":"query","name":"caseId","schema":{"type":"string","format":"uuid"}},{"description":"The Case Reference to search for","example":1234567890123456,"in":"query","name":"caseReference","schema":{"type":"string"}},{"description":"The Date the Booking is scheduled for","example":"2024-04-27","in":"query","name":"scheduledFor","schema":{"type":"string","format":"date"}},{"description":"The Participant Id to search for","example":"123e4567-e89b-12d3-a456-426614174000","in":"query","name":"participantId","schema":{"type":"string","format":"uuid"}},{"description":"The Court Id to search for","example":"123e4567-e89b-12d3-a456-426614174000","in":"query","name":"courtId","schema":{"type":"string","format":"uuid"}},{"description":"If the booking has any recordings","in":"query","name":"hasRecordings","schema":{"type":"boolean"}},{"description":"Search bookings with at least one associated capture session with one of the statuses listed","in":"query","name":"captureSessionStatusIn","schema":{"type":"string"}},{"description":"Bookings where the associated capture sessions do not match status or bookings without sessions","in":"query","name":"captureSessionStatusNotIn","schema":{"type":"string"}},{"description":"Sort by","example":"createdAt,desc","in":"query","name":"sort","schema":{"type":"string"}},{"description":"The page number of search result to return","example":0,"in":"query","name":"page","schema":{"type":"integer","format":"int32"}},{"description":"The number of search results to return per page","example":10,"in":"query","name":"size","schema":{"type":"integer","format":"int32"}},{"description":"The User Id of the User making the request","example":"123e4567-e89b-12d3-a456-426614174000","in":"header","name":"X-User-Id","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/PagedModelEntityModelBookingDTO"}}},"description":"OK"}},"summary":"Search All Bookings using Case Id, Case Ref, or Scheduled For","tags":["booking-controller"]}},"/bookings/migrate-case/{bookingId}":{"put":{"operationId":"migrateToDifferentCaseReference","parameters":[{"in":"path","name":"bookingId","required":true,"schema":{"type":"string","format":"uuid"}},{"description":"The User Id of the User making the request","example":"123e4567-e89b-12d3-a456-426614174000","in":"header","name":"X-User-Id","required":false,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateBookingCaseDTO"}}},"required":true},"responses":{"200":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/BookingDTO"}}},"description":"OK"}},"summary":"Migrate a Booking to a different case reference","tags":["booking-controller"]}},"/bookings/{bookingId}":{"delete":{"operationId":"deleteBooking","parameters":[{"in":"path","name":"bookingId","required":true,"schema":{"type":"string","format":"uuid"}},{"description":"The User Id of the User making the request","example":"123e4567-e89b-12d3-a456-426614174000","in":"header","name":"X-User-Id","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK"}},"summary":"Delete a Booking","tags":["booking-controller"]},"get":{"operationId":"getBookingById","parameters":[{"in":"path","name":"bookingId","required":true,"schema":{"type":"string","format":"uuid"}},{"description":"The User Id of the User making the request","example":"123e4567-e89b-12d3-a456-426614174000","in":"header","name":"X-User-Id","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/BookingDTO"}}},"description":"OK"}},"summary":"Get a Booking by Id","tags":["booking-controller"]},"put":{"operationId":"putBooking","parameters":[{"in":"path","name":"bookingId","required":true,"schema":{"type":"string","format":"uuid"}},{"description":"The User Id of the User making the request","example":"123e4567-e89b-12d3-a456-426614174000","in":"header","name":"X-User-Id","required":false,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateBookingDTO"}}},"required":true},"responses":{"200":{"description":"OK"}},"summary":"Create or Update a Booking","tags":["booking-controller"]}},"/bookings/{bookingId}/share":{"get":{"operationId":"getSharedBookingLogs","parameters":[{"in":"path","name":"bookingId","required":true,"schema":{"type":"string","format":"uuid"}},{"description":"The page number of search result to return","example":0,"in":"query","name":"page","schema":{"type":"integer","format":"int32"}},{"description":"The number of search results to return per page","example":10,"in":"query","name":"size","schema":{"type":"integer","format":"int32"}},{"description":"The User Id of the User making the request","example":"123e4567-e89b-12d3-a456-426614174000","in":"header","name":"X-User-Id","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/PagedModelEntityModelShareBookingDTO"}}},"description":"OK"}},"tags":["booking-controller"]},"put":{"operationId":"shareBookingById","parameters":[{"in":"path","name":"bookingId","required":true,"schema":{"type":"string","format":"uuid"}},{"description":"The User Id of the User making the request","example":"123e4567-e89b-12d3-a456-426614174000","in":"header","name":"X-User-Id","required":false,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateShareBookingDTO"}}},"required":true},"responses":{"200":{"description":"OK"}},"summary":"Share a Booking","tags":["booking-controller"]}},"/bookings/{bookingId}/share/{shareId}":{"delete":{"operationId":"deleteShareBookingById","parameters":[{"in":"path","name":"bookingId","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"path","name":"shareId","required":true,"schema":{"type":"string","format":"uuid"}},{"description":"The User Id of the User making the request","example":"123e4567-e89b-12d3-a456-426614174000","in":"header","name":"X-User-Id","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK"}},"tags":["booking-controller"]}},"/bookings/{bookingId}/undelete":{"post":{"operationId":"undeleteBooking","parameters":[{"in":"path","name":"bookingId","required":true,"schema":{"type":"string","format":"uuid"}},{"description":"The User Id of the User making the request","example":"123e4567-e89b-12d3-a456-426614174000","in":"header","name":"X-User-Id","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK"}},"summary":"Revert deletion of a booking","tags":["booking-controller"]}},"/capture-sessions":{"get":{"operationId":"searchCaptureSessions","parameters":[{"description":"The case reference to search for","example":1234567890123456,"in":"query","name":"caseReference","schema":{"type":"string"}},{"description":"The booking id to search for","example":"123e4567-e89b-12d3-a456-426614174000","in":"query","name":"bookingId","schema":{"type":"string","format":"uuid"}},{"description":"The origin of the capture session to search for","in":"query","name":"origin","schema":{"type":"string","enum":["PRE","VODAFONE","VODAFONE_VISIBLE"]}},{"description":"The recording status to search for","in":"query","name":"recordingStatus","schema":{"type":"string","enum":["STANDBY","INITIALISING","RECORDING","PROCESSING","RECORDING_AVAILABLE","FAILURE","NO_RECORDING"]}},{"description":"The Date the Booking was scheduled for","example":"2024-04-27","in":"query","name":"scheduledFor","schema":{"type":"string","format":"date"}},{"description":"The court id of the capture session to search by","example":"123e4567-e89b-12d3-a456-426614174000","in":"query","name":"courtId","schema":{"type":"string","format":"uuid"}},{"description":"The page number of search result to return","example":0,"in":"query","name":"page","schema":{"type":"integer","format":"int32"}},{"description":"The number of search results to return per page","example":10,"in":"query","name":"size","schema":{"type":"integer","format":"int32"}},{"description":"The User Id of the User making the request","example":"123e4567-e89b-12d3-a456-426614174000","in":"header","name":"X-User-Id","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/PagedModelEntityModelCaptureSessionDTO"}}},"description":"OK"}},"summary":"Search All Capture Sessions","tags":["capture-session-controller"]}},"/capture-sessions/trigger-registration/{captureSessionId}":{"put":{"operationId":"triggerRegistrationForCaptureSession","parameters":[{"in":"path","name":"captureSessionId","required":true,"schema":{"type":"string","format":"uuid"}},{"description":"The User Id of the User making the request","example":"123e4567-e89b-12d3-a456-426614174000","in":"header","name":"X-User-Id","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK"}},"summary":"Register a Capture Session that got stuck in PROCESSING state","tags":["capture-session-controller"]}},"/capture-sessions/{captureSessionId}":{"delete":{"operationId":"deleteCaptureSessionById","parameters":[{"in":"path","name":"captureSessionId","required":true,"schema":{"type":"string","format":"uuid"}},{"description":"The User Id of the User making the request","example":"123e4567-e89b-12d3-a456-426614174000","in":"header","name":"X-User-Id","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK"}},"summary":"Delete Capture Session by Id","tags":["capture-session-controller"]},"get":{"operationId":"getCaptureSessionById","parameters":[{"in":"path","name":"captureSessionId","required":true,"schema":{"type":"string","format":"uuid"}},{"description":"The User Id of the User making the request","example":"123e4567-e89b-12d3-a456-426614174000","in":"header","name":"X-User-Id","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/CaptureSessionDTO"}}},"description":"OK"}},"summary":"Get a Capture Session by Id","tags":["capture-session-controller"]},"put":{"operationId":"upsertCaptureSession","parameters":[{"in":"path","name":"captureSessionId","required":true,"schema":{"type":"string","format":"uuid"}},{"description":"The User Id of the User making the request","example":"123e4567-e89b-12d3-a456-426614174000","in":"header","name":"X-User-Id","required":false,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateCaptureSessionDTO"}}},"required":true},"responses":{"200":{"description":"OK"}},"summary":"Create or Update a Capture Session","tags":["capture-session-controller"]}},"/capture-sessions/{captureSessionId}/undelete":{"post":{"operationId":"undeleteCaptureSession","parameters":[{"in":"path","name":"captureSessionId","required":true,"schema":{"type":"string","format":"uuid"}},{"description":"The User Id of the User making the request","example":"123e4567-e89b-12d3-a456-426614174000","in":"header","name":"X-User-Id","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK"}},"summary":"Revert deletion of a capture session","tags":["capture-session-controller"]}},"/cases":{"get":{"operationId":"getCases","parameters":[{"description":"The case reference to search by","example":1234567890123456,"in":"query","name":"reference","schema":{"type":"string"}},{"description":"The court id to search by","example":"123e4567-e89b-12d3-a456-426614174000","in":"query","name":"courtId","schema":{"type":"string","format":"uuid"}},{"description":"Include cases marked as deleted","in":"query","name":"includeDeleted","schema":{"type":"boolean"}},{"description":"The page number of search result to return","example":0,"in":"query","name":"page","schema":{"type":"integer","format":"int32"}},{"description":"The number of search results to return per page","example":10,"in":"query","name":"size","schema":{"type":"integer","format":"int32"}},{"description":"The User Id of the User making the request","example":"123e4567-e89b-12d3-a456-426614174000","in":"header","name":"X-User-Id","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/PagedModelEntityModelCaseDTO"}}},"description":"OK"}},"summary":"Get a case by reference or court id","tags":["case-controller"]}},"/cases/close-pending":{"post":{"operationId":"closePendingCases","parameters":[{"description":"The User Id of the User making the request","example":"123e4567-e89b-12d3-a456-426614174000","in":"header","name":"X-User-Id","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK"}},"summary":"Close cases in PENDING_CLOSURE state > 29 days","tags":["case-controller"]}},"/cases/{id}":{"delete":{"operationId":"deleteCase","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string","format":"uuid"}},{"description":"The User Id of the User making the request","example":"123e4567-e89b-12d3-a456-426614174000","in":"header","name":"X-User-Id","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK"}},"summary":"Mark a Case as deleted","tags":["case-controller"]},"get":{"operationId":"getCaseById","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string","format":"uuid"}},{"description":"The User Id of the User making the request","example":"123e4567-e89b-12d3-a456-426614174000","in":"header","name":"X-User-Id","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/CaseDTO"}}},"description":"OK"}},"summary":"Get a case by id","tags":["case-controller"]},"put":{"operationId":"putCase","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string","format":"uuid"}},{"description":"The User Id of the User making the request","example":"123e4567-e89b-12d3-a456-426614174000","in":"header","name":"X-User-Id","required":false,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateCaseDTO"}}},"required":true},"responses":{"200":{"description":"OK"}},"summary":"Create or Update a Case","tags":["case-controller"]}},"/cases/{id}/undelete":{"post":{"operationId":"undeleteCase","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string","format":"uuid"}},{"description":"The User Id of the User making the request","example":"123e4567-e89b-12d3-a456-426614174000","in":"header","name":"X-User-Id","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK"}},"summary":"Revert deletion of a case","tags":["case-controller"]}},"/courts":{"get":{"operationId":"searchCourts","parameters":[{"description":"The type of the court to search by","in":"query","name":"courtType","schema":{"type":"string","enum":["CROWN","MAGISTRATE","FAMILY"]}},{"description":"The name of the court to search by","example":"Example","in":"query","name":"name","schema":{"type":"string"}},{"description":"The location code of the court to search by","in":"query","name":"locationCode","schema":{"type":"string"}},{"description":"The region name of the court to search by","example":"London","in":"query","name":"regionName","schema":{"type":"string"}},{"description":"The page number of search result to return","example":0,"in":"query","name":"page","schema":{"type":"integer","format":"int32"}},{"description":"The number of search results to return per page","example":10,"in":"query","name":"size","schema":{"type":"integer","format":"int32"}},{"description":"The User Id of the User making the request","example":"123e4567-e89b-12d3-a456-426614174000","in":"header","name":"X-User-Id","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/PagedModelEntityModelCourtDTO"}}},"description":"OK"}},"summary":"Search for Courts by court type, name, location code or region name","tags":["court-controller"]}},"/courts/email":{"post":{"operationId":"updateCourtEmailAddresses","parameters":[{"description":"The User Id of the User making the request","example":"123e4567-e89b-12d3-a456-426614174000","in":"header","name":"X-User-Id","required":false,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"required":["file"],"type":"object","properties":{"file":{"type":"string","format":"binary"}}}}}},"responses":{"200":{"content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/CourtEmailDTO"}}}},"description":"OK"}},"tags":["court-controller"]}},"/courts/{courtId}":{"get":{"operationId":"getCourtById","parameters":[{"in":"path","name":"courtId","required":true,"schema":{"type":"string","format":"uuid"}},{"description":"The User Id of the User making the request","example":"123e4567-e89b-12d3-a456-426614174000","in":"header","name":"X-User-Id","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/CourtDTO"}}},"description":"OK"}},"summary":"Get a Court by Id","tags":["court-controller"]},"put":{"operationId":"putCourt","parameters":[{"in":"path","name":"courtId","required":true,"schema":{"type":"string","format":"uuid"}},{"description":"The User Id of the User making the request","example":"123e4567-e89b-12d3-a456-426614174000","in":"header","name":"X-User-Id","required":false,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateCourtDTO"}}},"required":true},"responses":{"200":{"description":"OK"}},"summary":"Create or Update a Court","tags":["court-controller"]}},"/edits":{"get":{"operationId":"searchEdits","parameters":[{"description":"The source recording's id to search by","example":"123e4567-e89b-12d3-a456-426614174000","in":"query","name":"sourceRecordingId","schema":{"type":"string","format":"uuid"}},{"description":"The date of last modification to search after","example":"2024-04-27","in":"query","name":"lastModifiedAfter","schema":{"type":"string","format":"date"}},{"description":"The date of last modification to search before","example":"2024-04-27","in":"query","name":"lastModifiedBefore","schema":{"type":"string","format":"date"}},{"description":"Sort by","example":"createdAt,desc","in":"query","name":"sort","schema":{"type":"string"}},{"description":"The page number of search result to return","example":0,"in":"query","name":"page","schema":{"type":"integer","format":"int32"}},{"description":"The number of search results to return per page","example":10,"in":"query","name":"size","schema":{"type":"integer","format":"int32"}},{"description":"The User Id of the User making the request","example":"123e4567-e89b-12d3-a456-426614174000","in":"header","name":"X-User-Id","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/PagedModelEntityModelEditRequestDTO"}}},"description":"OK"}},"tags":["edit-controller"]}},"/edits/from-csv/{sourceRecordingId}":{"post":{"operationId":"createEditFromCsv","parameters":[{"in":"path","name":"sourceRecordingId","required":true,"schema":{"type":"string","format":"uuid"}},{"description":"The User Id of the User making the request","example":"123e4567-e89b-12d3-a456-426614174000","in":"header","name":"X-User-Id","required":false,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"required":["file"],"type":"object","properties":{"file":{"type":"string","format":"binary"}}}}}},"responses":{"200":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/EditRequestDTO"}}},"description":"OK"}},"tags":["edit-controller"]}},"/edits/{id}":{"delete":{"operationId":"delete","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string","format":"uuid"}},{"description":"The User Id of the User making the request","example":"123e4567-e89b-12d3-a456-426614174000","in":"header","name":"X-User-Id","required":false,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateEditRequestDTO"}}},"required":true},"responses":{"200":{"description":"OK"}},"tags":["edit-controller"]},"get":{"operationId":"getEditRequestById","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string","format":"uuid"}},{"description":"The User Id of the User making the request","example":"123e4567-e89b-12d3-a456-426614174000","in":"header","name":"X-User-Id","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/EditRequestDTO"}}},"description":"OK"}},"tags":["edit-controller"]},"put":{"operationId":"upsertEditRequest","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string","format":"uuid"}},{"description":"The User Id of the User making the request","example":"123e4567-e89b-12d3-a456-426614174000","in":"header","name":"X-User-Id","required":false,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateEditRequestDTO"}}},"required":true},"responses":{"200":{"description":"OK"}},"tags":["edit-controller"]}},"/health":{"get":{"operationId":"health","parameters":[{"description":"The User Id of the User making the request","example":"123e4567-e89b-12d3-a456-426614174000","in":"header","name":"X-User-Id","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}},"application/vnd.spring-boot.actuator.v2+json":{"schema":{"type":"object"}},"application/vnd.spring-boot.actuator.v3+json":{"schema":{"type":"object"}}},"description":"OK"}},"summary":"Actuator web endpoint 'health'","tags":["Actuator"]}},"/invites":{"get":{"operationId":"searchInvites","parameters":[{"description":"The first name of the user to search by","in":"query","name":"firstName","schema":{"type":"string"}},{"description":"The last name of the user to search by","in":"query","name":"lastName","schema":{"type":"string"}},{"description":"The email of the user to search by","example":"example@example.com","in":"query","name":"email","schema":{"type":"string"}},{"description":"The organisation of the user to search by","in":"query","name":"organisation","schema":{"type":"string"}},{"description":"The access status of the user to search by","in":"query","name":"status","schema":{"type":"string","enum":["INVITATION_SENT","REGISTERED","ACTIVE","INACTIVE"]}},{"description":"The page number of search result to return","example":0,"in":"query","name":"page","schema":{"type":"integer","format":"int32"}},{"description":"The number of search results to return per page","example":10,"in":"query","name":"size","schema":{"type":"integer","format":"int32"}},{"description":"The User Id of the User making the request","example":"123e4567-e89b-12d3-a456-426614174000","in":"header","name":"X-User-Id","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/PagedModelEntityModelInviteDTO"}}},"description":"OK"}},"summary":"Search for Invites by first name, last name, email or organisation","tags":["invite-controller"]}},"/invites/redeem":{"post":{"operationId":"redeemInvite","parameters":[{"description":"The email of the user to redeem the invite for","example":"example@example.com","in":"query","name":"email","required":true,"schema":{"type":"string"}},{"description":"The User Id of the User making the request","example":"123e4567-e89b-12d3-a456-426614174000","in":"header","name":"X-User-Id","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK"}},"summary":"Redeem an invite","tags":["invite-controller"]}},"/invites/{userId}":{"delete":{"operationId":"deleteInvite","parameters":[{"in":"path","name":"userId","required":true,"schema":{"type":"string","format":"uuid"}},{"description":"The User Id of the User making the request","example":"123e4567-e89b-12d3-a456-426614174000","in":"header","name":"X-User-Id","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK"}},"summary":"Delete the user with invitation sent status","tags":["invite-controller"]},"get":{"operationId":"getInviteById","parameters":[{"in":"path","name":"userId","required":true,"schema":{"type":"string","format":"uuid"}},{"description":"The User Id of the User making the request","example":"123e4567-e89b-12d3-a456-426614174000","in":"header","name":"X-User-Id","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/InviteDTO"}}},"description":"OK"}},"summary":"Get an invite by user id","tags":["invite-controller"]},"put":{"operationId":"putInvite","parameters":[{"in":"path","name":"userId","required":true,"schema":{"type":"string","format":"uuid"}},{"description":"The User Id of the User making the request","example":"123e4567-e89b-12d3-a456-426614174000","in":"header","name":"X-User-Id","required":false,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateInviteDTO"}}},"required":true},"responses":{"200":{"description":"OK"}},"summary":"Create a portal access user and invite them","tags":["invite-controller"]}},"/media-service/assets":{"get":{"operationId":"getAssets","parameters":[{"description":"The User Id of the User making the request","example":"123e4567-e89b-12d3-a456-426614174000","in":"header","name":"X-User-Id","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AssetDTO"}}}},"description":"OK"}},"summary":"Get all media service assets","tags":["media-service-controller"]}},"/media-service/assets/{assetName}":{"get":{"operationId":"getAssetsByName","parameters":[{"in":"path","name":"assetName","required":true,"schema":{"type":"string"}},{"description":"The User Id of the User making the request","example":"123e4567-e89b-12d3-a456-426614174000","in":"header","name":"X-User-Id","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/AssetDTO"}}},"description":"OK"}},"summary":"Get a media service asset by name","tags":["media-service-controller"]}},"/media-service/blob/{containerName}":{"get":{"operationId":"checkBlobExists","parameters":[{"in":"path","name":"containerName","required":true,"schema":{"type":"string"}},{"description":"The User Id of the User making the request","example":"123e4567-e89b-12d3-a456-426614174000","in":"header","name":"X-User-Id","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"content":{"*/*":{"schema":{"type":"boolean"}}},"description":"OK"}},"summary":"Checks if a container contains the .ism file. 204 on success, 404 on failure.","tags":["media-service-controller"]}},"/media-service/generate-asset":{"post":{"operationId":"generateAsset","parameters":[{"description":"The User Id of the User making the request","example":"123e4567-e89b-12d3-a456-426614174000","in":"header","name":"X-User-Id","required":false,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerateAssetDTO"}}},"required":true},"responses":{"200":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/GenerateAssetResponseDTO"}}},"description":"OK"}},"summary":"LEGACY - Given a source & destination, this endpoint will generate a streaming asset for a given mp4","tags":["media-service-controller"]}},"/media-service/health":{"get":{"operationId":"mediaServiceHealth","parameters":[{"description":"The User Id of the User making the request","example":"123e4567-e89b-12d3-a456-426614174000","in":"header","name":"X-User-Id","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"content":{"*/*":{"schema":{"type":"string"}}},"description":"OK"}},"summary":"Check the status of the media service connection","tags":["media-service-controller"]}},"/media-service/live-event/check/{captureSessionId}":{"post":{"operationId":"checkStream","parameters":[{"in":"path","name":"captureSessionId","required":true,"schema":{"type":"string","format":"uuid"}},{"description":"The User Id of the User making the request","example":"123e4567-e89b-12d3-a456-426614174000","in":"header","name":"X-User-Id","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/CaptureSessionDTO"}}},"description":"OK"}},"summary":"Check stream has started","tags":["media-service-controller"]}},"/media-service/live-event/end/{captureSessionId}":{"put":{"operationId":"stopLiveEvent","parameters":[{"in":"path","name":"captureSessionId","required":true,"schema":{"type":"string","format":"uuid"}},{"description":"The User Id of the User making the request","example":"123e4567-e89b-12d3-a456-426614174000","in":"header","name":"X-User-Id","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/CaptureSessionDTO"}}},"description":"OK"}},"summary":"Stop a live event","tags":["media-service-controller"]}},"/media-service/live-event/start/{captureSessionId}":{"put":{"operationId":"startLiveEvent","parameters":[{"in":"path","name":"captureSessionId","required":true,"schema":{"type":"string","format":"uuid"}},{"description":"The User Id of the User making the request","example":"123e4567-e89b-12d3-a456-426614174000","in":"header","name":"X-User-Id","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/CaptureSessionDTO"}}},"description":"OK"}},"summary":"Start a live event","tags":["media-service-controller"]}},"/media-service/live-events":{"get":{"operationId":"getLiveEvents","parameters":[{"description":"The User Id of the User making the request","example":"123e4567-e89b-12d3-a456-426614174000","in":"header","name":"X-User-Id","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/LiveEventDTO"}}}},"description":"OK"}},"summary":"Get a list of media service live events","tags":["media-service-controller"]}},"/media-service/live-events/{liveEventName}":{"get":{"operationId":"getLiveEventsByName","parameters":[{"in":"path","name":"liveEventName","required":true,"schema":{"type":"string"}},{"description":"The User Id of the User making the request","example":"123e4567-e89b-12d3-a456-426614174000","in":"header","name":"X-User-Id","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/LiveEventDTO"}}},"description":"OK"}},"summary":"Get a media service live event by name","tags":["media-service-controller"]}},"/media-service/streaming-locator/live-event/{captureSessionId}":{"put":{"operationId":"playLiveEvent","parameters":[{"in":"path","name":"captureSessionId","required":true,"schema":{"type":"string","format":"uuid"}},{"description":"The User Id of the User making the request","example":"123e4567-e89b-12d3-a456-426614174000","in":"header","name":"X-User-Id","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/CaptureSessionDTO"}}},"description":"OK"}},"summary":"Play a live event","tags":["media-service-controller"]}},"/media-service/vod":{"get":{"operationId":"getVod","parameters":[{"in":"query","name":"recordingId","required":true,"schema":{"type":"string","format":"uuid"}},{"in":"query","name":"mediaService","required":false,"schema":{"type":"string"}},{"description":"The User Id of the User making the request","example":"123e4567-e89b-12d3-a456-426614174000","in":"header","name":"X-User-Id","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/PlaybackDTO"}}},"description":"OK"}},"tags":["media-service-controller"]}},"/portal-terms-and-conditions/latest":{"get":{"operationId":"getLatestTermsForPortal","parameters":[{"description":"The User Id of the User making the request","example":"123e4567-e89b-12d3-a456-426614174000","in":"header","name":"X-User-Id","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/TermsAndConditionsDTO"}}},"description":"OK"}},"summary":"Get the latest terms and conditions for the portal","tags":["terms-and-conditions-controller"]}},"/recordings":{"get":{"operationId":"getRecordings","parameters":[{"description":"Partial string of the recording id to search by","example":"123e4567-e89b-12d3-a456-426614174000","in":"query","name":"id","schema":{"type":"string"}},{"description":"The capture session to search by","example":"123e4567-e89b-12d3-a456-426614174000","in":"query","name":"captureSessionId","schema":{"type":"string","format":"uuid"}},{"description":"The parent recording to search by","example":"123e4567-e89b-12d3-a456-426614174000","in":"query","name":"parentRecordingId","schema":{"type":"string","format":"uuid"}},{"description":"The participant to search by","example":"123e4567-e89b-12d3-a456-426614174000","in":"query","name":"participantId","schema":{"type":"string","format":"uuid"}},{"description":"The name of a witness to search by","in":"query","name":"witnessName","schema":{"type":"string"}},{"description":"The name of a defendant to search by","in":"query","name":"defendantName","schema":{"type":"string"}},{"description":"The case reference to search by","example":"CASE12345","in":"query","name":"caseReference","schema":{"type":"string"}},{"description":"The Date the recording's capture session was started at","example":"2024-04-27","in":"query","name":"startedAt","schema":{"type":"string","format":"date"}},{"description":"The court to search by","example":"123e4567-e89b-12d3-a456-426614174000","in":"query","name":"courtId","schema":{"type":"string","format":"uuid"}},{"description":"Include recordings marked as deleted","in":"query","name":"includeDeleted","schema":{"type":"boolean"}},{"description":"The version number to search by","in":"query","name":"version","schema":{"type":"integer","format":"int32"}},{"description":"The case status to search by","in":"query","name":"caseOpen","schema":{"type":"boolean"}},{"description":"Sort by","example":"createdAt,desc","in":"query","name":"sort","schema":{"type":"string"}},{"description":"The page number of search result to return","example":0,"in":"query","name":"page","schema":{"type":"integer","format":"int32"}},{"description":"The number of search results to return per page","example":10,"in":"query","name":"size","schema":{"type":"integer","format":"int32"}},{"description":"The User Id of the User making the request","example":"123e4567-e89b-12d3-a456-426614174000","in":"header","name":"X-User-Id","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/PagedModelEntityModelRecordingDTO"}}},"description":"OK"}},"summary":"Search all Recordings","tags":["recording-controller"]}},"/recordings/visibility":{"get":{"operationId":"recordingVisibility","parameters":[{"description":"Get a list of recordings that are visible/invisible by exception","example":"VISIBLE","in":"query","name":"visible","required":true,"schema":{"type":"string","enum":["DEFAULT","VISIBLE","INVISIBLE"]}},{"description":"The User Id of the User making the request","example":"123e4567-e89b-12d3-a456-426614174000","in":"header","name":"X-User-Id","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"content":{"*/*":{"schema":{"type":"array","items":{"type":"string","format":"uuid"}}}},"description":"OK"}},"summary":"Get recordings that are (in)visible by exception","tags":["recording-controller"]},"put":{"operationId":"updateRecordingsVisibility","parameters":[{"description":"The User Id of the User making the request","example":"123e4567-e89b-12d3-a456-426614174000","in":"header","name":"X-User-Id","required":false,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"required":["file"],"type":"object","properties":{"file":{"type":"string","format":"binary"}}}}}},"responses":{"200":{"content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/RecordingVisibility"}}}},"description":"OK"}},"tags":["recording-controller"]}},"/recordings/visibility/reset":{"put":{"operationId":"recordingVisibility_1","parameters":[{"description":"The User Id of the User making the request","example":"123e4567-e89b-12d3-a456-426614174000","in":"header","name":"X-User-Id","required":false,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"array","items":{"type":"string","format":"uuid"}}}},"required":true},"responses":{"200":{"content":{"*/*":{"schema":{"type":"array","items":{"type":"string","format":"uuid"}}}},"description":"OK"}},"summary":"Reset visibility of recordings to default","tags":["recording-controller"]}},"/recordings/{recordingId}":{"delete":{"operationId":"deleteRecording","parameters":[{"in":"path","name":"recordingId","required":true,"schema":{"type":"string","format":"uuid"}},{"description":"The User Id of the User making the request","example":"123e4567-e89b-12d3-a456-426614174000","in":"header","name":"X-User-Id","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK"}},"summary":"Delete a Recording","tags":["recording-controller"]},"get":{"operationId":"getRecordingById","parameters":[{"in":"path","name":"recordingId","required":true,"schema":{"type":"string","format":"uuid"}},{"description":"The User Id of the User making the request","example":"123e4567-e89b-12d3-a456-426614174000","in":"header","name":"X-User-Id","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/RecordingDTO"}}},"description":"OK"}},"summary":"Get a Recording by Id","tags":["recording-controller"]},"put":{"operationId":"putRecordings","parameters":[{"in":"path","name":"recordingId","required":true,"schema":{"type":"string","format":"uuid"}},{"description":"The User Id of the User making the request","example":"123e4567-e89b-12d3-a456-426614174000","in":"header","name":"X-User-Id","required":false,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateRecordingDTO"}}},"required":true},"responses":{"200":{"description":"OK"}},"summary":"Create or Update a Recording","tags":["recording-controller"]}},"/recordings/{recordingId}/undelete":{"post":{"operationId":"undeleteRecording","parameters":[{"in":"path","name":"recordingId","required":true,"schema":{"type":"string","format":"uuid"}},{"description":"The User Id of the User making the request","example":"123e4567-e89b-12d3-a456-426614174000","in":"header","name":"X-User-Id","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK"}},"summary":"Revert deletion of a recording","tags":["recording-controller"]}},"/recordings/{recordingId}/visibility":{"get":{"operationId":"getRecordingVisibilityById","parameters":[{"in":"path","name":"recordingId","required":true,"schema":{"type":"string","format":"uuid"}},{"description":"The User Id of the User making the request","example":"123e4567-e89b-12d3-a456-426614174000","in":"header","name":"X-User-Id","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"content":{"*/*":{"schema":{"type":"string"}}},"description":"OK"}},"summary":"Get a Recording Visibility by Id","tags":["recording-controller"]}},"/reports-v2/capture-sessions-concurrent":{"get":{"operationId":"reportConcurrentCaptureSessionsv2","parameters":[{"description":"The User Id of the User making the request","example":"123e4567-e89b-12d3-a456-426614174000","in":"header","name":"X-User-Id","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ConcurrentCaptureSessionReportDTOV2"}}}},"description":"OK"}},"tags":["report-controller"]}},"/reports-v2/completed-capture-sessions":{"get":{"operationId":"reportCompletedCaptureSessions_1","parameters":[{"description":"The User Id of the User making the request","example":"123e4567-e89b-12d3-a456-426614174000","in":"header","name":"X-User-Id","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/CompletedCaptureSessionReportDTOV2"}}}},"description":"OK"}},"summary":"Get a report on capture sessions with available recordings v2","tags":["report-controller"]}},"/reports-v2/edits":{"get":{"operationId":"reportEdits_1","parameters":[{"description":"The User Id of the User making the request","example":"123e4567-e89b-12d3-a456-426614174000","in":"header","name":"X-User-Id","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/EditReportDTOV2"}}}},"description":"OK"}},"summary":"Get a report on recordings edits v2","tags":["report-controller"]}},"/reports-v2/playback":{"get":{"operationId":"reportPlayback_1","parameters":[{"description":"The source of the playback. Only accepts PORTAL, APPLICATION or null","in":"query","name":"source","required":false,"schema":{"type":"string","enum":["APPLICATION","PORTAL","ADMIN","AUTO"]}},{"description":"The User Id of the User making the request","example":"123e4567-e89b-12d3-a456-426614174000","in":"header","name":"X-User-Id","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PlaybackReportDTOV2"}}}},"description":"OK"}},"summary":"Get report on playback by playback source (PORTAL, APPLICATION) v2","tags":["report-controller"]}},"/reports-v2/recording-participants":{"get":{"operationId":"reportRecordingParticipants_1","parameters":[{"description":"The User Id of the User making the request","example":"123e4567-e89b-12d3-a456-426614174000","in":"header","name":"X-User-Id","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/RecordingParticipantsReportDTO"}}}},"description":"OK"}},"summary":"Get report on participants and the recordings they are part of v2","tags":["report-controller"]}},"/reports-v2/recordings-per-case":{"get":{"operationId":"reportRecordingsPerCase_1","parameters":[{"description":"The User Id of the User making the request","example":"123e4567-e89b-12d3-a456-426614174000","in":"header","name":"X-User-Id","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/RecordingsPerCaseReportDTOV2"}}}},"description":"OK"}},"summary":"Get the number of completed capture sessions for each case v2","tags":["report-controller"]}},"/reports-v2/schedules":{"get":{"operationId":"reportSchedules_1","parameters":[{"description":"The User Id of the User making the request","example":"123e4567-e89b-12d3-a456-426614174000","in":"header","name":"X-User-Id","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ScheduleReportDTOV2"}}}},"description":"OK"}},"summary":"Get a list of completed capture sessions with booking details v2","tags":["report-controller"]}},"/reports-v2/share-bookings-removed":{"get":{"operationId":"reportShareBookingRemoved_1","parameters":[{"description":"The User Id of the User making the request","example":"123e4567-e89b-12d3-a456-426614174000","in":"header","name":"X-User-Id","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AccessRemovedReportDTOV2"}}}},"description":"OK"}},"summary":"Get report on booking share removal v2","tags":["report-controller"]}},"/reports-v2/shared-bookings":{"get":{"operationId":"reportBookingsShared_1","parameters":[{"description":"The court id to search by","example":"123e4567-e89b-12d3-a456-426614174000","in":"query","name":"courtId","schema":{"type":"string","format":"uuid"}},{"description":"The booking id to search by","example":"123e4567-e89b-12d3-a456-426614174000","in":"query","name":"bookingId","schema":{"type":"string","format":"uuid"}},{"description":"The id of the user the booking is shared with to search by","example":"123e4567-e89b-12d3-a456-426614174000","in":"query","name":"sharedWithId","schema":{"type":"string","format":"uuid"}},{"description":"The email of the user the booking is shared with to search by","example":"example@example.com","in":"query","name":"sharedWithEmail","schema":{"type":"string"}},{"description":"The shares must be active (not deleted) then true, otherwise false","example":true,"in":"query","name":"onlyActive","schema":{"type":"boolean"}},{"description":"The User Id of the User making the request","example":"123e4567-e89b-12d3-a456-426614174000","in":"header","name":"X-User-Id","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SharedReportDTOV2"}}}},"description":"OK"}},"summary":"Get a report on the bookings that have been shared v2","tags":["report-controller"]}},"/reports-v2/user-full-access-report":{"get":{"operationId":"reportUserFullAccess","parameters":[{"description":"The User Id of the User making the request","example":"123e4567-e89b-12d3-a456-426614174000","in":"header","name":"X-User-Id","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/UserAccessReportDTO"}}}},"description":"OK"}},"summary":"Get full report on app users","tags":["report-controller"]}},"/reports-v2/user-full-access-report-csv":{"get":{"operationId":"reportUserFullAccessCsv","parameters":[{"description":"The User Id of the User making the request","example":"123e4567-e89b-12d3-a456-426614174000","in":"header","name":"X-User-Id","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"content":{"text/csv":{"schema":{"type":"string","format":"byte"}}},"description":"OK"}},"summary":"Get full report on app users in CSV format","tags":["report-controller"]}},"/reports-v2/user-primary-courts":{"get":{"operationId":"reportUserPrimaryCourts_1","parameters":[{"description":"The User Id of the User making the request","example":"123e4567-e89b-12d3-a456-426614174000","in":"header","name":"X-User-Id","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/UserPrimaryCourtReportDTO"}}}},"description":"OK"}},"summary":"Get report on app users and their primary courts v2","tags":["report-controller"]}},"/reports-v2/user-recording-playback":{"get":{"operationId":"userRecordingPlaybackReport","parameters":[{"description":"The User Id of the User making the request","example":"123e4567-e89b-12d3-a456-426614174000","in":"header","name":"X-User-Id","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/UserRecordingPlaybackReportDTOV2"}}}},"description":"OK"}},"summary":"Get report on playback by playback for all sources v2","tags":["report-controller"]}},"/reports/capture-sessions-concurrent":{"get":{"operationId":"reportConcurrentCaptureSessions","parameters":[{"description":"The User Id of the User making the request","example":"123e4567-e89b-12d3-a456-426614174000","in":"header","name":"X-User-Id","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ConcurrentCaptureSessionReportDTO"}}}},"description":"OK"}},"tags":["legacy-report-controller"]}},"/reports/completed-capture-sessions":{"get":{"operationId":"reportCompletedCaptureSessions","parameters":[{"description":"The User Id of the User making the request","example":"123e4567-e89b-12d3-a456-426614174000","in":"header","name":"X-User-Id","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/CompletedCaptureSessionReportDTO"}}}},"description":"OK"}},"summary":"Get a report on capture sessions with available recordings","tags":["legacy-report-controller"]}},"/reports/edits":{"get":{"operationId":"reportEdits","parameters":[{"description":"The User Id of the User making the request","example":"123e4567-e89b-12d3-a456-426614174000","in":"header","name":"X-User-Id","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/EditReportDTO"}}}},"description":"OK"}},"summary":"Get a report on recordings edits","tags":["legacy-report-controller"]}},"/reports/playback":{"get":{"operationId":"reportPlayback","parameters":[{"description":"The source of the playback. Only accepts PORTAL, APPLICATION or null","in":"query","name":"source","required":false,"schema":{"type":"string","enum":["APPLICATION","PORTAL","ADMIN","AUTO"]}},{"description":"The User Id of the User making the request","example":"123e4567-e89b-12d3-a456-426614174000","in":"header","name":"X-User-Id","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PlaybackReportDTO"}}}},"description":"OK"}},"summary":"Get report on playback by playback source (PORTAL, APPLICATION)","tags":["legacy-report-controller"]}},"/reports/recording-participants":{"get":{"operationId":"reportRecordingParticipants","parameters":[{"description":"The User Id of the User making the request","example":"123e4567-e89b-12d3-a456-426614174000","in":"header","name":"X-User-Id","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/RecordingParticipantsReportDTO"}}}},"description":"OK"}},"summary":"Get report on participants and the recordings they are part of","tags":["legacy-report-controller"]}},"/reports/recordings-per-case":{"get":{"operationId":"reportRecordingsPerCase","parameters":[{"description":"The User Id of the User making the request","example":"123e4567-e89b-12d3-a456-426614174000","in":"header","name":"X-User-Id","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/RecordingsPerCaseReportDTO"}}}},"description":"OK"}},"summary":"Get the number of completed capture sessions for each case","tags":["legacy-report-controller"]}},"/reports/schedules":{"get":{"operationId":"reportSchedules","parameters":[{"description":"The User Id of the User making the request","example":"123e4567-e89b-12d3-a456-426614174000","in":"header","name":"X-User-Id","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ScheduleReportDTO"}}}},"description":"OK"}},"summary":"Get a list of completed capture sessions with booking details","tags":["legacy-report-controller"]}},"/reports/share-bookings-removed":{"get":{"operationId":"reportShareBookingRemoved","parameters":[{"description":"The User Id of the User making the request","example":"123e4567-e89b-12d3-a456-426614174000","in":"header","name":"X-User-Id","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AccessRemovedReportDTO"}}}},"description":"OK"}},"summary":"Get report on booking share removal","tags":["legacy-report-controller"]}},"/reports/shared-bookings":{"get":{"operationId":"reportBookingsShared","parameters":[{"description":"The court id to search by","example":"123e4567-e89b-12d3-a456-426614174000","in":"query","name":"courtId","schema":{"type":"string","format":"uuid"}},{"description":"The booking id to search by","example":"123e4567-e89b-12d3-a456-426614174000","in":"query","name":"bookingId","schema":{"type":"string","format":"uuid"}},{"description":"The id of the user the booking is shared with to search by","example":"123e4567-e89b-12d3-a456-426614174000","in":"query","name":"sharedWithId","schema":{"type":"string","format":"uuid"}},{"description":"The email of the user the booking is shared with to search by","example":"example@example.com","in":"query","name":"sharedWithEmail","schema":{"type":"string"}},{"description":"The User Id of the User making the request","example":"123e4567-e89b-12d3-a456-426614174000","in":"header","name":"X-User-Id","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SharedReportDTO"}}}},"description":"OK"}},"summary":"Get a report on the bookings that have been shared","tags":["legacy-report-controller"]}},"/reports/user-primary-courts":{"get":{"operationId":"reportUserPrimaryCourts","parameters":[{"description":"The User Id of the User making the request","example":"123e4567-e89b-12d3-a456-426614174000","in":"header","name":"X-User-Id","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/UserPrimaryCourtReportDTO"}}}},"description":"OK"}},"summary":"Get report on app users: their first and last name, their role, their active status, their primary court and their last access time (if available)","tags":["legacy-report-controller"]}},"/roles":{"get":{"operationId":"getRoles","parameters":[{"description":"The User Id of the User making the request","example":"123e4567-e89b-12d3-a456-426614174000","in":"header","name":"X-User-Id","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/RoleDTO"}}}},"description":"OK"}},"summary":"Get a list of all roles","tags":["role-controller"]}},"/users":{"get":{"operationId":"getUsers","parameters":[{"description":"The name of the user to search by","in":"query","name":"name","schema":{"type":"string"}},{"description":"The email of the user to search by","example":"example@example.com","in":"query","name":"email","schema":{"type":"string"}},{"description":"The organisation of the user to search by","in":"query","name":"organisation","schema":{"type":"string"}},{"description":"The court id of the user to search by","example":"123e4567-e89b-12d3-a456-426614174000","in":"query","name":"courtId","schema":{"type":"string","format":"uuid"}},{"description":"The role id of the user to search by","example":"123e4567-e89b-12d3-a456-426614174000","in":"query","name":"roleId","schema":{"type":"string","format":"uuid"}},{"description":"Get Users by their access type","in":"query","name":"accessType","schema":{"type":"string","enum":["PORTAL","APP"]}},{"description":"Include users marked as deleted","in":"query","name":"includeDeleted","schema":{"type":"boolean"}},{"description":"Filter by users with active app access","in":"query","name":"appActive","schema":{"type":"boolean"}},{"description":"The page number of search result to return","example":0,"in":"query","name":"page","schema":{"type":"integer","format":"int32"}},{"description":"The number of search results to return per page","example":10,"in":"query","name":"size","schema":{"type":"integer","format":"int32"}},{"description":"The User Id of the User making the request","example":"123e4567-e89b-12d3-a456-426614174000","in":"header","name":"X-User-Id","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/PagedModelEntityModelUserDTO"}}},"description":"OK"}},"summary":"Search for Users by first name, last name, email, organisation, court or role","tags":["user-controller"]}},"/users/by-email/{email}":{"get":{"operationId":"getUserAccessByEmail","parameters":[{"in":"path","name":"email","required":true,"schema":{"type":"string"}},{"description":"The User Id of the User making the request","example":"123e4567-e89b-12d3-a456-426614174000","in":"header","name":"X-User-Id","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/AccessDTO"}}},"description":"OK"}},"summary":"Get a User's App Access by Email","tags":["user-controller"]}},"/users/{userId}":{"delete":{"operationId":"deleteUser","parameters":[{"in":"path","name":"userId","required":true,"schema":{"type":"string","format":"uuid"}},{"description":"The User Id of the User making the request","example":"123e4567-e89b-12d3-a456-426614174000","in":"header","name":"X-User-Id","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK"}},"summary":"Delete a User","tags":["user-controller"]},"get":{"operationId":"getUserById","parameters":[{"in":"path","name":"userId","required":true,"schema":{"type":"string","format":"uuid"}},{"description":"The User Id of the User making the request","example":"123e4567-e89b-12d3-a456-426614174000","in":"header","name":"X-User-Id","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/UserDTO"}}},"description":"OK"}},"summary":"Get a User by Id","tags":["user-controller"]},"put":{"operationId":"putUser","parameters":[{"in":"path","name":"userId","required":true,"schema":{"type":"string","format":"uuid"}},{"description":"The User Id of the User making the request","example":"123e4567-e89b-12d3-a456-426614174000","in":"header","name":"X-User-Id","required":false,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateUserDTO"}}},"required":true},"responses":{"200":{"description":"OK"}},"summary":"Create or Update a User","tags":["user-controller"]}},"/users/{userId}/undelete":{"post":{"operationId":"undeleteUser","parameters":[{"in":"path","name":"userId","required":true,"schema":{"type":"string","format":"uuid"}},{"description":"The User Id of the User making the request","example":"123e4567-e89b-12d3-a456-426614174000","in":"header","name":"X-User-Id","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK"}},"summary":"Revert deletion of user","tags":["user-controller"]}},"/vf-migration-records":{"get":{"operationId":"getVfMigrationRecords","parameters":[{"description":"The case reference to search for","in":"query","name":"caseReference","schema":{"type":"string"}},{"description":"The witness name to search for","in":"query","name":"witnessName","schema":{"type":"string"}},{"description":"The defendant name to search for","in":"query","name":"defendantName","schema":{"type":"string"}},{"description":"The court id to search for","in":"query","name":"courtId","schema":{"type":"string","format":"uuid"}},{"description":"The court reference to search for","in":"query","name":"courtReference","schema":{"type":"string"}},{"description":"The status to search for","in":"query","name":"status","schema":{"type":"string","enum":["PENDING","SUCCESS","FAILED","READY","SUBMITTED","IGNORED"]}},{"description":"The date the record was created to search from","example":"2024-04-27","in":"query","name":"createDateFrom","schema":{"type":"string","format":"date"}},{"description":"The date the record was created to search to","example":"2024-04-27","in":"query","name":"createDateTo","schema":{"type":"string","format":"date"}},{"description":"Search by a list of reasons","in":"query","name":"reasonIn","schema":{"type":"string"}},{"description":"Search by a list of reasons that should not be included","in":"query","name":"reasonNotIn","schema":{"type":"string"}},{"description":"Sort by","example":"archiveName,desc","in":"query","name":"sort","schema":{"type":"string"}},{"description":"The page number of search result to return","example":0,"in":"query","name":"page","schema":{"type":"integer","format":"int32"}},{"description":"The number of search results to return per page","example":10,"in":"query","name":"size","schema":{"type":"integer","format":"int32"}},{"description":"The User Id of the User making the request","example":"123e4567-e89b-12d3-a456-426614174000","in":"header","name":"X-User-Id","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/PagedModelEntityModelVfMigrationRecordDTO"}}},"description":"OK"}},"summary":"Search all migration records","tags":["vf-migration-controller"]}},"/vf-migration-records/import-assets":{"post":{"operationId":"importVodafoneAssets","parameters":[{"description":"The User Id of the User making the request","example":"123e4567-e89b-12d3-a456-426614174000","in":"header","name":"X-User-Id","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK"}},"summary":"Imports Vodafone for resolbed migration records","tags":["vf-migration-controller"]}},"/vf-migration-records/submit":{"post":{"operationId":"submitMigrationRecords","parameters":[{"description":"The User Id of the User making the request","example":"123e4567-e89b-12d3-a456-426614174000","in":"header","name":"X-User-Id","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK"}},"summary":"Submits resolved migration records and runs import","tags":["vf-migration-controller"]}},"/vf-migration-records/{id}":{"put":{"operationId":"putVfMigrationRecord","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string","format":"uuid"}},{"description":"The User Id of the User making the request","example":"123e4567-e89b-12d3-a456-426614174000","in":"header","name":"X-User-Id","required":false,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateVfMigrationRecordDTO"}}},"required":true},"responses":{"200":{"description":"OK"}},"summary":"Update vf migration record","tags":["vf-migration-controller"]}}},"components":{"schemas":{"AccessDTO":{"type":"object","properties":{"app_access":{"uniqueItems":true,"type":"array","description":"AccessAppAccess","items":{"$ref":"#/components/schemas/BaseAppAccessDTO"}},"portal_access":{"uniqueItems":true,"type":"array","description":"AccessPortalAccess","items":{"$ref":"#/components/schemas/PortalAccessDTO"}},"terms_accepted":{"type":"object","additionalProperties":{"type":"boolean","description":"UserTermsAccepted"},"description":"UserTermsAccepted"},"user":{"$ref":"#/components/schemas/BaseUserDTO"}},"description":"AccessDTO"},"AccessRemovedReportDTO":{"type":"object","properties":{"case_reference":{"type":"string","description":"AccessRemovedReportCaseReference"},"court":{"type":"string","description":"AccessRemovedReportCourtName"},"regions":{"uniqueItems":true,"type":"array","description":"AccessRemovedReportRegions","items":{"$ref":"#/components/schemas/RegionDTO"}},"removal_reason":{"type":"string","description":"AccessRemovedReportRemovalReason"},"removed_at":{"type":"string","description":"AccessRemovedReportRemovedAt","format":"date-time"},"user_email":{"type":"string","description":"AccessRemovedReportUserEmail"},"user_full_name":{"type":"string","description":"AccessRemovedReportUserFullName"}},"description":"AccessRemovedReportDTO"},"AccessRemovedReportDTOV2":{"type":"object","properties":{"case_reference":{"type":"string","description":"ReportCaseReference"},"county":{"type":"string","description":"ReportCounty"},"court":{"type":"string","description":"ReportCourt"},"full_name":{"type":"string","description":"AccessRemovedReportUserFullName"},"postcode":{"type":"string","description":"ReportPostcode"},"region":{"type":"string","description":"ReportRegion"},"removed_date":{"type":"string","description":"AccessRemovedReportRemovedDate"},"removed_time":{"type":"string","description":"AccessRemovedReportRemovedTime"},"removed_timezone":{"type":"string","description":"AccessRemovedReportRemovedTimezone"},"user_email":{"type":"string","description":"AccessRemovedReportUserEmail"}},"description":"AccessRemovedReportDTOV2"},"AssetDTO":{"type":"object","properties":{"container":{"type":"string","description":"AssetContainer"},"description":{"type":"string","description":"AssetDescription"},"name":{"type":"string","description":"AssetName"},"storage_account_name":{"type":"string","description":"AssetStorageAccountName"}},"description":"AssetDTO"},"BaseAppAccessDTO":{"type":"object","properties":{"active":{"type":"boolean","description":"AppAccessActive"},"court":{"$ref":"#/components/schemas/CourtDTO"},"created_at":{"type":"string","description":"AppAccessCreatedAt","format":"date-time"},"default_court":{"type":"boolean","description":"AppAccessIsDefaultCourt"},"id":{"type":"string","description":"AppAccessId","format":"uuid"},"last_access":{"type":"string","description":"AppAccessLastAccess","format":"date-time"},"role":{"$ref":"#/components/schemas/RoleDTO"}},"description":"BaseAppAccessDTO"},"BaseUserDTO":{"required":["email","first_name","id","last_name"],"type":"object","properties":{"alternative_email":{"type":"string","format":"email","description":"AlternativeEmail","maxLength":100,"minLength":0},"email":{"type":"string","format":"email","description":"UserEmail","minLength":1},"first_name":{"minLength":1,"type":"string","description":"UserFirstName"},"id":{"type":"string","description":"UserId","format":"uuid"},"last_name":{"minLength":1,"type":"string","description":"UserLastName"},"organisation":{"type":"string","description":"UserOrganisation"},"phone_number":{"type":"string","description":"UserPhoneNumber"}},"description":"BaseUserDTO"},"BookingDTO":{"type":"object","properties":{"capture_sessions":{"type":"array","description":"CaptureSessions","items":{"$ref":"#/components/schemas/CaptureSessionDTO"}},"case_dto":{"$ref":"#/components/schemas/CaseDTO"},"created_at":{"type":"string","description":"BookingCreatedAt","format":"date-time"},"deleted_at":{"type":"string","description":"BookingDeletedAt","format":"date-time"},"id":{"type":"string","description":"BookingId","format":"uuid"},"modified_at":{"type":"string","description":"BookingModifiedAt","format":"date-time"},"participants":{"type":"array","description":"BookingParticipants","items":{"$ref":"#/components/schemas/ParticipantDTO"}},"scheduled_for":{"type":"string","description":"BookingScheduledFor","format":"date-time"},"shares":{"type":"array","description":"BookingShares","items":{"$ref":"#/components/schemas/ShareBookingDTO"}}},"description":"BookingDTO"},"CaptureSessionDTO":{"required":["booking_id","id","origin","status"],"type":"object","properties":{"booking_id":{"type":"string","description":"CreateCaptureSessionBookingId","format":"uuid"},"case_closed_at":{"type":"string","description":"CaptureSessionCaseClosedAt","format":"date-time"},"case_state":{"type":"string","description":"CaptureSessionCaseState","enum":["OPEN","PENDING_CLOSURE","CLOSED"]},"court_name":{"type":"string","description":"RecordingParticipants"},"deleted_at":{"type":"string","description":"CaptureSessionDeletedAt","format":"date-time"},"finished_at":{"type":"string","description":"CreateCaptureSessionFinishedAt","format":"date-time"},"finished_by_user_id":{"type":"string","description":"CreateCaptureSessionFinishedByUserId","format":"uuid"},"id":{"type":"string","description":"CreateCaptureSessionId","format":"uuid"},"ingest_address":{"type":"string","description":"CreateCaptureSessionIngestAddress"},"live_output_url":{"type":"string","description":"CreateCaptureSessionLiveOutputURL"},"origin":{"type":"string","description":"CreateCaptureSessionOrigin","enum":["PRE","VODAFONE","VODAFONE_VISIBLE"]},"started_at":{"type":"string","description":"CreateCaptureSessionStartedAt","format":"date-time"},"started_by_user_id":{"type":"string","description":"CreateCaptureSessionStartedByUserId","format":"uuid"},"status":{"type":"string","description":"CreateCaptureSessionStatus","enum":["STANDBY","INITIALISING","RECORDING","PROCESSING","RECORDING_AVAILABLE","FAILURE","NO_RECORDING"]}},"description":"CaptureSessionDTO"},"CaseDTO":{"type":"object","properties":{"closed_at":{"type":"string","description":"CaseClosedAt","format":"date-time"},"court":{"$ref":"#/components/schemas/CourtDTO"},"created_at":{"type":"string","description":"CaseCreatedAt","format":"date-time"},"deleted_at":{"type":"string","description":"CaseDeletedAt","format":"date-time"},"id":{"type":"string","description":"CaseId","format":"uuid"},"modified_at":{"type":"string","description":"CaseModifiedAt","format":"date-time"},"origin":{"type":"string","description":"CaseOrigin","enum":["PRE","VODAFONE","VODAFONE_VISIBLE"]},"participants":{"type":"array","description":"CaseParticipants","items":{"$ref":"#/components/schemas/ParticipantDTO"}},"reference":{"type":"string","description":"CaseReference"},"state":{"type":"string","description":"CaseState","enum":["OPEN","PENDING_CLOSURE","CLOSED"]},"test":{"type":"boolean","description":"CaseIsTest"}},"description":"CaseDTO"},"CompletedCaptureSessionReportDTO":{"type":"object","properties":{"case_reference":{"type":"string","description":"CompletedCaptureSessionReportCaseReference"},"count_defendants":{"type":"integer","description":"CompletedCaptureSessionReportDefendantCount","format":"int32"},"count_witnesses":{"type":"integer","description":"CompletedCaptureSessionReportWitnessCount","format":"int32"},"court":{"type":"string","description":"CompletedCaptureSessionReportCourtName"},"duration":{"type":"string","description":"CompletedCaptureSessionReportDuration"},"finished_at":{"type":"string","description":"CompletedCaptureSessionReportFinishedAt","format":"date-time"},"recording_status":{"type":"string","description":"CompletedCaptureSessionReportRecordingStatus","enum":["STANDBY","INITIALISING","RECORDING","PROCESSING","RECORDING_AVAILABLE","FAILURE","NO_RECORDING"]},"regions":{"uniqueItems":true,"type":"array","description":"CompletedCaptureSessionReportRegions","items":{"$ref":"#/components/schemas/RegionDTO"}},"scheduled_for":{"type":"string","description":"CompletedCaptureSessionReportBookingScheduledFor","format":"date-time"},"started_at":{"type":"string","description":"CompletedCaptureSessionReportStartedAt","format":"date-time"}},"description":"CompletedCaptureSessionReportDTO"},"CompletedCaptureSessionReportDTOV2":{"type":"object","properties":{"case_reference":{"type":"string","description":"ReportCaseReference"},"county":{"type":"string","description":"ReportCounty"},"court":{"type":"string","description":"ReportCourt"},"defendant":{"type":"integer","description":"CompletedCaptureSessionReportDefendantCount","format":"int32"},"defendant_names":{"type":"string","description":"CompletedCaptureSessionReportDefendantNames"},"finish_time":{"type":"string","description":"CompletedCaptureSessionReportFinishTime"},"postcode":{"type":"string","description":"ReportPostcode"},"recording_date":{"type":"string","description":"CompletedCaptureSessionReportRecordingDate"},"recording_time":{"type":"string","description":"CompletedCaptureSessionReportRecordingTime"},"region":{"type":"string","description":"ReportRegion"},"scheduled_date":{"type":"string","description":"CompletedCaptureSessionReportScheduledDate"},"status":{"type":"string","description":"CompletedCaptureSessionReportStatus","enum":["STANDBY","INITIALISING","RECORDING","PROCESSING","RECORDING_AVAILABLE","FAILURE","NO_RECORDING"]},"timezone":{"type":"string","description":"CompletedCaptureSessionReportTimezone"},"witness":{"type":"integer","description":"CompletedCaptureSessionReportWitnessCount","format":"int32"},"witness_names":{"type":"string","description":"CompletedCaptureSessionReportWitnessNames"}},"description":"CompletedCaptureSessionReportDTOV2"},"ConcurrentCaptureSessionReportDTO":{"type":"object","properties":{"case_reference":{"type":"string","description":"CaptureSessionCaseReference"},"court":{"type":"string","description":"CaptureSessionCourtName"},"duration":{"type":"string","description":"CaptureSessionDuration"},"end_time":{"type":"string","description":"CaptureSessionEndTime","format":"date-time"},"id":{"type":"string","description":"CaptureSessionId","format":"uuid"},"region":{"uniqueItems":true,"type":"array","description":"CaptureSessionRegionName","items":{"$ref":"#/components/schemas/RegionDTO"}},"start_time":{"type":"string","description":"CaptureSessionStartTime","format":"date-time"}},"description":"ConcurrentCaptureSessionReportDTO"},"ConcurrentCaptureSessionReportDTOV2":{"type":"object","properties":{"case_reference":{"type":"string","description":"ReportCaseReference"},"county":{"type":"string","description":"ReportCounty"},"court":{"type":"string","description":"ReportCourt"},"date":{"type":"string","description":"CaptureSessionStartDate"},"duration":{"type":"string","description":"CaptureSessionDuration"},"end_time":{"type":"string","description":"CaptureSessionEndTime"},"postcode":{"type":"string","description":"ReportPostcode"},"region":{"type":"string","description":"ReportRegion"},"start_time":{"type":"string","description":"CaptureSessionStartTime"},"timezone":{"type":"string","description":"CaptureSessionStartTimezone"}},"description":"ConcurrentCaptureSessionReportDTOV2"},"CourtDTO":{"type":"object","properties":{"county":{"type":"string","description":"CourtCounty"},"court_type":{"type":"string","description":"CourtType","enum":["CROWN","MAGISTRATE","FAMILY"]},"group_email":{"type":"string","description":"CourtGroupEmail"},"id":{"type":"string","description":"CourtId","format":"uuid"},"location_code":{"type":"string","description":"CourtLocationCode"},"name":{"type":"string","description":"CourtName"},"postcode":{"type":"string","description":"CourtPostcode"},"regions":{"type":"array","description":"CourtRegions","items":{"$ref":"#/components/schemas/RegionDTO"}}},"description":"CourtDTO"},"CourtEmailDTO":{"type":"object","properties":{"group_email":{"type":"string","description":"CourtGroupEmail"},"name":{"type":"string","description":"CourtName"}},"description":"CourtEmailDTO"},"CreateAppAccessDTO":{"required":["court_id","id","role_id","user_id"],"type":"object","properties":{"active":{"type":"boolean","description":"AppAccessActive"},"court_id":{"type":"string","description":"AppAccessCourtId","format":"uuid"},"default_court":{"type":"boolean","description":"AppAccessIsDefaultCourt"},"id":{"type":"string","description":"AppAccessId","format":"uuid"},"last_active":{"type":"string","description":"AppAccessLastActive","format":"date-time"},"role_id":{"type":"string","description":"AppAccessRoleId","format":"uuid"},"user_id":{"type":"string","description":"AppAccessUserId","format":"uuid"}},"description":"CreateAppAccessDTO"},"CreateAuditDTO":{"required":["id","source"],"type":"object","properties":{"activity":{"type":"string","description":"AuditActivity"},"audit_details":{"$ref":"#/components/schemas/JsonNode"},"category":{"type":"string","description":"AuditCategory"},"functional_area":{"type":"string","description":"AuditFunctionalArea"},"id":{"type":"string","description":"AuditId","format":"uuid"},"source":{"type":"string","description":"AuditLogSource","enum":["APPLICATION","PORTAL","ADMIN","AUTO"]},"table_name":{"type":"string","description":"AuditTableName"},"table_record_id":{"type":"string","description":"AuditTableNameRecordId","format":"uuid"}},"description":"AuditDTO"},"CreateBookingDTO":{"required":["case_id","id","scheduled_for"],"type":"object","properties":{"case_id":{"type":"string","description":"CreateBookingCaseId","format":"uuid"},"id":{"type":"string","description":"CreateBookingId","format":"uuid"},"participants":{"uniqueItems":true,"type":"array","description":"CreateBookingParticipants","items":{"$ref":"#/components/schemas/CreateParticipantDTO"}},"scheduled_for":{"type":"string","description":"CreateBookingScheduledFor","format":"date-time"}},"description":"CreateBookingDTO"},"CreateCaptureSessionDTO":{"required":["booking_id","id","origin","status"],"type":"object","properties":{"booking_id":{"type":"string","description":"CreateCaptureSessionBookingId","format":"uuid"},"finished_at":{"type":"string","description":"CreateCaptureSessionFinishedAt","format":"date-time"},"finished_by_user_id":{"type":"string","description":"CreateCaptureSessionFinishedByUserId","format":"uuid"},"id":{"type":"string","description":"CreateCaptureSessionId","format":"uuid"},"ingest_address":{"type":"string","description":"CreateCaptureSessionIngestAddress"},"live_output_url":{"type":"string","description":"CreateCaptureSessionLiveOutputURL"},"origin":{"type":"string","description":"CreateCaptureSessionOrigin","enum":["PRE","VODAFONE","VODAFONE_VISIBLE"]},"started_at":{"type":"string","description":"CreateCaptureSessionStartedAt","format":"date-time"},"started_by_user_id":{"type":"string","description":"CreateCaptureSessionStartedByUserId","format":"uuid"},"status":{"type":"string","description":"CreateCaptureSessionStatus","enum":["STANDBY","INITIALISING","RECORDING","PROCESSING","RECORDING_AVAILABLE","FAILURE","NO_RECORDING"]}},"description":"CreateCaptureSessionDTO"},"CreateCaseDTO":{"required":["reference"],"type":"object","properties":{"closed_at":{"type":"string","description":"CreateCaseClosedAt","format":"date-time"},"court_id":{"type":"string","description":"CreateCaseCourtId","format":"uuid"},"id":{"type":"string","description":"CreateCaseId","format":"uuid"},"origin":{"type":"string","description":"CreateCaseOrigin","enum":["PRE","VODAFONE","VODAFONE_VISIBLE"]},"participants":{"uniqueItems":true,"type":"array","description":"CaseParticipants","items":{"$ref":"#/components/schemas/CreateParticipantDTO"}},"reference":{"maxLength":13,"minLength":9,"type":"string","description":"CreateCaseReference"},"state":{"type":"string","description":"CreateCaseState","enum":["OPEN","PENDING_CLOSURE","CLOSED"]},"test":{"type":"boolean","description":"CreateCaseIsTest"}},"description":"CreateCaseDTO"},"CreateCourtDTO":{"required":["court_type","id","location_code","name","regions"],"type":"object","properties":{"county":{"type":"string","description":"CreateCourtCounty"},"court_type":{"type":"string","description":"CreateCourtType","enum":["CROWN","MAGISTRATE","FAMILY"]},"group_email":{"type":"string","description":"CreateCourtGroupEmail"},"id":{"type":"string","description":"CreateCourtId","format":"uuid"},"location_code":{"type":"string","description":"CreateCourtLocationCode"},"name":{"type":"string","description":"CreateCourtName"},"postcode":{"pattern":"^[A-Z]{1,2}[0-9][0-9A-Z]? [0-9][A-Z]{2}$","type":"string","description":"CreateCourtPostcode"},"regions":{"maxItems":2147483647,"minItems":1,"type":"array","description":"CreateCourtRegionIds","items":{"type":"string","description":"CreateCourtRegionIds","format":"uuid"}}},"description":"CreateCourtDTO"},"CreateEditRequestDTO":{"required":["id","source_recording_id","status"],"type":"object","properties":{"approved_at":{"type":"string","description":"CreateEditRequestApprovedAt","format":"date-time"},"approved_by":{"maxLength":100,"minLength":0,"type":"string","description":"CreateEditRequestApprovedBy"},"edit_instructions":{"type":"array","description":"CreateEditRequestInstructions","items":{"$ref":"#/components/schemas/EditCutInstructionDTO"}},"force_reencode":{"type":"boolean","description":"Force full-file reencode instead of cut-based editing","default":false},"id":{"type":"string","description":"CreateEditRequestId","format":"uuid"},"jointly_agreed":{"type":"boolean","description":"CreateEditRequestJointlyAgreed"},"rejection_reason":{"maxLength":512,"minLength":0,"type":"string","description":"CreateEditRequestRejectionReason"},"send_notifications":{"type":"boolean","description":"Send notifications when the edited recording becomes available","default":true},"source_recording_id":{"type":"string","description":"CreateEditRequestSourceRecordingId","format":"uuid"},"status":{"type":"string","description":"CreateEditRequestStatus","enum":["DRAFT","SUBMITTED","APPROVED","REJECTED","PENDING","PROCESSING","COMPLETE","ERROR"]}},"description":"CreateEditRequestDTO"},"CreateInviteDTO":{"required":["email","first_name","last_name","user_id"],"type":"object","properties":{"email":{"type":"string","format":"email","description":"InviteEmail","minLength":1},"first_name":{"minLength":1,"type":"string","description":"InviteFirstName"},"last_name":{"minLength":1,"type":"string","description":"InviteLastName"},"organisation":{"type":"string","description":"InviteOrganisation"},"phone":{"type":"string","description":"InvitePhone"},"user_id":{"type":"string","description":"InviteUserId","format":"uuid"}},"description":"CreateInviteDTO"},"CreateParticipantDTO":{"type":"object","properties":{"first_name":{"type":"string","description":"CreateParticipantFirstName"},"id":{"type":"string","description":"CreateParticipantId","format":"uuid"},"last_name":{"type":"string","description":"CreateParticipantLastName"},"participant_type":{"type":"string","description":"CreateParticipantType","enum":["WITNESS","DEFENDANT"]}},"description":"CreateParticipantDTO"},"CreatePortalAccessDTO":{"required":["id","status"],"type":"object","properties":{"id":{"type":"string","description":"PortalAccessId","format":"uuid"},"invited_at":{"type":"string","description":"PortalAccessInvitedAt","format":"date-time"},"last_access":{"type":"string","description":"PortalAccessLastAccess","format":"date-time"},"registered_at":{"type":"string","description":"PortalAccessRegisteredAt","format":"date-time"},"status":{"type":"string","description":"PortalAccessStatus","enum":["INVITATION_SENT","REGISTERED","ACTIVE","INACTIVE"]}},"description":"CreatePortalAccessDTO"},"CreateRecordingDTO":{"required":["capture_session_id","filename","id","version"],"type":"object","properties":{"capture_session_id":{"type":"string","description":"RecordingCaptureSessionId","format":"uuid"},"duration":{"type":"string","description":"RecordingDuration","example":"PT3M"},"edit_instructions":{"type":"string","description":"RecordingEditInstructions"},"filename":{"type":"string","description":"RecordingFilename"},"id":{"type":"string","description":"RecordingId","format":"uuid"},"parent_recording_id":{"type":"string","description":"RecordingParentRecordingId","format":"uuid"},"url":{"type":"string","description":"RecordingURL"},"version":{"minimum":1,"type":"integer","description":"RecordingVersion","format":"int32"}},"description":"CreateRecordingDTO"},"CreateShareBookingDTO":{"type":"object","properties":{"booking_id":{"type":"string","format":"uuid"},"id":{"type":"string","format":"uuid"},"shared_by_user":{"type":"string","format":"uuid"},"shared_with_user":{"type":"string","format":"uuid"}}},"CreateUserDTO":{"required":["app_access","email","first_name","id","last_name","portal_access"],"type":"object","properties":{"alternative_email":{"type":"string","format":"email","description":"AlternativeEmail","maxLength":100,"minLength":0},"app_access":{"uniqueItems":true,"type":"array","description":"UserAppAccess","items":{"$ref":"#/components/schemas/CreateAppAccessDTO"}},"email":{"type":"string","format":"email","description":"UserEmail","minLength":1},"first_name":{"minLength":1,"type":"string","description":"UserFirstName"},"id":{"type":"string","description":"UserId","format":"uuid"},"last_name":{"minLength":1,"type":"string","description":"UserLastName"},"organisation":{"type":"string","description":"UserOrganisation"},"phone_number":{"type":"string","description":"UserPhoneNumber"},"portal_access":{"uniqueItems":true,"type":"array","description":"UserPortalAccess","items":{"$ref":"#/components/schemas/CreatePortalAccessDTO"}}},"description":"CreateUserDTO"},"CreateVfMigrationRecordDTO":{"required":["id","status"],"type":"object","properties":{"court_id":{"type":"string","description":"CreateMigrationRecordCourtId","format":"uuid"},"defendant_name":{"type":"string","description":"CreateMigrationRecordDefendantName"},"exhibit_reference":{"type":"string","description":"CreateMigrationRecordExhibitReference"},"id":{"type":"string","description":"CreateMigrationRecordId","format":"uuid"},"recording_date":{"type":"string","description":"CreateMigrationRecordRecordingDate","format":"date-time"},"recording_version":{"type":"string","description":"CreateMigrationRecordRecordingVersion","enum":["ORIG","COPY"]},"recording_version_number":{"minimum":1,"type":"number","description":"CreateMigrationRecordRecordingVersion","format":"double"},"resolved_at":{"type":"string","description":"CreateMigrationRecordResolvedAt","format":"date-time"},"status":{"type":"string","description":"CreateMigrationRecordStatus","enum":["PENDING","SUCCESS","FAILED","READY","SUBMITTED","IGNORED"]},"urn":{"type":"string","description":"CreateMigrationRecordUrn"},"witness_name":{"type":"string","description":"CreateMigrationRecordWitnessName"}},"description":"CreateVfMigrationRecordDTO"},"EditCutInstructionDTO":{"required":["end_of_cut","start_of_cut"],"type":"object","properties":{"end_of_cut":{"pattern":"^([01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d$","type":"string","description":"EditInstructionEnd"},"reason":{"type":"string"},"start_of_cut":{"pattern":"^([01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d$","type":"string","description":"EditInstructionStart"}},"description":"EditCutInstructionDTO"},"EditInstructions":{"type":"object","properties":{"ffmpegInstructions":{"type":"array","items":{"$ref":"#/components/schemas/FfmpegEditInstructionDTO"}},"forceReencode":{"type":"boolean"},"requestedInstructions":{"type":"array","items":{"$ref":"#/components/schemas/EditCutInstructionDTO"}},"sendNotifications":{"type":"boolean"}},"description":"EditRequestEditInstruction"},"EditReportDTO":{"type":"object","properties":{"case_reference":{"type":"string","description":"EditReportCaseReference"},"court":{"type":"string","description":"EditReportCourtName"},"created_at":{"type":"string","description":"EditReportEditCreatedAt","format":"date-time"},"recording_id":{"type":"string","description":"EditReportRecordingId","format":"uuid"},"regions":{"uniqueItems":true,"type":"array","description":"EditReportRegions","items":{"$ref":"#/components/schemas/RegionDTO"}},"version":{"type":"integer","description":"EditReportRecordingVersion","format":"int32"}},"description":"EditReportDTO"},"EditReportDTOV2":{"type":"object","properties":{"case_reference":{"type":"string","description":"ReportCaseReference"},"county":{"type":"string","description":"ReportCounty"},"court":{"type":"string","description":"ReportCourt"},"edit_date":{"type":"string","description":"EditReportEditDate"},"edit_time":{"type":"string","description":"EditReportEditTime"},"postcode":{"type":"string","description":"ReportPostcode"},"region":{"type":"string","description":"ReportRegion"},"timezone":{"type":"string","description":"EditReportEditTimezone"},"version":{"type":"integer","description":"EditReportRecordingVersion","format":"int32"}},"description":"EditReportDTOV2"},"EditRequestDTO":{"type":"object","properties":{"approved_at":{"type":"string","description":"EditRequestApprovedAt","format":"date-time"},"approved_by":{"type":"string","description":"EditRequestApprovedBy"},"created_at":{"type":"string","description":"EditRequestCreatedAt","format":"date-time"},"created_by":{"type":"string","description":"EditRequestCreatedByName"},"created_by_id":{"type":"string","description":"EditRequestCreatedById","format":"uuid"},"edit_instruction":{"$ref":"#/components/schemas/EditInstructions"},"finished_at":{"type":"string","description":"EditRequestFinishedAt","format":"date-time"},"id":{"type":"string","description":"EditRequestId","format":"uuid"},"jointly_agreed":{"type":"boolean","description":"EditRequestJointlyAgreed"},"modified_at":{"type":"string","description":"EditRequestModifiedAt","format":"date-time"},"rejection_reason":{"type":"string","description":"EditRequestRejectionReason"},"source_recording":{"$ref":"#/components/schemas/RecordingDTO"},"started_at":{"type":"string","description":"EditRequestStartedAt","format":"date-time"},"status":{"type":"string","description":"EditRequestStatus","enum":["DRAFT","SUBMITTED","APPROVED","REJECTED","PENDING","PROCESSING","COMPLETE","ERROR"]}}},"EntityModelBookingDTO":{"type":"object","properties":{"_links":{"$ref":"#/components/schemas/Links"},"capture_sessions":{"type":"array","description":"CaptureSessions","items":{"$ref":"#/components/schemas/CaptureSessionDTO"}},"case_dto":{"$ref":"#/components/schemas/CaseDTO"},"created_at":{"type":"string","description":"BookingCreatedAt","format":"date-time"},"deleted_at":{"type":"string","description":"BookingDeletedAt","format":"date-time"},"id":{"type":"string","description":"BookingId","format":"uuid"},"modified_at":{"type":"string","description":"BookingModifiedAt","format":"date-time"},"participants":{"type":"array","description":"BookingParticipants","items":{"$ref":"#/components/schemas/ParticipantDTO"}},"scheduled_for":{"type":"string","description":"BookingScheduledFor","format":"date-time"},"shares":{"type":"array","description":"BookingShares","items":{"$ref":"#/components/schemas/ShareBookingDTO"}}}},"EntityModelCaptureSessionDTO":{"required":["booking_id","id","origin","status"],"type":"object","properties":{"_links":{"$ref":"#/components/schemas/Links"},"booking_id":{"type":"string","description":"CreateCaptureSessionBookingId","format":"uuid"},"case_closed_at":{"type":"string","description":"CaptureSessionCaseClosedAt","format":"date-time"},"case_state":{"type":"string","description":"CaptureSessionCaseState","enum":["OPEN","PENDING_CLOSURE","CLOSED"]},"court_name":{"type":"string","description":"RecordingParticipants"},"deleted_at":{"type":"string","description":"CaptureSessionDeletedAt","format":"date-time"},"finished_at":{"type":"string","description":"CreateCaptureSessionFinishedAt","format":"date-time"},"finished_by_user_id":{"type":"string","description":"CreateCaptureSessionFinishedByUserId","format":"uuid"},"id":{"type":"string","description":"CreateCaptureSessionId","format":"uuid"},"ingest_address":{"type":"string","description":"CreateCaptureSessionIngestAddress"},"live_output_url":{"type":"string","description":"CreateCaptureSessionLiveOutputURL"},"origin":{"type":"string","description":"CreateCaptureSessionOrigin","enum":["PRE","VODAFONE","VODAFONE_VISIBLE"]},"started_at":{"type":"string","description":"CreateCaptureSessionStartedAt","format":"date-time"},"started_by_user_id":{"type":"string","description":"CreateCaptureSessionStartedByUserId","format":"uuid"},"status":{"type":"string","description":"CreateCaptureSessionStatus","enum":["STANDBY","INITIALISING","RECORDING","PROCESSING","RECORDING_AVAILABLE","FAILURE","NO_RECORDING"]}}},"EntityModelCaseDTO":{"type":"object","properties":{"_links":{"$ref":"#/components/schemas/Links"},"closed_at":{"type":"string","description":"CaseClosedAt","format":"date-time"},"court":{"$ref":"#/components/schemas/CourtDTO"},"created_at":{"type":"string","description":"CaseCreatedAt","format":"date-time"},"deleted_at":{"type":"string","description":"CaseDeletedAt","format":"date-time"},"id":{"type":"string","description":"CaseId","format":"uuid"},"modified_at":{"type":"string","description":"CaseModifiedAt","format":"date-time"},"origin":{"type":"string","description":"CaseOrigin","enum":["PRE","VODAFONE","VODAFONE_VISIBLE"]},"participants":{"type":"array","description":"CaseParticipants","items":{"$ref":"#/components/schemas/ParticipantDTO"}},"reference":{"type":"string","description":"CaseReference"},"state":{"type":"string","description":"CaseState","enum":["OPEN","PENDING_CLOSURE","CLOSED"]},"test":{"type":"boolean","description":"CaseIsTest"}}},"EntityModelCourtDTO":{"type":"object","properties":{"_links":{"$ref":"#/components/schemas/Links"},"county":{"type":"string","description":"CourtCounty"},"court_type":{"type":"string","description":"CourtType","enum":["CROWN","MAGISTRATE","FAMILY"]},"group_email":{"type":"string","description":"CourtGroupEmail"},"id":{"type":"string","description":"CourtId","format":"uuid"},"location_code":{"type":"string","description":"CourtLocationCode"},"name":{"type":"string","description":"CourtName"},"postcode":{"type":"string","description":"CourtPostcode"},"regions":{"type":"array","description":"CourtRegions","items":{"$ref":"#/components/schemas/RegionDTO"}}}},"EntityModelEditRequestDTO":{"type":"object","properties":{"_links":{"$ref":"#/components/schemas/Links"},"approved_at":{"type":"string","description":"EditRequestApprovedAt","format":"date-time"},"approved_by":{"type":"string","description":"EditRequestApprovedBy"},"created_at":{"type":"string","description":"EditRequestCreatedAt","format":"date-time"},"created_by":{"type":"string","description":"EditRequestCreatedByName"},"created_by_id":{"type":"string","description":"EditRequestCreatedById","format":"uuid"},"edit_instruction":{"$ref":"#/components/schemas/EditInstructions"},"finished_at":{"type":"string","description":"EditRequestFinishedAt","format":"date-time"},"id":{"type":"string","description":"EditRequestId","format":"uuid"},"jointly_agreed":{"type":"boolean","description":"EditRequestJointlyAgreed"},"modified_at":{"type":"string","description":"EditRequestModifiedAt","format":"date-time"},"rejection_reason":{"type":"string","description":"EditRequestRejectionReason"},"source_recording":{"$ref":"#/components/schemas/RecordingDTO"},"started_at":{"type":"string","description":"EditRequestStartedAt","format":"date-time"},"status":{"type":"string","description":"EditRequestStatus","enum":["DRAFT","SUBMITTED","APPROVED","REJECTED","PENDING","PROCESSING","COMPLETE","ERROR"]}}},"EntityModelInviteDTO":{"type":"object","properties":{"_links":{"$ref":"#/components/schemas/Links"},"code":{"type":"string","description":"InviteCode"},"email":{"type":"string","description":"InviteUserEmail"},"first_name":{"type":"string","description":"InviteUserFirstName"},"invited_at":{"type":"string","description":"InvitedAt","format":"date-time"},"last_name":{"type":"string","description":"InviteUserLastName"},"user_id":{"type":"string","description":"InviteUserId","format":"uuid"}}},"EntityModelRecordingDTO":{"required":["filename","id","version"],"type":"object","properties":{"_links":{"$ref":"#/components/schemas/Links"},"capture_session":{"$ref":"#/components/schemas/CaptureSessionDTO"},"case_id":{"type":"string","description":"RecordingCaseId","format":"uuid"},"case_reference":{"type":"string","description":"RecordingCaseReference"},"created_at":{"type":"string","description":"RecordingCreatedAt","format":"date-time"},"deleted_at":{"type":"string","description":"RecordingDeletedAt","format":"date-time"},"duration":{"type":"string","description":"RecordingDuration","example":"PT3M"},"edit_instructions":{"type":"string","description":"RecordingEditInstructions"},"edit_requests":{"type":"array","description":"RecordingEditRequests","items":{"$ref":"#/components/schemas/EditRequestDTO"}},"edit_status":{"type":"string","description":"RecordingEditStatus","enum":["DRAFT","SUBMITTED","APPROVED","REJECTED","PENDING","PROCESSING","COMPLETE","ERROR"]},"filename":{"type":"string","description":"RecordingFilename"},"id":{"type":"string","description":"RecordingId","format":"uuid"},"is_test_case":{"type":"boolean","description":"RecordingIsTestCase"},"parent_recording_id":{"type":"string","description":"RecordingParentRecordingId","format":"uuid"},"participants":{"type":"array","description":"RecordingParticipants","items":{"$ref":"#/components/schemas/ParticipantDTO"}},"total_version_count":{"type":"integer","description":"RecordingTotalVersionCount","format":"int32"},"url":{"type":"string","description":"RecordingURL"},"version":{"minimum":1,"type":"integer","description":"RecordingVersion","format":"int32"}}},"EntityModelShareBookingDTO":{"type":"object","properties":{"_links":{"$ref":"#/components/schemas/Links"},"booking_id":{"type":"string","format":"uuid"},"created_at":{"type":"string","format":"date-time"},"deleted_at":{"type":"string","format":"date-time"},"id":{"type":"string","format":"uuid"},"shared_by_user":{"$ref":"#/components/schemas/BaseUserDTO"},"shared_with_user":{"$ref":"#/components/schemas/BaseUserDTO"}}},"EntityModelUserDTO":{"required":["email","first_name","id","last_name"],"type":"object","properties":{"_links":{"$ref":"#/components/schemas/Links"},"alternative_email":{"type":"string","format":"email","description":"AlternativeEmail","maxLength":100,"minLength":0},"app_access":{"type":"array","description":"UserAppAccess","items":{"$ref":"#/components/schemas/BaseAppAccessDTO"}},"created_at":{"type":"string","description":"UserCreatedAt","format":"date-time"},"deleted_at":{"type":"string","description":"UserDeletedAt","format":"date-time"},"email":{"type":"string","format":"email","description":"UserEmail","minLength":1},"first_name":{"minLength":1,"type":"string","description":"UserFirstName"},"id":{"type":"string","description":"UserId","format":"uuid"},"last_name":{"minLength":1,"type":"string","description":"UserLastName"},"modified_at":{"type":"string","description":"UserModifiedAt","format":"date-time"},"organisation":{"type":"string","description":"UserOrganisation"},"phone_number":{"type":"string","description":"UserPhoneNumber"},"portal_access":{"type":"array","description":"UserPortalAccess","items":{"$ref":"#/components/schemas/PortalAccessDTO"}},"terms_accepted":{"type":"object","additionalProperties":{"type":"boolean","description":"UserTermsAccepted"},"description":"UserTermsAccepted"}}},"EntityModelVfMigrationRecordDTO":{"type":"object","properties":{"_links":{"$ref":"#/components/schemas/Links"},"archive_id":{"type":"string","description":"MigrationRecordArchiveId"},"archive_name":{"type":"string","description":"MigrationRecordArchiveName"},"booking_id":{"type":"string","description":"MigrationRecordBookingId","format":"uuid"},"capture_session_id":{"type":"string","description":"MigrationRecordCaptureSessionId","format":"uuid"},"court_id":{"type":"string","description":"MigrationRecordCourtId","format":"uuid"},"court_reference":{"type":"string","description":"MigrationRecordCourtReference"},"create_time":{"type":"string","description":"MigrationRecordCreateTime","format":"date-time"},"created_at":{"type":"string","description":"MigrationRecordCreatedAt","format":"date-time"},"defendant_name":{"type":"string","description":"MigrationRecordDefendantName"},"duration":{"type":"integer","description":"MigrationRecordDuration","format":"int32"},"error_message":{"type":"string","description":"MigrationRecordErrorMessage"},"exhibit_reference":{"type":"string","description":"MigrationRecordExhibitReference"},"file_size":{"type":"string","description":"MigrationRecordFileSize"},"filename":{"type":"string","description":"MigrationRecordFilename"},"id":{"type":"string","description":"MigrationRecordId","format":"uuid"},"is_most_recent":{"type":"boolean","description":"MigrationRecordIsMostRecent"},"parent_temp_id":{"type":"string","description":"MigrationRecordParentTempId","format":"uuid"},"reason":{"type":"string","description":"MigrationRecordReason"},"recording_group_key":{"type":"string","description":"MigrationRecordRecordingGroupKey"},"recording_id":{"type":"string","description":"MigrationRecordRecordingId","format":"uuid"},"recording_version":{"type":"string","description":"MigrationRecordRecordingVersion"},"recording_version_number":{"type":"string","description":"MigrationRecordRecordingVersionNumber"},"resolved_at":{"type":"string","description":"MigrationRecordResolvedAt","format":"date-time"},"status":{"type":"string","description":"MigrationRecordStatus","enum":["PENDING","SUCCESS","FAILED","READY","SUBMITTED","IGNORED"]},"urn":{"type":"string","description":"MigrationRecordUrn"},"witness_name":{"type":"string","description":"MigrationRecordWitnessName"}}},"FfmpegEditInstructionDTO":{"type":"object","properties":{"end":{"type":"integer","format":"int64"},"start":{"type":"integer","format":"int64"}}},"GenerateAssetDTO":{"type":"object","properties":{"description":{"type":"string","description":"GenerateAssetDescription"},"destination_container":{"type":"string","description":"GenerateAssetDestinationContainer","format":"uuid"},"final_asset":{"type":"string","description":"GenerateAssetFinalAsset"},"parent_recording_id":{"type":"string","description":"ParentRecordingId","format":"uuid"},"source_container":{"pattern":"^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}-input$","type":"string","description":"GenerateAssetSourceContainer"},"temp_asset":{"type":"string","description":"GenerateAssetTempAsset"}},"description":"GenerateAssetDTO"},"GenerateAssetResponseDTO":{"type":"object","properties":{"asset":{"type":"string","description":"GenerateAssetResponseAsset"},"container":{"type":"string","description":"GenerateAssetResponseContainer"},"description":{"type":"string","description":"GenerateAssetResponseDescription"},"jobStatus":{"type":"string","description":"GenerateAssetResponseJobStatus"}},"description":"GenerateAssetResponseDTO"},"InviteDTO":{"type":"object","properties":{"code":{"type":"string","description":"InviteCode"},"email":{"type":"string","description":"InviteUserEmail"},"first_name":{"type":"string","description":"InviteUserFirstName"},"invited_at":{"type":"string","description":"InvitedAt","format":"date-time"},"last_name":{"type":"string","description":"InviteUserLastName"},"user_id":{"type":"string","description":"InviteUserId","format":"uuid"}},"description":"InviteDTO"},"JsonNode":{"type":"object","description":"AuditDetailsJSONString"},"Link":{"type":"object","properties":{"deprecation":{"type":"string"},"href":{"type":"string"},"hreflang":{"type":"string"},"name":{"type":"string"},"profile":{"type":"string"},"templated":{"type":"boolean"},"title":{"type":"string"},"type":{"type":"string"}}},"Links":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/Link"}},"LiveEventDTO":{"type":"object","properties":{"description":{"type":"string","description":"LiveEventDescription"},"id":{"type":"string","description":"LiveEventId"},"input_rtmp":{"type":"string","description":"LiveEventInputRtmp"},"name":{"type":"string","description":"LiveEventName"},"resource_state":{"type":"string","description":"LiveEventResourceState"}},"description":"LiveEventDTO"},"PageMetadata":{"type":"object","properties":{"number":{"type":"integer","format":"int64"},"size":{"type":"integer","format":"int64"},"totalElements":{"type":"integer","format":"int64"},"totalPages":{"type":"integer","format":"int64"}}},"PagedModelEntityModelBookingDTO":{"type":"object","properties":{"_embedded":{"type":"object","properties":{"bookingDTOList":{"type":"array","items":{"$ref":"#/components/schemas/EntityModelBookingDTO"}}}},"_links":{"$ref":"#/components/schemas/Links"},"page":{"$ref":"#/components/schemas/PageMetadata"}}},"PagedModelEntityModelCaptureSessionDTO":{"type":"object","properties":{"_embedded":{"type":"object","properties":{"captureSessionDTOList":{"type":"array","items":{"$ref":"#/components/schemas/EntityModelCaptureSessionDTO"}}}},"_links":{"$ref":"#/components/schemas/Links"},"page":{"$ref":"#/components/schemas/PageMetadata"}}},"PagedModelEntityModelCaseDTO":{"type":"object","properties":{"_embedded":{"type":"object","properties":{"caseDTOList":{"type":"array","items":{"$ref":"#/components/schemas/EntityModelCaseDTO"}}}},"_links":{"$ref":"#/components/schemas/Links"},"page":{"$ref":"#/components/schemas/PageMetadata"}}},"PagedModelEntityModelCourtDTO":{"type":"object","properties":{"_embedded":{"type":"object","properties":{"courtDTOList":{"type":"array","items":{"$ref":"#/components/schemas/EntityModelCourtDTO"}}}},"_links":{"$ref":"#/components/schemas/Links"},"page":{"$ref":"#/components/schemas/PageMetadata"}}},"PagedModelEntityModelEditRequestDTO":{"type":"object","properties":{"_embedded":{"type":"object","properties":{"editRequestDTOList":{"type":"array","items":{"$ref":"#/components/schemas/EntityModelEditRequestDTO"}}}},"_links":{"$ref":"#/components/schemas/Links"},"page":{"$ref":"#/components/schemas/PageMetadata"}}},"PagedModelEntityModelInviteDTO":{"type":"object","properties":{"_embedded":{"type":"object","properties":{"inviteDTOList":{"type":"array","items":{"$ref":"#/components/schemas/EntityModelInviteDTO"}}}},"_links":{"$ref":"#/components/schemas/Links"},"page":{"$ref":"#/components/schemas/PageMetadata"}}},"PagedModelEntityModelRecordingDTO":{"type":"object","properties":{"_embedded":{"type":"object","properties":{"recordingDTOList":{"type":"array","items":{"$ref":"#/components/schemas/EntityModelRecordingDTO"}}}},"_links":{"$ref":"#/components/schemas/Links"},"page":{"$ref":"#/components/schemas/PageMetadata"}}},"PagedModelEntityModelShareBookingDTO":{"type":"object","properties":{"_embedded":{"type":"object","properties":{"shareBookingDTOList":{"type":"array","items":{"$ref":"#/components/schemas/EntityModelShareBookingDTO"}}}},"_links":{"$ref":"#/components/schemas/Links"},"page":{"$ref":"#/components/schemas/PageMetadata"}}},"PagedModelEntityModelUserDTO":{"type":"object","properties":{"_embedded":{"type":"object","properties":{"userDTOList":{"type":"array","items":{"$ref":"#/components/schemas/EntityModelUserDTO"}}}},"_links":{"$ref":"#/components/schemas/Links"},"page":{"$ref":"#/components/schemas/PageMetadata"}}},"PagedModelEntityModelVfMigrationRecordDTO":{"type":"object","properties":{"_embedded":{"type":"object","properties":{"vfMigrationRecordDTOList":{"type":"array","items":{"$ref":"#/components/schemas/EntityModelVfMigrationRecordDTO"}}}},"_links":{"$ref":"#/components/schemas/Links"},"page":{"$ref":"#/components/schemas/PageMetadata"}}},"ParticipantDTO":{"type":"object","properties":{"created_at":{"type":"string","description":"ParticipantCreatedAt","format":"date-time"},"deleted_at":{"type":"string","description":"ParticipantDeletedAt","format":"date-time"},"first_name":{"type":"string","description":"ParticipantFirstName"},"id":{"type":"string","description":"ParticipantId","format":"uuid"},"last_name":{"type":"string","description":"ParticipantLastName"},"modified_at":{"type":"string","description":"ParticipantModifiedAt","format":"date-time"},"participant_type":{"type":"string","description":"ParticipantType","enum":["WITNESS","DEFENDANT"]}},"description":"ParticipantDTO"},"PlaybackDTO":{"type":"object","properties":{"dash_url":{"type":"string","description":"PlaybackDashUrl"},"hls_url":{"type":"string","description":"PlaybackHlsUrl"},"license_url":{"type":"string","description":"PlaybackLicenseUrl"},"token":{"type":"string","description":"PlaybackToken"}},"description":"PlaybackDTO"},"PlaybackReportDTO":{"type":"object","properties":{"case_reference":{"type":"string","description":"PlaybackReportCaseReference"},"court":{"type":"string","description":"PlaybackReportCourt"},"playback_at":{"type":"string","description":"PlaybackReportPlaybackAt","format":"date-time"},"recording_id":{"type":"string","description":"PlaybackReportRecordingId","format":"uuid"},"regions":{"uniqueItems":true,"type":"array","description":"PlaybackReportRegions","items":{"$ref":"#/components/schemas/RegionDTO"}},"user_email":{"type":"string","description":"PlaybackReportUserEmail"},"user_full_name":{"type":"string","description":"PlaybackReportUserFullName"}},"description":"PlaybackReportDTO"},"PlaybackReportDTOV2":{"type":"object","properties":{"case_reference":{"type":"string","description":"ReportCaseReference"},"county":{"type":"string","description":"ReportCounty"},"court":{"type":"string","description":"ReportCourt"},"defendants":{"type":"string","description":"PlaybackReportDefendants"},"playback_date":{"type":"string","description":"PlaybackReportPlaybackDate"},"playback_time":{"type":"string","description":"PlaybackReportPlaybackTime"},"playback_time_zone":{"type":"string","description":"PlaybackReportTimeZone"},"postcode":{"type":"string","description":"ReportPostcode"},"recording_version":{"type":"integer","description":"PlaybackReportRecordingVersion","format":"int32"},"region":{"type":"string","description":"ReportRegion"},"user_email":{"type":"string","description":"PlaybackReportUserEmail"},"user_full_name":{"type":"string","description":"PlaybackReportUserFullName"},"user_organisation":{"type":"string","description":"PlaybackReportUserOrganisation"},"witness":{"type":"string","description":"PlaybackReportWitness"}},"description":"PlaybackReportDTOV2"},"PortalAccessDTO":{"type":"object","properties":{"deleted_at":{"type":"string","description":"PortalAccessDeletedAt","format":"date-time"},"id":{"type":"string","description":"PortalAccessId","format":"uuid"},"invited_at":{"type":"string","description":"PortalAccessInvitedAt","format":"date-time"},"last_access":{"type":"string","description":"PortalAccessLastAccess","format":"date-time"},"registered_at":{"type":"string","description":"PortalAccessRegisteredAt","format":"date-time"},"status":{"type":"string","description":"PortalAccessStatus","enum":["INVITATION_SENT","REGISTERED","ACTIVE","INACTIVE"]}},"description":"PortalAccessDTO"},"RecordingDTO":{"required":["filename","id","version"],"type":"object","properties":{"capture_session":{"$ref":"#/components/schemas/CaptureSessionDTO"},"case_id":{"type":"string","description":"RecordingCaseId","format":"uuid"},"case_reference":{"type":"string","description":"RecordingCaseReference"},"created_at":{"type":"string","description":"RecordingCreatedAt","format":"date-time"},"deleted_at":{"type":"string","description":"RecordingDeletedAt","format":"date-time"},"duration":{"type":"string","description":"RecordingDuration","example":"PT3M"},"edit_instructions":{"type":"string","description":"RecordingEditInstructions"},"edit_requests":{"type":"array","description":"RecordingEditRequests","items":{"$ref":"#/components/schemas/EditRequestDTO"}},"edit_status":{"type":"string","description":"RecordingEditStatus","enum":["DRAFT","SUBMITTED","APPROVED","REJECTED","PENDING","PROCESSING","COMPLETE","ERROR"]},"filename":{"type":"string","description":"RecordingFilename"},"id":{"type":"string","description":"RecordingId","format":"uuid"},"is_test_case":{"type":"boolean","description":"RecordingIsTestCase"},"parent_recording_id":{"type":"string","description":"RecordingParentRecordingId","format":"uuid"},"participants":{"type":"array","description":"RecordingParticipants","items":{"$ref":"#/components/schemas/ParticipantDTO"}},"total_version_count":{"type":"integer","description":"RecordingTotalVersionCount","format":"int32"},"url":{"type":"string","description":"RecordingURL"},"version":{"minimum":1,"type":"integer","description":"RecordingVersion","format":"int32"}},"description":"RecordingDTO"},"RecordingParticipantsReportDTO":{"type":"object","properties":{"case_reference":{"type":"string","description":"RecordingParticipantCaseReference"},"court_name":{"type":"string","description":"RecordingParticipantCourtName"},"participant_name":{"type":"string","description":"RecordingParticipantName"},"participant_type":{"type":"string","description":"RecordingParticipantType","enum":["WITNESS","DEFENDANT"]},"recorded_at":{"type":"string","description":"RecordingParticipantRecordedAt","format":"date-time"},"recording_id":{"type":"string","description":"RecordingParticipantRecordingId","format":"uuid"}},"description":"RecordingParticipantsReportDTOV2"},"RecordingVisibility":{"type":"object","properties":{"recordingId":{"type":"string","format":"uuid"},"visibility":{"type":"string"}}},"RecordingsPerCaseReportDTO":{"type":"object","properties":{"case_reference":{"type":"string","description":"RecordingsPerCaseCaseReference"},"count":{"type":"integer","description":"RecordingsPerCaseCount","format":"int32"},"court":{"type":"string","description":"RecordingsPerCaseCourt"},"regions":{"uniqueItems":true,"type":"array","description":"RecordingsPerCaseRegions","items":{"$ref":"#/components/schemas/RegionDTO"}}},"description":"RecordingsPerCaseReportDTO"},"RecordingsPerCaseReportDTOV2":{"type":"object","properties":{"case_reference":{"type":"string","description":"ReportCaseReference"},"county":{"type":"string","description":"ReportCounty"},"court":{"type":"string","description":"ReportCourt"},"number_of_recordings":{"type":"integer","description":"RecordingsPerCaseNumberOfRecordings","format":"int32"},"postcode":{"type":"string","description":"ReportPostcode"},"region":{"type":"string","description":"ReportRegion"}},"description":"RecordingsPerCaseReportDTOV2"},"RegionDTO":{"type":"object","properties":{"name":{"type":"string","description":"RegionName"}},"description":"RegionDTO"},"RoleDTO":{"type":"object","properties":{"description":{"type":"string","description":"RoleDescription"},"id":{"type":"string","description":"RoleId","format":"uuid"},"name":{"type":"string","description":"RoleName"}},"description":"RoleDTO"},"ScheduleReportDTO":{"type":"object","properties":{"booking_created_at":{"type":"string","description":"ScheduleReportBookingCreatedAt","format":"date-time"},"capture_session_user":{"type":"string","description":"ScheduleReportUserEmail"},"case_reference":{"type":"string","description":"ScheduleReportCaseReference"},"court":{"type":"string","description":"ScheduleReportCourtName"},"regions":{"uniqueItems":true,"type":"array","description":"ScheduleReportCourtRegions","items":{"$ref":"#/components/schemas/RegionDTO"}},"scheduled_for":{"type":"string","description":"ScheduleReportStartedAt","format":"date-time"}},"description":"ScheduleReportDTO"},"ScheduleReportDTOV2":{"type":"object","properties":{"case_reference":{"type":"string","description":"ReportCaseReference"},"county":{"type":"string","description":"ReportCounty"},"court":{"type":"string","description":"ReportCourt"},"date_of_booking":{"type":"string","description":"ScheduleReportBookingCreatedAt"},"postcode":{"type":"string","description":"ReportPostcode"},"region":{"type":"string","description":"ReportRegion"},"scheduled_date":{"type":"string","description":"ScheduleReportStartedDate"},"user":{"type":"string","description":"ScheduleReportUserEmail"}},"description":"ScheduleReportDTOV2"},"ShareBookingDTO":{"type":"object","properties":{"booking_id":{"type":"string","format":"uuid"},"created_at":{"type":"string","format":"date-time"},"deleted_at":{"type":"string","format":"date-time"},"id":{"type":"string","format":"uuid"},"shared_by_user":{"$ref":"#/components/schemas/BaseUserDTO"},"shared_with_user":{"$ref":"#/components/schemas/BaseUserDTO"}},"description":"BookingShares"},"SharedReportDTO":{"type":"object","properties":{"allocated_by":{"type":"string","description":"SharedReportAllocatedBy"},"allocated_by_full_name":{"type":"string","description":"SharedReportAllocatedToFullName"},"allocated_to":{"type":"string","description":"SharedReportAllocatedTo"},"allocated_to_full_name":{"type":"string","description":"SharedReportAllocatedToFullName"},"booking_id":{"type":"string","description":"SharedReportBookingId","format":"uuid"},"case_reference":{"type":"string","description":"SharedReportCaseReference"},"court":{"type":"string","description":"SharedReportCourtName"},"regions":{"uniqueItems":true,"type":"array","description":"SharedReportRegions","items":{"$ref":"#/components/schemas/RegionDTO"}},"shared_at":{"type":"string","description":"SharedReportSharedAt","format":"date-time"}},"description":"SharedReportDTO"},"SharedReportDTOV2":{"type":"object","properties":{"case_reference":{"type":"string","description":"ReportCaseReference"},"county":{"type":"string","description":"ReportCounty"},"court":{"type":"string","description":"ReportCourt"},"granted_by":{"type":"string","description":"SharedReportGrantedBy"},"granted_by_full_name":{"type":"string","description":"SharedReportGrantedByFullName"},"postcode":{"type":"string","description":"ReportPostcode"},"region":{"type":"string","description":"ReportRegion"},"share_date":{"type":"string","description":"SharedReportShareDate"},"share_time":{"type":"string","description":"SharedReportShareTime"},"shared_with":{"type":"string","description":"SharedReportSharedWith"},"shared_with_full_name":{"type":"string","description":"SharedReportSharedWithFullName"},"timezone":{"type":"string","description":"SharedReportShareTimezone"}},"description":"SharedReportDTOV2"},"TermsAndConditionsDTO":{"type":"object","properties":{"created_at":{"type":"string","format":"date-time"},"html":{"type":"string"},"id":{"type":"string","format":"uuid"},"type":{"type":"string","enum":["APP","PORTAL"]}}},"UpdateBookingCaseDTO":{"required":["booking_id","case_id"],"type":"object","properties":{"booking_id":{"type":"string","description":"UpdateBookingId","format":"uuid"},"case_id":{"type":"string","description":"CaseReferenceId","format":"uuid"}},"description":"UpdateBookingCaseDTO"},"UserAccessReportDTO":{"type":"object","properties":{"access_type":{"type":"string","description":"AccessType"},"active":{"type":"string","description":"UserReportActive"},"alternative_email":{"type":"string","description":"UserAlternativeEmail"},"court_name":{"type":"string","description":"CourtName"},"first_name":{"type":"string","description":"UserReportFirstName"},"last_name":{"type":"string","description":"UserReportLastName"},"primary_email":{"type":"string","description":"UserPrimaryEmail"},"role_name":{"type":"string","description":"UserReportRoleName"}},"description":"UserAccessReport"},"UserDTO":{"required":["email","first_name","id","last_name"],"type":"object","properties":{"alternative_email":{"type":"string","format":"email","description":"AlternativeEmail","maxLength":100,"minLength":0},"app_access":{"type":"array","description":"UserAppAccess","items":{"$ref":"#/components/schemas/BaseAppAccessDTO"}},"created_at":{"type":"string","description":"UserCreatedAt","format":"date-time"},"deleted_at":{"type":"string","description":"UserDeletedAt","format":"date-time"},"email":{"type":"string","format":"email","description":"UserEmail","minLength":1},"first_name":{"minLength":1,"type":"string","description":"UserFirstName"},"id":{"type":"string","description":"UserId","format":"uuid"},"last_name":{"minLength":1,"type":"string","description":"UserLastName"},"modified_at":{"type":"string","description":"UserModifiedAt","format":"date-time"},"organisation":{"type":"string","description":"UserOrganisation"},"phone_number":{"type":"string","description":"UserPhoneNumber"},"portal_access":{"type":"array","description":"UserPortalAccess","items":{"$ref":"#/components/schemas/PortalAccessDTO"}},"terms_accepted":{"type":"object","additionalProperties":{"type":"boolean","description":"UserTermsAccepted"},"description":"UserTermsAccepted"}},"description":"UserDTO"},"UserPrimaryCourtReportDTO":{"type":"object","properties":{"active":{"type":"string","description":"UserPrimaryCourtReportActive"},"first_name":{"type":"string","description":"UserPrimaryCourtReportFirstName"},"last_access":{"type":"string","description":"UserPrimaryCourtReportLastAccess","format":"date-time"},"last_name":{"type":"string","description":"UserPrimaryCourtReportLastName"},"primary_court_name":{"type":"string","description":"UserPrimaryCourtReportPrimaryCourtName"},"role_name":{"type":"string","description":"UserPrimaryCourtReportRoleName"}},"description":"UserPrimaryCourtReportDTOV2"},"UserRecordingPlaybackReportDTOV2":{"type":"object","properties":{"case_reference":{"type":"string","description":"ReportCaseReference"},"county":{"type":"string","description":"ReportCounty"},"court":{"type":"string","description":"ReportCourt"},"defendants":{"type":"string","description":"PlaybackReportDefendants"},"playback_date":{"type":"string","description":"PlaybackReportPlaybackDate"},"playback_time":{"type":"string","description":"PlaybackReportPlaybackTime"},"postcode":{"type":"string","description":"ReportPostcode"},"recording_version":{"type":"integer","description":"PlaybackReportRecordingVersion","format":"int32"},"region":{"type":"string","description":"ReportRegion"},"user_email":{"type":"string","description":"PlaybackReportUserEmail"},"user_full_name":{"type":"string","description":"PlaybackReportUserFullName"},"user_organisation":{"type":"string","description":"PlaybackReportUserOrganisation"},"witness":{"type":"string","description":"PlaybackReportWitness"}},"description":"UserRecordingPlaybackReportDTOV2"},"VerifyEmailRequestDTO":{"required":["email","verification_code"],"type":"object","properties":{"email":{"type":"string","format":"email","description":"Email","minLength":1},"verification_code":{"minLength":1,"pattern":"^[0-9]{6}$","type":"string","description":"VerificationCode"}},"description":"VerifyEmailRequestDTO"}},"securitySchemes":{"Ocp-Apim-Subscription-Key":{"in":"header","name":"Ocp-Apim-Subscription-Key","type":"apiKey"}}}} \ No newline at end of file diff --git a/src/main/java/uk/gov/hmcts/reform/preapi/controllers/RecordingController.java b/src/main/java/uk/gov/hmcts/reform/preapi/controllers/RecordingController.java index c7fa9a22a5..382342e0f7 100644 --- a/src/main/java/uk/gov/hmcts/reform/preapi/controllers/RecordingController.java +++ b/src/main/java/uk/gov/hmcts/reform/preapi/controllers/RecordingController.java @@ -13,6 +13,7 @@ import org.springframework.hateoas.EntityModel; import org.springframework.hateoas.PagedModel; import org.springframework.http.HttpEntity; +import org.springframework.http.MediaType; import org.springframework.http.ResponseEntity; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.web.bind.annotation.DeleteMapping; @@ -23,15 +24,22 @@ import org.springframework.web.bind.annotation.PutMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.multipart.MultipartFile; import uk.gov.hmcts.reform.preapi.controllers.base.PreApiController; import uk.gov.hmcts.reform.preapi.controllers.params.SearchRecordings; import uk.gov.hmcts.reform.preapi.dto.CreateRecordingDTO; import uk.gov.hmcts.reform.preapi.dto.RecordingDTO; +import uk.gov.hmcts.reform.preapi.entities.RecordingVisibility; +import uk.gov.hmcts.reform.preapi.enums.RecordingVisibilityStatus; +import uk.gov.hmcts.reform.preapi.exception.BadRequestException; import uk.gov.hmcts.reform.preapi.exception.PathPayloadMismatchException; import uk.gov.hmcts.reform.preapi.exception.RequestedPageOutOfRangeException; +import uk.gov.hmcts.reform.preapi.exception.UnsupportedMediaTypeException; import uk.gov.hmcts.reform.preapi.services.RecordingService; +import java.util.List; import java.util.UUID; @RestController @@ -55,6 +63,53 @@ public ResponseEntity getRecordingById( return ResponseEntity.ok(recordingService.findById(recordingId)); } + + @GetMapping("/{recordingId}/visibility") + @Operation(operationId = "getRecordingVisibilityById", summary = "Get a Recording Visibility by Id") + @PreAuthorize("hasRole('ROLE_SUPER_USER')") + public ResponseEntity getRecordingVisibilityById( + @PathVariable UUID recordingId + ) { + return ResponseEntity.ok(recordingService.getRecordingVisibility(recordingId).name()); + } + + @GetMapping("/visibility") + @PreAuthorize("hasRole('ROLE_SUPER_USER')") + @Parameter( + name = "visible", + description = "Get a list of recordings that are visible/invisible by exception", + schema = @Schema(implementation = RecordingVisibilityStatus.class), + example = "VISIBLE") + @Operation(operationId = "recordingVisibility", + summary = "Get recordings that are (in)visible by exception") + public ResponseEntity> getVisibleRecordingsList(RecordingVisibilityStatus visible) { + return ResponseEntity.ok(recordingService.getVisibleRecordingsList(visible)); + } + + @PutMapping(value = "/visibility", consumes = MediaType.MULTIPART_FORM_DATA_VALUE) + @PreAuthorize("hasRole('ROLE_SUPER_USER')") + public ResponseEntity> + updateRecordingsVisibility(@RequestParam("file") MultipartFile file) { + String fileType = file.getContentType(); + if (fileType == null || !fileType.equals(CSV_FILE_TYPE)) { + throw new UnsupportedMediaTypeException("Unsupported media type: Only CSV files are supported"); + } + + if (file.isEmpty()) { + throw new BadRequestException("File must not be empty"); + } + + return ResponseEntity.ok(recordingService.updateVisibleRecordingsList(file)); + } + + @PutMapping("/visibility/reset") + @PreAuthorize("hasRole('ROLE_SUPER_USER')") + @Operation(operationId = "recordingVisibility", + summary = "Reset visibility of recordings to default") + public ResponseEntity> getVisibleRecordingsList(@RequestBody List recordingIds) { + return ResponseEntity.ok(recordingService.resetVisibleRecordingsList(recordingIds)); + } + @GetMapping @Operation(operationId = "getRecordings", summary = "Search all Recordings") @Parameter( diff --git a/src/main/java/uk/gov/hmcts/reform/preapi/entities/Recording.java b/src/main/java/uk/gov/hmcts/reform/preapi/entities/Recording.java index c00e35968a..56590398cb 100644 --- a/src/main/java/uk/gov/hmcts/reform/preapi/entities/Recording.java +++ b/src/main/java/uk/gov/hmcts/reform/preapi/entities/Recording.java @@ -4,6 +4,8 @@ import jakarta.persistence.Column; import jakarta.persistence.Entity; import jakarta.persistence.EntityListeners; +import jakarta.persistence.EnumType; +import jakarta.persistence.Enumerated; import jakarta.persistence.FetchType; import jakarta.persistence.JoinColumn; import jakarta.persistence.ManyToOne; @@ -12,6 +14,7 @@ import jakarta.persistence.Transient; import lombok.Getter; import lombok.Setter; +import org.hibernate.annotations.ColumnDefault; import org.hibernate.annotations.CreationTimestamp; import org.hibernate.annotations.JdbcTypeCode; import org.hibernate.annotations.Type; @@ -19,6 +22,7 @@ import uk.gov.hmcts.reform.preapi.entities.base.BaseEntity; import uk.gov.hmcts.reform.preapi.entities.base.ISoftDeletable; import uk.gov.hmcts.reform.preapi.entities.listeners.RecordingListener; +import uk.gov.hmcts.reform.preapi.enums.RecordingVisibilityStatus; import java.sql.Timestamp; import java.time.Duration; @@ -83,6 +87,12 @@ public boolean isDeleted() { return deletedAt != null; } + @ColumnDefault("DEFAULT") + @Enumerated(EnumType.STRING) + @Column(name = "visibility", nullable = false, columnDefinition = "RECORDING_VISIBILITY") + @JdbcTypeCode(SqlTypes.NAMED_ENUM) + public RecordingVisibilityStatus visibility; + @Override public Map getDetailsForAudit() { Map details = new HashMap<>(); diff --git a/src/main/java/uk/gov/hmcts/reform/preapi/entities/RecordingVisibility.java b/src/main/java/uk/gov/hmcts/reform/preapi/entities/RecordingVisibility.java new file mode 100644 index 0000000000..ac5dfb98aa --- /dev/null +++ b/src/main/java/uk/gov/hmcts/reform/preapi/entities/RecordingVisibility.java @@ -0,0 +1,18 @@ +package uk.gov.hmcts.reform.preapi.entities; + +import com.opencsv.bean.CsvBindByName; +import lombok.Getter; +import lombok.Setter; + +import java.util.UUID; + +@Getter +@Setter +public class RecordingVisibility { + + @CsvBindByName(column = "recording_id") + public UUID recordingId; + + @CsvBindByName(column = "visible") + public String visibility; +} diff --git a/src/main/java/uk/gov/hmcts/reform/preapi/enums/RecordingVisibilityStatus.java b/src/main/java/uk/gov/hmcts/reform/preapi/enums/RecordingVisibilityStatus.java new file mode 100644 index 0000000000..bc0ca7d718 --- /dev/null +++ b/src/main/java/uk/gov/hmcts/reform/preapi/enums/RecordingVisibilityStatus.java @@ -0,0 +1,7 @@ +package uk.gov.hmcts.reform.preapi.enums; + +public enum RecordingVisibilityStatus { + DEFAULT, + VISIBLE, + INVISIBLE +} diff --git a/src/main/java/uk/gov/hmcts/reform/preapi/repositories/RecordingRepository.java b/src/main/java/uk/gov/hmcts/reform/preapi/repositories/RecordingRepository.java index e4b05c4f49..5e24a14e0e 100644 --- a/src/main/java/uk/gov/hmcts/reform/preapi/repositories/RecordingRepository.java +++ b/src/main/java/uk/gov/hmcts/reform/preapi/repositories/RecordingRepository.java @@ -9,6 +9,7 @@ import uk.gov.hmcts.reform.preapi.controllers.params.SearchRecordings; import uk.gov.hmcts.reform.preapi.entities.CaptureSession; import uk.gov.hmcts.reform.preapi.entities.Recording; +import uk.gov.hmcts.reform.preapi.enums.RecordingVisibilityStatus; import java.util.Collection; import java.util.List; @@ -32,6 +33,8 @@ Optional findByIdAndDeletedAtIsNull( @Param("includeReencodedRecordings") boolean includeReencodedRecordings ); + List getByVisibilityIs(RecordingVisibilityStatus visibility); + @Query( """ SELECT r FROM Recording r @@ -107,6 +110,8 @@ Page searchAllBy( Pageable pageable ); + boolean existsByIdIsAndVisibilityIs(UUID recordingId, RecordingVisibilityStatus recordingVisibilityStatus); + boolean existsByIdAndDeletedAtIsNull(UUID id); List findAllByParentRecordingIsNotNull(); diff --git a/src/main/java/uk/gov/hmcts/reform/preapi/security/AuthorisationService.java b/src/main/java/uk/gov/hmcts/reform/preapi/security/AuthorisationService.java index 8edcd9abb3..4e9062e8db 100644 --- a/src/main/java/uk/gov/hmcts/reform/preapi/security/AuthorisationService.java +++ b/src/main/java/uk/gov/hmcts/reform/preapi/security/AuthorisationService.java @@ -17,6 +17,7 @@ import uk.gov.hmcts.reform.preapi.entities.Recording; import uk.gov.hmcts.reform.preapi.enums.CaseState; import uk.gov.hmcts.reform.preapi.enums.RecordingOrigin; +import uk.gov.hmcts.reform.preapi.enums.RecordingVisibilityStatus; import uk.gov.hmcts.reform.preapi.repositories.BookingRepository; import uk.gov.hmcts.reform.preapi.repositories.CaptureSessionRepository; import uk.gov.hmcts.reform.preapi.repositories.CaseRepository; @@ -216,6 +217,7 @@ public boolean canViewVodafoneData(UserAuthentication authentication) { public boolean canViewReencodedRecording(UserAuthentication authentication, Recording recording) { return !hideReencodedRecordings + || recordingRepository.existsByIdIsAndVisibilityIs(recording.getId(), RecordingVisibilityStatus.VISIBLE) || !recording.isReencode() || authentication.hasRole(ROLE_SUPER_USER); } diff --git a/src/main/java/uk/gov/hmcts/reform/preapi/services/RecordingService.java b/src/main/java/uk/gov/hmcts/reform/preapi/services/RecordingService.java index d973ee248a..67d45e9dbf 100644 --- a/src/main/java/uk/gov/hmcts/reform/preapi/services/RecordingService.java +++ b/src/main/java/uk/gov/hmcts/reform/preapi/services/RecordingService.java @@ -2,6 +2,7 @@ import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.ObjectMapper; +import com.opencsv.bean.CsvToBeanBuilder; import lombok.Setter; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; @@ -14,22 +15,30 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; +import org.springframework.web.multipart.MultipartFile; import uk.gov.hmcts.reform.preapi.controllers.params.SearchRecordings; import uk.gov.hmcts.reform.preapi.dto.CreateRecordingDTO; import uk.gov.hmcts.reform.preapi.dto.RecordingDTO; import uk.gov.hmcts.reform.preapi.entities.CaptureSession; import uk.gov.hmcts.reform.preapi.entities.Recording; +import uk.gov.hmcts.reform.preapi.entities.RecordingVisibility; import uk.gov.hmcts.reform.preapi.enums.CaseState; +import uk.gov.hmcts.reform.preapi.enums.RecordingVisibilityStatus; import uk.gov.hmcts.reform.preapi.enums.UpsertResult; +import uk.gov.hmcts.reform.preapi.exception.BadRequestException; import uk.gov.hmcts.reform.preapi.exception.CaptureSessionNotDeletedException; import uk.gov.hmcts.reform.preapi.exception.NotFoundException; import uk.gov.hmcts.reform.preapi.exception.ResourceInDeletedStateException; import uk.gov.hmcts.reform.preapi.exception.ResourceInWrongStateException; +import uk.gov.hmcts.reform.preapi.exception.UnknownServerException; import uk.gov.hmcts.reform.preapi.media.storage.AzureFinalStorageService; import uk.gov.hmcts.reform.preapi.repositories.CaptureSessionRepository; import uk.gov.hmcts.reform.preapi.repositories.RecordingRepository; import uk.gov.hmcts.reform.preapi.security.authentication.UserAuthentication; +import java.io.BufferedReader; +import java.io.InputStreamReader; +import java.nio.charset.StandardCharsets; import java.sql.Timestamp; import java.time.Duration; import java.time.Instant; @@ -40,6 +49,8 @@ import java.util.UUID; import java.util.stream.Collectors; +import static java.lang.String.format; + @Slf4j @Service public class RecordingService { @@ -86,9 +97,9 @@ public RecordingDTO findById(UUID recordingId) { @Transactional @PreAuthorize( """ - (!#includeDeleted or @authorisationService.canViewDeleted(authentication)) - and @authorisationService.canSearchByCaseClosed(authentication, #params.getCaseOpen()) - """ + (!#includeDeleted or @authorisationService.canViewDeleted(authentication)) + and @authorisationService.canSearchByCaseClosed(authentication, #params.getCaseOpen()) + """ ) public Page findAll( SearchRecordings params, @@ -96,16 +107,16 @@ public Page findAll( Pageable pageable ) { params.setStartedAtFrom(params.getStartedAt() != null - ? Timestamp.from(params.getStartedAt().toInstant()) - : null + ? Timestamp.from(params.getStartedAt().toInstant()) + : null ); params.setStartedAtUntil(params.getStartedAtFrom() != null - ? Timestamp.from(params - .getStartedAtFrom() - .toInstant() - .plus(86399, ChronoUnit.SECONDS)) - : null + ? Timestamp.from(params + .getStartedAtFrom() + .toInstant() + .plus(86399, ChronoUnit.SECONDS)) + : null ); UserAuthentication auth = (UserAuthentication) SecurityContextHolder.getContext().getAuthentication(); @@ -307,4 +318,96 @@ public List findAllVodafoneRecordings() { .collect(Collectors.toList()); } + public RecordingVisibilityStatus getRecordingVisibility(UUID recordingId) { + Optional recording = recordingRepository.findByIdAndDeletedAtIsNull( + recordingId, + true + ); + if (recording.isPresent()) { + return recording.get().getVisibility(); + } + + return RecordingVisibilityStatus.DEFAULT; + } + + public List getVisibleRecordingsList(RecordingVisibilityStatus visible) { + return recordingRepository.getByVisibilityIs(visible) + .stream() + .map(Recording::getId) + .collect(Collectors.toList()); + } + + @Transactional + public List updateVisibleRecordingsList(MultipartFile visibilityData) { + List visibilityInputList = parseCsv(visibilityData); + + visibilityInputList.forEach(recordingVisibility -> { + Recording recording = recordingRepository.findByIdAndDeletedAtIsNull( + recordingVisibility.getRecordingId(), true) + .orElseThrow(() -> new BadRequestException(format( + "Did not find recording with id %s. May have been deleted.", + recordingVisibility.getRecordingId() + ))); + + if (recordingVisibility.getVisibility() == null || recordingVisibility.getVisibility().isBlank()) { + recording.setVisibility(RecordingVisibilityStatus.DEFAULT); + recordingRepository.save(recording); + return; + } + + switch (recordingVisibility.getVisibility().trim()) { + case "default": + recording.setVisibility(RecordingVisibilityStatus.DEFAULT); + recordingRepository.save(recording); + return; + case "true": + case "yes": + case "visible": + recording.setVisibility(RecordingVisibilityStatus.VISIBLE); + recordingRepository.save(recording); + return; + case "false": + case "no": + case "invisible": + recording.setVisibility(RecordingVisibilityStatus.INVISIBLE); + recordingRepository.save(recording); + } + }); + + return visibilityInputList; + } + + @Transactional + public List resetVisibleRecordingsList(List recordingIds) { + recordingIds.forEach(id -> { + Recording recording = recordingRepository.findByIdAndDeletedAtIsNull( + id, true) + .orElseThrow(() -> new BadRequestException(format( + "Did not find recording with id %s. May have been deleted.", + id + ))); + + recording.setVisibility(RecordingVisibilityStatus.DEFAULT); + recordingRepository.save(recording); + }); + return recordingIds; + } + + private List parseCsv(MultipartFile file) { + try (BufferedReader reader = new BufferedReader(new InputStreamReader( + file.getInputStream(), + StandardCharsets.UTF_8 + ))) { + return new CsvToBeanBuilder(reader) + .withType(RecordingVisibility.class) + .withIgnoreLeadingWhiteSpace(true) + .withIgnoreEmptyLine(true) + .build() + .parse(); + } catch (Exception e) { + log.error("Error when reading CSV file: {} ", e.getMessage()); + throw new UnknownServerException("Uploaded CSV file incorrectly formatted", e); + } + } + } diff --git a/src/main/resources/db/migration/V054_RecordingsVisibleByException.sql b/src/main/resources/db/migration/V054_RecordingsVisibleByException.sql new file mode 100644 index 0000000000..a5fa1be7d1 --- /dev/null +++ b/src/main/resources/db/migration/V054_RecordingsVisibleByException.sql @@ -0,0 +1,7 @@ +CREATE TYPE public.RECORDING_VISIBILITY AS ENUM ( + 'DEFAULT', + 'VISIBLE', + 'INVISIBLE' + ); + +ALTER TABLE public.recordings ADD COLUMN visibility RECORDING_VISIBILITY default 'DEFAULT'; diff --git a/src/test/resources/recordings_visible.csv b/src/test/resources/recordings_visible.csv new file mode 100644 index 0000000000..080a8fa766 --- /dev/null +++ b/src/test/resources/recordings_visible.csv @@ -0,0 +1,4 @@ +recording_id,visible +5ec7e602-a93c-4888-9a62-1b500f525163,true +377ce170-e30a-4c9d-9075-2aa984bb946a,false +04a3d95d-49f0-43dd-bb99-795065c7117f, true