/patron/registration/identifier This will create a new patron, by the given identifier.
Example request
cURL
curl -X POST "$PLAS_BASE_URL/patron/registration/identifier?version=0.6.4" \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
-H "Authorization: Bearer $PLAS_TOKEN" \
-d '{
"identifier": {
"type": "local",
"value": "N00012345"
},
"password": "correct-horse-battery",
"pickupLocation": {
"branchId": "nordby-main",
"sections": [
{
"id": "nordby-main-children",
"type": "department"
}
]
},
"registry": "national"
}' JavaScript
const response = await fetch(`${process.env.PLAS_BASE_URL}/patron/registration/identifier?version=0.6.4`, {
method: "POST",
headers: {
"Accept": "application/json",
"Content-Type": "application/json",
"Authorization": `Bearer ${process.env.PLAS_TOKEN}`,
},
body: JSON.stringify({
"identifier": {
"type": "local",
"value": "N00012345"
},
"password": "correct-horse-battery",
"pickupLocation": {
"branchId": "nordby-main",
"sections": [
{
"id": "nordby-main-children",
"type": "department"
}
]
},
"registry": "national"
}),
});
const data = await response.json(); Python
import os
import requests
response = requests.post(
f"{os.environ['PLAS_BASE_URL']}/patron/registration/identifier",
params={
"version": "0.6.4",
},
headers={
"Accept": "application/json",
"Content-Type": "application/json",
"Authorization": f"Bearer {os.environ['PLAS_TOKEN']}",
},
json={
"identifier": {
"type": "local",
"value": "N00012345",
},
"password": "correct-horse-battery",
"pickupLocation": {
"branchId": "nordby-main",
"sections": [
{
"id": "nordby-main-children",
"type": "department",
},
],
},
"registry": "national",
},
)
data = response.json() PLAS_BASE_URL the provider’s base URL · PLAS_TOKEN an access token.
Parameters
Shared across operations: version. See the shared contract on the version page.Request body
application/json · required · PatronRegistrationIdentifierRequestBody Show 2 fieldsHide 2 fields
- typestring
A type identifier that tells which type of identifier is used.
It is recommended to use one of the following types:
localan identifier for one local libraryemailan email address.phonea phone number.
Norway specific:
norway_national_library_cardthe Norwegian national library card.norway_national_birth_numberthe Norwegian "Fødselsnummer".
- valuestringrequired
Identifier value. This information may be sensitive.
- passwordstringrequired
Password for identifier.
Show 2 fieldsHide 2 fields
- branchIdstringrequired
The branch ID where a reservation should be picked up.
This are specifying the location more precisely.
Show 2 fieldsHide 2 fields
- idstringrequired
This is the section (element) ID
- typestringrequired
This should be the section type of the section (element) ID.
- registrystring
If against
GET /patron/registration/possible, it has been checked that a patron can be registered, the registry can be added here, else it is up to the provider to choose.
Responses
200 Success PatronRegistrationIdentifierResponseBody
Example
{
"message": "I accept the library’s terms of use.",
"patronId": "40218873",
"status": "done"
} Schema
PatronRegistrationIdentifierResponseBody
- messagestring
Message to the patron, with information about the registration process.
- patronIdstring
If status is 'done' this should be set, else the user needs to log in again.
- statusstringrequired
This describes the state of the registration process.
One of: done · in_progress · contact_the_library
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.