Bibliographic Resource
URLs and Supported Operations
The Bibliographic Resource supports 6 operations.
Operation | Resource URL | HTTP METHOD | Response Code |
---|---|---|---|
Create | https://worldcat.org/bib/data?inst={inst}&classificationScheme={scheme}&holdingLibraryCode={holdingLibraryCode} | POST | 201 |
Read | https://worldcat.org/bib/data/{oclcNumber}?inst={inst}&classificationScheme={scheme}&holdingLibraryCode={holdingLibraryCode} | GET | 200 |
Update | https://worldcat.org/bib/data?inst={inst}&classificationScheme={scheme}&holdingLibraryCode={holdingLibraryCode} | PUT | 200 |
Validate Full |
https://worldcat.org/bib/validateFull?inst={inst}&classificationScheme={scheme} | POST | 200 |
Validate for Add |
https://worldcat.org/bib/validateAdd?inst={inst}&classificationScheme={scheme} | POST | 200 |
Validate for Replace | https://worldcat.org/bib/validateReplace?inst={inst}&classificationScheme={scheme} | POST | 200 |
HTTP Accept Types
The Metadata API Bibliographic Record Resource will produce three different representations that can be sent back to clients. All three are representations serialize an AtomPub
- application/atom+xml;content="application/vnd.oclc.marc21+xml"
- application/atom+xml;content="application/vnd.oclc.cdf"'
- application/atom+json
HTTP Request Content Types
When sending requests to the service to create and update records, you can send the serializations that are either wrapped or unwrapped:
- application/atom+xml;content="application/vnd.oclc.marc21+xml"
- application/atom+xml;content="application/vnd.oclc.cdf"'
- application/atom+json
- application/vnd.oclc.cdf
- application/vnd.oclc.marc21+xml
- application/vnd.oclc.marc+json
Parameters
Parameter | Required? | Description | Expected/Sample Value |
---|---|---|---|
inst | No | Registry ID of the institution who is creating/editing the record Either this parameter or the instSymbol should be sent |
|
instSymbol | No | OCLC Symbol of the institution who is creating/editing the record Either this parameter or the inst should be sent |
|
classificationScheme | Yes | The classification scheme |
|
holdingLibraryCode | No | Four letter holding code to set the holding on. Valid codes for a given institution can be obtained via a request for holding code resource |
Example Request
Read a bibliographic record with the OCLC Number 319501305:
https://worldcat.org/bib/data/319501305?classificationScheme=LibraryOfCongress
Notes
General Validation
When creating or updating records, OCLC's heading control and reformat operations are always called. Additionally, all records are passed through validation routines.
Read
When performing a read of a record, if the OCLC Number passed in the read has been merged then the web service will return the record for the OCLC Number that the original record has been merged into. The returned record will the correct merged record OCLC number in the 001.
Create
When performing a create of a record, a holding will not automatically be set for the library creating the record. To both create a record and set a holding on the record for the creating library. Two API calls are necessary. One to create the record. One to set holdings on the record using the Holding Resource.
Update
When updating records, they must include a numeric OCLC Number in the 001 field. Do not include "ocm", "ocn", or "on" prefixes.
When updating records, if the record being updated is an OCLC Number that has been merged, then the web service will return an error.
When updating records, the records must include the 005 field. The value of this field must match the value current record in WorldCat.
Validate Operations
Grandfathered records are records with validation errors which have been added to WorldCat using batch and other services that enforce lower levels of validation requirements. If a record already has errors associated with it when such a is updated and replaced, those existing errors do not have to be fixed in the record. Only errors introduce when updating the record to be replaced have to be fixed.
Validate Full
Perform full validation, without applying edit or replace rules. This validation does NOT ignore grandfathered errors.
Validate for Add
Perform full validate and apply edit validation rules
Validate for Replace
Perform full validation, apply edit and replace rules, but ignore grandfathered errors.