openapi: 3.0.1 info: title: Analytics.Conceptual.Service.Interfaces.Public.V1 AnnotationService RestoreJobs API description: Analytics.Conceptual.Service.Interfaces.Public version: V1 servers: - url: /Relativity.REST/api description: The URL prefix for all Kepler services tags: - name: RestoreJobs paths: /v3/restore-jobs: post: tags: - RestoreJobs summary: Asynchronously creates an instance of a Restore Job. requestBody: description: Restore job request containing workspace ID, restore directory, and configuration content: application/json: schema: $ref: '#/components/schemas/RestoreJobRequestWrapper' text/json: schema: $ref: '#/components/schemas/RestoreJobRequestWrapper' application/*+json: schema: $ref: '#/components/schemas/RestoreJobRequestWrapper' responses: '200': description: Restore job created successfully content: application/json: schema: $ref: '#/components/schemas/CreateRestoreJobResponse' '400': description: Invalid request parameters content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' '500': description: Internal server error /v3/restore-jobs/{jobID}: get: tags: - RestoreJobs summary: Asynchronously read an instance of a Restore Job. parameters: - name: jobID in: path description: Restore job identifier required: true schema: type: string responses: '200': description: Restore job retrieved successfully content: application/json: schema: $ref: '#/components/schemas/RestoreJobResponse' '404': description: Restore job not found content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' '500': description: Internal server error put: tags: - RestoreJobs summary: Asynchronously updates an instance of a Restore Job. parameters: - name: jobID in: path description: Restore job identifier required: true schema: type: string requestBody: description: Updated restore job configuration content: application/json: schema: $ref: '#/components/schemas/RestoreJobRequestWrapper' text/json: schema: $ref: '#/components/schemas/RestoreJobRequestWrapper' application/*+json: schema: $ref: '#/components/schemas/RestoreJobRequestWrapper' responses: '200': description: Restore job updated successfully content: application/json: schema: $ref: '#/components/schemas/UpdateRestoreJobResponse' '400': description: Invalid request parameters content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' '404': description: Restore job not found content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' '500': description: Internal server error delete: tags: - RestoreJobs summary: Asynchronously deletes an instance of a Restore Job. parameters: - name: jobID in: path description: Restore job identifier required: true schema: type: string responses: '200': description: Restore job deleted successfully '404': description: Restore job not found content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' '500': description: Internal server error components: schemas: JobActions: type: object properties: date: type: string description: Date and time when the action was performed format: date-time type: type: string description: Type of action performed nullable: true userName: type: string description: User who performed the action nullable: true additionalProperties: false description: Represents an action performed on a job RestoreDestinationOptions: type: object properties: matterID: type: integer description: Gets or sets a matter that the restored workspace will use. format: int32 additionalProperties: false description: V3 Restore Job destination options JobPriority: enum: - 0 - 1 - 2 type: integer description: Job priority levels format: int32 UpdateRestoreJobResponse: type: object additionalProperties: false description: Response for Restore Job update ProblemDetails: type: object properties: type: type: string nullable: true title: type: string nullable: true status: type: integer format: int32 nullable: true detail: type: string nullable: true instance: type: string nullable: true additionalProperties: {} JobDetails: type: object properties: priority: $ref: '#/components/schemas/JobPriority' actionsHistory: type: array items: $ref: '#/components/schemas/JobActions' description: Gets or sets job action history. nullable: true additionalProperties: false description: ARM Job details CreateRestoreJobResponse: type: object properties: jobID: type: string description: Gets or sets the created Job id. nullable: true additionalProperties: false description: Response for Restore Job creation RestoreJobRequest: type: object properties: archivePath: type: string description: Gets or sets path to the archive nullable: true jobPriority: $ref: '#/components/schemas/JobPriority' scheduledStartTime: type: string description: Gets or sets scheduled start time. format: date-time nullable: true existingTargetDatabase: type: string description: 'Gets or sets existing target database. Required if archive doesn''t have a database backup' nullable: true destinationOptions: $ref: '#/components/schemas/RestoreDestinationOptions' migratorOptions: type: object additionalProperties: nullable: true description: 'Gets or sets generic per-migrator configuration. Value = JSON string with migrator-specific parameters. If null, all migrators use default configuration.' nullable: true notificationOptions: $ref: '#/components/schemas/NotificationOptions' uiJobActionsLocked: type: boolean description: Gets or sets a value indicating whether this job ui actions are locked additionalProperties: false description: Request to create new Restore job V3 RestoreJobRequestWrapper: type: object properties: request: $ref: '#/components/schemas/RestoreJobRequest' additionalProperties: false description: Request to create new Restore job V3 RestoreJobResponse: type: object properties: jobID: type: string description: Gets or sets the Job id. nullable: true jobName: type: string description: Gets or sets the Job name. nullable: true archivePath: type: string description: Gets or sets the path to the archive. nullable: true scheduledStartTime: type: string description: Gets or sets scheduled start time. format: date-time nullable: true sourceWorkspace: type: string description: Gets or sets the name of the source workspace. nullable: true destinationWorkspaceID: type: integer description: Gets or sets a destination workspace artifact id. format: int32 nullable: true existingTargetDatabase: type: string description: Gets or sets existing target database. nullable: true jobDetails: $ref: '#/components/schemas/JobDetails' destinationOptions: $ref: '#/components/schemas/RestoreDestinationOptions' migratorOptions: type: object additionalProperties: nullable: true description: 'Gets or sets generic per-migrator configuration. Value = JSON string with migrator-specific parameters. If null, all migrators use default configuration.' nullable: true notificationOptions: $ref: '#/components/schemas/NotificationOptions' uiJobActionsLocked: type: boolean description: Gets or sets a value indicating whether this job ui actions are locked. additionalProperties: false description: Response with Restore Job V3 NotificationOptions: type: object properties: notifyJobRunner: type: boolean description: 'Gets or sets a value indicating whether to notify both creator and runner. When true, notifications are sent to both creator and executor.' additionalRecipients: type: array items: type: string description: Gets or sets the list of additional recipient emails. nullable: true additionalProperties: false description: ARM Job notification options