/checkin/{itemId} Check in an item
Example request
cURL
curl -X POST "$PLAS_BASE_URL/checkin/03011042557129?version=0.6.4" \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
-H "Authorization: Bearer $PLAS_TOKEN" \
-d '{
"checkin": {
"alreadyCheckedIn": {
"performed": true
},
"location": {
"branchId": "nordby-main",
"sections": [
{
"id": "nordby-main-children",
"name": "Children’s department",
"type": "department"
}
]
},
"returnDateTime": "2025-03-14T10:24:00+01:00"
}
}' JavaScript
const response = await fetch(`${process.env.PLAS_BASE_URL}/checkin/03011042557129?version=0.6.4`, {
method: "POST",
headers: {
"Accept": "application/json",
"Content-Type": "application/json",
"Authorization": `Bearer ${process.env.PLAS_TOKEN}`,
},
body: JSON.stringify({
"checkin": {
"alreadyCheckedIn": {
"performed": true
},
"location": {
"branchId": "nordby-main",
"sections": [
{
"id": "nordby-main-children",
"name": "Children’s department",
"type": "department"
}
]
},
"returnDateTime": "2025-03-14T10:24:00+01:00"
}
}),
});
const data = await response.json(); Python
import os
import requests
response = requests.post(
f"{os.environ['PLAS_BASE_URL']}/checkin/03011042557129",
params={
"version": "0.6.4",
},
headers={
"Accept": "application/json",
"Content-Type": "application/json",
"Authorization": f"Bearer {os.environ['PLAS_TOKEN']}",
},
json={
"checkin": {
"alreadyCheckedIn": {
"performed": True,
},
"location": {
"branchId": "nordby-main",
"sections": [
{
"id": "nordby-main-children",
"name": "Children’s department",
"type": "department",
},
],
},
"returnDateTime": "2025-03-14T10:24:00+01:00",
},
},
)
data = response.json() PLAS_BASE_URL the provider’s base URL · PLAS_TOKEN an access token.
Parameters
- itemIdrequired
- path · stringExample: 03011042557129
The item identifier of the item to check in.
Request body
application/json · required · CheckinRequestBody - checkinobjectrequired
Show 3 fieldsHide 3 fields
- alreadyCheckedInobject
This contains information about if the checkin has already been performed.
Ifperformedis not set to true, all other fields inalreadyCheckedInare ignored.This is often used when a self service machine is in offline mode.
Show 1 fieldHide 1 field
- performedbooleanrequired
This tells if the checkin action has already be performed, and the LMS should not reject the checkin.
This is often used when a self service machine is in offline mode.If parent field
alreadyCheckedInis not set, the default value is false.
Show 2 fieldsHide 2 fields
- branchIdstringrequired
The branch ID where the checkout or checkin was made.
This is specifying the location more precisely.
See LocationSectionElementWithIdNameAndType in the schema index
- returnDateTimestring (date-time)required
This is the return date and time the patron made the checkin.
Responses
200 Success CheckinResponseBody
Example
{
"checkin": {
"acquiredFrom": {
"type": "local_circulation"
},
"dueDate": "2025-04-11",
"itemId": "03011042557129",
"loanId": "58210447",
"patronId": "40218873",
"publicationId": "310552",
"publicationMetadata": {
"additionalIdentifiers": [
{
"digits": "10",
"type": "isbn",
"value": "9788203363344"
}
],
"binding": {
"type": "literal",
"value": "Hardback"
},
"contributors": [
{
"agent": {
"description": "Norwegian novelist, awarded the Nobel Prize in Literature in 1928.",
"fullName": "Sigrid Undset",
"id": "agent-4102",
"images": [
{
"height": 1200,
"mime": "png",
"url": "https://images.nordby.bibliotek.example/covers/310552.jpg",
"width": 800,
"type": "agent"
}
],
"active": {
"type": "literal",
"value": "1882-1949"
},
"birthDate": {
"type": "literal",
"value": "1920"
},
"deathDate": {
"type": "literal",
"value": "1920"
},
"externals": {
"identifiers": [
{
"type": "norwegianAuthorityFile",
"value": "4102"
}
]
},
"givenName": "Kari",
"surname": "Nordmann",
"type": "person"
},
"roles": [
{
"roleCode": "aut",
"type": "marcRelator"
}
]
}
],
"creators": [
{
"agent": {
"description": "Norwegian novelist, awarded the Nobel Prize in Literature in 1928.",
"fullName": "Sigrid Undset",
"id": "agent-4102",
"images": [
{
"height": 1200,
"mime": "png",
"url": "https://images.nordby.bibliotek.example/covers/310552.jpg",
"width": 800,
"type": "agent"
}
],
"active": {
"type": "literal",
"value": "1882-1949"
},
"birthDate": {
"type": "literal",
"value": "1920"
},
"deathDate": {
"type": "literal",
"value": "1920"
},
"externals": {
"identifiers": [
{
"type": "norwegianAuthorityFile",
"value": "4102"
}
]
},
"givenName": "Kari",
"surname": "Nordmann",
"type": "person"
},
"roles": [
{
"roleCode": "aut",
"type": "marcRelator"
}
]
}
],
"edition": {
"type": "literal",
"value": "2nd edition"
},
"extent": [
{
"type": "literal",
"value": "312 pages"
}
],
"identifier": "310552",
"images": [
{
"height": 1200,
"mime": "png",
"url": "https://images.nordby.bibliotek.example/covers/310552.jpg",
"width": 800,
"type": "frontCover"
}
],
"language": [
{
"code": "SplxlOBeZQQYbYS6WxSbIA",
"name": "Kari Nordmann"
}
],
"mediaTypes": [
{
"code": "book",
"name": "Kari Nordmann"
}
],
"publicationDate": {
"type": "literal",
"value": "1920"
},
"publishers": [
{
"places": [
{
"place": "Oslo"
}
],
"publisher": {
"id": "94549",
"name": "Kari Nordmann"
}
}
],
"titles": [
{
"language": {
"code": "SplxlOBeZQQYbYS6WxSbIA",
"name": "Kari Nordmann"
},
"main": "Kristin Lavransdatter",
"part": {
"name": "Kari Nordmann",
"number": "1"
},
"remainder": "The Wreath",
"type": "preferred"
}
],
"works": [
{
"identifier": "882107",
"relation": "contains"
}
]
},
"sortingCode": "A3",
"transactionDateTime": "2025-03-14T10:24:00+01:00"
},
"completed": true,
"message": {
"text": "This item is reserved by another patron. Please return it to the counter.",
"type": "reservation-waiting"
},
"requestId": "5b1f6c2e-9a7d-4e3b-8f21-6c0d9e4a7b13",
"status": "completed"
} Schema
Show 9 fieldsHide 9 fields
- acquiredFromPatronLoanAcquiredFrom
This tells from where (the material for) this loan was acquired.
If this field are missing, the default value local_circulation should be assumed.- local_circulation: Meaning that this loan was acquired from the customers own inventory.
- interlibrary_loan: Meaning that this loan was acquired as a interlibrary loan.
- unknown: Meaning that this information is unknown.
Show 3 variantsHide 3 variants
Selected by the field type
- dueDatestring (date)
This is the due date of the checkin item, meaning the date where item should (at the latest) be returned.
- itemIdstringrequired
This is the item ID of the checked in item.
- loanIdstringrequired
This is the loan ID.
- patronIdstring
This is the patron ID of the patron that made the checkin.
- publicationIdstring
This is the publication ID of the checkin item.
- publicationMetadataPublicationFallback
This metadata is only intended as fallback data, for when the provider is not able to serve the metadata through the GET /publication endpoint.
This can for some provider be the case when working with e.g. interlibrary loans.
Show 14 fieldsHide 14 fields
- additionalIdentifiersarray of AdditionalIdentifier
Other identifiers, like: ISBN, ISSN, ...
- bindingBinding
- contributorsarray of Contributor
The contributor(s) to the publication.
- creatorsarray of Contributor
The creator(s) of the publication.
- editionEdition
- extentarray of Extent
Together all the Extents in the array describes the total extent of the publication.
- identifierstringrequired
Publication identifier. This is searchable through the GET /publication endpoint.
Images to use with the publication.
- languagearray of Language
This is the language(s) of the this publication. If the publication uses multi languages this will also contain them.
- mediaTypesarray of MediaType
- publicationDateDate
Date of publication.
- publishersarray of PublisherAndPlaces
List of publishers and associated place(s) of publication.
Title of the publication.
- sortingCodestring
This is the sorting code, and can be used to sort checked in items, on e.g. a self service machine by reserved and not-reserved items.
- transactionDateTimestring (date-time)required
This is the registered time and date of the checkin.
- completedboolean
This tells if the checkin was completed or not. It is only true if the checkin was completed, else it is false.
- messageCheckOutOrInMessage
Show 2 fieldsHide 2 fields
- textstring
Message to the patron.
- typestring
This can be used instead of the text field to identify the message type.
This can be used by a vendor to handle the message or control the content of the message.
- requestIdstringrequired
This is a unique identifier for the checkout request. This will change for each request.
- statusstringrequired
This tells the status of the checkin.
The status are:
completedmeans that the checkin went well and was completed.failedmeans that the checkin failed, and the item was not checked in.
One of: completed · failed
400 The list of errors. Errors
Shared response, defined once for the whole API. See the shared contract on the version page.
Example
{
"errors": [
{
"code": 200103,
"info": "200103: invalid/unsupported query parameter value"
}
]
} Schema
The first error should always be the most relevant.
Show 2 fieldsHide 2 fields
- codeintegerrequired
A number representing the type of error.
List of error codes:
- \<error code\>: \<error description\>
- 500: System error
- 600: Unsupported Open Library API version
- 10001: Endpoint disabled
- 71001: Consent has not been given for 'loan history'
- 100001: Wrong patron username or password
- 100023: Patron ID not found
- 100211: maxNumberOfEmailAddresses exceeded
- 100215: maxNumberOfPhoneNumbers exceeded
- 100221: Pickup location cannot contain sections
- 100411: Updating patron consent failed
- 100611: Updating patron notification settings failed
- 101001: Reservation ID not found
- 101047: Branch ID cannot be used as pick up branch
- 101053: Section ID cannot be used as pick up branch
- 102001: Loan ID not found
- 102301: Loan not renewable, because it is an interlibrary loan
- 102311: Loan not renewable, because it is reserved
- 110001: Branch ID not found
- 200001: Publication ID not found
- 200077: ui language not supported
- 200101: missing required query parameter
- 200103: invalid/unsupported query parameter value
- 300001: Initialize payment should not be used
- 300005: Initialize payment should be used
- 300009: Payment method not supported
- 300013: Payment method does not support partial payment
- 300301: Finalized payment can not de changed
- 300311: FinalizePaymentRequest.fees contains fees with the same ID
- 310001: Loan history ID not found
- 310011: Loan history ID already exists
- 330001: List ID not found
- 330011: List ID already exists
- 330101: List item ID not found
- 330111: List item ID already exists
One of: 500 · 600 · 100001 · 100023 · 100211 · 100215 · 100221 · 100411 · 100611 · 101001 · 101047 · 101053 · 102001 · 102301 · 102311 · 110001 · 200001 · 200077 · 200101 · 200103 · 300001 · 300005 · 300009 · 300013 · 300301 · 300311 · 310001 · 310011 · 330001 · 330011 · 330101 · 330111
- infostringrequired
Starts with the text matching the error code field (defined above), and a describing text could be added.
401 Bearer token invalid, missing, or expired.
Shared response, defined once for the whole API. See the shared contract on the version page.
No response body.
404 Resource not found.
Shared response, defined once for the whole API. See the shared contract on the version page.
No response body.