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