{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/api-evangelist/folio/main/json-schema/folio-bulk-operation-dto-schema.json", "title": "BulkOperationDto", "x-generated": "2026-10-09", "x-method": "derived", "x-generator": "derive-json-schema.py", "x-source": "openapi/folio-mod-bulk-operations-openapi.yml#/components/schemas/BulkOperationDto", "type": "object", "properties": { "id": { "description": "Bulk Operation UUID", "type": "string", "format": "uuid" }, "hrId": { "description": "Bulk Operation human readable ID", "type": "integer", "format": "int64" }, "userId": { "description": "User UUID", "type": "string", "format": "uuid" }, "operationType": { "description": "Bulk Operation type", "$ref": "#/$defs/OperationType" }, "entityType": { "description": "Entity type", "$ref": "#/$defs/EntityType" }, "entityCustomIdentifierType": { "description": "Entity custom identifier type", "$ref": "#/$defs/IdentifierType" }, "status": { "description": "Bulk Operation status", "$ref": "#/$defs/OperationStatusType" }, "approach": { "description": "Bulk Operation approach type", "$ref": "#/$defs/ApproachType" }, "dataExportJobId": { "description": "Data export Job UUID", "type": "string", "format": "uuid" }, "linkToTriggeringCsvFile": { "description": "Path to the bulk operation triggering file", "type": "string" }, "linkToTriggeringQueryFile": { "description": "Path to the triggering query file", "type": "string" }, "linkToMatchedRecordsJsonFile": { "description": "Path to the matched (origin) json file", "type": "string" }, "linkToMatchedRecordsCsvFile": { "description": "Path to the matched (origin) csv file", "type": "string" }, "linkToMatchedRecordsMarcFile": { "description": "Path to the matched (origin) mrc file", "type": "string" }, "linkToMatchedRecordsErrorsCsvFile": { "description": "Path to the matching errors csv file", "type": "string" }, "linkToModifiedRecordsJsonFile": { "description": "Path to the modified (updated) json file", "type": "string" }, "linkToModifiedRecordsCsvFile": { "description": "Path to the modified (updated) csv file", "type": "string" }, "linkToModifiedRecordsMarcFile": { "description": "Path to the modified (updated) mrc file", "type": "string" }, "linkToCommittedRecordsJsonFile": { "description": "Path to the committed (result) json file", "type": "string" }, "linkToCommittedRecordsCsvFile": { "description": "Path to the committed (result) csv file", "type": "string" }, "linkToCommittedRecordsMarcFile": { "description": "Path to the committed (result) mrc file", "type": "string" }, "linkToCommittedRecordsErrorsCsvFile": { "description": "Path to the committing errors csv file", "type": "string" }, "totalNumOfRecords": { "description": "Total number of records", "type": "integer", "format": "int64", "default": 0 }, "processedNumOfRecords": { "description": "Number of processed records", "type": "integer", "format": "int64", "default": 0 }, "matchedNumOfRecords": { "description": "Number of matched records", "type": "integer", "format": "int64", "default": 0 }, "committedNumOfRecords": { "description": "Number of committed records", "type": "integer", "format": "int64", "default": 0 }, "matchedNumOfErrors": { "description": "Number of matching errors", "type": "integer", "format": "int64", "default": 0 }, "matchedNumOfWarnings": { "description": "Number of matching warnings", "type": "integer", "format": "int64", "default": 0 }, "committedNumOfErrors": { "description": "Number of committing errors", "type": "integer", "format": "int64", "default": 0 }, "committedNumOfWarnings": { "description": "Number of committing warnings", "type": "integer", "format": "int64", "default": 0 }, "executionChunkSize": { "description": "Size of chunk", "type": "integer", "format": "int64", "default": 0 }, "startTime": { "description": "Bulk Operation start time", "type": "string", "format": "date-time" }, "endTime": { "description": "Bulk Operation end time", "type": "string", "format": "date-time" }, "errorMessage": { "description": "Error message", "type": "string" }, "expired": { "description": "Were logs expired", "type": "boolean", "default": false }, "fqlQueryId": { "description": "FQL query identifier", "type": "string", "format": "uuid" }, "fqlQuery": { "description": "FQL query string", "type": "string" }, "userFriendlyQuery": { "description": "User-friendly FQL query string", "type": "string" }, "tenantNotePairs": { "description": "NoteType name for which (tenantId)", "type": "array", "items": { "type": "object", "$ref": "#/$defs/tenantNotePair" } }, "usedTenants": { "description": "Used tenants", "type": "array", "items": { "type": "string" } } }, "additionalProperties": false, "required": [ "type" ], "$defs": { "ApproachType": { "type": "string", "enum": [ "MANUAL", "IN_APP", "QUERY" ] }, "EntityType": { "type": "string", "enum": [ "USER", "ITEM", "HOLDINGS_RECORD", "INSTANCE", "INSTANCE_MARC" ] }, "IdentifierType": { "type": "string", "enum": [ "ID", "BARCODE", "HRID", "FORMER_IDS", "ACCESSION_NUMBER", "HOLDINGS_RECORD_ID", "USER_NAME", "EXTERNAL_SYSTEM_ID", "INSTANCE_HRID", "ITEM_BARCODE", "ISBN", "ISSN" ] }, "OperationStatusType": { "type": "string", "enum": [ "NEW", "RETRIEVING_RECORDS", "SAVING_RECORDS_LOCALLY", "DATA_MODIFICATION", "DATA_MODIFICATION_IN_PROGRESS", "REVIEW_CHANGES", "APPLY_CHANGES", "APPLY_MARC_CHANGES", "SUSPENDED", "COMPLETED", "COMPLETED_WITH_ERRORS", "CANCELLED", "SCHEDULED", "FAILED", "EXECUTING_QUERY", "RETRIEVING_IDENTIFIERS", "SAVED_IDENTIFIERS", "REVIEWED_NO_MARC_RECORDS", "DELETING_RECORDS" ] }, "OperationType": { "type": "string", "enum": [ "UPDATE", "DELETE" ] }, "tenantNotePair": { "$schema": "http://json-schema.org/draft-04/schema#", "description": "NoteType name for which (tenantId)", "type": "object", "properties": { "tenantId": { "description": "ID of tenant required to show after Note type name", "type": "string" }, "noteTypeName": { "description": "Note type name for which tenant ID is required to show", "type": "string" }, "noteTypeId": { "description": "Note type id for which tenant ID is required to show", "type": "string" } }, "additionalProperties": false, "required": [ "tenantId", "noteTypeName", "noteTypeId" ] } } }