The fees a patron owes, such as overdue fines and replacement charges, with the amount, the currency, how much is still unpaid, and which items each fee is about. Fees are paid through the Payment endpoints.

1 operation
GET /patron/{patronId}/fee

Get patron fees

Bearer token GetPatronFees

Example request

cURL

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

JavaScript

const response = await fetch(`${process.env.PLAS_BASE_URL}/patron/40218873/fee?version=0.6.7`, {
  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/fee",
    params={
        "version": "0.6.7",
    },
    headers={
        "Accept": "application/json",
        "Authorization": f"Bearer {os.environ['PLAS_TOKEN']}",
    },
)
data = response.json()
The host and token are environment variables: PLAS_BASE_URL the provider’s base URL · PLAS_TOKEN an access token.

Parameters

patronIdrequired
path · string

Patron ID from authentication

Example: 40218873
Shared across operations: version. See the shared contract on the version page.

Responses

200 Success PatronFeeResponseBody
Generated from the schema

Example

{
  "fees": [
    {
      "amount": 15000,
      "createdTime": "2025-03-14T10:24:00+01:00",
      "currency": "NOK",
      "dueDate": "2025-04-11",
      "id": "94549",
      "items": [
        {
          "acquiredFrom": {
            "type": "local_circulation"
          },
          "itemId": "03011042557129",
          "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"
              }
            ]
          }
        }
      ],
      "payableState": "payable",
      "remainingAmount": 1,
      "type": "fee"
    }
  ]
}

Schema

PatronFeeResponseBody

  • feesarray of PatronFeerequired
    Show 9 fieldsHide 9 fields
    • amountintegerrequiredmin 0

      The amount is in minor unit (see ISO 4217).

    • createdTimestring (date-time)required

      The date and time the fee was created.

    • currencystringrequired

      ISO 4217

    • dueDatestring (date)

      The due date of the fee.

    • idstringrequired

      This is the fee ID.

    • The items this fee covers, if they are known.

      Show 3 fieldsHide 3 fields
      • 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.

        See PatronLoanAcquiredFrom in the schema index

      • itemIdstringrequired

        The item identifier of the item that the fee is about.

      • publicationMetadataPublicationFallbackrequired

        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.

        See PublicationFallback in the schema index

    • payableStatestringrequired

      This state tells if the fee can be paid and finalized through this API.

      • payable: The fee is payable, and can be finalized through this API.
      • *not_payable*: The fee cannot be finalized through this API.

      One of: payable · not_payable

    • remainingAmountintegermin 0

      The remaining amount is the amount that is still payable. If this is not equal to amount, part of the fee has been paid.

      The amount is in minor unit (see ISO 4217).

    • typestringrequired

      Defines the type of fee being applied. All fees indicate that the patron should pay, never the other way around.

      The possible values are:

      • fee: Indicates a regular fee, typically for a late checked-in loan.
      • compensation: Indicates a compensation fee, typically applied due to a damaged or lost item.
      • *send_to_debt_collector*: Indicates that the fee has been sent to a debt collector because it was not paid in time.

      One of: fee · compensation · send_to_debt_collector

400 The list of errors. Errors

Shared response, defined once for the whole API. See the shared contract on the version page.

Generated from the schema

Example

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

Schema

Errors

  • errorsarray of Errorrequiredmin items 1

    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 identifier, password or pin code
      • 100011: New password or pin code rejected, because it does not meet the provider's requirements
      • 100013: The provider does not let the patron change the given credential
      • 100023: Patron ID not found
      • 100101: Patron could not be deleted, because the patron has something unresolved issue with the library (this could be anything from a loan to a fee, and so on ...)
      • 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 · 10001 · 71001 · 100001 · 100011 · 100013 · 100023 · 100101 · 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.