Relativity RestoreJobs API

The RestoreJobs API from Relativity — 2 operation(s) for restorejobs.

OpenAPI Specification

relativity-restorejobs-api-openapi.yml Raw ↑
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