Instance Storage (v7.6)

http://localhost

Table of contents

Instance Storage API

Storage for instances in the inventory

/instance-storage

GET /instance-storage/instance-relationships

Retrieve a list of instance-relationship items.

GET /instance-storage/instance-relationships
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 parent ID or by child ID (using CQL)

    Example:

    (username=="ab*" or personal.firstName=="ab*" or personal.lastName=="ab*") and active=="true" sortby personal.lastName personal.firstName barcode
    
    subInstanceId==83a50dc6-b887-43d9-93ee-28b2c4cd11f8 superInstanceId==30fcc8e7-a019-43f4-b642-2edc389f4501 instanceRelationshipTypeId==758f13db-ffb4-440e-bb10-8a364aa6cb4a AND superInstanceId=30fcc8e7-a019-43f4-b642-2edc389f4501
    
  • lang: (string - default: en - pattern: [a-zA-Z]{2})

    Requested language. Optional. [lang=en]

Response 200

Returns a list of instance-relationship items

Body

Media type: application/json

Type: json

Content:

{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "description": "A collection of InstanceRelationship records",
  "type": "object",
  "properties": {
    "instanceRelationships": {
      "description": "List of instance relationships",
      "id": "instanceRelationships",
      "type": "array",
      "items": {
        "type": "object",
        "$schema": "http://json-schema.org/draft-04/schema#",
        "description": "A relationship of a given type between a super-instance and a sub-instance",
        "properties": {
          "id": {
            "type": "string"
          },
          "superInstanceId": {
            "description": "ID (a UUID) of the super-instance. References an Instance record",
            "type": "string"
          },
          "subInstanceId": {
            "description": "ID (a UUID) of the sub-instance. References an Instance record",
            "type": "string"
          },
          "instanceRelationshipTypeId": {
            "description": "ID (a UUID) of the InstanceRelationshipType. References controlled vocabulary InstanceRelationshipTypes. Indicates the type of relationship between two Instance records.",
            "type": "string"
          },
          "metadata": {
            "type": "object",
            "readonly": true,
            "$schema": "http://json-schema.org/draft-04/schema#",
            "id": "metadata.schema",
            "title": "Metadata Schema",
            "description": "Metadata about creation and changes to records, provided by the server (client should not provide)",
            "properties": {
              "createdDate": {
                "description": "Date and time when the record was created",
                "type": "string",
                "format": "date-time"
              },
              "createdByUserId": {
                "description": "ID of the user who created the record (when available)",
                "type": "string",
                "pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
              },
              "createdByUsername": {
                "description": "Username of the user who created the record (when available)",
                "type": "string"
              },
              "updatedDate": {
                "description": "Date and time when the record was last updated",
                "type": "string",
                "format": "date-time"
              },
              "updatedByUserId": {
                "description": "ID of the user who last updated the record (when available)",
                "type": "string",
                "pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
              },
              "updatedByUsername": {
                "description": "Username of the user who last updated the record (when available)",
                "type": "string"
              }
            },
            "additionalProperties": false,
            "required": [
              "createdDate"
            ]
          }
        },
        "additionalProperties": false,
        "required": [
          "superInstanceId",
          "subInstanceId",
          "instanceRelationshipTypeId"
        ]
      }
    },
    "totalRecords": {
      "type": "integer"
    }
  },
  "required": [
    "instanceRelationships",
    "totalRecords"
  ]
}

Example:

{
  "instanceRelationships": [
    {
     "id": "4b8093b8-8de9-41be-ad9a-0fbccb99052b",
     "superInstanceId": "601a8dc4-dee7-48eb-b03f-d02fdf0debd0",
     "subInstanceId": "83a50dc6-b887-43d9-93ee-28b2c4cd11f8",
     "instanceRelationshipTypeId": "758f13db-ffb4-440e-bb10-8a364aa6cb4a"
    },
    {
     "id": "b87c7c37-b8a4-432f-9d76-f9d215602776",
     "superInstanceId": "60e89ae2-9c93-4819-bbbe-dd8e0ec78177",
     "subInstanceId": "6a3aa70f-0204-41a0-ab58-06a42cb5032c",
     "instanceRelationshipTypeId": "30773a27-b485-4dab-aeb6-b8c04fa3cb17"
    }
  ],
  "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 instance-relationships -- 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 instance-relationships -- 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 /instance-storage/instance-relationships

Create a new instance-relationship item.

POST /instance-storage/instance-relationships
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 relationship of a given type between a super-instance and a sub-instance",
  "type": "object",
  "properties": {
    "id": {
      "type": "string"
    },
    "superInstanceId": {
      "description": "ID (a UUID) of the super-instance. References an Instance record",
      "type": "string"
    },
    "subInstanceId": {
      "description": "ID (a UUID) of the sub-instance. References an Instance record",
      "type": "string"
    },
    "instanceRelationshipTypeId": {
      "description": "ID (a UUID) of the InstanceRelationshipType. References controlled vocabulary InstanceRelationshipTypes. Indicates the type of relationship between two Instance records.",
      "type": "string"
    },
    "metadata": {
      "type": "object",
      "readonly": true,
      "$schema": "http://json-schema.org/draft-04/schema#",
      "id": "metadata.schema",
      "title": "Metadata Schema",
      "description": "Metadata about creation and changes to records, provided by the server (client should not provide)",
      "properties": {
        "createdDate": {
          "description": "Date and time when the record was created",
          "type": "string",
          "format": "date-time"
        },
        "createdByUserId": {
          "description": "ID of the user who created the record (when available)",
          "type": "string",
          "pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
        },
        "createdByUsername": {
          "description": "Username of the user who created the record (when available)",
          "type": "string"
        },
        "updatedDate": {
          "description": "Date and time when the record was last updated",
          "type": "string",
          "format": "date-time"
        },
        "updatedByUserId": {
          "description": "ID of the user who last updated the record (when available)",
          "type": "string",
          "pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
        },
        "updatedByUsername": {
          "description": "Username of the user who last updated the record (when available)",
          "type": "string"
        }
      },
      "additionalProperties": false,
      "required": [
        "createdDate"
      ]
    }
  },
  "additionalProperties": false,
  "required": [
    "superInstanceId",
    "subInstanceId",
    "instanceRelationshipTypeId"
  ]
}

Example:

{
  "id": "4b8093b8-8de9-41be-ad9a-0fbccb99052b",
  "superInstanceId": "601a8dc4-dee7-48eb-b03f-d02fdf0debd0",
  "subInstanceId": "83a50dc6-b887-43d9-93ee-28b2c4cd11f8",
  "instanceRelationshipTypeId": "758f13db-ffb4-440e-bb10-8a364aa6cb4a"
}

Response 201

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

Headers
  • Location: required (string)

    URI to the created instance-relationship item

Body

Media type: application/json

Type: any

Example:

{
  "id": "4b8093b8-8de9-41be-ad9a-0fbccb99052b",
  "superInstanceId": "601a8dc4-dee7-48eb-b03f-d02fdf0debd0",
  "subInstanceId": "83a50dc6-b887-43d9-93ee-28b2c4cd11f8",
  "instanceRelationshipTypeId": "758f13db-ffb4-440e-bb10-8a364aa6cb4a"
}

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 instance-relationship -- malformed JSON at 13:3"

Response 401

Not authorized to perform requested action

Body

Media type: text/plain

Type: any

Example:

unable to create instance-relationships -- unauthorized

Response 500

Internal server error, e.g. due to misconfiguration

Body

Media type: text/plain

Type: any

Example:

Internal server error, contact administrator

GET /instance-storage/instance-relationships/{relationshipId}

Get Instance Relationship

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

    Requested language. Optional. [lang=en]

Response 200

Returns item with a given ID

Body

Media type: application/json

Type: json

Content:

{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "description": "A relationship of a given type between a super-instance and a sub-instance",
  "type": "object",
  "properties": {
    "id": {
      "type": "string"
    },
    "superInstanceId": {
      "description": "ID (a UUID) of the super-instance. References an Instance record",
      "type": "string"
    },
    "subInstanceId": {
      "description": "ID (a UUID) of the sub-instance. References an Instance record",
      "type": "string"
    },
    "instanceRelationshipTypeId": {
      "description": "ID (a UUID) of the InstanceRelationshipType. References controlled vocabulary InstanceRelationshipTypes. Indicates the type of relationship between two Instance records.",
      "type": "string"
    },
    "metadata": {
      "type": "object",
      "readonly": true,
      "$schema": "http://json-schema.org/draft-04/schema#",
      "id": "metadata.schema",
      "title": "Metadata Schema",
      "description": "Metadata about creation and changes to records, provided by the server (client should not provide)",
      "properties": {
        "createdDate": {
          "description": "Date and time when the record was created",
          "type": "string",
          "format": "date-time"
        },
        "createdByUserId": {
          "description": "ID of the user who created the record (when available)",
          "type": "string",
          "pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
        },
        "createdByUsername": {
          "description": "Username of the user who created the record (when available)",
          "type": "string"
        },
        "updatedDate": {
          "description": "Date and time when the record was last updated",
          "type": "string",
          "format": "date-time"
        },
        "updatedByUserId": {
          "description": "ID of the user who last updated the record (when available)",
          "type": "string",
          "pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
        },
        "updatedByUsername": {
          "description": "Username of the user who last updated the record (when available)",
          "type": "string"
        }
      },
      "additionalProperties": false,
      "required": [
        "createdDate"
      ]
    }
  },
  "additionalProperties": false,
  "required": [
    "superInstanceId",
    "subInstanceId",
    "instanceRelationshipTypeId"
  ]
}

Example:

{
  "id": "4b8093b8-8de9-41be-ad9a-0fbccb99052b",
  "superInstanceId": "601a8dc4-dee7-48eb-b03f-d02fdf0debd0",
  "subInstanceId": "83a50dc6-b887-43d9-93ee-28b2c4cd11f8",
  "instanceRelationshipTypeId": "758f13db-ffb4-440e-bb10-8a364aa6cb4a"
}

Response 404

Item with a given ID not found

Body

Media type: text/plain

Type: any

Example:

"instance-relationship 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 /instance-storage/instance-relationships/{relationshipId}

Delete instance-relationship item with given {instance-relationshipId}

DELETE /instance-storage/instance-relationships/{relationshipId}
URI Parameters
  • relationshipId: 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 instance-relationship -- constraint violation"

Response 404

Item with a given ID not found

Body

Media type: text/plain

Type: any

Example:

"instance-relationship 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 /instance-storage/instance-relationships/{relationshipId}

Update instance-relationship item with given {instance-relationshipId}

PUT /instance-storage/instance-relationships/{relationshipId}
URI Parameters
  • relationshipId: 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 relationship of a given type between a super-instance and a sub-instance",
  "type": "object",
  "properties": {
    "id": {
      "type": "string"
    },
    "superInstanceId": {
      "description": "ID (a UUID) of the super-instance. References an Instance record",
      "type": "string"
    },
    "subInstanceId": {
      "description": "ID (a UUID) of the sub-instance. References an Instance record",
      "type": "string"
    },
    "instanceRelationshipTypeId": {
      "description": "ID (a UUID) of the InstanceRelationshipType. References controlled vocabulary InstanceRelationshipTypes. Indicates the type of relationship between two Instance records.",
      "type": "string"
    },
    "metadata": {
      "type": "object",
      "readonly": true,
      "$schema": "http://json-schema.org/draft-04/schema#",
      "id": "metadata.schema",
      "title": "Metadata Schema",
      "description": "Metadata about creation and changes to records, provided by the server (client should not provide)",
      "properties": {
        "createdDate": {
          "description": "Date and time when the record was created",
          "type": "string",
          "format": "date-time"
        },
        "createdByUserId": {
          "description": "ID of the user who created the record (when available)",
          "type": "string",
          "pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
        },
        "createdByUsername": {
          "description": "Username of the user who created the record (when available)",
          "type": "string"
        },
        "updatedDate": {
          "description": "Date and time when the record was last updated",
          "type": "string",
          "format": "date-time"
        },
        "updatedByUserId": {
          "description": "ID of the user who last updated the record (when available)",
          "type": "string",
          "pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
        },
        "updatedByUsername": {
          "description": "Username of the user who last updated the record (when available)",
          "type": "string"
        }
      },
      "additionalProperties": false,
      "required": [
        "createdDate"
      ]
    }
  },
  "additionalProperties": false,
  "required": [
    "superInstanceId",
    "subInstanceId",
    "instanceRelationshipTypeId"
  ]
}

Example:

{
  "id": "4b8093b8-8de9-41be-ad9a-0fbccb99052b",
  "superInstanceId": "601a8dc4-dee7-48eb-b03f-d02fdf0debd0",
  "subInstanceId": "83a50dc6-b887-43d9-93ee-28b2c4cd11f8",
  "instanceRelationshipTypeId": "758f13db-ffb4-440e-bb10-8a364aa6cb4a"
}

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 instance-relationship -- malformed JSON at 13:4"

Response 404

Item with a given ID not found

Body

Media type: text/plain

Type: any

Example:

"instance-relationship 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

GET /instance-storage/instances

Retrieve a list of instance items.

GET /instance-storage/instances
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 title (using CQL)

    Example:

    (username=="ab*" or personal.firstName=="ab*" or personal.lastName=="ab*") and active=="true" sortby personal.lastName personal.firstName barcode
    
    title="*uproot*"
    
  • lang: (string - default: en - pattern: [a-zA-Z]{2})

    Requested language. Optional. [lang=en]

Response 200

Returns a list of instance items

Body

Media type: application/json

Type: json

Content:

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

Example:

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

Create a new instance item.

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

Example:

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

Response 201

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

Headers
  • Location: required (string)

    URI to the created instance item

Body

Media type: application/json

Type: any

Example:

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

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 instance -- malformed JSON at 13:3"

Response 401

Not authorized to perform requested action

Body

Media type: text/plain

Type: any

Example:

unable to create instances -- unauthorized

Response 500

Internal server error, e.g. due to misconfiguration

Body

Media type: text/plain

Type: any

Example:

Internal server error, contact administrator

DELETE /instance-storage/instances

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

    Requested language. Optional. [lang=en]

Response 204

All instances 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 /instance-storage/instances/{instanceId}

Get Instance by InstanceId Instances are stored and accessed by a hash of key properties. The rules which govern how instance hashes are computed are business rules and defined in the service layer. the storage layer only knows how to insert or retrieve instance records by ID.

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

    Requested language. Optional. [lang=en]

Response 200

Returns item with a given ID

Body

Media type: application/json

Type: json

Content:

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

Example:

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

Response 404

Item with a given ID not found

Body

Media type: text/plain

Type: any

Example:

"instance 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 /instance-storage/instances/{instanceId}

Delete instance item with given {instanceId}

DELETE /instance-storage/instances/{instanceId}
URI Parameters
  • instanceId: 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 instance -- constraint violation"

Response 404

Item with a given ID not found

Body

Media type: text/plain

Type: any

Example:

"instance 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 /instance-storage/instances/{instanceId}

Update instance item with given {instanceId}

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

Example:

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

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 instance -- malformed JSON at 13:4"

Response 404

Item with a given ID not found

Body

Media type: text/plain

Type: any

Example:

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

DELETE /instance-storage/instances/{instanceId}/source-record

Delete the source record. Note: The source records gets automatically deleted when its instance record is deleted.

DELETE /instance-storage/instances/{instanceId}/source-record
URI Parameters
  • instanceId: required (string)
Query Parameters
  • lang: (string - default: en - pattern: [a-zA-Z]{2})

    Requested language. Optional. [lang=en]

Response 204

Source record deleted

Response 400

Bad request

Body

Media type: text/plain

Type: any

Example:

This MARC record is still in use

Response 404

There is no source record for that instanceId

Body

Media type: text/plain

Type: any

Example:

There is no source record for that instanceId

Response 500

Internal server error, e.g. due to misconfiguration

Body

Media type: text/plain

Type: any

Example:

Internal server error, contact administrator

GET /instance-storage/instances/{instanceId}/source-record/marc-json

Retrieve marc-json item with given {marc-jsonId}

GET /instance-storage/instances/{instanceId}/source-record/marc-json
URI Parameters
  • instanceId: required (string)
Query Parameters
  • lang: (string - default: en - pattern: [a-zA-Z]{2})

    Requested language. Optional. [lang=en]

Response 200

Returns item with a given ID

Body

Media type: application/json

Type: json

Content:

{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "description": "MARC record representation, compatible with MarcEdit's JSON export and import",
  "type": "object",
  "properties": {
    "id": {
      "description": "id (UUID) of this MARC record, equals to the id of the instance record",
      "type": "string"
    },
    "leader": {
      "description": "The first field of a MARC record. Fixed length (24 characters). Data elements that primarily provide information for the processing of the record.",
      "type": "string",
      "minLength": 24,
      "maxLength": 24
    },
    "fields": {
      "description": "The variable fields of a MARC record, each identified by a three-character numeric tag.",
      "type": "array",
      "minItems": 2
    }
  },
  "additionalProperties": false,
  "required": [
    "leader",
    "fields"
  ]
}

Example:

{
  "leader":"00452nam a2200169 ca4500",
  "fields":[
    {"001":"029857716"},
    {"003":"DE-601"},
    {"005":"20180511131518.0"},
    {"008":"900626m19799999xxk\\\\\\\\\\\\\\\\\\\\\\000\\0\\eng\\d"},
    {"035":{"ind1":"\\",
            "ind2":"\\",
            "subfields":[{"a":"(DE-599)GBV029857716"}]}},
    {"040":{"ind1":"\\",
            "ind2":"\\",
            "subfields":[{"b":"ger"},
                         {"c":"GBVCP"}]}},
    {"041":{"ind1":"0",
            "ind2":"\\",
            "subfields":[{"a":"eng"}]}},
    {"044":{"ind1":"\\",
            "ind2":"\\",
            "subfields":[{"a":"xxk"},
                         {"a":"at"}]}},
    {"100":{"ind1":"1",
            "ind2":"\\",
            "subfields":[{"a":"Adams, Douglas"}]}},
    {"245":{"ind1":"1",
            "ind2":"4",
            "subfields":[{"a":"The Hitch Hiker's guide to the Galaxy"},
                         {"c":"Douglas Adams"}]}},
    {"246":{"ind1":"1",
            "ind2":"3",
            "subfields":[{"i":"Nebent."},
                         {"a":"The hitchhiker series"}]}},
    {"264":{"ind1":"3",
            "ind2":"1",
            "subfields":[{"a":"London [u.a.]"},
                         {"b":"Pan Books"},
                         {"c":"1979-"}]}}
  ]
}

Response 404

Item with a given ID not found

Body

Media type: text/plain

Type: any

Example:

"marc-json 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 /instance-storage/instances/{instanceId}/source-record/marc-json

Delete marc-json item with given {marc-jsonId}

DELETE /instance-storage/instances/{instanceId}/source-record/marc-json
URI Parameters
  • instanceId: 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 marc-json -- constraint violation"

Response 404

Item with a given ID not found

Body

Media type: text/plain

Type: any

Example:

"marc-json 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 /instance-storage/instances/{instanceId}/source-record/marc-json

Update marc-json item with given {marc-jsonId}

PUT /instance-storage/instances/{instanceId}/source-record/marc-json
URI Parameters
  • instanceId: 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": "MARC record representation, compatible with MarcEdit's JSON export and import",
  "type": "object",
  "properties": {
    "id": {
      "description": "id (UUID) of this MARC record, equals to the id of the instance record",
      "type": "string"
    },
    "leader": {
      "description": "The first field of a MARC record. Fixed length (24 characters). Data elements that primarily provide information for the processing of the record.",
      "type": "string",
      "minLength": 24,
      "maxLength": 24
    },
    "fields": {
      "description": "The variable fields of a MARC record, each identified by a three-character numeric tag.",
      "type": "array",
      "minItems": 2
    }
  },
  "additionalProperties": false,
  "required": [
    "leader",
    "fields"
  ]
}

Example:

{
  "leader":"00452nam a2200169 ca4500",
  "fields":[
    {"001":"029857716"},
    {"003":"DE-601"},
    {"005":"20180511131518.0"},
    {"008":"900626m19799999xxk\\\\\\\\\\\\\\\\\\\\\\000\\0\\eng\\d"},
    {"035":{"ind1":"\\",
            "ind2":"\\",
            "subfields":[{"a":"(DE-599)GBV029857716"}]}},
    {"040":{"ind1":"\\",
            "ind2":"\\",
            "subfields":[{"b":"ger"},
                         {"c":"GBVCP"}]}},
    {"041":{"ind1":"0",
            "ind2":"\\",
            "subfields":[{"a":"eng"}]}},
    {"044":{"ind1":"\\",
            "ind2":"\\",
            "subfields":[{"a":"xxk"},
                         {"a":"at"}]}},
    {"100":{"ind1":"1",
            "ind2":"\\",
            "subfields":[{"a":"Adams, Douglas"}]}},
    {"245":{"ind1":"1",
            "ind2":"4",
            "subfields":[{"a":"The Hitch Hiker's guide to the Galaxy"},
                         {"c":"Douglas Adams"}]}},
    {"246":{"ind1":"1",
            "ind2":"3",
            "subfields":[{"i":"Nebent."},
                         {"a":"The hitchhiker series"}]}},
    {"264":{"ind1":"3",
            "ind2":"1",
            "subfields":[{"a":"London [u.a.]"},
                         {"b":"Pan Books"},
                         {"c":"1979-"}]}}
  ]
}

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 marc-json -- malformed JSON at 13:4"

Response 404

Item with a given ID not found

Body

Media type: text/plain

Type: any

Example:

"marc-json 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

GET /instance-storage/instances/{instanceId}/source-record/mods

GET /instance-storage/instances/{instanceId}/source-record/mods
URI Parameters
  • instanceId: required (string)
Query Parameters
  • lang: (string - default: en - pattern: [a-zA-Z]{2})

    Requested language. Optional. [lang=en]

Response 500

Not implemented yet

Body

Media type: text/plain

Type: any

Example:

Not implemented yet

PUT /instance-storage/instances/{instanceId}/source-record/mods

PUT /instance-storage/instances/{instanceId}/source-record/mods
URI Parameters
  • instanceId: required (string)
Query Parameters
  • lang: (string - default: en - pattern: [a-zA-Z]{2})

    Requested language. Optional. [lang=en]

Response 500

Not implemented yet

Body

Media type: text/plain

Type: any

Example:

Not implemented yet