http://localhost:9130
Storage for requests
Retrieve a list of request items.
GET /request-storage/requests
How to calculate the totalRecords property. "exact" for the correct number, "estimated" for an estimation, "auto" to automatically select "exact" or "estimated", "none" for suppressing the totalRecords property. For details see https://github.com/folio-org/raml-module-builder#estimated-totalrecords
Example:
none
Skip over a number of elements by specifying an offset value for the query
Example:
0
Limit the number of elements returned in the response. Using limit=0 will return totalRecords with the exact value. For details about totalRecords see https://github.com/folio-org/raml-module-builder#estimated-totalrecords
Example:
10
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 using CQL
Example:
(username=="ab*" or personal.firstName=="ab*" or personal.lastName=="ab*") and active=="true" sortby personal.lastName personal.firstName barcode
requesterId="cf23adf0-61ba-4887-bf82-956c4aae2260"
Returns a list of request items
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "Collection of requests",
"type": "object",
"properties": {
"requests": {
"description": "List of request items",
"id": "requests",
"type": "array",
"items": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "A request by a patron for a specific item",
"properties": {
"id": {
"description": "UUID of the request",
"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}$"
},
"requestLevel": {
"description": "Level of the request - Item or Title",
"type": "string",
"enum": [
"Item",
"Title"
]
},
"requestType": {
"description": "Whether the item should be held upon return, recalled or paged for",
"type": "string",
"enum": [
"Hold",
"Recall",
"Page"
]
},
"ecsRequestPhase": {
"description": "Stage in ECS request process, absence of this field means this is a single-tenant request",
"type": "string",
"enum": [
"Primary",
"Secondary",
"Intermediate"
]
},
"requestDate": {
"description": "Date the request was made",
"type": "string",
"format": "date-time"
},
"patronComments": {
"description": "Comments made by the patron",
"type": "string"
},
"requesterId": {
"description": "ID of the requesting patron (user)",
"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}$"
},
"proxyUserId": {
"description": "ID of the user representing a proxy for the patron",
"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}$"
},
"instanceId": {
"description": "ID of the instance being requested",
"type": "string",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[1-5][a-fA-F0-9]{3}-[89abAB][a-fA-F0-9]{3}-[a-fA-F0-9]{12}$"
},
"holdingsRecordId": {
"description": "ID of the holdings record being requested",
"type": "string",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[1-5][a-fA-F0-9]{3}-[89abAB][a-fA-F0-9]{3}-[a-fA-F0-9]{12}$"
},
"itemId": {
"description": "ID of the item being requested",
"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}$"
},
"status": {
"description": "Status of the request",
"type": "string",
"enum": [
"Open - Not yet filled",
"Open - Awaiting pickup",
"Open - In transit",
"Open - Awaiting delivery",
"Closed - Filled",
"Closed - Cancelled",
"Closed - Unfilled",
"Closed - Pickup expired"
]
},
"cancellationReasonId": {
"description": "The id of the relevant request reason",
"type": "string"
},
"cancelledByUserId": {
"description": "The id of the user that cancelled the request",
"type": "string"
},
"cancellationAdditionalInformation": {
"description": "Potential relevant information regarding a cancellation",
"type": "string"
},
"cancelledDate": {
"description": "Date the request was cancelled",
"type": "string",
"format": "date-time"
},
"position": {
"description": "Position of the request in the unified request queue",
"type": "integer"
},
"instance": {
"description": "Copy of some instance metadata (used for searching and sorting)",
"type": "object",
"properties": {
"title": {
"description": "title of the item",
"type": "string"
},
"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#",
"id": "uuid.schema",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[1-5][a-fA-F0-9]{3}-[89abAB][a-fA-F0-9]{3}-[a-fA-F0-9]{12}$"
}
},
"additionalProperties": false,
"required": [
"value",
"identifierTypeId"
]
}
}
}
},
"item": {
"description": "Copy of some item metadata (used for searching and sorting)",
"type": "object",
"properties": {
"barcode": {
"description": "barcode of the item",
"type": "string"
},
"itemEffectiveLocationId": {
"description": "Item's effective location",
"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}$"
},
"itemEffectiveLocationName": {
"description": "Item's effective location name",
"type": "string"
},
"retrievalServicePointId": {
"description": "Item's location primary service point",
"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}$"
},
"retrievalServicePointName": {
"description": "Item's location primary service point name",
"type": "string"
}
},
"additionalProperties": false
},
"requester": {
"description": "Copy of some requesting patron metadata (used for searching and sorting)",
"type": "object",
"properties": {
"firstName": {
"description": "first name of the requesting patron",
"type": "string"
},
"lastName": {
"description": "last name of the requesting patron",
"type": "string"
},
"middleName": {
"description": "middle name of the requesting patron",
"type": "string"
},
"barcode": {
"description": "barcode of the requesting patron",
"type": "string"
},
"patronGroup": {
"description": "DEPRECATED, to be removed in subsequent major version",
"type": "string"
}
},
"additionalProperties": false
},
"proxy": {
"description": "Copy of some proxy patron metadata (used for searching and sorting)",
"type": "object",
"properties": {
"firstName": {
"description": "first name of the proxy patron",
"type": "string"
},
"lastName": {
"description": "last name of the proxy patron",
"type": "string"
},
"middleName": {
"description": "middle name of the proxy patron",
"type": "string"
},
"barcode": {
"description": "barcode of the proxy patron",
"type": "string"
},
"patronGroup": {
"description": "DEPRECATED, to be removed in subsequent major version",
"type": "string"
}
},
"additionalProperties": false
},
"fulfillmentPreference": {
"description": "How should the request be fulfilled (whether the item should be kept on the hold shelf for collection or delivered to the requester)",
"type": "string",
"enum": [
"Hold Shelf",
"Delivery"
]
},
"deliveryAddressTypeId": {
"description": "Deliver to the address of this type, for the requesting patron",
"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}$"
},
"requestExpirationDate": {
"description": "Date when the request expires",
"type": "string",
"format": "date-time"
},
"holdShelfExpirationDate": {
"description": "Date when an item returned to the hold shelf expires",
"type": "string",
"format": "date-time"
},
"pickupServicePointId": {
"description": "The ID of the Service Point where this request can be picked up",
"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}$"
},
"metadata": {
"description": "Metadata about creation and changes to requests, provided by the server (client should not provide)",
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "metadata.schema",
"title": "Metadata Schema",
"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"
]
},
"tags": {
"type": "object",
"description": "Tags",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "tags.schema",
"title": "tags",
"properties": {
"tagList": {
"description": "List of tags",
"type": "array",
"items": {
"type": "string"
}
}
},
"additionalProperties": false
},
"printDetails": {
"type": "object",
"description": "PrintDetails",
"properties": {
"printCount": {
"type": "integer",
"description": "Number of times print slip generated."
},
"requesterId": {
"type": "string",
"description": "UUID of print slip requester."
},
"isPrinted": {
"type": "boolean",
"description": "Whether print slip was printed in past."
},
"printEventDate": {
"type": "string",
"format": "date-time",
"description": "Date and time when print slip was generated last time."
}
},
"additionalProperties": false
},
"awaitingPickupRequestClosedDate": {
"description": "A date when the request with awaiting pickup status was closed",
"type": "string",
"format": "date-time",
"readonly": true
},
"searchIndex": {
"description": "Request fields used for search",
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"properties": {
"callNumberComponents": {
"type": "object",
"description": "Effective call number components",
"properties": {
"callNumber": {
"type": "string",
"description": "Effective Call Number is an identifier assigned to an item or its holding and associated with the item."
},
"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."
},
"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."
}
},
"additionalProperties": false
},
"shelvingOrder": {
"type": "string",
"description": "A system generated normalization of the call number that allows for call number sorting in reports and search results"
},
"pickupServicePointName": {
"description": "The name of the request pickup service point",
"type": "string"
}
},
"additionalProperties": false
},
"itemLocationCode": {
"description": "Allow specifying item location when creating title-level requests",
"type": "string"
},
"isDcbReRequestCancellation": {
"description": "Indicates if the request was cancelled during a DCB transaction update. This determines whether the Kafka event will be handled and if an email notification will be sent",
"type": "boolean"
}
},
"additionalProperties": false,
"required": [
"instanceId",
"requesterId",
"requestType",
"requestLevel",
"requestDate",
"fulfillmentPreference",
"status"
]
}
},
"totalRecords": {
"type": "integer"
}
},
"required": [
"requests",
"totalRecords"
]
}
Example:
{
"requests": [
{
"id": "89105c06-dbdb-4aa0-9695-d4d19c733270",
"requestType": "Recall",
"requestDate": "2017-07-29T22:25:37Z",
"requesterId": "21932a85-bd00-446b-9565-46e0c1a5490b",
"itemId": "195efae1-588f-47bd-a181-13a2eb437701",
"fulfillmentPreference": "Hold Shelf"
},
{
"id": "f5cec279-0da6-4b44-a3df-f49b0903f325",
"requestType": "Hold",
"requestDate": "2017-08-05T11:43:23Z",
"requesterId": "61d939e4-f2ae-4c53-95d2-224a802fa2a6",
"itemId": "3e5d5433-a271-499c-94f4-5f3e4652e537",
"fulfillmentPreference": "Delivery",
"position": 1,
"requestExpirationDate": "2017-08-31T22:25:37Z",
"holdShelfExpirationDate": "2017-09-01T22:25:37Z",
"item": {
"title": "Interesting Times",
"barcode": "269394016504"
},
"requester": {
"lastName": "Jones",
"firstName": "Julia",
"middleName": "Dominique",
"barcode": "673059465870"
}
}
],
"totalRecords": 2
}
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.
Media type: text/plain
Type: any
Example:
unable to list requests -- malformed parameter 'query', syntax error at column 6
Not authorized to perform requested action
Media type: text/plain
Type: any
Example:
unable to list requests -- unauthorized
Internal server error, e.g. due to misconfiguration
Media type: text/plain
Type: any
Example:
internal server error, contact administrator
Not implemented yet
Create a new request item.
POST /request-storage/requests
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "A request by a patron for a specific item",
"type": "object",
"properties": {
"id": {
"description": "UUID of the request",
"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}$"
},
"requestLevel": {
"description": "Level of the request - Item or Title",
"type": "string",
"enum": [
"Item",
"Title"
]
},
"requestType": {
"description": "Whether the item should be held upon return, recalled or paged for",
"type": "string",
"enum": [
"Hold",
"Recall",
"Page"
]
},
"ecsRequestPhase": {
"description": "Stage in ECS request process, absence of this field means this is a single-tenant request",
"type": "string",
"enum": [
"Primary",
"Secondary",
"Intermediate"
]
},
"requestDate": {
"description": "Date the request was made",
"type": "string",
"format": "date-time"
},
"patronComments": {
"description": "Comments made by the patron",
"type": "string"
},
"requesterId": {
"description": "ID of the requesting patron (user)",
"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}$"
},
"proxyUserId": {
"description": "ID of the user representing a proxy for the patron",
"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}$"
},
"instanceId": {
"description": "ID of the instance being requested",
"type": "string",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[1-5][a-fA-F0-9]{3}-[89abAB][a-fA-F0-9]{3}-[a-fA-F0-9]{12}$"
},
"holdingsRecordId": {
"description": "ID of the holdings record being requested",
"type": "string",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[1-5][a-fA-F0-9]{3}-[89abAB][a-fA-F0-9]{3}-[a-fA-F0-9]{12}$"
},
"itemId": {
"description": "ID of the item being requested",
"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}$"
},
"status": {
"description": "Status of the request",
"type": "string",
"enum": [
"Open - Not yet filled",
"Open - Awaiting pickup",
"Open - In transit",
"Open - Awaiting delivery",
"Closed - Filled",
"Closed - Cancelled",
"Closed - Unfilled",
"Closed - Pickup expired"
]
},
"cancellationReasonId": {
"description": "The id of the relevant request reason",
"type": "string"
},
"cancelledByUserId": {
"description": "The id of the user that cancelled the request",
"type": "string"
},
"cancellationAdditionalInformation": {
"description": "Potential relevant information regarding a cancellation",
"type": "string"
},
"cancelledDate": {
"description": "Date the request was cancelled",
"type": "string",
"format": "date-time"
},
"position": {
"description": "Position of the request in the unified request queue",
"type": "integer"
},
"instance": {
"description": "Copy of some instance metadata (used for searching and sorting)",
"type": "object",
"properties": {
"title": {
"description": "title of the item",
"type": "string"
},
"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#",
"id": "uuid.schema",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[1-5][a-fA-F0-9]{3}-[89abAB][a-fA-F0-9]{3}-[a-fA-F0-9]{12}$"
}
},
"additionalProperties": false,
"required": [
"value",
"identifierTypeId"
]
}
}
}
},
"item": {
"description": "Copy of some item metadata (used for searching and sorting)",
"type": "object",
"properties": {
"barcode": {
"description": "barcode of the item",
"type": "string"
},
"itemEffectiveLocationId": {
"description": "Item's effective location",
"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}$"
},
"itemEffectiveLocationName": {
"description": "Item's effective location name",
"type": "string"
},
"retrievalServicePointId": {
"description": "Item's location primary service point",
"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}$"
},
"retrievalServicePointName": {
"description": "Item's location primary service point name",
"type": "string"
}
},
"additionalProperties": false
},
"requester": {
"description": "Copy of some requesting patron metadata (used for searching and sorting)",
"type": "object",
"properties": {
"firstName": {
"description": "first name of the requesting patron",
"type": "string"
},
"lastName": {
"description": "last name of the requesting patron",
"type": "string"
},
"middleName": {
"description": "middle name of the requesting patron",
"type": "string"
},
"barcode": {
"description": "barcode of the requesting patron",
"type": "string"
},
"patronGroup": {
"description": "DEPRECATED, to be removed in subsequent major version",
"type": "string"
}
},
"additionalProperties": false
},
"proxy": {
"description": "Copy of some proxy patron metadata (used for searching and sorting)",
"type": "object",
"properties": {
"firstName": {
"description": "first name of the proxy patron",
"type": "string"
},
"lastName": {
"description": "last name of the proxy patron",
"type": "string"
},
"middleName": {
"description": "middle name of the proxy patron",
"type": "string"
},
"barcode": {
"description": "barcode of the proxy patron",
"type": "string"
},
"patronGroup": {
"description": "DEPRECATED, to be removed in subsequent major version",
"type": "string"
}
},
"additionalProperties": false
},
"fulfillmentPreference": {
"description": "How should the request be fulfilled (whether the item should be kept on the hold shelf for collection or delivered to the requester)",
"type": "string",
"enum": [
"Hold Shelf",
"Delivery"
]
},
"deliveryAddressTypeId": {
"description": "Deliver to the address of this type, for the requesting patron",
"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}$"
},
"requestExpirationDate": {
"description": "Date when the request expires",
"type": "string",
"format": "date-time"
},
"holdShelfExpirationDate": {
"description": "Date when an item returned to the hold shelf expires",
"type": "string",
"format": "date-time"
},
"pickupServicePointId": {
"description": "The ID of the Service Point where this request can be picked up",
"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}$"
},
"metadata": {
"description": "Metadata about creation and changes to requests, provided by the server (client should not provide)",
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "metadata.schema",
"title": "Metadata Schema",
"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"
]
},
"tags": {
"type": "object",
"description": "Tags",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "tags.schema",
"title": "tags",
"properties": {
"tagList": {
"description": "List of tags",
"type": "array",
"items": {
"type": "string"
}
}
},
"additionalProperties": false
},
"printDetails": {
"type": "object",
"description": "PrintDetails",
"properties": {
"printCount": {
"type": "integer",
"description": "Number of times print slip generated."
},
"requesterId": {
"type": "string",
"description": "UUID of print slip requester."
},
"isPrinted": {
"type": "boolean",
"description": "Whether print slip was printed in past."
},
"printEventDate": {
"type": "string",
"format": "date-time",
"description": "Date and time when print slip was generated last time."
}
},
"additionalProperties": false
},
"awaitingPickupRequestClosedDate": {
"description": "A date when the request with awaiting pickup status was closed",
"type": "string",
"format": "date-time",
"readonly": true
},
"searchIndex": {
"description": "Request fields used for search",
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"properties": {
"callNumberComponents": {
"type": "object",
"description": "Effective call number components",
"properties": {
"callNumber": {
"type": "string",
"description": "Effective Call Number is an identifier assigned to an item or its holding and associated with the item."
},
"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."
},
"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."
}
},
"additionalProperties": false
},
"shelvingOrder": {
"type": "string",
"description": "A system generated normalization of the call number that allows for call number sorting in reports and search results"
},
"pickupServicePointName": {
"description": "The name of the request pickup service point",
"type": "string"
}
},
"additionalProperties": false
},
"itemLocationCode": {
"description": "Allow specifying item location when creating title-level requests",
"type": "string"
},
"isDcbReRequestCancellation": {
"description": "Indicates if the request was cancelled during a DCB transaction update. This determines whether the Kafka event will be handled and if an email notification will be sent",
"type": "boolean"
}
},
"additionalProperties": false,
"required": [
"instanceId",
"requesterId",
"requestType",
"requestLevel",
"requestDate",
"fulfillmentPreference",
"status"
]
}
Example:
{
"id": "89105c06-dbdb-4aa0-9695-d4d19c733270",
"requestLevel": "Item",
"requestType": "Hold",
"status": "Open - Not yet filled",
"requestDate": "2023-03-23T11:04:25.000+00:00",
"requestExpirationDate": "2023-06-23T11:04:25.000+00:00",
"requesterId": "21932a85-bd00-446b-9565-46e0c1a5490b",
"requester": {
"barcode": "1234",
"lastName": "Lastname",
"firstName": "Firstname"
},
"instanceId": "86c722c3-2f5e-42e1-bd0e-7ffbbd3b4972",
"instance": {
"title": "Children of Time",
"identifiers": [
{
"value": "0123456789",
"identifierTypeId": "8261054f-9876-422d-bd51-4ed9f33c7654"
},
{
"value": "98765432123456",
"identifierTypeId": "8261054f-9876-422d-bd51-4ed9f33c7654"
}
]
},
"holdingsRecordId": "e63273e7-48f5-4c43-ab4e-1751ecacaa21",
"itemId": "195efae1-588f-47bd-a181-13a2eb437701",
"item": {
"barcode": "760932543816",
"itemEffectiveLocationId" : "758258bc-ecc1-41b8-abca-f7b610822ffd",
"itemEffectiveLocationName" : "XYZ Location",
"retrievalServicePointId" : "c4c90014-c8c9-4ade-8f24-b5e313319f4b",
"retrievalServicePointName" : "Circ Desk Test"
},
"position": 1,
"fulfillmentPreference": "Hold Shelf",
"pickupServicePointId": "3a40852d-49fd-4df2-a1f9-6e2641a6e91f",
"tags": {
"tagList": [
"new",
"important"
]
},
"searchIndex": {
"shelvingOrder": "F 416 H37 A2 59001",
"callNumberComponents": {
"callNumber": "F16.H37 A2 9001"
},
"pickupServicePointName": "Circ Desk 1"
}
}
Returns a newly created item, with server-controlled fields like 'id' populated
URI to the created request item
Media type: application/json
Type: any
Example:
{
"id": "89105c06-dbdb-4aa0-9695-d4d19c733270",
"requestLevel": "Item",
"requestType": "Hold",
"status": "Open - Not yet filled",
"requestDate": "2023-03-23T11:04:25.000+00:00",
"requestExpirationDate": "2023-06-23T11:04:25.000+00:00",
"requesterId": "21932a85-bd00-446b-9565-46e0c1a5490b",
"requester": {
"barcode": "1234",
"lastName": "Lastname",
"firstName": "Firstname"
},
"instanceId": "86c722c3-2f5e-42e1-bd0e-7ffbbd3b4972",
"instance": {
"title": "Children of Time",
"identifiers": [
{
"value": "0123456789",
"identifierTypeId": "8261054f-9876-422d-bd51-4ed9f33c7654"
},
{
"value": "98765432123456",
"identifierTypeId": "8261054f-9876-422d-bd51-4ed9f33c7654"
}
]
},
"holdingsRecordId": "e63273e7-48f5-4c43-ab4e-1751ecacaa21",
"itemId": "195efae1-588f-47bd-a181-13a2eb437701",
"item": {
"barcode": "760932543816",
"itemEffectiveLocationId" : "758258bc-ecc1-41b8-abca-f7b610822ffd",
"itemEffectiveLocationName" : "XYZ Location",
"retrievalServicePointId" : "c4c90014-c8c9-4ade-8f24-b5e313319f4b",
"retrievalServicePointName" : "Circ Desk Test"
},
"position": 1,
"fulfillmentPreference": "Hold Shelf",
"pickupServicePointId": "3a40852d-49fd-4df2-a1f9-6e2641a6e91f",
"tags": {
"tagList": [
"new",
"important"
]
},
"searchIndex": {
"shelvingOrder": "F 416 H37 A2 59001",
"callNumberComponents": {
"callNumber": "F16.H37 A2 9001"
},
"pickupServicePointName": "Circ Desk 1"
}
}
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.
Media type: text/plain
Type: any
Example:
"unable to add request -- malformed JSON at 13:3"
Not authorized to perform requested action
Media type: text/plain
Type: any
Example:
unable to create requests -- unauthorized
Validation errors
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "errors.schema",
"description": "A set of errors",
"type": "object",
"properties": {
"errors": {
"description": "List of errors",
"id": "errors",
"type": "array",
"items": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "error.schema",
"description": "An error",
"properties": {
"message": {
"type": "string",
"description": "Error message text"
},
"type": {
"type": "string",
"description": "Error message type"
},
"code": {
"type": "string",
"description": "Error message code"
},
"parameters": {
"description": "Error message parameters",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "parameters.schema",
"type": "array",
"items": {
"type": "object",
"properties": {
"key": {
"type": "string"
},
"value": {
"type": "string"
}
}
}
}
},
"required": [
"message"
]
}
},
"total_records": {
"description": "Total number of errors",
"type": "integer"
}
}
}
Example:
{
"errors": [
{
"message": "may not be null",
"type": "1",
"code": "-1",
"parameters": [
{
"key": "moduleTo",
"value": "null"
}
]
}
]
}
Internal server error, e.g. due to misconfiguration
Media type: text/plain
Type: any
Example:
Internal server error, contact administrator
Not implemented yet
DELETE /request-storage/requests
All requests deleted
Internal server error, e.g. due to misconfiguration
Media type: text/plain
Type: any
Example:
Internal server error, contact administrator
Not implemented yet
Retrieve request item with given {requestId}
GET /request-storage/requests/{requestId}
Returns item with a given ID
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "A request by a patron for a specific item",
"type": "object",
"properties": {
"id": {
"description": "UUID of the request",
"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}$"
},
"requestLevel": {
"description": "Level of the request - Item or Title",
"type": "string",
"enum": [
"Item",
"Title"
]
},
"requestType": {
"description": "Whether the item should be held upon return, recalled or paged for",
"type": "string",
"enum": [
"Hold",
"Recall",
"Page"
]
},
"ecsRequestPhase": {
"description": "Stage in ECS request process, absence of this field means this is a single-tenant request",
"type": "string",
"enum": [
"Primary",
"Secondary",
"Intermediate"
]
},
"requestDate": {
"description": "Date the request was made",
"type": "string",
"format": "date-time"
},
"patronComments": {
"description": "Comments made by the patron",
"type": "string"
},
"requesterId": {
"description": "ID of the requesting patron (user)",
"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}$"
},
"proxyUserId": {
"description": "ID of the user representing a proxy for the patron",
"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}$"
},
"instanceId": {
"description": "ID of the instance being requested",
"type": "string",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[1-5][a-fA-F0-9]{3}-[89abAB][a-fA-F0-9]{3}-[a-fA-F0-9]{12}$"
},
"holdingsRecordId": {
"description": "ID of the holdings record being requested",
"type": "string",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[1-5][a-fA-F0-9]{3}-[89abAB][a-fA-F0-9]{3}-[a-fA-F0-9]{12}$"
},
"itemId": {
"description": "ID of the item being requested",
"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}$"
},
"status": {
"description": "Status of the request",
"type": "string",
"enum": [
"Open - Not yet filled",
"Open - Awaiting pickup",
"Open - In transit",
"Open - Awaiting delivery",
"Closed - Filled",
"Closed - Cancelled",
"Closed - Unfilled",
"Closed - Pickup expired"
]
},
"cancellationReasonId": {
"description": "The id of the relevant request reason",
"type": "string"
},
"cancelledByUserId": {
"description": "The id of the user that cancelled the request",
"type": "string"
},
"cancellationAdditionalInformation": {
"description": "Potential relevant information regarding a cancellation",
"type": "string"
},
"cancelledDate": {
"description": "Date the request was cancelled",
"type": "string",
"format": "date-time"
},
"position": {
"description": "Position of the request in the unified request queue",
"type": "integer"
},
"instance": {
"description": "Copy of some instance metadata (used for searching and sorting)",
"type": "object",
"properties": {
"title": {
"description": "title of the item",
"type": "string"
},
"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#",
"id": "uuid.schema",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[1-5][a-fA-F0-9]{3}-[89abAB][a-fA-F0-9]{3}-[a-fA-F0-9]{12}$"
}
},
"additionalProperties": false,
"required": [
"value",
"identifierTypeId"
]
}
}
}
},
"item": {
"description": "Copy of some item metadata (used for searching and sorting)",
"type": "object",
"properties": {
"barcode": {
"description": "barcode of the item",
"type": "string"
},
"itemEffectiveLocationId": {
"description": "Item's effective location",
"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}$"
},
"itemEffectiveLocationName": {
"description": "Item's effective location name",
"type": "string"
},
"retrievalServicePointId": {
"description": "Item's location primary service point",
"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}$"
},
"retrievalServicePointName": {
"description": "Item's location primary service point name",
"type": "string"
}
},
"additionalProperties": false
},
"requester": {
"description": "Copy of some requesting patron metadata (used for searching and sorting)",
"type": "object",
"properties": {
"firstName": {
"description": "first name of the requesting patron",
"type": "string"
},
"lastName": {
"description": "last name of the requesting patron",
"type": "string"
},
"middleName": {
"description": "middle name of the requesting patron",
"type": "string"
},
"barcode": {
"description": "barcode of the requesting patron",
"type": "string"
},
"patronGroup": {
"description": "DEPRECATED, to be removed in subsequent major version",
"type": "string"
}
},
"additionalProperties": false
},
"proxy": {
"description": "Copy of some proxy patron metadata (used for searching and sorting)",
"type": "object",
"properties": {
"firstName": {
"description": "first name of the proxy patron",
"type": "string"
},
"lastName": {
"description": "last name of the proxy patron",
"type": "string"
},
"middleName": {
"description": "middle name of the proxy patron",
"type": "string"
},
"barcode": {
"description": "barcode of the proxy patron",
"type": "string"
},
"patronGroup": {
"description": "DEPRECATED, to be removed in subsequent major version",
"type": "string"
}
},
"additionalProperties": false
},
"fulfillmentPreference": {
"description": "How should the request be fulfilled (whether the item should be kept on the hold shelf for collection or delivered to the requester)",
"type": "string",
"enum": [
"Hold Shelf",
"Delivery"
]
},
"deliveryAddressTypeId": {
"description": "Deliver to the address of this type, for the requesting patron",
"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}$"
},
"requestExpirationDate": {
"description": "Date when the request expires",
"type": "string",
"format": "date-time"
},
"holdShelfExpirationDate": {
"description": "Date when an item returned to the hold shelf expires",
"type": "string",
"format": "date-time"
},
"pickupServicePointId": {
"description": "The ID of the Service Point where this request can be picked up",
"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}$"
},
"metadata": {
"description": "Metadata about creation and changes to requests, provided by the server (client should not provide)",
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "metadata.schema",
"title": "Metadata Schema",
"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"
]
},
"tags": {
"type": "object",
"description": "Tags",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "tags.schema",
"title": "tags",
"properties": {
"tagList": {
"description": "List of tags",
"type": "array",
"items": {
"type": "string"
}
}
},
"additionalProperties": false
},
"printDetails": {
"type": "object",
"description": "PrintDetails",
"properties": {
"printCount": {
"type": "integer",
"description": "Number of times print slip generated."
},
"requesterId": {
"type": "string",
"description": "UUID of print slip requester."
},
"isPrinted": {
"type": "boolean",
"description": "Whether print slip was printed in past."
},
"printEventDate": {
"type": "string",
"format": "date-time",
"description": "Date and time when print slip was generated last time."
}
},
"additionalProperties": false
},
"awaitingPickupRequestClosedDate": {
"description": "A date when the request with awaiting pickup status was closed",
"type": "string",
"format": "date-time",
"readonly": true
},
"searchIndex": {
"description": "Request fields used for search",
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"properties": {
"callNumberComponents": {
"type": "object",
"description": "Effective call number components",
"properties": {
"callNumber": {
"type": "string",
"description": "Effective Call Number is an identifier assigned to an item or its holding and associated with the item."
},
"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."
},
"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."
}
},
"additionalProperties": false
},
"shelvingOrder": {
"type": "string",
"description": "A system generated normalization of the call number that allows for call number sorting in reports and search results"
},
"pickupServicePointName": {
"description": "The name of the request pickup service point",
"type": "string"
}
},
"additionalProperties": false
},
"itemLocationCode": {
"description": "Allow specifying item location when creating title-level requests",
"type": "string"
},
"isDcbReRequestCancellation": {
"description": "Indicates if the request was cancelled during a DCB transaction update. This determines whether the Kafka event will be handled and if an email notification will be sent",
"type": "boolean"
}
},
"additionalProperties": false,
"required": [
"instanceId",
"requesterId",
"requestType",
"requestLevel",
"requestDate",
"fulfillmentPreference",
"status"
]
}
Example:
{
"id": "89105c06-dbdb-4aa0-9695-d4d19c733270",
"requestLevel": "Item",
"requestType": "Hold",
"status": "Open - Not yet filled",
"requestDate": "2023-03-23T11:04:25.000+00:00",
"requestExpirationDate": "2023-06-23T11:04:25.000+00:00",
"requesterId": "21932a85-bd00-446b-9565-46e0c1a5490b",
"requester": {
"barcode": "1234",
"lastName": "Lastname",
"firstName": "Firstname"
},
"instanceId": "86c722c3-2f5e-42e1-bd0e-7ffbbd3b4972",
"instance": {
"title": "Children of Time",
"identifiers": [
{
"value": "0123456789",
"identifierTypeId": "8261054f-9876-422d-bd51-4ed9f33c7654"
},
{
"value": "98765432123456",
"identifierTypeId": "8261054f-9876-422d-bd51-4ed9f33c7654"
}
]
},
"holdingsRecordId": "e63273e7-48f5-4c43-ab4e-1751ecacaa21",
"itemId": "195efae1-588f-47bd-a181-13a2eb437701",
"item": {
"barcode": "760932543816",
"itemEffectiveLocationId" : "758258bc-ecc1-41b8-abca-f7b610822ffd",
"itemEffectiveLocationName" : "XYZ Location",
"retrievalServicePointId" : "c4c90014-c8c9-4ade-8f24-b5e313319f4b",
"retrievalServicePointName" : "Circ Desk Test"
},
"position": 1,
"fulfillmentPreference": "Hold Shelf",
"pickupServicePointId": "3a40852d-49fd-4df2-a1f9-6e2641a6e91f",
"tags": {
"tagList": [
"new",
"important"
]
},
"searchIndex": {
"shelvingOrder": "F 416 H37 A2 59001",
"callNumberComponents": {
"callNumber": "F16.H37 A2 9001"
},
"pickupServicePointName": "Circ Desk 1"
}
}
Item with a given ID not found
Media type: text/plain
Type: any
Example:
"request not found"
Internal server error, e.g. due to misconfiguration
Media type: text/plain
Type: any
Example:
internal server error, contact administrator
Not implemented yet
Update request item with given {requestId}
PUT /request-storage/requests/{requestId}
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "A request by a patron for a specific item",
"type": "object",
"properties": {
"id": {
"description": "UUID of the request",
"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}$"
},
"requestLevel": {
"description": "Level of the request - Item or Title",
"type": "string",
"enum": [
"Item",
"Title"
]
},
"requestType": {
"description": "Whether the item should be held upon return, recalled or paged for",
"type": "string",
"enum": [
"Hold",
"Recall",
"Page"
]
},
"ecsRequestPhase": {
"description": "Stage in ECS request process, absence of this field means this is a single-tenant request",
"type": "string",
"enum": [
"Primary",
"Secondary",
"Intermediate"
]
},
"requestDate": {
"description": "Date the request was made",
"type": "string",
"format": "date-time"
},
"patronComments": {
"description": "Comments made by the patron",
"type": "string"
},
"requesterId": {
"description": "ID of the requesting patron (user)",
"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}$"
},
"proxyUserId": {
"description": "ID of the user representing a proxy for the patron",
"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}$"
},
"instanceId": {
"description": "ID of the instance being requested",
"type": "string",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[1-5][a-fA-F0-9]{3}-[89abAB][a-fA-F0-9]{3}-[a-fA-F0-9]{12}$"
},
"holdingsRecordId": {
"description": "ID of the holdings record being requested",
"type": "string",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[1-5][a-fA-F0-9]{3}-[89abAB][a-fA-F0-9]{3}-[a-fA-F0-9]{12}$"
},
"itemId": {
"description": "ID of the item being requested",
"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}$"
},
"status": {
"description": "Status of the request",
"type": "string",
"enum": [
"Open - Not yet filled",
"Open - Awaiting pickup",
"Open - In transit",
"Open - Awaiting delivery",
"Closed - Filled",
"Closed - Cancelled",
"Closed - Unfilled",
"Closed - Pickup expired"
]
},
"cancellationReasonId": {
"description": "The id of the relevant request reason",
"type": "string"
},
"cancelledByUserId": {
"description": "The id of the user that cancelled the request",
"type": "string"
},
"cancellationAdditionalInformation": {
"description": "Potential relevant information regarding a cancellation",
"type": "string"
},
"cancelledDate": {
"description": "Date the request was cancelled",
"type": "string",
"format": "date-time"
},
"position": {
"description": "Position of the request in the unified request queue",
"type": "integer"
},
"instance": {
"description": "Copy of some instance metadata (used for searching and sorting)",
"type": "object",
"properties": {
"title": {
"description": "title of the item",
"type": "string"
},
"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#",
"id": "uuid.schema",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[1-5][a-fA-F0-9]{3}-[89abAB][a-fA-F0-9]{3}-[a-fA-F0-9]{12}$"
}
},
"additionalProperties": false,
"required": [
"value",
"identifierTypeId"
]
}
}
}
},
"item": {
"description": "Copy of some item metadata (used for searching and sorting)",
"type": "object",
"properties": {
"barcode": {
"description": "barcode of the item",
"type": "string"
},
"itemEffectiveLocationId": {
"description": "Item's effective location",
"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}$"
},
"itemEffectiveLocationName": {
"description": "Item's effective location name",
"type": "string"
},
"retrievalServicePointId": {
"description": "Item's location primary service point",
"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}$"
},
"retrievalServicePointName": {
"description": "Item's location primary service point name",
"type": "string"
}
},
"additionalProperties": false
},
"requester": {
"description": "Copy of some requesting patron metadata (used for searching and sorting)",
"type": "object",
"properties": {
"firstName": {
"description": "first name of the requesting patron",
"type": "string"
},
"lastName": {
"description": "last name of the requesting patron",
"type": "string"
},
"middleName": {
"description": "middle name of the requesting patron",
"type": "string"
},
"barcode": {
"description": "barcode of the requesting patron",
"type": "string"
},
"patronGroup": {
"description": "DEPRECATED, to be removed in subsequent major version",
"type": "string"
}
},
"additionalProperties": false
},
"proxy": {
"description": "Copy of some proxy patron metadata (used for searching and sorting)",
"type": "object",
"properties": {
"firstName": {
"description": "first name of the proxy patron",
"type": "string"
},
"lastName": {
"description": "last name of the proxy patron",
"type": "string"
},
"middleName": {
"description": "middle name of the proxy patron",
"type": "string"
},
"barcode": {
"description": "barcode of the proxy patron",
"type": "string"
},
"patronGroup": {
"description": "DEPRECATED, to be removed in subsequent major version",
"type": "string"
}
},
"additionalProperties": false
},
"fulfillmentPreference": {
"description": "How should the request be fulfilled (whether the item should be kept on the hold shelf for collection or delivered to the requester)",
"type": "string",
"enum": [
"Hold Shelf",
"Delivery"
]
},
"deliveryAddressTypeId": {
"description": "Deliver to the address of this type, for the requesting patron",
"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}$"
},
"requestExpirationDate": {
"description": "Date when the request expires",
"type": "string",
"format": "date-time"
},
"holdShelfExpirationDate": {
"description": "Date when an item returned to the hold shelf expires",
"type": "string",
"format": "date-time"
},
"pickupServicePointId": {
"description": "The ID of the Service Point where this request can be picked up",
"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}$"
},
"metadata": {
"description": "Metadata about creation and changes to requests, provided by the server (client should not provide)",
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "metadata.schema",
"title": "Metadata Schema",
"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"
]
},
"tags": {
"type": "object",
"description": "Tags",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "tags.schema",
"title": "tags",
"properties": {
"tagList": {
"description": "List of tags",
"type": "array",
"items": {
"type": "string"
}
}
},
"additionalProperties": false
},
"printDetails": {
"type": "object",
"description": "PrintDetails",
"properties": {
"printCount": {
"type": "integer",
"description": "Number of times print slip generated."
},
"requesterId": {
"type": "string",
"description": "UUID of print slip requester."
},
"isPrinted": {
"type": "boolean",
"description": "Whether print slip was printed in past."
},
"printEventDate": {
"type": "string",
"format": "date-time",
"description": "Date and time when print slip was generated last time."
}
},
"additionalProperties": false
},
"awaitingPickupRequestClosedDate": {
"description": "A date when the request with awaiting pickup status was closed",
"type": "string",
"format": "date-time",
"readonly": true
},
"searchIndex": {
"description": "Request fields used for search",
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"properties": {
"callNumberComponents": {
"type": "object",
"description": "Effective call number components",
"properties": {
"callNumber": {
"type": "string",
"description": "Effective Call Number is an identifier assigned to an item or its holding and associated with the item."
},
"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."
},
"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."
}
},
"additionalProperties": false
},
"shelvingOrder": {
"type": "string",
"description": "A system generated normalization of the call number that allows for call number sorting in reports and search results"
},
"pickupServicePointName": {
"description": "The name of the request pickup service point",
"type": "string"
}
},
"additionalProperties": false
},
"itemLocationCode": {
"description": "Allow specifying item location when creating title-level requests",
"type": "string"
},
"isDcbReRequestCancellation": {
"description": "Indicates if the request was cancelled during a DCB transaction update. This determines whether the Kafka event will be handled and if an email notification will be sent",
"type": "boolean"
}
},
"additionalProperties": false,
"required": [
"instanceId",
"requesterId",
"requestType",
"requestLevel",
"requestDate",
"fulfillmentPreference",
"status"
]
}
Example:
{
"id": "89105c06-dbdb-4aa0-9695-d4d19c733270",
"requestLevel": "Item",
"requestType": "Hold",
"status": "Open - Not yet filled",
"requestDate": "2023-03-23T11:04:25.000+00:00",
"requestExpirationDate": "2023-06-23T11:04:25.000+00:00",
"requesterId": "21932a85-bd00-446b-9565-46e0c1a5490b",
"requester": {
"barcode": "1234",
"lastName": "Lastname",
"firstName": "Firstname"
},
"instanceId": "86c722c3-2f5e-42e1-bd0e-7ffbbd3b4972",
"instance": {
"title": "Children of Time",
"identifiers": [
{
"value": "0123456789",
"identifierTypeId": "8261054f-9876-422d-bd51-4ed9f33c7654"
},
{
"value": "98765432123456",
"identifierTypeId": "8261054f-9876-422d-bd51-4ed9f33c7654"
}
]
},
"holdingsRecordId": "e63273e7-48f5-4c43-ab4e-1751ecacaa21",
"itemId": "195efae1-588f-47bd-a181-13a2eb437701",
"item": {
"barcode": "760932543816",
"itemEffectiveLocationId" : "758258bc-ecc1-41b8-abca-f7b610822ffd",
"itemEffectiveLocationName" : "XYZ Location",
"retrievalServicePointId" : "c4c90014-c8c9-4ade-8f24-b5e313319f4b",
"retrievalServicePointName" : "Circ Desk Test"
},
"position": 1,
"fulfillmentPreference": "Hold Shelf",
"pickupServicePointId": "3a40852d-49fd-4df2-a1f9-6e2641a6e91f",
"tags": {
"tagList": [
"new",
"important"
]
},
"searchIndex": {
"shelvingOrder": "F 416 H37 A2 59001",
"callNumberComponents": {
"callNumber": "F16.H37 A2 9001"
},
"pickupServicePointName": "Circ Desk 1"
}
}
Item successfully updated
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.
Media type: text/plain
Type: any
Example:
"unable to update request -- malformed JSON at 13:4"
Item with a given ID not found
Media type: text/plain
Type: any
Example:
"request not found"
Optimistic locking version conflict
Media type: text/plain
Type: any
Example:
version conflict
Validation errors
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "errors.schema",
"description": "A set of errors",
"type": "object",
"properties": {
"errors": {
"description": "List of errors",
"id": "errors",
"type": "array",
"items": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "error.schema",
"description": "An error",
"properties": {
"message": {
"type": "string",
"description": "Error message text"
},
"type": {
"type": "string",
"description": "Error message type"
},
"code": {
"type": "string",
"description": "Error message code"
},
"parameters": {
"description": "Error message parameters",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "parameters.schema",
"type": "array",
"items": {
"type": "object",
"properties": {
"key": {
"type": "string"
},
"value": {
"type": "string"
}
}
}
}
},
"required": [
"message"
]
}
},
"total_records": {
"description": "Total number of errors",
"type": "integer"
}
}
}
Example:
{
"errors": [
{
"message": "may not be null",
"type": "1",
"code": "-1",
"parameters": [
{
"key": "moduleTo",
"value": "null"
}
]
}
]
}
Internal server error, e.g. due to misconfiguration
Media type: text/plain
Type: any
Example:
internal server error, contact administrator
Not implemented yet
Delete request item with given {requestId}
DELETE /request-storage/requests/{requestId}
Item deleted successfully
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.
Media type: text/plain
Type: any
Example:
"unable to delete request -- constraint violation"
Item with a given ID not found
Media type: text/plain
Type: any
Example:
"request not found"
Internal server error, e.g. due to misconfiguration
Media type: text/plain
Type: any
Example:
Internal server error, contact administrator
Not implemented yet