FOLIO · Schema
BulkOperationDto
CompanyLibrariesLibrary Services PlatformOpen SourceMicroservicesEducation
Properties
| Name | Type | Description |
|---|---|---|
| id | string | Bulk Operation UUID |
| hrId | integer | Bulk Operation human readable ID |
| userId | string | User UUID |
| operationType | object | Bulk Operation type |
| entityType | object | Entity type |
| entityCustomIdentifierType | object | Entity custom identifier type |
| status | object | Bulk Operation status |
| approach | object | Bulk Operation approach type |
| dataExportJobId | string | Data export Job UUID |
| linkToTriggeringCsvFile | string | Path to the bulk operation triggering file |
| linkToTriggeringQueryFile | string | Path to the triggering query file |
| linkToMatchedRecordsJsonFile | string | Path to the matched (origin) json file |
| linkToMatchedRecordsCsvFile | string | Path to the matched (origin) csv file |
| linkToMatchedRecordsMarcFile | string | Path to the matched (origin) mrc file |
| linkToMatchedRecordsErrorsCsvFile | string | Path to the matching errors csv file |
| linkToModifiedRecordsJsonFile | string | Path to the modified (updated) json file |
| linkToModifiedRecordsCsvFile | string | Path to the modified (updated) csv file |
| linkToModifiedRecordsMarcFile | string | Path to the modified (updated) mrc file |
| linkToCommittedRecordsJsonFile | string | Path to the committed (result) json file |
| linkToCommittedRecordsCsvFile | string | Path to the committed (result) csv file |
| linkToCommittedRecordsMarcFile | string | Path to the committed (result) mrc file |
| linkToCommittedRecordsErrorsCsvFile | string | Path to the committing errors csv file |
| totalNumOfRecords | integer | Total number of records |
| processedNumOfRecords | integer | Number of processed records |
| matchedNumOfRecords | integer | Number of matched records |
| committedNumOfRecords | integer | Number of committed records |
| matchedNumOfErrors | integer | Number of matching errors |
| matchedNumOfWarnings | integer | Number of matching warnings |
| committedNumOfErrors | integer | Number of committing errors |
| committedNumOfWarnings | integer | Number of committing warnings |
| executionChunkSize | integer | Size of chunk |
| startTime | string | Bulk Operation start time |
| endTime | string | Bulk Operation end time |
| errorMessage | string | Error message |
| expired | boolean | Were logs expired |
| fqlQueryId | string | FQL query identifier |
| fqlQuery | string | FQL query string |
| userFriendlyQuery | string | User-friendly FQL query string |
| tenantNotePairs | array | NoteType name for which (tenantId) |
| usedTenants | array | Used tenants |
JSON Schema
{
"$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"
]
}
}
}
Work with this as data
Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for schemas
4 MCP tools reach this
find_json_schemasBrowse and filter every JSON Schema in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/folio-bulk-operation-dto"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.