Relativity ArchiveJobs API

The ArchiveJobs API from Relativity — 2 operation(s) for archivejobs.

OpenAPI Specification

relativity-archivejobs-api-openapi.yml Raw ↑
openapi: 3.0.1
info:
  title: Analytics.Conceptual.Service.Interfaces.Public.V1 AnnotationService ArchiveJobs API
  description: Analytics.Conceptual.Service.Interfaces.Public
  version: V1
servers:
- url: /Relativity.REST/api
  description: The URL prefix for all Kepler services
tags:
- name: ArchiveJobs
paths:
  /v3/archive-jobs:
    post:
      tags:
      - ArchiveJobs
      summary: Asynchronously creates an instance of an Archive Job.
      requestBody:
        description: Archive job request containing workspace ID, archive directory, and configuration
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ArchiveJobRequestWrapper'
          text/json:
            schema:
              $ref: '#/components/schemas/ArchiveJobRequestWrapper'
          application/*+json:
            schema:
              $ref: '#/components/schemas/ArchiveJobRequestWrapper'
      responses:
        '200':
          description: Archive job created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateArchiveJobResponse'
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '500':
          description: Internal server error
  /v3/archive-jobs/{jobID}:
    get:
      tags:
      - ArchiveJobs
      summary: Asynchronously read an instance of an Archive Job.
      parameters:
      - name: jobID
        in: path
        description: Archive job identifier
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Archive job retrieved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ArchiveJobResponse'
        '404':
          description: Archive job not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '500':
          description: Internal server error
    put:
      tags:
      - ArchiveJobs
      summary: Asynchronously updates an instance of an Archive Job.
      parameters:
      - name: jobID
        in: path
        description: Archive job identifier
        required: true
        schema:
          type: string
      requestBody:
        description: Updated archive job configuration
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ArchiveJobRequestWrapper'
          text/json:
            schema:
              $ref: '#/components/schemas/ArchiveJobRequestWrapper'
          application/*+json:
            schema:
              $ref: '#/components/schemas/ArchiveJobRequestWrapper'
      responses:
        '200':
          description: Archive job updated successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdateArchiveJobResponse'
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '404':
          description: Archive job not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '500':
          description: Internal server error
    delete:
      tags:
      - ArchiveJobs
      summary: Asynchronously deletes an instance of an Archive Job.
      parameters:
      - name: jobID
        in: path
        description: Archive job identifier
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Archive job deleted successfully
        '404':
          description: Archive job not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '500':
          description: Internal server error
components:
  schemas:
    ArchiveJobResponse:
      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
        workspaceID:
          type: integer
          description: Gets or sets the Workspace id.
          format: int32
        scheduledStartTime:
          type: string
          description: Gets or sets scheduled start time.
          format: date-time
          nullable: true
        jobDetails:
          $ref: '#/components/schemas/JobDetails'
        excludedMigrators:
          type: array
          items:
            type: string
          description: Gets or sets the migrators excluded from this archive job.
          nullable: true
        migratorOptions:
          type: object
          additionalProperties:
            nullable: true
          description: 'Gets or sets per-migrator configuration used for this job.

            Key = migrator name,

            Value = JSON  with migrator-specific parameters.'
          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 Archive Job
    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
    ArchiveJobRequest:
      type: object
      properties:
        workspaceID:
          type: integer
          description: Gets or sets the Workspace id.
          format: int32
        archiveDirectory:
          type: string
          description: Gets or sets ARM Archive Directory
          nullable: true
        scheduledStartTime:
          type: string
          description: Gets or sets scheduled start time.
          format: date-time
          nullable: true
        jobPriority:
          $ref: '#/components/schemas/JobPriority'
        excludedMigrators:
          type: array
          items:
            type: string
          description: 'Gets or sets the list of migrators to exclude from execution.

            If null or empty, all available migrators execute with default parameters.'
          nullable: true
          example:
          - ExtensionData
          - Invariant
          - RepositoryFiles
          - NonRepositoryFiles
          - dtIndex
          - analytics-core
          - StructuredAnalytics
          - Audit
          - Database
        migratorOptions:
          type: object
          additionalProperties:
            nullable: true
          description: 'Gets or sets generic per-migrator configuration.

            Key = migrator name

            Value = JSON  with migrator-specific parameters.

            If a migrator is not listed here, it runs with defaults.

            If null, all non-excluded migrators use default configuration.'
          nullable: true
          example:
            Common:
              FileFirstFlow:
                IsFilesFirstFlow: true
                AdditionalFilesDirectoryPath: path
            Invariant:
              IncludeProcessingFiles: 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 Archive job
    JobPriority:
      enum:
      - 0
      - 1
      - 2
      type: integer
      description: Job priority levels
      format: int32
    ArchiveJobRequestWrapper:
      type: object
      properties:
        request:
          $ref: '#/components/schemas/ArchiveJobRequest'
      additionalProperties: false
      description: Request to create new Archive job
    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: {}
    UpdateArchiveJobResponse:
      type: object
      additionalProperties: false
      description: Response for Archive Job update
    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
    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
    CreateArchiveJobResponse:
      type: object
      properties:
        jobID:
          type: string
          description: Gets or sets the created Job id.
          nullable: true
      additionalProperties: false
      description: Response for Archive Job creation