Inventory Storage Instance Batch Sync API (v0.3)

http://localhost

Table of contents

Inventory Storage Instance Batch Sync API

Batch API for synchronously uploading instances into the inventory

Instances Batch Upload Sync API

POST /instance-storage/batch/synchronous

Create or update a collection of instances in a single synchronous request

POST /instance-storage/batch/synchronous
Query Parameters
  • upsert: (boolean - default: false)

    When a record with the same id already exists upsert=true will update it, upsert=false will fail the complete batch.

Body

Media type: application/json

Type: json

Content:

{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "description": "A collection of instance records",
  "type": "object",
  "properties": {
    "instances": {
      "description": "List of instance records",
      "id": "instances",
      "type": "array",
      "items": {
        "type": "object",
        "$schema": "http://json-schema.org/draft-04/schema#",
        "description": "An instance record",
        "properties": {
          "id": {
            "type": "string",
            "description": "The unique ID of the instance record; a UUID",
            "$schema": "http://json-schema.org/draft-04/schema#",
            "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
          },
          "_version": {
            "type": "integer",
            "description": "Record version for optimistic locking"
          },
          "hrid": {
            "type": "string",
            "description": "The human readable ID, also called eye readable ID. A system-assigned sequential ID which maps to the Instance ID"
          },
          "matchKey": {
            "type": "string",
            "description": "A unique instance identifier matching a client-side bibliographic record identification scheme, in particular for a scenario where multiple separate catalogs with no shared record identifiers contribute to the same Instance in Inventory. A match key is typically generated from select, normalized pieces of metadata in bibliographic records"
          },
          "source": {
            "type": "string",
            "description": "The metadata source and its format of the underlying record to the instance record. (e.g. FOLIO if it's a record created in Inventory;  MARC if it's a MARC record created in MARCcat or EPKB if it's a record coming from eHoldings)"
          },
          "title": {
            "type": "string",
            "description": "The primary title (or label) associated with the resource"
          },
          "indexTitle": {
            "type": "string",
            "description": "Title normalized for browsing and searching; based on the title with articles removed"
          },
          "alternativeTitles": {
            "type": "array",
            "description": "List of alternative titles for the resource (e.g. original language version title of a movie)",
            "items": {
              "type": "object",
              "properties": {
                "alternativeTitleTypeId": {
                  "type": "string",
                  "description": "UUID for an alternative title qualifier",
                  "$schema": "http://json-schema.org/draft-04/schema#",
                  "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
                },
                "alternativeTitle": {
                  "type": "string",
                  "description": "An alternative title for the resource"
                }
              }
            },
            "uniqueItems": true
          },
          "editions": {
            "type": "array",
            "description": "The edition statement, imprint and other publication source information",
            "items": {
              "type": "string"
            },
            "uniqueItems": true
          },
          "series": {
            "type": "array",
            "description": "List of series titles associated with the resource (e.g. Harry Potter)",
            "items": {
              "type": "string"
            },
            "uniqueItems": true
          },
          "identifiers": {
            "type": "array",
            "description": "An extensible set of name-value pairs of identifiers associated with the resource",
            "minItems": 0,
            "items": {
              "type": "object",
              "properties": {
                "value": {
                  "type": "string",
                  "description": "Resource identifier value"
                },
                "identifierTypeId": {
                  "type": "string",
                  "description": "UUID of resource identifier type (e.g. ISBN, ISSN, LCCN, CODEN, Locally defined identifiers)",
                  "$schema": "http://json-schema.org/draft-04/schema#",
                  "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
                },
                "identifierTypeObject": {
                  "type": "object",
                  "description": "Information about identifier type, looked up from identifierTypeId",
                  "folio:$ref": "illpolicy.json",
                  "readonly": true,
                  "folio:isVirtual": true,
                  "folio:linkBase": "identifier-types",
                  "folio:linkFromField": "identifierTypeId",
                  "folio:linkToField": "id",
                  "folio:includedElement": "identifierTypes.0"
                }
              },
              "additionalProperties": false,
              "required": [
                "value",
                "identifierTypeId"
              ]
            }
          },
          "contributors": {
            "type": "array",
            "description": "List of contributors",
            "minItems": 0,
            "items": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "description": "Personal name, corporate name, meeting name"
                },
                "contributorTypeId": {
                  "type": "string",
                  "description": "UUID for the contributor type term defined in controlled vocabulary",
                  "$schema": "http://json-schema.org/draft-04/schema#",
                  "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
                },
                "contributorTypeText": {
                  "type": "string",
                  "description": "Free text element for adding contributor type terms other that defined by the MARC code list for relators"
                },
                "contributorNameTypeId": {
                  "type": "string",
                  "description": "UUID of contributor name type term defined by the MARC code list for relators",
                  "$schema": "http://json-schema.org/draft-04/schema#",
                  "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
                },
                "contributorNameType": {
                  "type": "object",
                  "description": "Dereferenced contributor-name type",
                  "javaType": "org.folio.rest.jaxrs.model.contributorNameTypeVirtual",
                  "readonly": true,
                  "folio:$ref": "contributornametype.json",
                  "folio:isVirtual": true,
                  "folio:linkBase": "contributor-name-types",
                  "folio:linkFromField": "contributorNameTypeId",
                  "folio:linkToField": "id",
                  "folio:includedElement": "contributorNameTypes.0"
                },
                "primary": {
                  "type": "boolean",
                  "description": "Whether this is the primary contributor"
                }
              },
              "additionalProperties": false,
              "required": [
                "name",
                "contributorNameTypeId"
              ]
            }
          },
          "subjects": {
            "type": "array",
            "description": "List of subject headings",
            "items": {
              "type": "string"
            },
            "uniqueItems": true
          },
          "classifications": {
            "type": "array",
            "description": "List of classifications",
            "minItems": 0,
            "items": {
              "type": "object",
              "properties": {
                "classificationNumber": {
                  "type": "string",
                  "description": "Classification (e.g. classification scheme, classification schedule)"
                },
                "classificationTypeId": {
                  "type": "string",
                  "description": "UUID of classification schema (e.g. LC, Canadian Classification, NLM, National Agricultural Library, UDC, and Dewey)",
                  "$schema": "http://json-schema.org/draft-04/schema#",
                  "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
                },
                "classificationType": {
                  "type": "object",
                  "description": "Dereferenced classification schema",
                  "javaType": "org.folio.rest.jaxrs.model.classificationTypeVirtual",
                  "readonly": true,
                  "folio:$ref": "classificationtype.json",
                  "folio:isVirtual": true,
                  "folio:linkBase": "classification-types",
                  "folio:linkFromField": "classificationTypeId",
                  "folio:linkToField": "id",
                  "folio:includedElement": "classificationTypes.0"
                }
              },
              "additionalProperties": false,
              "required": [
                "classificationNumber",
                "classificationTypeId"
              ]
            }
          },
          "publication": {
            "type": "array",
            "description": "List of publication items",
            "items": {
              "type": "object",
              "properties": {
                "publisher": {
                  "type": "string",
                  "description": "Name of publisher, distributor, etc."
                },
                "place": {
                  "type": "string",
                  "description": "Place of publication, distribution, etc."
                },
                "dateOfPublication": {
                  "type": "string",
                  "description": "Date (year YYYY) of publication, distribution, etc."
                },
                "role": {
                  "type": "string",
                  "description": "The role of the publisher, distributor, etc."
                }
              }
            }
          },
          "publicationFrequency": {
            "type": "array",
            "description": "List of intervals at which a serial appears (e.g. daily, weekly, monthly, quarterly, etc.)",
            "items": {
              "type": "string"
            },
            "uniqueItems": true
          },
          "publicationRange": {
            "type": "array",
            "description": "The range of sequential designation/chronology of publication, or date range",
            "items": {
              "type": "string"
            },
            "uniqueItems": true
          },
          "electronicAccess": {
            "type": "array",
            "description": "List of electronic access items",
            "items": {
              "type": "object",
              "properties": {
                "uri": {
                  "type": "string",
                  "description": "uniform resource identifier (URI) is a string of characters designed for unambiguous identification of resources"
                },
                "linkText": {
                  "type": "string",
                  "description": "The value of the MARC tag field 856 2nd indicator, where the values are: no information provided, resource, version of resource, related resource, no display constant generated"
                },
                "materialsSpecification": {
                  "type": "string",
                  "description": "Materials specified is used to specify to what portion or aspect of the resource the electronic location and access information applies (e.g. a portion or subset of the item is electronic, or a related electronic resource is being linked to the record)"
                },
                "publicNote": {
                  "type": "string",
                  "description": "URL public note to be displayed in the discovery"
                },
                "relationshipId": {
                  "type": "string",
                  "description": "UUID for the type of relationship between the electronic resource at the location identified and the item described in the record as a whole",
                  "$schema": "http://json-schema.org/draft-04/schema#",
                  "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
                }
              },
              "additionalProperties": false,
              "required": [
                "uri"
              ]
            }
          },
          "instanceTypeId": {
            "type": "string",
            "description": "UUID of the unique term for the resource type whether it's from the RDA content term list of locally defined",
            "$schema": "http://json-schema.org/draft-04/schema#",
            "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
          },
          "instanceFormatIds": {
            "type": "array",
            "description": "UUIDs for the unique terms for the format whether it's from the RDA carrier term list of locally defined",
            "items": {
              "type": "string",
              "$schema": "http://json-schema.org/draft-04/schema#",
              "description": "A universally unique identifier (UUID), this is a 128-bit number used to identify a record and is shown in hex with dashes, for example 6312d172-f0cf-40f6-b27d-9fa8feaf332f; the UUID version must be from 1-5; see https://dev.folio.org/guides/uuids/",
              "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
            }
          },
          "instanceFormats": {
            "type": "array",
            "description": "List of dereferenced instance formats",
            "items": {
              "type": "object",
              "$schema": "http://json-schema.org/draft-04/schema#",
              "description": "The format of an Instance",
              "properties": {
                "id": {
                  "type": "string"
                },
                "name": {
                  "description": "label for the Instance format",
                  "type": "string"
                },
                "code": {
                  "description": "distinct code for the Instance format",
                  "type": "string"
                },
                "source": {
                  "description": "origin of the Instance format record",
                  "type": "string"
                },
                "metadata": {
                  "type": "object",
                  "readonly": true,
                  "$schema": "http://json-schema.org/draft-04/schema#",
                  "id": "metadata.schema",
                  "title": "Metadata Schema",
                  "description": "Metadata about creation and changes to records, provided by the server (client should not provide)",
                  "properties": {
                    "createdDate": {
                      "description": "Date and time when the record was created",
                      "type": "string",
                      "format": "date-time"
                    },
                    "createdByUserId": {
                      "description": "ID of the user who created the record (when available)",
                      "type": "string",
                      "pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
                    },
                    "createdByUsername": {
                      "description": "Username of the user who created the record (when available)",
                      "type": "string"
                    },
                    "updatedDate": {
                      "description": "Date and time when the record was last updated",
                      "type": "string",
                      "format": "date-time"
                    },
                    "updatedByUserId": {
                      "description": "ID of the user who last updated the record (when available)",
                      "type": "string",
                      "pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
                    },
                    "updatedByUsername": {
                      "description": "Username of the user who last updated the record (when available)",
                      "type": "string"
                    }
                  },
                  "additionalProperties": false,
                  "required": [
                    "createdDate"
                  ]
                }
              },
              "required": [
                "name",
                "code",
                "source"
              ]
            },
            "readonly": true,
            "folio:isVirtual": true,
            "folio:linkBase": "instance-formats",
            "folio:linkFromField": "instanceFormatIds",
            "folio:linkToField": "id",
            "folio:includedElement": "instanceFormats"
          },
          "physicalDescriptions": {
            "type": "array",
            "description": "Physical description of the described resource, including its extent, dimensions, and such other physical details as a description of any accompanying materials and unit type and size",
            "items": {
              "type": "string"
            }
          },
          "languages": {
            "type": "array",
            "description": "The set of languages used by the resource",
            "minItems": 0,
            "items": {
              "type": "string"
            }
          },
          "notes": {
            "type": "array",
            "description": "Bibliographic notes (e.g. general notes, specialized notes), and administrative notes",
            "items": {
              "type": "object",
              "properties": {
                "instanceNoteTypeId": {
                  "description": "ID of the type of note",
                  "$schema": "http://json-schema.org/draft-04/schema#",
                  "type": "string",
                  "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
                },
                "note": {
                  "type": "string",
                  "description": "Text content of the note"
                },
                "staffOnly": {
                  "type": "boolean",
                  "description": "If true, determines that the note should not be visible for others than staff",
                  "default": false
                }
              }
            }
          },
          "modeOfIssuanceId": {
            "type": "string",
            "description": "UUID of the RDA mode of issuance, a categorization reflecting whether a resource is issued in one or more parts, the way it is updated, and whether its termination is predetermined or not (e.g. monograph,  sequential monograph, serial; integrating Resource, other)",
            "$schema": "http://json-schema.org/draft-04/schema#",
            "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
          },
          "catalogedDate": {
            "type": "string",
            "description": "Date or timestamp on an instance for when is was considered cataloged"
          },
          "previouslyHeld": {
            "type": "boolean",
            "description": "Records the fact that the resource was previously held by the library for things like Hathi access, etc.",
            "default": "false"
          },
          "staffSuppress": {
            "type": "boolean",
            "description": "Records the fact that the record should not be displayed for others than catalogers"
          },
          "discoverySuppress": {
            "type": "boolean",
            "description": "Records the fact that the record should not be displayed in a discovery system",
            "default": false
          },
          "statisticalCodeIds": {
            "type": "array",
            "description": "List of statistical code IDs",
            "items": {
              "type": "string",
              "$schema": "http://json-schema.org/draft-04/schema#",
              "description": "A universally unique identifier (UUID), this is a 128-bit number used to identify a record and is shown in hex with dashes, for example 6312d172-f0cf-40f6-b27d-9fa8feaf332f; the UUID version must be from 1-5; see https://dev.folio.org/guides/uuids/",
              "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
            },
            "uniqueItems": true
          },
          "sourceRecordFormat": {
            "type": "string",
            "description": "Format of the instance source record, if a source record exists (e.g. FOLIO if it's a record created in Inventory,  MARC if it's a MARC record created in MARCcat or EPKB if it's a record coming from eHoldings)",
            "enum": [
              "MARC-JSON"
            ],
            "readonly": true
          },
          "statusId": {
            "type": "string",
            "description": "UUID for the Instance status term (e.g. cataloged, uncatalogued, batch loaded, temporary, other, not yet assigned)",
            "$schema": "http://json-schema.org/draft-04/schema#",
            "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
          },
          "statusUpdatedDate": {
            "type": "string",
            "description": "Date [or timestamp] for when the instance status was updated"
          },
          "tags": {
            "description": "arbitrary tags associated with this instance",
            "id": "tags",
            "type": "object",
            "$schema": "http://json-schema.org/draft-04/schema#",
            "title": "tags",
            "properties": {
              "tagList": {
                "description": "List of tags",
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            },
            "additionalProperties": false
          },
          "metadata": {
            "type": "object",
            "readonly": true,
            "$schema": "http://json-schema.org/draft-04/schema#",
            "id": "metadata.schema",
            "title": "Metadata Schema",
            "description": "Metadata about creation and changes to records, provided by the server (client should not provide)",
            "properties": {
              "createdDate": {
                "description": "Date and time when the record was created",
                "type": "string",
                "format": "date-time"
              },
              "createdByUserId": {
                "description": "ID of the user who created the record (when available)",
                "type": "string",
                "pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
              },
              "createdByUsername": {
                "description": "Username of the user who created the record (when available)",
                "type": "string"
              },
              "updatedDate": {
                "description": "Date and time when the record was last updated",
                "type": "string",
                "format": "date-time"
              },
              "updatedByUserId": {
                "description": "ID of the user who last updated the record (when available)",
                "type": "string",
                "pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
              },
              "updatedByUsername": {
                "description": "Username of the user who last updated the record (when available)",
                "type": "string"
              }
            },
            "additionalProperties": false,
            "required": [
              "createdDate"
            ]
          },
          "holdingsRecords2": {
            "type": "array",
            "description": "List of holdings records",
            "items": {
              "type": "object",
              "$schema": "http://json-schema.org/draft-04/schema#",
              "description": "A holdings record",
              "properties": {
                "id": {
                  "type": "string",
                  "description": "the unique ID of the holdings record; UUID",
                  "$schema": "http://json-schema.org/draft-04/schema#",
                  "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
                },
                "_version": {
                  "type": "integer",
                  "description": "Record version for optimistic locking"
                },
                "hrid": {
                  "type": "string",
                  "description": "the human readable ID, also called eye readable ID. A system-assigned sequential ID which maps to the Instance ID"
                },
                "holdingsTypeId": {
                  "type": "string",
                  "description": "unique ID for the type of this holdings record, a UUID",
                  "$schema": "http://json-schema.org/draft-04/schema#",
                  "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
                },
                "formerIds": {
                  "type": "array",
                  "description": "Previous ID(s) assigned to the holdings record",
                  "items": {
                    "type": "string"
                  },
                  "uniqueItems": true
                },
                "instanceId": {
                  "description": "Inventory instances identifier",
                  "type": "string",
                  "$schema": "http://json-schema.org/draft-04/schema#",
                  "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
                },
                "permanentLocationId": {
                  "type": "string",
                  "description": "The permanent shelving location in which an item resides.",
                  "$schema": "http://json-schema.org/draft-04/schema#",
                  "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
                },
                "permanentLocation": {
                  "description": "The permanent shelving location in which an item resides",
                  "type": "object",
                  "folio:$ref": "location.json",
                  "readonly": true,
                  "folio:isVirtual": true,
                  "folio:linkBase": "locations",
                  "folio:linkFromField": "permanentLocationId",
                  "folio:linkToField": "id",
                  "folio:includedElement": "locations.0"
                },
                "temporaryLocationId": {
                  "type": "string",
                  "description": "Temporary location is the temporary location, shelving location, or holding which is a physical place where items are stored, or an Online location.",
                  "$schema": "http://json-schema.org/draft-04/schema#",
                  "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
                },
                "effectiveLocationId": {
                  "type": "string",
                  "description": "Effective location is calculated by the system based on the values in the permanent and temporary locationId fields.",
                  "$schema": "http://json-schema.org/draft-04/schema#",
                  "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
                },
                "electronicAccess": {
                  "description": "List of electronic access items",
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "uri": {
                        "type": "string",
                        "description": "uniform resource identifier (URI) is a string of characters designed for unambiguous identification of resources"
                      },
                      "linkText": {
                        "type": "string",
                        "description": "the value of the MARC tag field 856 2nd indicator, where the values are: no information provided, resource, version of resource, related resource, no display constant generated"
                      },
                      "materialsSpecification": {
                        "type": "string",
                        "description": "materials specified is used to specify to what portion or aspect of the resource the electronic location and access information applies (e.g. a portion or subset of the item is electronic, or a related electronic resource is being linked to the record)"
                      },
                      "publicNote": {
                        "type": "string",
                        "description": "URL public note to be displayed in the discovery"
                      },
                      "relationshipId": {
                        "type": "string",
                        "description": "relationship between the electronic resource at the location identified and the item described in the record as a whole"
                      }
                    },
                    "additionalProperties": false,
                    "required": [
                      "uri"
                    ]
                  }
                },
                "callNumberTypeId": {
                  "type": "string",
                  "description": "unique ID for the type of call number on a holdings record, a UUID",
                  "$schema": "http://json-schema.org/draft-04/schema#",
                  "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
                },
                "callNumberPrefix": {
                  "type": "string",
                  "description": "Prefix of the call number on the holding level."
                },
                "callNumber": {
                  "type": "string",
                  "description": "Call Number is an identifier assigned to an item, usually printed on a label attached to the item."
                },
                "callNumberSuffix": {
                  "type": "string",
                  "description": "Suffix of the call number on the holding level."
                },
                "shelvingTitle": {
                  "type": "string",
                  "description": "Indicates the shelving form of title."
                },
                "acquisitionFormat": {
                  "type": "string",
                  "description": "Format of holdings record acquisition"
                },
                "acquisitionMethod": {
                  "type": "string",
                  "description": "Method of holdings record acquisition"
                },
                "receiptStatus": {
                  "type": "string",
                  "description": "Receipt status (e.g. pending, awaiting receipt, partially received, fully received, receipt not required, and cancelled)"
                },
                "notes": {
                  "type": "array",
                  "description": "Notes about action, copy, binding etc.",
                  "items": {
                    "type": "object",
                    "properties": {
                      "holdingsNoteTypeId": {
                        "type": "string",
                        "description": "ID of the type of note",
                        "$schema": "http://json-schema.org/draft-04/schema#",
                        "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
                      },
                      "holdingsNoteType": {
                        "type": "object",
                        "description": "expanded note-type object corresponding to holdingsNoteTypeId",
                        "javaType": "org.folio.rest.jaxrs.model.HoldingsNoteTypeVirtual",
                        "folio:$ref": "holdingsnotetype.json",
                        "readonly": true,
                        "folio:isVirtual": true,
                        "folio:linkBase": "holdings-note-types",
                        "folio:linkFromField": "holdingsNoteTypeId",
                        "folio:linkToField": "id",
                        "folio:includedElement": "holdingsNoteTypes.0"
                      },
                      "note": {
                        "type": "string",
                        "description": "Text content of the note"
                      },
                      "staffOnly": {
                        "type": "boolean",
                        "description": "If true, determines that the note should not be visible for others than staff",
                        "default": false
                      }
                    }
                  }
                },
                "illPolicyId": {
                  "type": "string",
                  "description": "unique ID for an ILL policy, a UUID",
                  "$schema": "http://json-schema.org/draft-04/schema#",
                  "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
                },
                "illPolicy": {
                  "type": "object",
                  "description": "expanded ILL Policy object corresponding to illPolicyId",
                  "javaType": "org.folio.rest.jaxrs.model.IllPolicyVirtual",
                  "folio:$ref": "illpolicy.json",
                  "readonly": true,
                  "folio:isVirtual": true,
                  "folio:linkBase": "ill-policies",
                  "folio:linkFromField": "illPolicyId",
                  "folio:linkToField": "id",
                  "folio:includedElement": "illPolicies.0"
                },
                "retentionPolicy": {
                  "type": "string",
                  "description": "Records information regarding how long we have agreed to keep something."
                },
                "digitizationPolicy": {
                  "description": "Records information regarding digitization aspects.",
                  "type": "string"
                },
                "holdingsStatements": {
                  "description": "Notes about action, copy, binding etc.",
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "statement": {
                        "type": "string",
                        "description": "Specifices the exact content to which the library has access, typically for continuing publications."
                      },
                      "note": {
                        "type": "string",
                        "description": "Note attached to a holdings statement"
                      },
                      "staffNote": {
                        "type": "string",
                        "description": "Private note attached to a holdings statment"
                      }
                    }
                  }
                },
                "holdingsStatementsForIndexes": {
                  "description": "Holdings record indexes statements",
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "statement": {
                        "type": "string",
                        "description": "Textual description of the holdings of indexes"
                      },
                      "note": {
                        "type": "string",
                        "description": "Note attached to a holdings statement"
                      },
                      "staffNote": {
                        "type": "string",
                        "description": "Private note attached to a holdings statment"
                      }
                    }
                  }
                },
                "holdingsStatementsForSupplements": {
                  "description": "Holdings record supplements statements",
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "statement": {
                        "type": "string",
                        "description": "textual description of the holdings of supplementary material"
                      },
                      "note": {
                        "type": "string",
                        "description": "note attached to a holdings statement"
                      },
                      "staffNote": {
                        "type": "string",
                        "description": "Private note attached to a holdings statment"
                      }
                    }
                  }
                },
                "copyNumber": {
                  "type": "string",
                  "description": "Item/Piece ID (usually barcode) for systems that do not use item records. Ability to designate the copy number if institution chooses to use copy numbers."
                },
                "numberOfItems": {
                  "type": "string",
                  "description": "Text (Number)"
                },
                "receivingHistory": {
                  "description": "Receiving history of holdings record",
                  "type": "object",
                  "properties": {
                    "displayType": {
                      "type": "string",
                      "description": "Display hint. 1: Display fields separately. 2: Display fields concatenated"
                    },
                    "entries": {
                      "type": "array",
                      "description": "Entries of receiving history",
                      "items": {
                        "type": "object",
                        "properties": {
                          "publicDisplay": {
                            "type": "boolean",
                            "description": "Defines if the receivingHistory should be visible to the public."
                          },
                          "enumeration": {
                            "type": "string",
                            "description": "This is the volume/issue number (e.g. v.71:no.6-2)"
                          },
                          "chronology": {
                            "type": "string",
                            "description": "Repeated element from Receiving history - Enumeration AND Receiving history - Chronology"
                          }
                        }
                      }
                    }
                  }
                },
                "discoverySuppress": {
                  "type": "boolean",
                  "description": "records the fact that the record should not be displayed in a discovery system"
                },
                "statisticalCodeIds": {
                  "type": "array",
                  "description": "List of statistical code IDs",
                  "items": {
                    "type": "string",
                    "$schema": "http://json-schema.org/draft-04/schema#",
                    "description": "A universally unique identifier (UUID), this is a 128-bit number used to identify a record and is shown in hex with dashes, for example 6312d172-f0cf-40f6-b27d-9fa8feaf332f; the UUID version must be from 1-5; see https://dev.folio.org/guides/uuids/",
                    "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
                  },
                  "uniqueItems": true
                },
                "holdingsItems": {
                  "description": "Items related to holdings record",
                  "type": "array",
                  "items": {
                    "type": "object",
                    "$schema": "http://json-schema.org/draft-04/schema#",
                    "description": "An item record",
                    "properties": {
                      "id": {
                        "type": "string",
                        "description": "Unique ID of the item record"
                      },
                      "_version": {
                        "type": "integer",
                        "description": "Record version for optimistic locking"
                      },
                      "hrid": {
                        "type": "string",
                        "description": "The human readable ID, also called eye readable ID. A system-assigned sequential alternate ID"
                      },
                      "holdingsRecordId": {
                        "type": "string",
                        "description": "ID of the holdings record the item is a member of."
                      },
                      "formerIds": {
                        "type": "array",
                        "description": "Previous identifiers assigned to the item",
                        "items": {
                          "type": "string"
                        },
                        "uniqueItems": true
                      },
                      "discoverySuppress": {
                        "type": "boolean",
                        "description": "Records the fact that the record should not be displayed in a discovery system"
                      },
                      "accessionNumber": {
                        "type": "string",
                        "description": "Also called inventar number"
                      },
                      "barcode": {
                        "type": "string",
                        "description": "Unique inventory control number for physical resources, used largely for circulation purposes"
                      },
                      "effectiveShelvingOrder": {
                        "type": "string",
                        "description": "A system generated normalization of the call number that allows for call number sorting in reports and search results",
                        "readonly": true
                      },
                      "itemLevelCallNumber": {
                        "type": "string",
                        "description": "Call Number is an identifier assigned to an item, usually printed on a label attached to the item. The call number is used to determine the items physical position in a shelving sequence, e.g. K1 .M44. The Item level call number, is the call number on item level."
                      },
                      "itemLevelCallNumberPrefix": {
                        "type": "string",
                        "description": "Prefix of the call number on the item level."
                      },
                      "itemLevelCallNumberSuffix": {
                        "type": "string",
                        "description": "Suffix of the call number on the item level."
                      },
                      "itemLevelCallNumberTypeId": {
                        "type": "string",
                        "description": "Identifies the source of the call number, e.g., LCC, Dewey, NLM, etc."
                      },
                      "effectiveCallNumberComponents": {
                        "type": "object",
                        "description": "Elements of a full call number generated from the item or holding",
                        "properties": {
                          "callNumber": {
                            "type": "string",
                            "description": "Effective Call Number is an identifier assigned to an item or its holding and associated with the item.",
                            "readonly": true
                          },
                          "prefix": {
                            "type": "string",
                            "description": "Effective Call Number Prefix is the prefix of the identifier assigned to an item or its holding and associated with the item.",
                            "readonly": true
                          },
                          "suffix": {
                            "type": "string",
                            "description": "Effective Call Number Suffix is the suffix of the identifier assigned to an item or its holding and associated with the item.",
                            "readonly": true
                          },
                          "typeId": {
                            "type": "string",
                            "description": "Effective Call Number Type Id is the call number type id of the item, if available, otherwise that of the holding.",
                            "readonly": true,
                            "$schema": "http://json-schema.org/draft-04/schema#",
                            "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
                          }
                        },
                        "additionalProperties": false
                      },
                      "volume": {
                        "type": "string",
                        "description": "Volume is intended for monographs when a multipart monograph (e.g. a biography of George Bernard Shaw in three volumes)."
                      },
                      "enumeration": {
                        "type": "string",
                        "description": "Enumeration is the descriptive information for the numbering scheme of a serial."
                      },
                      "chronology": {
                        "type": "string",
                        "description": "Chronology is the descriptive information for the dating scheme of a serial."
                      },
                      "yearCaption": {
                        "type": "array",
                        "description": "In multipart monographs, a caption is a character(s) used to label a level of chronology, e.g., year 1985.",
                        "items": {
                          "type": "string"
                        },
                        "uniqueItems": true
                      },
                      "itemIdentifier": {
                        "type": "string",
                        "description": "Item identifier number, e.g. imported from the union catalogue (read only)."
                      },
                      "copyNumber": {
                        "type": "string",
                        "description": "Copy number is the piece identifier. The copy number reflects if the library has a copy of a single-volume monograph; one copy of a multi-volume, (e.g. Copy 1, or C.7.)"
                      },
                      "numberOfPieces": {
                        "type": "string",
                        "description": "Number of pieces. Used when an item is checked out or returned to verify that all parts are present (e.g. 7 CDs in a set)."
                      },
                      "descriptionOfPieces": {
                        "description": "Description of item pieces.",
                        "type": "string"
                      },
                      "numberOfMissingPieces": {
                        "type": "string",
                        "description": "Number of missing pieces."
                      },
                      "missingPieces": {
                        "type": "string",
                        "description": "Description of the missing pieces. "
                      },
                      "missingPiecesDate": {
                        "type": "string",
                        "description": "Date when the piece(s) went missing."
                      },
                      "itemDamagedStatusId": {
                        "description": "Item dame status id identifier.",
                        "type": "string"
                      },
                      "itemDamagedStatusDate": {
                        "description": "Date and time when the item was damaged.",
                        "type": "string"
                      },
                      "notes": {
                        "type": "array",
                        "description": "Notes about action, copy, binding etc.",
                        "items": {
                          "type": "object",
                          "properties": {
                            "itemNoteTypeId": {
                              "type": "string",
                              "description": "ID of the type of note"
                            },
                            "itemNoteType": {
                              "description": "Type of item's note",
                              "type": "object",
                              "folio:$ref": "itemnotetype.json",
                              "javaType": "org.folio.rest.jaxrs.model.itemNoteTypeVirtual",
                              "readonly": true,
                              "folio:isVirtual": true,
                              "folio:linkBase": "item-note-types",
                              "folio:linkFromField": "itemNoteTypeId",
                              "folio:linkToField": "id",
                              "folio:includedElement": "itemNoteTypes.0"
                            },
                            "note": {
                              "type": "string",
                              "description": "Text content of the note"
                            },
                            "staffOnly": {
                              "type": "boolean",
                              "description": "If true, determines that the note should not be visible for others than staff",
                              "default": false
                            }
                          }
                        }
                      },
                      "circulationNotes": {
                        "type": "array",
                        "description": "Notes to be displayed in circulation processes",
                        "items": {
                          "type": "object",
                          "properties": {
                            "id": {
                              "type": "string",
                              "description": "The id of the circulation note"
                            },
                            "noteType": {
                              "type": "string",
                              "description": "Type of circulation process that the note applies to",
                              "enum": [
                                "Check in",
                                "Check out"
                              ]
                            },
                            "note": {
                              "type": "string",
                              "description": "Text to display"
                            },
                            "source": {
                              "type": "object",
                              "description": "The user who added/updated the note. The property is generated by the server and needed to support sorting. Points to /users/{id} resource.",
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "description": "The id of the user who added/updated the note. The user information is generated by the server and needed to support sorting. Points to /users/{id} resource."
                                },
                                "personal": {
                                  "type": "object",
                                  "description": "Personal information about the user",
                                  "properties": {
                                    "lastName": {
                                      "description": "The user's last name",
                                      "type": "string"
                                    },
                                    "firstName": {
                                      "description": "The user's first name",
                                      "type": "string"
                                    }
                                  }
                                }
                              }
                            },
                            "date": {
                              "type": "string",
                              "description": "Date and time the record is added/updated. The property is generated by the server and needed to support sorting."
                            },
                            "staffOnly": {
                              "type": "boolean",
                              "description": "Flag to restrict display of this note",
                              "default": false
                            }
                          },
                          "additionalProperties": false
                        }
                      },
                      "status": {
                        "description": "The status of the item",
                        "type": "object",
                        "properties": {
                          "name": {
                            "description": "Name of the status e.g. Available, Checked out, In transit",
                            "type": "string",
                            "enum": [
                              "Aged to lost",
                              "Available",
                              "Awaiting pickup",
                              "Awaiting delivery",
                              "Checked out",
                              "Claimed returned",
                              "Declared lost",
                              "In process",
                              "In process (non-requestable)",
                              "In transit",
                              "Intellectual item",
                              "Long missing",
                              "Lost and paid",
                              "Missing",
                              "On order",
                              "Paged",
                              "Restricted",
                              "Order closed",
                              "Unavailable",
                              "Unknown",
                              "Withdrawn"
                            ]
                          },
                          "date": {
                            "description": "Date and time when the status was last changed",
                            "type": "string",
                            "format": "date-time",
                            "readonly": true
                          }
                        },
                        "required": [
                          "name"
                        ],
                        "additionalProperties": false
                      },
                      "materialTypeId": {
                        "type": "string",
                        "description": "Material type, term. Define what type of thing the item is."
                      },
                      "materialType": {
                        "description": "Item's material type",
                        "type": "object",
                        "folio:$ref": "materialtype.json",
                        "javaType": "org.folio.rest.jaxrs.model.materialTypeVirtual",
                        "readonly": true,
                        "folio:isVirtual": true,
                        "folio:linkBase": "material-types",
                        "folio:linkFromField": "materialTypeId",
                        "folio:linkToField": "id",
                        "folio:includedElement": "mtypes.0"
                      },
                      "permanentLoanTypeId": {
                        "type": "string",
                        "description": "The permanent loan type, is the default loan type for a given item. Loan types are tenant-defined."
                      },
                      "temporaryLoanTypeId": {
                        "type": "string",
                        "description": "Temporary loan type, is the temporary loan type for a given item."
                      },
                      "permanentLocationId": {
                        "type": "string",
                        "description": "Permanent item location is the default location, shelving location, or holding which is a physical place where items are stored, or an Online location."
                      },
                      "permanentLocation": {
                        "description": "The permanent shelving location in which an item resides",
                        "type": "object",
                        "folio:$ref": "location.json",
                        "readonly": true,
                        "folio:isVirtual": true,
                        "folio:linkBase": "locations",
                        "folio:linkFromField": "permanentLocationId",
                        "folio:linkToField": "id",
                        "folio:includedElement": "locations.0"
                      },
                      "temporaryLocationId": {
                        "type": "string",
                        "description": "Temporary item location is the temporarily location, shelving location, or holding which is a physical place where items are stored, or an Online location."
                      },
                      "temporaryLocation": {
                        "description": "Temporary location, shelving location, or holding which is a physical place where items are stored, or an Online location",
                        "type": "object",
                        "folio:$ref": "location.json",
                        "readonly": true,
                        "folio:isVirtual": true,
                        "folio:linkBase": "locations",
                        "folio:linkFromField": "temporaryLocationId",
                        "folio:linkToField": "id",
                        "folio:includedElement": "locations.0"
                      },
                      "effectiveLocationId": {
                        "type": "string",
                        "description": "Read only current home location for the item.",
                        "readonly": true,
                        "$schema": "http://json-schema.org/draft-04/schema#",
                        "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
                      },
                      "electronicAccess": {
                        "type": "array",
                        "description": "References for accessing the item by URL.",
                        "items": {
                          "type": "object",
                          "properties": {
                            "uri": {
                              "type": "string",
                              "description": "uniform resource identifier (URI) is a string of characters designed for unambiguous identification of resources"
                            },
                            "linkText": {
                              "type": "string",
                              "description": "the value of the MARC tag field 856 2nd indicator, where the values are: no information provided, resource, version of resource, related resource, no display constant generated"
                            },
                            "materialsSpecification": {
                              "type": "string",
                              "description": "materials specified is used to specify to what portion or aspect of the resource the electronic location and access information applies (e.g. a portion or subset of the item is electronic, or a related electronic resource is being linked to the record)"
                            },
                            "publicNote": {
                              "type": "string",
                              "description": "URL public note to be displayed in the discovery"
                            },
                            "relationshipId": {
                              "type": "string",
                              "description": "relationship between the electronic resource at the location identified and the item described in the record as a whole"
                            }
                          },
                          "additionalProperties": false,
                          "required": [
                            "uri"
                          ]
                        }
                      },
                      "inTransitDestinationServicePointId": {
                        "description": "Service point an item is intended to be transited to (should only be present when in transit)",
                        "type": "string",
                        "pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
                      },
                      "statisticalCodeIds": {
                        "type": "array",
                        "description": "List of statistical code IDs",
                        "items": {
                          "type": "string"
                        },
                        "uniqueItems": true
                      },
                      "purchaseOrderLineIdentifier": {
                        "type": "string",
                        "description": "ID referencing a remote purchase order object related to this item"
                      },
                      "tags": {
                        "description": "arbitrary tags associated with this item",
                        "id": "tags",
                        "type": "object",
                        "$schema": "http://json-schema.org/draft-04/schema#",
                        "title": "tags",
                        "properties": {
                          "tagList": {
                            "description": "List of tags",
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          }
                        },
                        "additionalProperties": false
                      },
                      "metadata": {
                        "type": "object",
                        "readonly": true,
                        "$schema": "http://json-schema.org/draft-04/schema#",
                        "id": "metadata.schema",
                        "title": "Metadata Schema",
                        "description": "Metadata about creation and changes to records, provided by the server (client should not provide)",
                        "properties": {
                          "createdDate": {
                            "description": "Date and time when the record was created",
                            "type": "string",
                            "format": "date-time"
                          },
                          "createdByUserId": {
                            "description": "ID of the user who created the record (when available)",
                            "type": "string",
                            "pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
                          },
                          "createdByUsername": {
                            "description": "Username of the user who created the record (when available)",
                            "type": "string"
                          },
                          "updatedDate": {
                            "description": "Date and time when the record was last updated",
                            "type": "string",
                            "format": "date-time"
                          },
                          "updatedByUserId": {
                            "description": "ID of the user who last updated the record (when available)",
                            "type": "string",
                            "pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
                          },
                          "updatedByUsername": {
                            "description": "Username of the user who last updated the record (when available)",
                            "type": "string"
                          }
                        },
                        "additionalProperties": false,
                        "required": [
                          "createdDate"
                        ]
                      },
                      "holdingsRecord2": {
                        "type": "object",
                        "description": "Item associated holdings record object.",
                        "folio:$ref": "holdingsrecord.json",
                        "readonly": true,
                        "folio:isVirtual": true,
                        "folio:linkBase": "holdings-storage/holdings",
                        "folio:linkFromField": "holdingsRecordId",
                        "folio:linkToField": "id",
                        "folio:includedElement": "holdingsRecords.0"
                      },
                      "lastCheckIn": {
                        "type": "object",
                        "additionalProperties": false,
                        "description": "Information about when an item was last scanned in the Inventory app.",
                        "properties": {
                          "dateTime": {
                            "type": "string",
                            "description": "Date and time of the last check in of the item.",
                            "format": "date-time"
                          },
                          "servicePointId": {
                            "type": "string",
                            "description": "Service point ID being used by a staff member when item was scanned in Check in app.",
                            "$schema": "http://json-schema.org/draft-04/schema#",
                            "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
                          },
                          "staffMemberId": {
                            "type": "string",
                            "description": "ID a staff member who scanned the item",
                            "$schema": "http://json-schema.org/draft-04/schema#",
                            "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
                          }
                        }
                      }
                    },
                    "additionalProperties": false,
                    "required": [
                      "materialTypeId",
                      "permanentLoanTypeId",
                      "holdingsRecordId",
                      "status"
                    ]
                  },
                  "readonly": true,
                  "folio:isVirtual": true,
                  "folio:linkBase": "inventory/items",
                  "folio:linkFromField": "id",
                  "folio:linkToField": "holdingsRecordId",
                  "folio:includedElement": "items"
                },
                "bareHoldingsItems": {
                  "description": "Items of bareHoldings",
                  "type": "array",
                  "items": {
                    "type": "object",
                    "$schema": "http://json-schema.org/draft-04/schema#",
                    "description": "An item record",
                    "properties": {
                      "id": {
                        "type": "string",
                        "description": "Unique ID of the item record"
                      },
                      "_version": {
                        "type": "integer",
                        "description": "Record version for optimistic locking"
                      },
                      "hrid": {
                        "type": "string",
                        "description": "The human readable ID, also called eye readable ID. A system-assigned sequential alternate ID"
                      },
                      "holdingsRecordId": {
                        "type": "string",
                        "description": "ID of the holdings record the item is a member of."
                      },
                      "formerIds": {
                        "type": "array",
                        "description": "Previous identifiers assigned to the item",
                        "items": {
                          "type": "string"
                        },
                        "uniqueItems": true
                      },
                      "discoverySuppress": {
                        "type": "boolean",
                        "description": "Records the fact that the record should not be displayed in a discovery system"
                      },
                      "accessionNumber": {
                        "type": "string",
                        "description": "Also called inventar number"
                      },
                      "barcode": {
                        "type": "string",
                        "description": "Unique inventory control number for physical resources, used largely for circulation purposes"
                      },
                      "effectiveShelvingOrder": {
                        "type": "string",
                        "description": "A system generated normalization of the call number that allows for call number sorting in reports and search results",
                        "readonly": true
                      },
                      "itemLevelCallNumber": {
                        "type": "string",
                        "description": "Call Number is an identifier assigned to an item, usually printed on a label attached to the item. The call number is used to determine the items physical position in a shelving sequence, e.g. K1 .M44. The Item level call number, is the call number on item level."
                      },
                      "itemLevelCallNumberPrefix": {
                        "type": "string",
                        "description": "Prefix of the call number on the item level."
                      },
                      "itemLevelCallNumberSuffix": {
                        "type": "string",
                        "description": "Suffix of the call number on the item level."
                      },
                      "itemLevelCallNumberTypeId": {
                        "type": "string",
                        "description": "Identifies the source of the call number, e.g., LCC, Dewey, NLM, etc."
                      },
                      "effectiveCallNumberComponents": {
                        "type": "object",
                        "description": "Elements of a full call number generated from the item or holding",
                        "properties": {
                          "callNumber": {
                            "type": "string",
                            "description": "Effective Call Number is an identifier assigned to an item or its holding and associated with the item.",
                            "readonly": true
                          },
                          "prefix": {
                            "type": "string",
                            "description": "Effective Call Number Prefix is the prefix of the identifier assigned to an item or its holding and associated with the item.",
                            "readonly": true
                          },
                          "suffix": {
                            "type": "string",
                            "description": "Effective Call Number Suffix is the suffix of the identifier assigned to an item or its holding and associated with the item.",
                            "readonly": true
                          },
                          "typeId": {
                            "type": "string",
                            "description": "Effective Call Number Type Id is the call number type id of the item, if available, otherwise that of the holding.",
                            "readonly": true,
                            "$schema": "http://json-schema.org/draft-04/schema#",
                            "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
                          }
                        },
                        "additionalProperties": false
                      },
                      "volume": {
                        "type": "string",
                        "description": "Volume is intended for monographs when a multipart monograph (e.g. a biography of George Bernard Shaw in three volumes)."
                      },
                      "enumeration": {
                        "type": "string",
                        "description": "Enumeration is the descriptive information for the numbering scheme of a serial."
                      },
                      "chronology": {
                        "type": "string",
                        "description": "Chronology is the descriptive information for the dating scheme of a serial."
                      },
                      "yearCaption": {
                        "type": "array",
                        "description": "In multipart monographs, a caption is a character(s) used to label a level of chronology, e.g., year 1985.",
                        "items": {
                          "type": "string"
                        },
                        "uniqueItems": true
                      },
                      "itemIdentifier": {
                        "type": "string",
                        "description": "Item identifier number, e.g. imported from the union catalogue (read only)."
                      },
                      "copyNumber": {
                        "type": "string",
                        "description": "Copy number is the piece identifier. The copy number reflects if the library has a copy of a single-volume monograph; one copy of a multi-volume, (e.g. Copy 1, or C.7.)"
                      },
                      "numberOfPieces": {
                        "type": "string",
                        "description": "Number of pieces. Used when an item is checked out or returned to verify that all parts are present (e.g. 7 CDs in a set)."
                      },
                      "descriptionOfPieces": {
                        "description": "Description of item pieces.",
                        "type": "string"
                      },
                      "numberOfMissingPieces": {
                        "type": "string",
                        "description": "Number of missing pieces."
                      },
                      "missingPieces": {
                        "type": "string",
                        "description": "Description of the missing pieces. "
                      },
                      "missingPiecesDate": {
                        "type": "string",
                        "description": "Date when the piece(s) went missing."
                      },
                      "itemDamagedStatusId": {
                        "description": "Item dame status id identifier.",
                        "type": "string"
                      },
                      "itemDamagedStatusDate": {
                        "description": "Date and time when the item was damaged.",
                        "type": "string"
                      },
                      "notes": {
                        "type": "array",
                        "description": "Notes about action, copy, binding etc.",
                        "items": {
                          "type": "object",
                          "properties": {
                            "itemNoteTypeId": {
                              "type": "string",
                              "description": "ID of the type of note"
                            },
                            "itemNoteType": {
                              "description": "Type of item's note",
                              "type": "object",
                              "folio:$ref": "itemnotetype.json",
                              "javaType": "org.folio.rest.jaxrs.model.itemNoteTypeVirtual",
                              "readonly": true,
                              "folio:isVirtual": true,
                              "folio:linkBase": "item-note-types",
                              "folio:linkFromField": "itemNoteTypeId",
                              "folio:linkToField": "id",
                              "folio:includedElement": "itemNoteTypes.0"
                            },
                            "note": {
                              "type": "string",
                              "description": "Text content of the note"
                            },
                            "staffOnly": {
                              "type": "boolean",
                              "description": "If true, determines that the note should not be visible for others than staff",
                              "default": false
                            }
                          }
                        }
                      },
                      "circulationNotes": {
                        "type": "array",
                        "description": "Notes to be displayed in circulation processes",
                        "items": {
                          "type": "object",
                          "properties": {
                            "id": {
                              "type": "string",
                              "description": "The id of the circulation note"
                            },
                            "noteType": {
                              "type": "string",
                              "description": "Type of circulation process that the note applies to",
                              "enum": [
                                "Check in",
                                "Check out"
                              ]
                            },
                            "note": {
                              "type": "string",
                              "description": "Text to display"
                            },
                            "source": {
                              "type": "object",
                              "description": "The user who added/updated the note. The property is generated by the server and needed to support sorting. Points to /users/{id} resource.",
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "description": "The id of the user who added/updated the note. The user information is generated by the server and needed to support sorting. Points to /users/{id} resource."
                                },
                                "personal": {
                                  "type": "object",
                                  "description": "Personal information about the user",
                                  "properties": {
                                    "lastName": {
                                      "description": "The user's last name",
                                      "type": "string"
                                    },
                                    "firstName": {
                                      "description": "The user's first name",
                                      "type": "string"
                                    }
                                  }
                                }
                              }
                            },
                            "date": {
                              "type": "string",
                              "description": "Date and time the record is added/updated. The property is generated by the server and needed to support sorting."
                            },
                            "staffOnly": {
                              "type": "boolean",
                              "description": "Flag to restrict display of this note",
                              "default": false
                            }
                          },
                          "additionalProperties": false
                        }
                      },
                      "status": {
                        "description": "The status of the item",
                        "type": "object",
                        "properties": {
                          "name": {
                            "description": "Name of the status e.g. Available, Checked out, In transit",
                            "type": "string",
                            "enum": [
                              "Aged to lost",
                              "Available",
                              "Awaiting pickup",
                              "Awaiting delivery",
                              "Checked out",
                              "Claimed returned",
                              "Declared lost",
                              "In process",
                              "In process (non-requestable)",
                              "In transit",
                              "Intellectual item",
                              "Long missing",
                              "Lost and paid",
                              "Missing",
                              "On order",
                              "Paged",
                              "Restricted",
                              "Order closed",
                              "Unavailable",
                              "Unknown",
                              "Withdrawn"
                            ]
                          },
                          "date": {
                            "description": "Date and time when the status was last changed",
                            "type": "string",
                            "format": "date-time",
                            "readonly": true
                          }
                        },
                        "required": [
                          "name"
                        ],
                        "additionalProperties": false
                      },
                      "materialTypeId": {
                        "type": "string",
                        "description": "Material type, term. Define what type of thing the item is."
                      },
                      "materialType": {
                        "description": "Item's material type",
                        "type": "object",
                        "folio:$ref": "materialtype.json",
                        "javaType": "org.folio.rest.jaxrs.model.materialTypeVirtual",
                        "readonly": true,
                        "folio:isVirtual": true,
                        "folio:linkBase": "material-types",
                        "folio:linkFromField": "materialTypeId",
                        "folio:linkToField": "id",
                        "folio:includedElement": "mtypes.0"
                      },
                      "permanentLoanTypeId": {
                        "type": "string",
                        "description": "The permanent loan type, is the default loan type for a given item. Loan types are tenant-defined."
                      },
                      "temporaryLoanTypeId": {
                        "type": "string",
                        "description": "Temporary loan type, is the temporary loan type for a given item."
                      },
                      "permanentLocationId": {
                        "type": "string",
                        "description": "Permanent item location is the default location, shelving location, or holding which is a physical place where items are stored, or an Online location."
                      },
                      "permanentLocation": {
                        "description": "The permanent shelving location in which an item resides",
                        "type": "object",
                        "folio:$ref": "location.json",
                        "readonly": true,
                        "folio:isVirtual": true,
                        "folio:linkBase": "locations",
                        "folio:linkFromField": "permanentLocationId",
                        "folio:linkToField": "id",
                        "folio:includedElement": "locations.0"
                      },
                      "temporaryLocationId": {
                        "type": "string",
                        "description": "Temporary item location is the temporarily location, shelving location, or holding which is a physical place where items are stored, or an Online location."
                      },
                      "temporaryLocation": {
                        "description": "Temporary location, shelving location, or holding which is a physical place where items are stored, or an Online location",
                        "type": "object",
                        "folio:$ref": "location.json",
                        "readonly": true,
                        "folio:isVirtual": true,
                        "folio:linkBase": "locations",
                        "folio:linkFromField": "temporaryLocationId",
                        "folio:linkToField": "id",
                        "folio:includedElement": "locations.0"
                      },
                      "effectiveLocationId": {
                        "type": "string",
                        "description": "Read only current home location for the item.",
                        "readonly": true,
                        "$schema": "http://json-schema.org/draft-04/schema#",
                        "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
                      },
                      "electronicAccess": {
                        "type": "array",
                        "description": "References for accessing the item by URL.",
                        "items": {
                          "type": "object",
                          "properties": {
                            "uri": {
                              "type": "string",
                              "description": "uniform resource identifier (URI) is a string of characters designed for unambiguous identification of resources"
                            },
                            "linkText": {
                              "type": "string",
                              "description": "the value of the MARC tag field 856 2nd indicator, where the values are: no information provided, resource, version of resource, related resource, no display constant generated"
                            },
                            "materialsSpecification": {
                              "type": "string",
                              "description": "materials specified is used to specify to what portion or aspect of the resource the electronic location and access information applies (e.g. a portion or subset of the item is electronic, or a related electronic resource is being linked to the record)"
                            },
                            "publicNote": {
                              "type": "string",
                              "description": "URL public note to be displayed in the discovery"
                            },
                            "relationshipId": {
                              "type": "string",
                              "description": "relationship between the electronic resource at the location identified and the item described in the record as a whole"
                            }
                          },
                          "additionalProperties": false,
                          "required": [
                            "uri"
                          ]
                        }
                      },
                      "inTransitDestinationServicePointId": {
                        "description": "Service point an item is intended to be transited to (should only be present when in transit)",
                        "type": "string",
                        "pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
                      },
                      "statisticalCodeIds": {
                        "type": "array",
                        "description": "List of statistical code IDs",
                        "items": {
                          "type": "string"
                        },
                        "uniqueItems": true
                      },
                      "purchaseOrderLineIdentifier": {
                        "type": "string",
                        "description": "ID referencing a remote purchase order object related to this item"
                      },
                      "tags": {
                        "description": "arbitrary tags associated with this item",
                        "id": "tags",
                        "type": "object",
                        "$schema": "http://json-schema.org/draft-04/schema#",
                        "title": "tags",
                        "properties": {
                          "tagList": {
                            "description": "List of tags",
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          }
                        },
                        "additionalProperties": false
                      },
                      "metadata": {
                        "type": "object",
                        "readonly": true,
                        "$schema": "http://json-schema.org/draft-04/schema#",
                        "id": "metadata.schema",
                        "title": "Metadata Schema",
                        "description": "Metadata about creation and changes to records, provided by the server (client should not provide)",
                        "properties": {
                          "createdDate": {
                            "description": "Date and time when the record was created",
                            "type": "string",
                            "format": "date-time"
                          },
                          "createdByUserId": {
                            "description": "ID of the user who created the record (when available)",
                            "type": "string",
                            "pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
                          },
                          "createdByUsername": {
                            "description": "Username of the user who created the record (when available)",
                            "type": "string"
                          },
                          "updatedDate": {
                            "description": "Date and time when the record was last updated",
                            "type": "string",
                            "format": "date-time"
                          },
                          "updatedByUserId": {
                            "description": "ID of the user who last updated the record (when available)",
                            "type": "string",
                            "pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
                          },
                          "updatedByUsername": {
                            "description": "Username of the user who last updated the record (when available)",
                            "type": "string"
                          }
                        },
                        "additionalProperties": false,
                        "required": [
                          "createdDate"
                        ]
                      },
                      "holdingsRecord2": {
                        "type": "object",
                        "description": "Item associated holdings record object.",
                        "folio:$ref": "holdingsrecord.json",
                        "readonly": true,
                        "folio:isVirtual": true,
                        "folio:linkBase": "holdings-storage/holdings",
                        "folio:linkFromField": "holdingsRecordId",
                        "folio:linkToField": "id",
                        "folio:includedElement": "holdingsRecords.0"
                      },
                      "lastCheckIn": {
                        "type": "object",
                        "additionalProperties": false,
                        "description": "Information about when an item was last scanned in the Inventory app.",
                        "properties": {
                          "dateTime": {
                            "type": "string",
                            "description": "Date and time of the last check in of the item.",
                            "format": "date-time"
                          },
                          "servicePointId": {
                            "type": "string",
                            "description": "Service point ID being used by a staff member when item was scanned in Check in app.",
                            "$schema": "http://json-schema.org/draft-04/schema#",
                            "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
                          },
                          "staffMemberId": {
                            "type": "string",
                            "description": "ID a staff member who scanned the item",
                            "$schema": "http://json-schema.org/draft-04/schema#",
                            "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
                          }
                        }
                      }
                    },
                    "additionalProperties": false,
                    "required": [
                      "materialTypeId",
                      "permanentLoanTypeId",
                      "holdingsRecordId",
                      "status"
                    ]
                  },
                  "readonly": true,
                  "folio:isVirtual": true,
                  "folio:linkBase": "item-storage/items",
                  "folio:linkFromField": "id",
                  "folio:linkToField": "holdingsRecordId",
                  "folio:includedElement": "items"
                },
                "holdingsInstance": {
                  "description": "Instance of holding record",
                  "type": "object",
                  "folio:$ref": "instance.json",
                  "readonly": true,
                  "folio:isVirtual": true,
                  "folio:linkBase": "inventory/instances",
                  "folio:linkFromField": "instanceId",
                  "folio:linkToField": "id",
                  "folio:includedElement": "instances.0"
                },
                "tags": {
                  "description": "arbitrary tags associated with this holding",
                  "id": "tags",
                  "type": "object",
                  "$schema": "http://json-schema.org/draft-04/schema#",
                  "title": "tags",
                  "properties": {
                    "tagList": {
                      "description": "List of tags",
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    }
                  },
                  "additionalProperties": false
                },
                "metadata": {
                  "type": "object",
                  "readonly": true,
                  "$schema": "http://json-schema.org/draft-04/schema#",
                  "id": "metadata.schema",
                  "title": "Metadata Schema",
                  "description": "Metadata about creation and changes to records, provided by the server (client should not provide)",
                  "properties": {
                    "createdDate": {
                      "description": "Date and time when the record was created",
                      "type": "string",
                      "format": "date-time"
                    },
                    "createdByUserId": {
                      "description": "ID of the user who created the record (when available)",
                      "type": "string",
                      "pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
                    },
                    "createdByUsername": {
                      "description": "Username of the user who created the record (when available)",
                      "type": "string"
                    },
                    "updatedDate": {
                      "description": "Date and time when the record was last updated",
                      "type": "string",
                      "format": "date-time"
                    },
                    "updatedByUserId": {
                      "description": "ID of the user who last updated the record (when available)",
                      "type": "string",
                      "pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
                    },
                    "updatedByUsername": {
                      "description": "Username of the user who last updated the record (when available)",
                      "type": "string"
                    }
                  },
                  "additionalProperties": false,
                  "required": [
                    "createdDate"
                  ]
                },
                "sourceId": {
                  "description": "(A reference to) the source of a holdings record",
                  "type": "string",
                  "$schema": "http://json-schema.org/draft-04/schema#",
                  "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
                }
              },
              "additionalProperties": false,
              "required": [
                "instanceId",
                "permanentLocationId"
              ]
            },
            "readonly": true,
            "folio:isVirtual": true,
            "folio:linkBase": "holdings-storage/holdings",
            "folio:linkFromField": "id",
            "folio:linkToField": "instanceId",
            "folio:includedElement": "holdingsRecords"
          },
          "natureOfContentTermIds": {
            "type": "array",
            "description": "Array of UUID for the Instance nature of content (e.g. bibliography, biography, exhibition catalogue, festschrift, newspaper, proceedings, research report, thesis or website)",
            "uniqueItems": true,
            "items": {
              "type": "string",
              "description": "Single UUID for the Instance nature of content",
              "$schema": "http://json-schema.org/draft-04/schema#",
              "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
            }
          }
        },
        "additionalProperties": false,
        "required": [
          "source",
          "title",
          "instanceTypeId"
        ]
      }
    }
  },
  "additionalProperties": false,
  "required": [
    "instances"
  ]
}

Example:

{
  "instances": [
    {
      "id": "601a8dc4-dee7-48eb-b03f-d02fdf0debd0",
      "title": "ADVANCING LIBRARY EDUCATION: TECHNOLOGICAL INNOVATION AND INSTRUCTIONAL DESIGN",
      "source": "Local: MARC",
      "contributors": [
        {
          "name": "Sigal, Ari",
          "contributorNameTypeId": "2b94c631-fca9-4892-a730-03ee529ffe2a",
          "primary": true
        }
      ],
      "identifiers": [
        {
          "identifierTypeId": "2e48e713-17f3-4c13-a9f8-23845bb210af",
          "value": "9781466636897"
        },
        {
          "identifierTypeId": "6051f95c-028e-4c6a-8a9e-ee689dd51453",
          "value": "1"
        }
      ],
      "instanceTypeId": "2b94c631-fca9-4892-a730-03ee529ffe2c",
      "tags" : {
        "tagList" : [
          "important"
        ]
      }
    },
    {
      "id": "f31a36de-fcf8-44f9-87ef-a55d06ad21ae",
      "title": "ADVANCING RESEARCH METHODS WITH NEW TECHNOLOGIES.",
      "source": "Local: MARC",
      "contributors": [
        {
          "name": "Sappleton, Natalie",
          "contributorNameTypeId": "2b94c631-fca9-4892-a730-03ee529ffe2a",
          "primary": true
        }
      ],
      "identifiers": [
        {
          "identifierTypeId": "2e48e713-17f3-4c13-a9f8-23845bb210af",
          "value": "9781466639195"
        },
        {
          "identifierTypeId": "6051f95c-028e-4c6a-8a9e-ee689dd51453",
          "value": "2"
        }
      ],
      "instanceTypeId": "2b94c631-fca9-4892-a730-03ee529ffe2c"
    }
  ]
}

Response 201

All instances have been successfully created or updated

Response 409

Optimistic locking version conflict

Body

Media type: text/plain

Type: any

Example:

version error

Response 413

Payload Too Large

Body

Media type: text/plain

Type: any

Example:

Payload Too Large

Response 422

Unprocessable Entity

Body

Media type: application/json

Type: json

Content:

{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "id": "errors.schema",
  "description": "A set of errors",
  "type": "object",
  "properties": {
    "errors": {
      "description": "List of errors",
      "id": "errors",
      "type": "array",
      "items": {
        "type": "object",
        "$schema": "http://json-schema.org/draft-04/schema#",
        "id": "error.schema",
        "description": "An error",
        "properties": {
          "message": {
            "type": "string",
            "description": "Error message text"
          },
          "type": {
            "type": "string",
            "description": "Error message type"
          },
          "code": {
            "type": "string",
            "description": "Error message code"
          },
          "parameters": {
            "description": "Error message parameters",
            "$schema": "http://json-schema.org/draft-04/schema#",
            "id": "parameters.schema",
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "key": {
                  "type": "string"
                },
                "value": {
                  "type": "string"
                }
              }
            }
          }
        },
        "required": [
          "message"
        ]
      }
    },
    "total_records": {
      "description": "Total number of errors",
      "type": "integer"
    }
  }
}

Response 500

Internal server error

Body

Media type: text/plain

Type: any

Example:

Internal server error