Copy Resource

URLs and Supported Requests

The Copy Resource supports five operations.

Operation Resource URL HTTP METHOD
Create POST
Read{copyId} GET
Update{copyId} PUT
Delete{copyId} DELETE
Search{OCLC_number} GET

HTTP Accept Types


HTTP Request Content Types


When making a PUT/POST request an XML payload must be included. More information about the proper structure of XML made as part of POST and PUT requests can be found here with the Copy Schema File.


Below is a list of all the possible parameters that can be used as part of the copy resource:

Parameter Required Description
q No Refer to the query indices table below. Available parameters are: oclc or barcode. The values for these parameters must either be an OCLC number of barcode number respectively.




What index item to start the collection at.
itemsPerPage No How many collection items to return per request.

Query Indices

Index Description
oclc Number of OCLC item or items you want to retrieve
barcode item-level barcode for circulating materials

Copy Resource Fields

Below is a table listing all the allowed values and content of each data type in the Collection Management Schema, this should be used as a quick reference into required attributes and values, however more in depth details can be found using the accompanying XSD file.






  The characteristics and definitions of the components of the record.







  Indicates the current receipt or acquisitions status of a copy (008/06).



  Enumeration of the types of note describing an item.


Required attribute:(attr:noteVisibilityType) type:

    A user defined note that can be attached to a copy or an individual holding.
holdingLocationType String that must match  pattern "[A-Z]{4}"   Represents a holding location. OCLC cataloguing rules require that the holding location is a single 4-character code. Corresponds to 852$b.

shelvingDesignation Type

Required attribute:(attr:shelvingSchemeType) scheme


(string) prefix

(string) information

(string) itemPart

(string) suffix

The designation used as the shelving scheme for an item. The value of the shelving scheme determines which fields are used.




  The different categories of material for items.
pieceDesignationType String that must match pattern "[^BU].*"   Represents the institution-defined piece designation for an item. This is the "barcode". It should not start with either a capital 'B' or 'U'.
currencyType String that must match pattern "[A-Z]{3}"   The ISO 4217 currency code for representing the currency of a monetary amount. Categorised by 3 capital letters. The current valid 3-letter codes can be found at

(currencyType) currency

(nonNegativeInteger) amount

(string) qualifier

A cost associated with an item, such as the original purchase price, or the amount to bill a patron if the item is lost.


Required attribute:(attr:string) label

    The label and value pair for a caption describing a numeric, alphabetic, and/or date designation for an item. The label is defined as an attribute on the element and the value for the label is defined by the element contents.

(string) description

(captionEntryType) enumeration

(captionEntryType) chronology

(nonNegativeInteger) id

(nonNegativeInteger) sequence

A set of alphanumeric or date labels (i.e. enumeration and chronology) for an item. Also includes free-text version when standard enumeration and chronology cannot be used to adequately describe the item.


Required attraibute:(attr:itemCategoryType) category


(pieceDesignationType) pieceDesignation

(noteType) note

(string) useRestriction

(costType) cost

(string) temporaryLocation

(captionType) caption

The information relating to a particular holding associated with a copy.

(anyURI) institution

(anyURI) bib

(dateTime) lastUpdateDate

(recordType) recordType

(receiptStatusType) receiptStatus

(integer) copyNumber

(noteType) note

(holdingLocationType) holdingLocation

(string) shelvingLocation

(string) previousShelvingLocation

(shelvingDesignationType) shelvingDesignation

(holdingType) holding

(anyURI) id

A specific instance within a library collection of a bibliographic description. May consist of multiple items in the case of multi-volume sets and seri

Example URLs

Read a collection of copies with OCLC number 33252178:


Read a single copy with ID 55171589:



LHR Mapping

Collection Management Platform API Fields MARC21 Holdings
/institution       852$a
/bib       004
/lastUpdateDate       Stored in OCLC Metadata on the record
/recordType       Leader 06
/receiptStatus       008 06
/copyNumber       852$t
/note[] text()    

If @type = PUBLIC then 852$z
If @type = STAFF then 852$x

/holdingLocation       852$b
/shelvingLocation       852$c
/previousShelvingLocation[]       852$d
/shelvingDesignation @scheme     852i1
  /prefix[]     852$k
  /information     If @scheme = SHELVING_CONTROL_NUMBER then 852$j
If @scheme = TITLE then 852$l
Otherwise 852$h
  /itemPart[]     852$i
  /suffix[]     852$m
/holding @category     Computed depending on which fields store the data
  /pieceDesignation[]     If @category = BASIC then 876$p
If @category = SUPPLEMENTARY_MATERIAL then 877$p
If @category = INDEX then 878$p
  /note[] text()  

If @category = BASIC and @type = PUBLIC then 876$z
If @category = BASIC and @type = STAFF then 876$x
If @category = SUPPLEMTARY_MATERIAL and @type = PUBLIC then 877$z
If @category = SUPPLEMTARY_MATERIAL and @type = STAFF then 877$x
If @category = INDEX and @type = PUBLIC then 878$z
If @category = INDEX and @type = STAFF then 878$x

  /useRestriction[]     If @category = BASIC then 876$h
If @category = SUPPLEMENTARY_MATERIAL then 877$h
If @category = INDEX then 878$h
  /cost[] /currency  

If @category = BASIC then 876$c
If @category = SUPPLEMENTARY_MATERIAL then 877$c
If @category = INDEX then 878$c

  /temporaryLocation[]     If @category = BASIC then 876$l
If @category = SUPPLEMENTARY_MATERIAL then 877$l
If @category = INDEX then 878$l
  /caption @id   If @category = BASIC then All of 853$8, 863$8, 866$8 And 876$8
If @category = SUPPLEMENTARY_MATERIAL then All of 854$8, 864$8, 867$8 And 877$8
If @category = INDEX then All of 855$8, 865$8, 868$8 And 878$8
    @sequence   If @category = BASIC then All of 863$8, 866$8 And 876$8
If @category = SUPPLEMENTARY_MATERIAL then All of 864$8, 867$8 And 877$8
If @category = INDEX then All of 865$8, 868$8 And 878$8
    /description   If @category = BASIC then 866$a or 876$3
If @category = SUPPLEMENTARY_MATERIAL then 867$a or 877$3
If @category = INDEX then 878$a or 878$3
    /enumeration[] /value If @category = BASIC then 863$a, 863$b, 863$c and 863$d
If @category = SUPPLEMENTARY_MATERIAL then 864$a, 864$b, 864$c and 864$d
If @category = INDEX then 865$a, 865$b, 865$c and 865$d
      /label If @category = BASIC then 853$a, 853$b, 853$c and 853$d
If @category = SUPPLEMENTARY_MATERIAL then 854$a, 854$b, 854$c and 854$d
If @category = INDEX then 855$a, 855$b, 855$c and 855$d
    /chronology[] /value If @category = BASIC then 863$i, 863$j, 863$k and 863$l
If @category = SUPPLEMENTARY_MATERIAL then 864$i, 864$j, 864$k and 864$l
If @category = INDEX then 865$i, 865$j, 865$k and 865$l
      /label If @category = BASIC then 853$i, 853$j, 853$k and 853$l
If @category = SUPPLEMENTARY_MATERIAL then 854$i, 854$j, 854$k and 854$l
If @category = INDEX then 855$i, 855$j, 855$k and 855$l
/id       001


Enumeration/chronology fields

  1. If a record has multiple types of enumeration/chronology, each barcode with the same caption id needs a unique sequence number. Failing to do this will result in an error that may remove ALL enumeration/chronology information from the record