openapi: 3.0.2
info:
version: 1.0.6
title: WorldCat Entity Data Bibliographic Resources Manage Local Bibliographic Data API
description: WorldCat Entity Data
servers:
- url: https://id.oclc.org/worldcat
description: PROD
tags:
- name: Manage Local Bibliographic Data
paths:
/worldcat/manage/lbds:
post:
tags:
- Manage Local Bibliographic Data
summary: Create a Local Bibliographic Data record.
description: Given a Local Bibliographic Data record, create it in WorldCat.
operationId: lbd-create
requestBody:
description: The Local Bibliographic Data record that will be created in WorldCat.
required: true
content:
application/marcxml+xml:
schema:
$ref: '#/components/schemas/MARCXML'
examples:
MARCXML:
$ref: '#/components/examples/lbd-marcxml-new'
application/marc:
schema:
type: string
examples:
MARC21:
$ref: '#/components/examples/lbd-marc-new'
responses:
'200':
description: The Local Bibliographic Data record was created successfully.
content:
application/marcxml+xml:
schema:
$ref: '#/components/schemas/MARCXML'
examples:
success:
$ref: '#/components/examples/lbd-marcxml-existing'
application/marc:
examples:
success:
$ref: '#/components/examples/lbd-marc-existing'
'400':
description: Bad request. The request was unacceptable.
content:
application/json:
examples:
lbd-create-has-control-number:
$ref: '#/components/examples/lbd-create-has-control-number'
lbd-create-lacks-owning-institution:
$ref: '#/components/examples/lbd-create-lacks-owning-institution'
'401':
$ref: '#/components/responses/unauthorized'
'403':
$ref: '#/components/responses/403-forbidden-url'
'406':
$ref: '#/components/responses/406-accept-header-unacceptable'
'500':
$ref: '#/components/responses/500-internal-server-error'
security:
- worldcat_metadata_auth:
- WorldCatMetadataAPI:manage_institution_lbds
/worldcat/manage/lbds/{controlNumber}:
get:
tags:
- Manage Local Bibliographic Data
summary: Retrieve a Local Bibliographic Data record.
description: Given a Control Number, retrieve a Local Bibliographic Data record.
operationId: lbd-read
parameters:
- name: controlNumber
in: path
description: The Control Number associated with the Local Bibliographic Data record.
required: true
schema:
type: integer
example: 906268152
responses:
'200':
description: The Local Bibliographic Data record was retrieved successfully.
content:
application/marcxml+xml:
schema:
$ref: '#/components/schemas/MARCXML'
examples:
success:
$ref: '#/components/examples/lbd-marcxml-existing'
application/marc:
examples:
success:
$ref: '#/components/examples/lbd-marc-existing'
'400':
description: Bad request. The request was unacceptable.
content:
application/json:
examples:
lbd-read-not-found:
$ref: '#/components/examples/lbd-read-not-found'
'401':
$ref: '#/components/responses/unauthorized'
'403':
$ref: '#/components/responses/forbidden'
'404':
$ref: '#/components/responses/failed-not-found'
'406':
$ref: '#/components/responses/406-accept-header-unacceptable'
'500':
$ref: '#/components/responses/500-internal-server-error'
security:
- worldcat_metadata_auth:
- WorldCatMetadataAPI:manage_institution_lbds
put:
tags:
- Manage Local Bibliographic Data
summary: Replace a Local Bibliographic Data record.
description: Given a Control Number, find the associated Local Bibliographic Data record and replace it. If the Control Number is not found in WorldCat, then the provided Local Bibliographic Data record will be created.
operationId: lbd-update
parameters:
- name: controlNumber
in: path
description: The Control Number associated with the Local Bibliographic Data record in WorldCat
required: true
schema:
type: integer
example: 906268152
requestBody:
description: The provided Local Bibliographic Data record that will replace the Local Bibliographic Data record that matches the same Control Number in WorldCat.
required: true
content:
application/marcxml+xml:
schema:
$ref: '#/components/schemas/MARCXML'
examples:
MARCXML:
$ref: '#/components/examples/lbd-marcxml-existing'
application/marc:
schema:
type: string
examples:
MARC21:
$ref: '#/components/examples/lbd-marc-existing'
responses:
'200':
description: The Local Bbibliographic Data record was replaced successfully.
content:
application/marcxml+xml:
schema:
$ref: '#/components/schemas/MARCXML'
examples:
success:
$ref: '#/components/examples/lbd-marcxml-existing'
application/marc:
examples:
success:
$ref: '#/components/examples/lbd-marc-existing'
'400':
description: Bad request. The request was unacceptable.
content:
application/json:
examples:
lbd-replace-lacks-owning-institution:
$ref: '#/components/examples/lbd-replace-lacks-owning-institution'
'401':
$ref: '#/components/responses/unauthorized'
'403':
$ref: '#/components/responses/403-forbidden-url'
'404':
$ref: '#/components/responses/failed-not-found'
'406':
$ref: '#/components/responses/406-accept-header-unacceptable'
'500':
$ref: '#/components/responses/500-internal-server-error'
security:
- worldcat_metadata_auth:
- WorldCatMetadataAPI:manage_institution_lbds
delete:
tags:
- Manage Local Bibliographic Data
summary: Delete a Local Bibliographic Data record.
description: Given a Control Number, delete the associated Local Bibliographic Data record.
operationId: lbd-delete
parameters:
- name: controlNumber
in: path
description: The Control Number associated with the Local Bibliographic Data record.
required: true
schema:
type: integer
example: 90626815
responses:
'200':
description: The Local Bbibliographic Data record was deleted successfully.
content:
application/marcxml+xml:
schema:
$ref: '#/components/schemas/MARCXML'
examples:
success:
$ref: '#/components/examples/lbd-marcxml-existing'
application/marc:
examples:
success:
$ref: '#/components/examples/lbd-marc-existing'
'400':
description: Bad request. The request was unacceptable.
content:
application/json:
examples:
lbd-delete-not-found:
$ref: '#/components/examples/lbd-read-not-found'
'401':
$ref: '#/components/responses/unauthorized'
'403':
$ref: '#/components/responses/403-forbidden-url'
'404':
$ref: '#/components/responses/failed-not-found'
'406':
$ref: '#/components/responses/406-accept-header-unacceptable'
'500':
$ref: '#/components/responses/500-internal-server-error'
security:
- worldcat_metadata_auth:
- WorldCatMetadataAPI:manage_institution_lbds
components:
examples:
lbd-create-has-control-number:
summary: LBD Has Control Number.
value:
type: BAD_REQUEST
title: Unable to perform the lbd create operation.
detail:
summary: LBD_HAS_CONTROL_NUMBER
description: The LBD must lack a control number for adds
unauthorized:
summary: Error returned when valid API credentials not sent or invalid
value:
message: Unauthorized
lbd-replace-lacks-owning-institution:
summary: LBD Lacks Owning Institution.
value:
type: BAD_REQUEST
title: Unable to perform the lbd replace operation.
detail:
summary: LBD_LACKS_OWNING_INSTITUTION_SYMBOL
description: The LBD must have an owning institution symbol
lbd-create-lacks-owning-institution:
summary: LBD Lacks Owning Institution.
value:
type: BAD_REQUEST
title: Unable to perform the lbd create operation.
detail:
summary: LBD_LACKS_OWNING_INSTITUTION_SYMBOL
description: The LBD must have an owning institution symbol
forbidden:
summary: Error returned when API credentials not for resource
value:
message: Forbidden
lbd-marcxml-existing:
summary: LBD MARC XML Record
value: "\n 00000n a2200000 4500\n 589046562\n 3160\n 20210910120824.8\n \n MyLSN\n \n \n OCWMS\n \n \n"
lbd-read-not-found:
summary: LBD Not Found.
value:
type: NOT_FOUND
title: Unable to perform the lbd read operation.
detail:
summary: NOT_FOUND
description: Not able to find the requested LBD
lbd-marc-existing:
summary: LBD MARC XML Record
value: "00136n a2200085 4500001001000000004000500010005001700015935001000032940000800042\\u001E589046562\\u001E3160\\u001E20210910120824.8\\u001E \\u001FaMyLSN\\u001E \\u001FaWAU\\u001E\\u001D \n"
lbd-marcxml-new:
summary: LBD MARC XML Record
value: "\n 00000n a2200000 4500\n 3160\n \n MyLSN\n \n \n OCWMS\n \n \n"
lbd-marc-new:
summary: LBD MARC XML Record
value: '00086n a2200061 4500004000600000935001000006940000800016\u001E316d0\u001E \u001FaMyLSN\u001E \u001FaWAU\u001E\u001D
'
failed-not-found:
summary: Error when resource not found
value:
type: NOT_FOUND
title: Resource Not Found
detail: The specified resource was not found at this address.
schemas:
MARCXML:
description: see https://www.loc.gov/standards/marcxml/schema/MARC21slim.xsd
type: object
xml:
name: record
externalDocs:
description: Learn about the Marc Bibliographic Standard
url: https://www.loc.gov/standards/marcxml/
Problem:
type: object
description: RFC 7807 description of an error.
properties:
type:
$ref: '#/components/schemas/ProblemType'
title:
description: A short, human-readable summary of the problem type.
type: string
instance:
description: A URI reference that identifies the specific occurrence of the problem.
type: string
format: uri
detail:
description: A human-readable explanation specific to this occurrence of the problem.,
type: string
invalidParams:
description: An array of validation errors.
type: array
items:
description: The validation error descriptor.
type: object
properties:
path:
type: string
name:
type: string
reason:
type: string
ProblemType:
description: A URI reference [RFC3986] that identifies the problem type.
type: string
format: uri
enum:
- https://developer.api.oclc.org/errors/NOT_ACCEPTABLE
- https://developer.api.oclc.org/errors/NOT_ALLOWED
- https://developer.api.oclc.org/errors/INTERAL_SERVER_ERROR
- https://developer.api.oclc.org/errors/BAD_REQUEST
- https://developer.api.oclc.org/errors/NOT_FOUND
- https://developer.api.oclc.org/errors/NOT_ELIGIBLE
- https://developer.api.oclc.org/errors/MISSING_QUERY_PARAMETER
- https://developer.api.oclc.org/errors/INVALID_QUERY_PARAMETERS
- https://developer.api.oclc.org/errors/INVALID_QUERY_PARAMETER_VALUE
- https://developer.api.oclc.org/errors/INVALID_QUERY_PARAMETER_NAME
- https://developer.api.oclc.org/errors/SYNTAX_ERROR
- https://developer.api.oclc.org/errors/INVALID_DOCUMENT
- https://developer.api.oclc.org/errors/MISSING_ELEMENT
- https://developer.api.oclc.org/errors/INVALID_ELEMENT_VALUE
responses:
500-internal-server-error:
description: Something went wrong (hopefully rare) - please try again.
content:
application/json:
examples:
accept-header-unacceptable:
summary: Unexpected Error.
value:
type: INTERNAL_SERVER_ERROR
title: string
detail: string
unauthorized:
description: Unauthorized
content:
application/json:
examples:
unauthorized:
$ref: '#/components/examples/unauthorized'
failed-not-found:
description: Failed operation - resource not found
content:
application/json:
schema:
$ref: '#/components/schemas/Problem'
examples:
failed-not-found:
$ref: '#/components/examples/failed-not-found'
406-accept-header-unacceptable:
description: Accept Header Media Type is not Supported.
content:
application/json:
examples:
accept-header-unacceptable:
summary: Accept Header Unacceptable
value:
type: NOT_ACCEPTABLE
title: Invalid 'Accept' header.
detail: 'A request with an invalid ''Accept'' header was attempted: ....'
forbidden:
description: Forbidden
content:
application/json:
examples:
forbidden:
$ref: '#/components/examples/forbidden'
403-forbidden-url:
description: Forbidden URL.
content:
application/json:
examples:
forbidden-url:
summary: Forbidden URL
value:
message: '''tk_TW6fPd4fgsaA45HIYslXmeSlc1DleGlOdBCdVimq'' not a valid key=value pair (missing equal-sign) in Authorization header: ''Bearer tk_TW6fPd4fgsaA45HIYslXmeSlc1DleGlOdBCdVimq''.'
securitySchemes:
entity_data_auth:
type: oauth2
flows:
clientCredentials:
tokenUrl: https://oauth.oclc.org/token
scopes:
publicEntities:read_brief_entities: read brief entity data
publicEntities:read_references: read entity references
authorizationCode:
authorizationUrl: https://oauth.oclc.org/auth
tokenUrl: https://oauth.oclc.org/token
scopes:
publicEntities:read_brief_entities: read brief entity data
publicEntities:read_references: read entity references