Ingen beskrivelse i specifikationen.

6 operationer
GET /patron/{patronId}/consent

Get patron consents

Bearer-token GetPatronConsents

This includes all the consents that are available for the patron, even if the patron has made a decision on them or not.
This also includes all the consents the patron has made a decision on, i.e. accepted or rejected.

Eksempel på kald

cURL

curl -X GET "$PLAS_BASE_URL/patron/40218873/consent?version=0.6.3" \
  -H 'Accept: application/json' \
  -H "Authorization: Bearer $PLAS_TOKEN"

JavaScript

const response = await fetch(`${process.env.PLAS_BASE_URL}/patron/40218873/consent?version=0.6.3`, {
  method: "GET",
  headers: {
    "Accept": "application/json",
    "Authorization": `Bearer ${process.env.PLAS_TOKEN}`,
  },
});
const data = await response.json();

Python

import os
import requests

response = requests.get(
    f"{os.environ['PLAS_BASE_URL']}/patron/40218873/consent",
    params={
        "version": "0.6.3",
    },
    headers={
        "Accept": "application/json",
        "Authorization": f"Bearer {os.environ['PLAS_TOKEN']}",
    },
)
data = response.json()
Værten og tokenet er miljøvariabler: PLAS_BASE_URL providerens adresse · PLAS_TOKEN et access token.

Parametre

patronIdpåkrævet
path · string

Patron ID from authentication.

Eksempel: 40218873
Fælles for operationerne: version. Se den fælles kontrakt på versionssiden.

Svar

200 Success PatronConsentResponseBody
Genereret ud fra skemaet

Eksempel

{
  "available": [
    {
      "type": "loan_history",
      "version": "2025-01"
    }
  ],
  "evaluated": [
    {
      "given": true,
      "type": "loan_history",
      "version": "2025-01"
    }
  ]
}

Skema

PatronConsentResponseBody

  • availablearray of objectpåkrævet

    The array must only contain one consent of each type.

    Vis 2 felterSkjul 2 felter
    • typestringpåkrævet

      Én af: loan_history

    • versionstringpåkrævet

      The newest version of the consent

  • The array must only contain one consent of each type.

    Vis 3 felterSkjul 3 felter
    • givenbooleanpåkrævet
    • typestringpåkrævet

      Én af: loan_history

    • versionstringpåkrævet

      The version of the consent that the patron has made a choice for or against.

400 The list of errors. Errors

Fælles svar, defineret én gang for hele API’et. Se den fælles kontrakt på versionssiden.

Genereret ud fra skemaet

Eksempel

{
  "errors": [
    {
      "code": 200103,
      "info": "200103: invalid/unsupported query parameter value"
    }
  ]
}

Skema

Errors

  • errorsarray of Errorpåkrævetmin. antal 1

    The first error should always be the most relevant.

    Vis 2 felterSkjul 2 felter
    • codeintegerpåkrævet

      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

      Én af: 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

    • infostringpåkrævet

      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.

Fælles svar, defineret én gang for hele API’et. Se den fælles kontrakt på versionssiden.

Intet indhold i svaret.

404 Resource not found.

Fælles svar, defineret én gang for hele API’et. Se den fælles kontrakt på versionssiden.

Intet indhold i svaret.

PATCH /patron/{patronId}/consent

Update one or more patron consent(s)

Bearer-token UpdatePatronConsent

Update patron consents.

Only the consents that are present in the body will be updated.
Other consents will not be updated.

The update is an atomic operation. If one consent fails to update, all consent updates in the request will be rolled back.

All consents are returned in the response, not only the updated consents.

Eksempel på kald

cURL

curl -X PATCH "$PLAS_BASE_URL/patron/40218873/consent?version=0.6.3" \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  -H "Authorization: Bearer $PLAS_TOKEN" \
  -d '{
  "consents": [
    {
      "given": true,
      "type": "loan_history",
      "version": "2025-01"
    }
  ]
}'

JavaScript

const response = await fetch(`${process.env.PLAS_BASE_URL}/patron/40218873/consent?version=0.6.3`, {
  method: "PATCH",
  headers: {
    "Accept": "application/json",
    "Content-Type": "application/json",
    "Authorization": `Bearer ${process.env.PLAS_TOKEN}`,
  },
  body: JSON.stringify({
    "consents": [
      {
        "given": true,
        "type": "loan_history",
        "version": "2025-01"
      }
    ]
  }),
});
const data = await response.json();

Python

import os
import requests

response = requests.patch(
    f"{os.environ['PLAS_BASE_URL']}/patron/40218873/consent",
    params={
        "version": "0.6.3",
    },
    headers={
        "Accept": "application/json",
        "Content-Type": "application/json",
        "Authorization": f"Bearer {os.environ['PLAS_TOKEN']}",
    },
    json={
        "consents": [
            {
                "given": True,
                "type": "loan_history",
                "version": "2025-01",
            },
        ],
    },
)
data = response.json()
Værten og tokenet er miljøvariabler: PLAS_BASE_URL providerens adresse · PLAS_TOKEN et access token.

Parametre

patronIdpåkrævet
path · string

Patron ID from authentication.

Eksempel: 40218873
Fælles for operationerne: version. Se den fælles kontrakt på versionssiden.

Request body

application/json · påkrævet · UpdatePatronConsentRequestBody
  • The array must only contain one consent of each type.

    Vis 3 felterSkjul 3 felter
    • givenbooleanpåkrævet
    • typestringpåkrævet

      Én af: loan_history

    • versionstringpåkrævet

      The version of the consent that the patron has made a choice for or against.

Svar

200 Success UpdatePatronConsentResponseBody
Genereret ud fra skemaet

Eksempel

{
  "available": [
    {
      "type": "loan_history",
      "version": "2025-01"
    }
  ],
  "evaluated": [
    {
      "given": true,
      "type": "loan_history",
      "version": "2025-01"
    }
  ]
}

Skema

UpdatePatronConsentResponseBody

  • availablearray of objectpåkrævet

    The array must only contain one consent of each type.

    Vis 2 felterSkjul 2 felter
    • typestringpåkrævet

      Én af: loan_history

    • versionstringpåkrævet

      The newest version of the consent

  • The array must only contain one consent of each type.

    Vis 3 felterSkjul 3 felter
    • givenbooleanpåkrævet
    • typestringpåkrævet

      Én af: loan_history

    • versionstringpåkrævet

      The version of the consent that the patron has made a choice for or against.

400 The list of errors. Errors

Fælles svar, defineret én gang for hele API’et. Se den fælles kontrakt på versionssiden.

Genereret ud fra skemaet

Eksempel

{
  "errors": [
    {
      "code": 200103,
      "info": "200103: invalid/unsupported query parameter value"
    }
  ]
}

Skema

Errors

  • errorsarray of Errorpåkrævetmin. antal 1

    The first error should always be the most relevant.

    Vis 2 felterSkjul 2 felter
    • codeintegerpåkrævet

      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

      Én af: 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

    • infostringpåkrævet

      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.

Fælles svar, defineret én gang for hele API’et. Se den fælles kontrakt på versionssiden.

Intet indhold i svaret.

404 Resource not found.

Fælles svar, defineret én gang for hele API’et. Se den fælles kontrakt på versionssiden.

Intet indhold i svaret.

GET /patron/{patronId}/information

Get patron information

Bearer-token GetPatronInformation

Retrieve patron information

Eksempel på kald

cURL

curl -X GET "$PLAS_BASE_URL/patron/40218873/information?version=0.6.3" \
  -H 'Accept: application/json' \
  -H "Authorization: Bearer $PLAS_TOKEN"

JavaScript

const response = await fetch(`${process.env.PLAS_BASE_URL}/patron/40218873/information?version=0.6.3`, {
  method: "GET",
  headers: {
    "Accept": "application/json",
    "Authorization": `Bearer ${process.env.PLAS_TOKEN}`,
  },
});
const data = await response.json();

Python

import os
import requests

response = requests.get(
    f"{os.environ['PLAS_BASE_URL']}/patron/40218873/information",
    params={
        "version": "0.6.3",
    },
    headers={
        "Accept": "application/json",
        "Authorization": f"Bearer {os.environ['PLAS_TOKEN']}",
    },
)
data = response.json()
Værten og tokenet er miljøvariabler: PLAS_BASE_URL providerens adresse · PLAS_TOKEN et access token.

Parametre

patronIdpåkrævet
path · string

Patron ID from authentication

Eksempel: 40218873
Fælles for operationerne: version. Se den fælles kontrakt på versionssiden.

Svar

200 Success PatronInformationResponseBody
Genereret ud fra skemaet

Eksempel

{
  "patron": {
    "address": {
      "city": "Nordby",
      "country": "Norway",
      "postalCode": "0182",
      "street": "Storgata 12"
    },
    "emails": [
      {
        "default": true,
        "email": "kari.nordmann@example.no",
        "verified": "yes"
      }
    ],
    "fullName": "Kari Nordmann",
    "givenName": "Kari",
    "identifiers": [
      {
        "type": "local",
        "value": "N00012345"
      }
    ],
    "patronId": "40218873",
    "permissions": [
      {
        "reason": "The patron has unpaid fees above the library’s limit.",
        "status": "allowed",
        "type": "off_hours"
      }
    ],
    "phoneNumbers": [
      {
        "default": true,
        "number": "+4791234567",
        "type": "mobile",
        "verified": "yes"
      }
    ],
    "pickupLocation": {
      "branchId": "nordby-main",
      "branchName": "Nordby Main Library",
      "sections": [
        {
          "id": "nordby-main-children",
          "name": "Children’s department",
          "type": "department"
        }
      ]
    },
    "reservation": {
      "postpone": {
        "fromDate": "2025-03-01",
        "toDate": "2025-03-31"
      }
    },
    "surname": "Nordmann"
  }
}

Skema

PatronInformationResponseBody

  • patronPatronpåkrævet
    Vis 11 felterSkjul 11 felter
    • Vis 4 felterSkjul 4 felter
      • citystringpåkrævet

        This field refers to the city, town, or locality where the address is located.

      • countrystring

        This field specifies the name of the country where the address is located.

      • postalCodestring

        This field represents the numeric or alphanumeric code assigned to a specific area for efficient mail sorting and delivery.

      • streetstringpåkrævet

        This field represents the name of the road, street, or thoroughfare where the address is located.
        The field should also contain the building number assigned to a building at the location, and the field should also contain identifiers such as apartment numbers, suite numbers, or floor numbers.

    • emailsarray of PatronEmailpåkrævet

      The size of this array must not exceed (if specified) the ´maxNumberOfEmailAddresses´ value given in the configuration.

      Vis 3 felterSkjul 3 felter
      • defaultboolean

        At most one email can de marked as default.

      • emailstringpåkrævet

        Patron email, following RFC 5322.

      • verifiedstring

        Tells the state of verification of the email.

        Én af: yes · no · pending

    • fullNamestringpåkrævet

      FullName is always provided, but givenName and surname are only specified if the data is organized in such a detailed manner.

    • givenNamestring

      Patron's given name.

    • Vis 2 felterSkjul 2 felter
      • typestring

        A type identifier that tells which type of identifier is used.

        It is recommended to use one of the following types:

        • local an identifier for one local library
        • email an email address.
        • phone a phone number.

        Norway specific:

        • norway_national_library_card the Norwegian national library card.
        • norway_national_birth_number the Norwegian "Fødselsnummer".
      • valuestringpåkrævet

        Identifier value. This information may be sensitive.

    • patronIdstringpåkrævet

      Unique patron identifier (unique for that customer).

    • permissionsarray of object

      This is a list of activities, locations, etc. that the patron is either allowed or blocked from accessing.

      Vis 3 felterSkjul 3 felter
      • reasonstring

        Human readable text that explains why the patron is blocked.

      • statusstringpåkrævet

        Én af: allowed · blocked

      • typestringpåkrævet

        Some suggested access types:

        • off_hours Access to the libraries outside normal opening hours.
        • self_service Block checkout and checkin on self service clients.
        • exclusion Patron is excluded from all library uses.
    • phoneNumbersarray of PatronPhoneNumberpåkrævet

      The size of this array must not exceed (if specified) the ´maxNumberOfPhoneNumbers´ value given in the configuration.

      Vis 4 felterSkjul 4 felter
      • defaultbooleanpåkrævet

        At most one phone number can be marked as default.

      • numberstringpåkrævetmønster ^\+[1-9]\d{1,14}$

        The phone number, in ITU standard E.164 format.

      • typestringpåkrævet

        This tells which type of phone the number is associated with

        Én af: mobile · landline

      • verifiedstring

        Tells the state of verification of the phone number.

        Én af: yes · no · pending

    • pickupLocationPickupLocationpåkrævet

      The object tells where a reservation item can be picked up.

      This is the default pickup location for the patron.

      Vis 3 felterSkjul 3 felter
    • Vis 1 feltSkjul 1 felt
      • postponeobject

        This describes an interval (possibly an open interval, but only in one end) where the patron is not interested in reservations being fulfilled, e.g. while on vacation.

    • surnamestring

      Patron surname.

400 The list of errors. Errors

Fælles svar, defineret én gang for hele API’et. Se den fælles kontrakt på versionssiden.

Genereret ud fra skemaet

Eksempel

{
  "errors": [
    {
      "code": 200103,
      "info": "200103: invalid/unsupported query parameter value"
    }
  ]
}

Skema

Errors

  • errorsarray of Errorpåkrævetmin. antal 1

    The first error should always be the most relevant.

    Vis 2 felterSkjul 2 felter
    • codeintegerpåkrævet

      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

      Én af: 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

    • infostringpåkrævet

      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.

Fælles svar, defineret én gang for hele API’et. Se den fælles kontrakt på versionssiden.

Intet indhold i svaret.

404 Resource not found.

Fælles svar, defineret én gang for hele API’et. Se den fælles kontrakt på versionssiden.

Intet indhold i svaret.

PATCH /patron/{patronId}/information

Update patron information

Bearer-token UpdatePatronInformation

Update patron information.

Important: If a field is missing on the outermost level of the json body (like pickupLocation, emails, phoneNumbers, etc.), the field value is not updated in the LMS.

Eksempel på kald

cURL

curl -X PATCH "$PLAS_BASE_URL/patron/40218873/information?version=0.6.3" \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  -H "Authorization: Bearer $PLAS_TOKEN" \
  -d '{
  "address": {
    "city": "Nordby",
    "country": "Norway",
    "postalCode": "0182",
    "street": "Storgata 12"
  },
  "emails": [
    {
      "default": true,
      "email": "kari.nordmann@example.no"
    }
  ],
  "phoneNumbers": [
    {
      "default": true,
      "number": "+4791234567",
      "type": "mobile"
    }
  ],
  "pickupLocation": {
    "branchId": "nordby-main",
    "sections": [
      {
        "id": "nordby-main-children",
        "type": "department"
      }
    ]
  },
  "reservation": {
    "postpone": {
      "fromDate": "2025-03-01",
      "toDate": "2025-03-31"
    }
  }
}'

JavaScript

const response = await fetch(`${process.env.PLAS_BASE_URL}/patron/40218873/information?version=0.6.3`, {
  method: "PATCH",
  headers: {
    "Accept": "application/json",
    "Content-Type": "application/json",
    "Authorization": `Bearer ${process.env.PLAS_TOKEN}`,
  },
  body: JSON.stringify({
    "address": {
      "city": "Nordby",
      "country": "Norway",
      "postalCode": "0182",
      "street": "Storgata 12"
    },
    "emails": [
      {
        "default": true,
        "email": "kari.nordmann@example.no"
      }
    ],
    "phoneNumbers": [
      {
        "default": true,
        "number": "+4791234567",
        "type": "mobile"
      }
    ],
    "pickupLocation": {
      "branchId": "nordby-main",
      "sections": [
        {
          "id": "nordby-main-children",
          "type": "department"
        }
      ]
    },
    "reservation": {
      "postpone": {
        "fromDate": "2025-03-01",
        "toDate": "2025-03-31"
      }
    }
  }),
});
const data = await response.json();

Python

import os
import requests

response = requests.patch(
    f"{os.environ['PLAS_BASE_URL']}/patron/40218873/information",
    params={
        "version": "0.6.3",
    },
    headers={
        "Accept": "application/json",
        "Content-Type": "application/json",
        "Authorization": f"Bearer {os.environ['PLAS_TOKEN']}",
    },
    json={
        "address": {
            "city": "Nordby",
            "country": "Norway",
            "postalCode": "0182",
            "street": "Storgata 12",
        },
        "emails": [
            {
                "default": True,
                "email": "kari.nordmann@example.no",
            },
        ],
        "phoneNumbers": [
            {
                "default": True,
                "number": "+4791234567",
                "type": "mobile",
            },
        ],
        "pickupLocation": {
            "branchId": "nordby-main",
            "sections": [
                {
                    "id": "nordby-main-children",
                    "type": "department",
                },
            ],
        },
        "reservation": {
            "postpone": {
                "fromDate": "2025-03-01",
                "toDate": "2025-03-31",
            },
        },
    },
)
data = response.json()
Værten og tokenet er miljøvariabler: PLAS_BASE_URL providerens adresse · PLAS_TOKEN et access token.

Parametre

patronIdpåkrævet
path · string

Patron ID from authentication

Eksempel: 40218873
Fælles for operationerne: version. Se den fælles kontrakt på versionssiden.

Request body

application/json · påkrævet · UpdatePatronInformationRequestBody
  • Vis 4 felterSkjul 4 felter
    • citystringpåkrævet

      This field refers to the city, town, or locality where the address is located.

    • countrystring

      This field specifies the name of the country where the address is located.

    • postalCodestring

      This field represents the numeric or alphanumeric code assigned to a specific area for efficient mail sorting and delivery.

    • streetstringpåkrævet

      This field represents the name of the road, street, or thoroughfare where the address is located.
      The field should also contain the building number assigned to a building at the location, and the field should also contain identifiers such as apartment numbers, suite numbers, or floor numbers.

  • The size of this array must not exceed (if specified) the ´maxNumberOfEmailAddresses´ value given in the configuration.

    Vis 2 felterSkjul 2 felter
    • defaultboolean

      At most one email can de marked as default.

    • emailstringpåkrævet

      Patron email, following RFC 5322.

  • The size of this array must not exceed (if specified) the ´maxNumberOfPhoneNumbers´ value given in the configuration.

    Vis 3 felterSkjul 3 felter
    • defaultbooleanpåkrævet

      At most one phone number can be marked as default.

    • numberstringpåkrævetmønster ^\+[1-9]\d{1,14}$

      The phone number, in ITU standard E.164 format.

    • typestringpåkrævet

      This tells which type of phone the number is associated with

      Én af: mobile · landline

  • Vis 2 felterSkjul 2 felter
    • branchIdstringpåkrævet

      The branch ID where a reservation should be picked up.

    • This are specifying the location more precisely.

      Vis 2 felterSkjul 2 felter
      • idstringpåkrævet

        This is the section (element) ID

      • typestringpåkrævet

        This should be the section type of the section (element) ID.

  • Vis 1 feltSkjul 1 felt
    • postponeobject

      This describes an interval (possibly an open interval, but only in one end) where the patron is not interested in reservations being fulfilled, e.g. while on vacation.

      Vis 2 felterSkjul 2 felter
      • fromDatestring (date)

        The date is included in the interval.
        If the field is missing, it means it is an open interval, i.e. the patron's reservations are postponed until the given toDate.

      • toDatestring (date)

        The date is included in the interval.
        If the field is missing, it means it is an open interval, i.e. the patron's reservations are postponed from fromDate until forever.

Svar

200 Success UpdatePatronInformationResponseBody
Genereret ud fra skemaet

Eksempel

{
  "patron": {
    "address": {
      "city": "Nordby",
      "country": "Norway",
      "postalCode": "0182",
      "street": "Storgata 12"
    },
    "emails": [
      {
        "default": true,
        "email": "kari.nordmann@example.no",
        "verified": "yes"
      }
    ],
    "fullName": "Kari Nordmann",
    "givenName": "Kari",
    "identifiers": [
      {
        "type": "local",
        "value": "N00012345"
      }
    ],
    "patronId": "40218873",
    "permissions": [
      {
        "reason": "The patron has unpaid fees above the library’s limit.",
        "status": "allowed",
        "type": "off_hours"
      }
    ],
    "phoneNumbers": [
      {
        "default": true,
        "number": "+4791234567",
        "type": "mobile",
        "verified": "yes"
      }
    ],
    "pickupLocation": {
      "branchId": "nordby-main",
      "branchName": "Nordby Main Library",
      "sections": [
        {
          "id": "nordby-main-children",
          "name": "Children’s department",
          "type": "department"
        }
      ]
    },
    "reservation": {
      "postpone": {
        "fromDate": "2025-03-01",
        "toDate": "2025-03-31"
      }
    },
    "surname": "Nordmann"
  }
}

Skema

UpdatePatronInformationResponseBody

  • patronPatronpåkrævet
    Vis 11 felterSkjul 11 felter
    • Vis 4 felterSkjul 4 felter
      • citystringpåkrævet

        This field refers to the city, town, or locality where the address is located.

      • countrystring

        This field specifies the name of the country where the address is located.

      • postalCodestring

        This field represents the numeric or alphanumeric code assigned to a specific area for efficient mail sorting and delivery.

      • streetstringpåkrævet

        This field represents the name of the road, street, or thoroughfare where the address is located.
        The field should also contain the building number assigned to a building at the location, and the field should also contain identifiers such as apartment numbers, suite numbers, or floor numbers.

    • emailsarray of PatronEmailpåkrævet

      The size of this array must not exceed (if specified) the ´maxNumberOfEmailAddresses´ value given in the configuration.

      Vis 3 felterSkjul 3 felter
      • defaultboolean

        At most one email can de marked as default.

      • emailstringpåkrævet

        Patron email, following RFC 5322.

      • verifiedstring

        Tells the state of verification of the email.

        Én af: yes · no · pending

    • fullNamestringpåkrævet

      FullName is always provided, but givenName and surname are only specified if the data is organized in such a detailed manner.

    • givenNamestring

      Patron's given name.

    • Vis 2 felterSkjul 2 felter
      • typestring

        A type identifier that tells which type of identifier is used.

        It is recommended to use one of the following types:

        • local an identifier for one local library
        • email an email address.
        • phone a phone number.

        Norway specific:

        • norway_national_library_card the Norwegian national library card.
        • norway_national_birth_number the Norwegian "Fødselsnummer".
      • valuestringpåkrævet

        Identifier value. This information may be sensitive.

    • patronIdstringpåkrævet

      Unique patron identifier (unique for that customer).

    • permissionsarray of object

      This is a list of activities, locations, etc. that the patron is either allowed or blocked from accessing.

      Vis 3 felterSkjul 3 felter
      • reasonstring

        Human readable text that explains why the patron is blocked.

      • statusstringpåkrævet

        Én af: allowed · blocked

      • typestringpåkrævet

        Some suggested access types:

        • off_hours Access to the libraries outside normal opening hours.
        • self_service Block checkout and checkin on self service clients.
        • exclusion Patron is excluded from all library uses.
    • phoneNumbersarray of PatronPhoneNumberpåkrævet

      The size of this array must not exceed (if specified) the ´maxNumberOfPhoneNumbers´ value given in the configuration.

      Vis 4 felterSkjul 4 felter
      • defaultbooleanpåkrævet

        At most one phone number can be marked as default.

      • numberstringpåkrævetmønster ^\+[1-9]\d{1,14}$

        The phone number, in ITU standard E.164 format.

      • typestringpåkrævet

        This tells which type of phone the number is associated with

        Én af: mobile · landline

      • verifiedstring

        Tells the state of verification of the phone number.

        Én af: yes · no · pending

    • pickupLocationPickupLocationpåkrævet

      The object tells where a reservation item can be picked up.

      This is the default pickup location for the patron.

      Vis 3 felterSkjul 3 felter
    • Vis 1 feltSkjul 1 felt
      • postponeobject

        This describes an interval (possibly an open interval, but only in one end) where the patron is not interested in reservations being fulfilled, e.g. while on vacation.

    • surnamestring

      Patron surname.

202 Accepted, meaning that the request of a patron update was received, but processing will be done (or completed) later. UpdatePatronInformationRequestAcceptedResponseBody
Genereret ud fra skemaet

Eksempel

{
  "ticket": "4f1c2e9a"
}

Skema

UpdatePatronInformationRequestAcceptedResponseBody

  • ticketstringpåkrævet

    Can be used for debugging.

400 The list of errors. Errors

Fælles svar, defineret én gang for hele API’et. Se den fælles kontrakt på versionssiden.

Genereret ud fra skemaet

Eksempel

{
  "errors": [
    {
      "code": 200103,
      "info": "200103: invalid/unsupported query parameter value"
    }
  ]
}

Skema

Errors

  • errorsarray of Errorpåkrævetmin. antal 1

    The first error should always be the most relevant.

    Vis 2 felterSkjul 2 felter
    • codeintegerpåkrævet

      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

      Én af: 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

    • infostringpåkrævet

      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.

Fælles svar, defineret én gang for hele API’et. Se den fælles kontrakt på versionssiden.

Intet indhold i svaret.

404 Resource not found.

Fælles svar, defineret én gang for hele API’et. Se den fælles kontrakt på versionssiden.

Intet indhold i svaret.

GET /patron/{patronId}/notification-settings

Get patron notifications settings

Bearer-token GetPatronNotificationSettings

Retrieve the patron's notification settings

Eksempel på kald

cURL

curl -X GET "$PLAS_BASE_URL/patron/40218873/notification-settings?version=0.6.3" \
  -H 'Accept: application/json' \
  -H "Authorization: Bearer $PLAS_TOKEN"

JavaScript

const response = await fetch(`${process.env.PLAS_BASE_URL}/patron/40218873/notification-settings?version=0.6.3`, {
  method: "GET",
  headers: {
    "Accept": "application/json",
    "Authorization": `Bearer ${process.env.PLAS_TOKEN}`,
  },
});
const data = await response.json();

Python

import os
import requests

response = requests.get(
    f"{os.environ['PLAS_BASE_URL']}/patron/40218873/notification-settings",
    params={
        "version": "0.6.3",
    },
    headers={
        "Accept": "application/json",
        "Authorization": f"Bearer {os.environ['PLAS_TOKEN']}",
    },
)
data = response.json()
Værten og tokenet er miljøvariabler: PLAS_BASE_URL providerens adresse · PLAS_TOKEN et access token.

Parametre

patronIdpåkrævet
path · string

Patron ID from authentication

Eksempel: 40218873
Fælles for operationerne: version. Se den fælles kontrakt på versionssiden.

Svar

200 Success PatronNotificationSettingsResponseBody
Genereret ud fra skemaet

Eksempel

{
  "notificationSettings": [
    {
      "category": "reservations",
      "delivery": {
        "chosen": [
          {
            "method": "sms"
          }
        ],
        "methods": [
          {
            "method": "sms"
          }
        ]
      },
      "name": "Kari Nordmann",
      "type": "reservation_ready"
    }
  ]
}

Skema

PatronNotificationSettingsResponseBody

400 The list of errors. Errors

Fælles svar, defineret én gang for hele API’et. Se den fælles kontrakt på versionssiden.

Genereret ud fra skemaet

Eksempel

{
  "errors": [
    {
      "code": 200103,
      "info": "200103: invalid/unsupported query parameter value"
    }
  ]
}

Skema

Errors

  • errorsarray of Errorpåkrævetmin. antal 1

    The first error should always be the most relevant.

    Vis 2 felterSkjul 2 felter
    • codeintegerpåkrævet

      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

      Én af: 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

    • infostringpåkrævet

      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.

Fælles svar, defineret én gang for hele API’et. Se den fælles kontrakt på versionssiden.

Intet indhold i svaret.

404 Resource not found.

Fælles svar, defineret én gang for hele API’et. Se den fælles kontrakt på versionssiden.

Intet indhold i svaret.

PATCH /patron/{patronId}/notification-settings

Update one or more patron notification settings

Bearer-token UpdatePatronNotificationSettings

Update patron notification settings.

Only the notification settings that are present in the body will be updated.
Other notification settings will not be updated.

The update is an atomic operation. If one notification setting fails to update, all notification settings updates in the request will be rolled back.

All notification settings are returned in the response, not only the updated notification settings.

Eksempel på kald

cURL

curl -X PATCH "$PLAS_BASE_URL/patron/40218873/notification-settings?version=0.6.3" \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  -H "Authorization: Bearer $PLAS_TOKEN" \
  -d '{
  "notificationSettings": [
    {
      "chosen": [
        {
          "method": "sms"
        }
      ],
      "type": "reservation_ready"
    }
  ]
}'

JavaScript

const response = await fetch(`${process.env.PLAS_BASE_URL}/patron/40218873/notification-settings?version=0.6.3`, {
  method: "PATCH",
  headers: {
    "Accept": "application/json",
    "Content-Type": "application/json",
    "Authorization": `Bearer ${process.env.PLAS_TOKEN}`,
  },
  body: JSON.stringify({
    "notificationSettings": [
      {
        "chosen": [
          {
            "method": "sms"
          }
        ],
        "type": "reservation_ready"
      }
    ]
  }),
});
const data = await response.json();

Python

import os
import requests

response = requests.patch(
    f"{os.environ['PLAS_BASE_URL']}/patron/40218873/notification-settings",
    params={
        "version": "0.6.3",
    },
    headers={
        "Accept": "application/json",
        "Content-Type": "application/json",
        "Authorization": f"Bearer {os.environ['PLAS_TOKEN']}",
    },
    json={
        "notificationSettings": [
            {
                "chosen": [
                    {
                        "method": "sms",
                    },
                ],
                "type": "reservation_ready",
            },
        ],
    },
)
data = response.json()
Værten og tokenet er miljøvariabler: PLAS_BASE_URL providerens adresse · PLAS_TOKEN et access token.

Parametre

patronIdpåkrævet
path · string

Patron ID from authentication

Eksempel: 40218873
Fælles for operationerne: version. Se den fælles kontrakt på versionssiden.

Request body

application/json · påkrævet · UpdatePatronNotificationSettingsRequestBody

Svar

200 Success UpdatePatronNotificationSettingsResponseBody
Genereret ud fra skemaet

Eksempel

{
  "notificationSettings": [
    {
      "category": "reservations",
      "delivery": {
        "chosen": [
          {
            "method": "sms"
          }
        ],
        "methods": [
          {
            "method": "sms"
          }
        ]
      },
      "name": "Kari Nordmann",
      "type": "reservation_ready"
    }
  ]
}

Skema

UpdatePatronNotificationSettingsResponseBody

400 The list of errors. Errors

Fælles svar, defineret én gang for hele API’et. Se den fælles kontrakt på versionssiden.

Genereret ud fra skemaet

Eksempel

{
  "errors": [
    {
      "code": 200103,
      "info": "200103: invalid/unsupported query parameter value"
    }
  ]
}

Skema

Errors

  • errorsarray of Errorpåkrævetmin. antal 1

    The first error should always be the most relevant.

    Vis 2 felterSkjul 2 felter
    • codeintegerpåkrævet

      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

      Én af: 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

    • infostringpåkrævet

      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.

Fælles svar, defineret én gang for hele API’et. Se den fælles kontrakt på versionssiden.

Intet indhold i svaret.

404 Resource not found.

Fælles svar, defineret én gang for hele API’et. Se den fælles kontrakt på versionssiden.

Intet indhold i svaret.