Holdings Storage (v4.6)

http://localhost

Table of contents

Holdings Records Storage API

Storage for holdings in the inventory

/holdings-storage

GET /holdings-storage/holdings

Retrieve a list of holding items.

GET /holdings-storage/holdings
Query Parameters
  • offset: (integer - default: 0 - minimum: 0 - maximum: 2147483647)

    Skip over a number of elements by specifying an offset value for the query

    Example:

    0
  • limit: (integer - default: 10 - minimum: 0 - maximum: 2147483647)

    Limit the number of elements returned in the response

    Example:

    10
  • query: (string)

    A query expressed as a CQL string (see dev.folio.org/reference/glossary#cql) using valid searchable fields. The first example below shows the general form of a full CQL query, but those fields might not be relevant in this context.

    by instance ID (using CQL)

    Example:

    (username=="ab*" or personal.firstName=="ab*" or personal.lastName=="ab*") and active=="true" sortby personal.lastName personal.firstName barcode
    
    instanceId="2b94c631-fca9-4892-a730-03ee529ffe2a"
    
  • lang: (string - default: en - pattern: [a-zA-Z]{2})

    Requested language. Optional. [lang=en]

Response 200

Returns a list of holding items

Body

Media type: application/json

Type: json

Content:

{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "description": "A collection of holdings records",
  "type": "object",
  "properties": {
    "holdingsRecords": {
      "description": "List of holdings records",
      "id": "holdingsRecord",
      "type": "array",
      "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",
                  "readonly": true
                },
                "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",
                  "readonly": true
                },
                "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"
        ]
      }
    },
    "totalRecords": {
      "type": "integer"
    },
    "resultInfo": {
      "readonly": true,
      "$schema": "http://json-schema.org/draft-04/schema#",
      "id": "resultInfo.schema",
      "description": "Faceting of result sets",
      "type": "object",
      "properties": {
        "totalRecords": {
          "type": "integer",
          "description": "Estimated or exact total number of records"
        },
        "totalRecordsEstimated": {
          "type": "boolean",
          "description": "True if totalRecords is an estimation, false if it is the exact number"
        },
        "totalRecordsRounded": {
          "type": "integer",
          "description": "The rounded value of totalRecords if totalRecords is an estimation"
        },
        "responseTime": {
          "type": "number",
          "description": "Response time"
        },
        "facets": {
          "type": "array",
          "description": "Array of facets",
          "items": {
            "type": "object",
            "description": "A facet",
            "properties": {
              "facetValues": {
                "type": "array",
                "description": "Array of facet values",
                "items": {
                  "type": "object",
                  "description": "A facet value",
                  "properties": {
                    "count": {
                      "type": "integer",
                      "description": "Count of facet values"
                    },
                    "value": {
                      "description": "Value Object"
                    }
                  }
                },
                "additionalProperties": false
              },
              "type": {
                "type": "string",
                "description": "Type of facet"
              }
            },
            "additionalProperties": false
          }
        },
        "diagnostics": {
          "type": "array",
          "description": "Array of diagnostic information",
          "items": {
            "type": "object",
            "description": "Diagnostic information",
            "properties": {
              "source": {
                "type": "string",
                "description": "Source reporting the diagnostic information"
              },
              "code": {
                "type": "string",
                "description": "Diagnostic Code"
              },
              "message": {
                "type": "string",
                "description": "Diagnostic Message"
              },
              "module": {
                "type": "string",
                "description": "Module reporting diagnostic information"
              },
              "recordCount": {
                "type": "integer",
                "description": "Record Count for diagnostics"
              },
              "query": {
                "type": "string",
                "description": "CQL Query associated with results"
              }
            }
          }
        }
      },
      "additionalProperties": false
    }
  },
  "required": [
    "holdingsRecords",
    "totalRecords"
  ]
}

Example:

{
  "holdingsRecords": [
    {
      "id": "65cb2bf0-d4c2-4886-8ad0-b76f1ba75d61",
      "instanceId": "cd28da0f-a3e4-465c-82f1-acade4e8e170",
      "permanentLocationId": "d9cd0bed-1b49-4b5e-a7bd-064b8d177231",
      "holdingsStatements": [
        {
          "statement": "Line 1",
          "note": "Note to line 1"
        },
        {
          "statement": "Line 2",
          "note": "Note to line2"
        }
      ],
      "tags" : {
        "tagList" : [
          "important"
        ]
      }
    },
    {
      "id": "807084d2-1b6c-4448-a566-d3d9ebfd1c08",
      "instanceId": "601a8dc4-dee7-48eb-b03f-d02fdf0debd0",
      "permanentLocationId": "d9cd0bed-1b49-4b5e-a7bd-064b8d177231",
      "holdingsStatements": [
        {
          "statement": "Line 1",
          "note": "Note to line 1"
        },
        {
          "statement": "Line 2",
          "note": "Note to line2"
        }
      ],"tags" : {
      "tagList" : [
        "important"
        ]
      }
    }
  ],
  "totalRecords": 2
}

Response 400

Bad request, e.g. malformed request body or query parameter. Details of the error (e.g. name of the parameter or line/character number with malformed data) provided in the response.

Body

Media type: text/plain

Type: any

Example:

unable to list holdings -- malformed parameter 'query', syntax error at column 6

Response 401

Not authorized to perform requested action

Body

Media type: text/plain

Type: any

Example:

unable to list holdings -- unauthorized

Response 500

Internal server error, e.g. due to misconfiguration

Body

Media type: text/plain

Type: any

Example:

internal server error, contact administrator

POST /holdings-storage/holdings

Create a new holding item.

POST /holdings-storage/holdings
Query Parameters
  • lang: (string - default: en - pattern: [a-zA-Z]{2})

    Requested language. Optional. [lang=en]

Body

Media type: application/json

Type: json

Content:

{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "description": "A holdings record",
  "type": "object",
  "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",
            "readonly": true
          },
          "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",
            "readonly": true
          },
          "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"
  ]
}

Example:

{
  "id": "65cb2bf0-d4c2-4886-8ad0-b76f1ba75d61",
  "instanceId": "cd28da0f-a3e4-465c-82f1-acade4e8e170",
  "permanentLocationId": "d9cd0bed-1b49-4b5e-a7bd-064b8d177231",
  "holdingsStatements": [
    {
      "statement": "Line 1",
      "note": "Note to line 1"
    },
    {
      "statement": "Line 2",
      "note": "Note to line2"
    }
  ],
  "tags" : {
    "tagList" : [
      "important"
    ]
  }
}

Response 201

Returns a newly created item, with server-controlled fields like 'id' populated

Headers
  • Location: required (string)

    URI to the created holding item

Body

Media type: application/json

Type: any

Example:

{
  "id": "65cb2bf0-d4c2-4886-8ad0-b76f1ba75d61",
  "instanceId": "cd28da0f-a3e4-465c-82f1-acade4e8e170",
  "permanentLocationId": "d9cd0bed-1b49-4b5e-a7bd-064b8d177231",
  "holdingsStatements": [
    {
      "statement": "Line 1",
      "note": "Note to line 1"
    },
    {
      "statement": "Line 2",
      "note": "Note to line2"
    }
  ],
  "tags" : {
    "tagList" : [
      "important"
    ]
  }
}

Response 400

Bad request, e.g. malformed request body or query parameter. Details of the error (e.g. name of the parameter or line/character number with malformed data) provided in the response.

Body

Media type: text/plain

Type: any

Example:

"unable to add holding -- malformed JSON at 13:3"

Response 401

Not authorized to perform requested action

Body

Media type: text/plain

Type: any

Example:

unable to create holdings -- unauthorized

Response 422

Validation errors

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"
    }
  }
}

Example:

{
  "errors": [
    {
      "message": "may not be null",
      "type": "1",
      "code": "-1",
      "parameters": [
        {
          "key": "moduleTo",
          "value": "null"
        }
      ]
    }
  ]
}

Response 500

Internal server error, e.g. due to misconfiguration

Body

Media type: text/plain

Type: any

Example:

Internal server error, contact administrator

DELETE /holdings-storage/holdings

DELETE /holdings-storage/holdings
Query Parameters
  • lang: (string - default: en - pattern: [a-zA-Z]{2})

    Requested language. Optional. [lang=en]

Response 204

All holdings deleted

Response 500

Internal server error, e.g. due to misconfiguration

Body

Media type: text/plain

Type: any

Example:

Internal server error, contact administrator

GET /holdings-storage/holdings/{holdingsRecordId}

Retrieve holding item with given {holdingId}

GET /holdings-storage/holdings/{holdingsRecordId}
URI Parameters
  • holdingsRecordId: required (string)
Query Parameters
  • lang: (string - default: en - pattern: [a-zA-Z]{2})

    Requested language. Optional. [lang=en]

Response 200

Get Holdings Record by holdingsRecordId

Body

Media type: application/json

Type: json

Content:

{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "description": "A holdings record",
  "type": "object",
  "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",
            "readonly": true
          },
          "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",
            "readonly": true
          },
          "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"
  ]
}

Example:

{
  "id": "65cb2bf0-d4c2-4886-8ad0-b76f1ba75d61",
  "instanceId": "cd28da0f-a3e4-465c-82f1-acade4e8e170",
  "permanentLocationId": "d9cd0bed-1b49-4b5e-a7bd-064b8d177231",
  "holdingsStatements": [
    {
      "statement": "Line 1",
      "note": "Note to line 1"
    },
    {
      "statement": "Line 2",
      "note": "Note to line2"
    }
  ],
  "tags" : {
    "tagList" : [
      "important"
    ]
  }
}

Response 404

Item with a given ID not found

Body

Media type: text/plain

Type: any

Example:

"holding not found"

Response 500

Internal server error, e.g. due to misconfiguration

Body

Media type: text/plain

Type: any

Example:

internal server error, contact administrator

DELETE /holdings-storage/holdings/{holdingsRecordId}

Delete holding item with given {holdingId}

DELETE /holdings-storage/holdings/{holdingsRecordId}
URI Parameters
  • holdingsRecordId: required (string)
Query Parameters
  • lang: (string - default: en - pattern: [a-zA-Z]{2})

    Requested language. Optional. [lang=en]

Response 204

Item deleted successfully

Response 400

Bad request, e.g. malformed request body or query parameter. Details of the error (e.g. name of the parameter or line/character number with malformed data) provided in the response.

Body

Media type: text/plain

Type: any

Example:

"unable to delete holding -- constraint violation"

Response 404

Item with a given ID not found

Body

Media type: text/plain

Type: any

Example:

"holding not found"

Response 500

Internal server error, e.g. due to misconfiguration

Body

Media type: text/plain

Type: any

Example:

Internal server error, contact administrator

PUT /holdings-storage/holdings/{holdingsRecordId}

Update holding item with given {holdingId}

PUT /holdings-storage/holdings/{holdingsRecordId}
URI Parameters
  • holdingsRecordId: required (string)
Query Parameters
  • lang: (string - default: en - pattern: [a-zA-Z]{2})

    Requested language. Optional. [lang=en]

Body

Media type: application/json

Type: json

Content:

{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "description": "A holdings record",
  "type": "object",
  "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",
            "readonly": true
          },
          "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",
            "readonly": true
          },
          "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"
  ]
}

Example:

{
  "id": "65cb2bf0-d4c2-4886-8ad0-b76f1ba75d61",
  "instanceId": "cd28da0f-a3e4-465c-82f1-acade4e8e170",
  "permanentLocationId": "d9cd0bed-1b49-4b5e-a7bd-064b8d177231",
  "holdingsStatements": [
    {
      "statement": "Line 1",
      "note": "Note to line 1"
    },
    {
      "statement": "Line 2",
      "note": "Note to line2"
    }
  ],
  "tags" : {
    "tagList" : [
      "important"
    ]
  }
}

Response 204

Item successfully updated

Response 400

Bad request, e.g. malformed request body or query parameter. Details of the error (e.g. name of the parameter or line/character number with malformed data) provided in the response.

Body

Media type: text/plain

Type: any

Example:

"unable to update holding -- malformed JSON at 13:4"

Response 404

Item with a given ID not found

Body

Media type: text/plain

Type: any

Example:

"holding not found"

Response 409

Optimistic locking version conflict

Body

Media type: text/plain

Type: any

Example:

version conflict

Response 500

Internal server error, e.g. due to misconfiguration

Body

Media type: text/plain

Type: any

Example:

internal server error, contact administrator