Ingen beskrivelse i spesifikasjonen.

4 operasjoner
POST /patron/authentication

Authenticate patron

Bearer-token AuthenticatePatron

Authenticate patron by credentials.

Eksempel på kall

cURL

curl -X POST "$PLAS_BASE_URL/patron/authentication?version=0.6.5" \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  -H "Authorization: Bearer $PLAS_TOKEN" \
  -d '{
  "identifier": {
    "type": "local",
    "value": "N00012345"
  },
  "password": "correct-horse-battery"
}'

JavaScript

const response = await fetch(`${process.env.PLAS_BASE_URL}/patron/authentication?version=0.6.5`, {
  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"
  }),
});
const data = await response.json();

Python

import os
import requests

response = requests.post(
    f"{os.environ['PLAS_BASE_URL']}/patron/authentication",
    params={
        "version": "0.6.5",
    },
    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",
    },
)
data = response.json()
Verten og tokenet er miljøvariabler: PLAS_BASE_URL providerens adresse · PLAS_TOKEN et access token.

Parametere

Felles for operasjonene: version. Se den felles kontrakten på versjonssiden.

Request body

application/json · påkrevd · PatronAuthenticationRequestBody

Authentication Patron

  • 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åkrevd

      Identifier value. This information may be sensitive.

  • passwordstringpåkrevd

    Password for identifier.

Svar

200 Success PatronAuthenticationResponseBody
Generert fra skjemaet

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"
  }
}

Skjema

PatronAuthenticationResponseBody

  • patronPatronpåkrevd
    Vis 11 felterSkjul 11 felter
    • Vis 4 felterSkjul 4 felter
      • citystringpåkrevd

        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åkrevd

        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åkrevd

      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åkrevd

        Patron email, following RFC 5322.

      • verifiedstring

        Tells the state of verification of the email.

        Én av: yes · no · pending

    • fullNamestringpåkrevd

      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åkrevd

        Identifier value. This information may be sensitive.

    • patronIdstringpåkrevd

      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åkrevd

        Én av: allowed · blocked

      • typestringpåkrevd

        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åkrevd

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

      Vis 4 felterSkjul 4 felter
      • defaultbooleanpåkrevd

        At most one phone number can be marked as default.

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

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

      • typestringpåkrevd

        This tells which type of phone the number is associated with

        Én av: mobile · landline

      • verifiedstring

        Tells the state of verification of the phone number.

        Én av: yes · no · pending

    • pickupLocationPickupLocationpåkrevd

      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

Felles svar, definert én gang for hele API-et. Se den felles kontrakten på versjonssiden.

Generert fra skjemaet

Eksempel

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

Skjema

Errors

  • errorsarray of Errorpåkrevdmin. antall 1

    The first error should always be the most relevant.

    Vis 2 felterSkjul 2 felter
    • codeintegerpåkrevd

      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 av: 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åkrevd

      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.

Felles svar, definert én gang for hele API-et. Se den felles kontrakten på versjonssiden.

Ikke noe innhold i svaret.

POST /patron/authentication/authenticate-token

Authenticate patron by code and code verifier from SSO login.

Bearer-token AuthenticatePatronByCodeAndCodeVerifier

Eksempel på kall

cURL

curl -X POST "$PLAS_BASE_URL/patron/authentication/authenticate-token?version=0.6.5" \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/x-www-form-urlencoded' \
  -H "Authorization: Bearer $PLAS_TOKEN" \
  --data-urlencode 'code=SplxlOBeZQQYbYS6WxSbIA' \
  --data-urlencode 'code_verifier=dBjftJeZ4CVP-mB92K27uhbUJU1p1r_wW1gFWFOEjXk' \
  --data-urlencode 'identity_provider=norway_min_id'

JavaScript

const response = await fetch(`${process.env.PLAS_BASE_URL}/patron/authentication/authenticate-token?version=0.6.5`, {
  method: "POST",
  headers: {
    "Accept": "application/json",
    "Content-Type": "application/x-www-form-urlencoded",
    "Authorization": `Bearer ${process.env.PLAS_TOKEN}`,
  },
  body: new URLSearchParams({
    "code": "SplxlOBeZQQYbYS6WxSbIA",
    "code_verifier": "dBjftJeZ4CVP-mB92K27uhbUJU1p1r_wW1gFWFOEjXk",
    "identity_provider": "norway_min_id",
  }),
});
const data = await response.json();

Python

import os
import requests

response = requests.post(
    f"{os.environ['PLAS_BASE_URL']}/patron/authentication/authenticate-token",
    params={
        "version": "0.6.5",
    },
    headers={
        "Accept": "application/json",
        "Content-Type": "application/x-www-form-urlencoded",
        "Authorization": f"Bearer {os.environ['PLAS_TOKEN']}",
    },
    data={
        "code": "SplxlOBeZQQYbYS6WxSbIA",
        "code_verifier": "dBjftJeZ4CVP-mB92K27uhbUJU1p1r_wW1gFWFOEjXk",
        "identity_provider": "norway_min_id",
    },
)
data = response.json()
Verten og tokenet er miljøvariabler: PLAS_BASE_URL providerens adresse · PLAS_TOKEN et access token.

Parametere

Felles for operasjonene: version. Se den felles kontrakten på versjonssiden.

Request body

application/x-www-form-urlencoded · påkrevd
  • codestringpåkrevd

    The code obtained from a SSO patron authentication.

  • code_verifierstringpåkrevd

    The code verifier use to create the code challenge use to obtained the code.

  • identity_providerstringpåkrevd

    The identity provider type, found in GET /configuration.

    Én av: norway_min_id · norway_id_portal · denmark_mit_id

Svar

200 Success PatronAuthenticationByCodeAndCodeVerifierResponseBody
Generert fra skjemaet

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"
  }
}

Skjema

PatronAuthenticationByCodeAndCodeVerifierResponseBody

  • patronPatronpåkrevd
    Vis 11 felterSkjul 11 felter
    • Vis 4 felterSkjul 4 felter
      • citystringpåkrevd

        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åkrevd

        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åkrevd

      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åkrevd

        Patron email, following RFC 5322.

      • verifiedstring

        Tells the state of verification of the email.

        Én av: yes · no · pending

    • fullNamestringpåkrevd

      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åkrevd

        Identifier value. This information may be sensitive.

    • patronIdstringpåkrevd

      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åkrevd

        Én av: allowed · blocked

      • typestringpåkrevd

        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åkrevd

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

      Vis 4 felterSkjul 4 felter
      • defaultbooleanpåkrevd

        At most one phone number can be marked as default.

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

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

      • typestringpåkrevd

        This tells which type of phone the number is associated with

        Én av: mobile · landline

      • verifiedstring

        Tells the state of verification of the phone number.

        Én av: yes · no · pending

    • pickupLocationPickupLocationpåkrevd

      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

Felles svar, definert én gang for hele API-et. Se den felles kontrakten på versjonssiden.

Generert fra skjemaet

Eksempel

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

Skjema

Errors

  • errorsarray of Errorpåkrevdmin. antall 1

    The first error should always be the most relevant.

    Vis 2 felterSkjul 2 felter
    • codeintegerpåkrevd

      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 av: 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åkrevd

      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.

Felles svar, definert én gang for hele API-et. Se den felles kontrakten på versjonssiden.

Ikke noe innhold i svaret.

POST /patron/authentication/identity-provider

This will fetch a SSO URL used for patron login, matching the chosen identity provider.

Bearer-token GetPatronAuthenticationUrlByIdentityProvider

Eksempel på kall

cURL

curl -X POST "$PLAS_BASE_URL/patron/authentication/identity-provider?identity_provider=norway_min_id&code_challenge=E9Melhoa2OwvFrEMTJguCHaoeK1t8URWbuGJSstw-cM&state=af0ifjsldkj&version=0.6.5" \
  -H 'Accept: application/json' \
  -H "Authorization: Bearer $PLAS_TOKEN"

JavaScript

const response = await fetch(`${process.env.PLAS_BASE_URL}/patron/authentication/identity-provider?identity_provider=norway_min_id&code_challenge=E9Melhoa2OwvFrEMTJguCHaoeK1t8URWbuGJSstw-cM&state=af0ifjsldkj&version=0.6.5`, {
  method: "POST",
  headers: {
    "Accept": "application/json",
    "Authorization": `Bearer ${process.env.PLAS_TOKEN}`,
  },
});
const data = await response.json();

Python

import os
import requests

response = requests.post(
    f"{os.environ['PLAS_BASE_URL']}/patron/authentication/identity-provider",
    params={
        "identity_provider": "norway_min_id",
        "code_challenge": "E9Melhoa2OwvFrEMTJguCHaoeK1t8URWbuGJSstw-cM",
        "state": "af0ifjsldkj",
        "version": "0.6.5",
    },
    headers={
        "Accept": "application/json",
        "Authorization": f"Bearer {os.environ['PLAS_TOKEN']}",
    },
)
data = response.json()
Verten og tokenet er miljøvariabler: PLAS_BASE_URL providerens adresse · PLAS_TOKEN et access token.

Parametere

identity_providerpåkrevd
query · string

The identity provider type, found in GET /configuration.

Eksempel: norway_min_id
code_challengepåkrevd
query · string

A hashed value (of the code_verifier from a PKCE flow) used to secure the authorization code exchange.

Eksempel: E9Melhoa2OwvFrEMTJguCHaoeK1t8URWbuGJSstw-cM
statepåkrevd
query · string

A random string to protect against CSRF and track the request state. The value should be returned to the Vendor on the callback url after login.

Eksempel: af0ifjsldkj
prompt
query · string

If prompt is set to login, the returned url should force a new login, even if the user is already logged in.

Eksempel: login
app_redirect_url
query · string (uri)

This value should be returned to the Vendor on the callback url after login.

Eksempel: https://app.nordby.bibliotek.example/callback
Felles for operasjonene: version. Se den felles kontrakten på versjonssiden.

Svar

200 Success PatronAuthenticationIdentityProviderResponseBody
Generert fra skjemaet

Eksempel

{
  "url": "https://nordby.bibliotek.example/url"
}

Skjema

PatronAuthenticationIdentityProviderResponseBody

  • urlstring (uri)påkrevd
400 The list of errors. Errors

Felles svar, definert én gang for hele API-et. Se den felles kontrakten på versjonssiden.

Generert fra skjemaet

Eksempel

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

Skjema

Errors

  • errorsarray of Errorpåkrevdmin. antall 1

    The first error should always be the most relevant.

    Vis 2 felterSkjul 2 felter
    • codeintegerpåkrevd

      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 av: 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åkrevd

      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.

Felles svar, definert én gang for hele API-et. Se den felles kontrakten på versjonssiden.

Ikke noe innhold i svaret.

POST /patron/authentication/no-password

Authenticate patron without use of a password

Bearer-token AuthenticatePatronNoPassword

Authenticate patron without use of a password. This should only be used when absolutely necessary.

Eksempel på kall

cURL

curl -X POST "$PLAS_BASE_URL/patron/authentication/no-password?version=0.6.5" \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  -H "Authorization: Bearer $PLAS_TOKEN" \
  -d '{
  "identifier": {
    "type": "local",
    "value": "N00012345"
  }
}'

JavaScript

const response = await fetch(`${process.env.PLAS_BASE_URL}/patron/authentication/no-password?version=0.6.5`, {
  method: "POST",
  headers: {
    "Accept": "application/json",
    "Content-Type": "application/json",
    "Authorization": `Bearer ${process.env.PLAS_TOKEN}`,
  },
  body: JSON.stringify({
    "identifier": {
      "type": "local",
      "value": "N00012345"
    }
  }),
});
const data = await response.json();

Python

import os
import requests

response = requests.post(
    f"{os.environ['PLAS_BASE_URL']}/patron/authentication/no-password",
    params={
        "version": "0.6.5",
    },
    headers={
        "Accept": "application/json",
        "Content-Type": "application/json",
        "Authorization": f"Bearer {os.environ['PLAS_TOKEN']}",
    },
    json={
        "identifier": {
            "type": "local",
            "value": "N00012345",
        },
    },
)
data = response.json()
Verten og tokenet er miljøvariabler: PLAS_BASE_URL providerens adresse · PLAS_TOKEN et access token.

Parametere

Felles for operasjonene: version. Se den felles kontrakten på versjonssiden.

Request body

application/json · påkrevd · PatronAuthenticationNoPasswordRequestBody

Authentication Patron without using password

  • 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åkrevd

      Identifier value. This information may be sensitive.

Svar

200 Success PatronAuthenticationNoPasswordResponseBody
Generert fra skjemaet

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"
  }
}

Skjema

PatronAuthenticationNoPasswordResponseBody

  • patronPatronpåkrevd
    Vis 11 felterSkjul 11 felter
    • Vis 4 felterSkjul 4 felter
      • citystringpåkrevd

        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åkrevd

        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åkrevd

      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åkrevd

        Patron email, following RFC 5322.

      • verifiedstring

        Tells the state of verification of the email.

        Én av: yes · no · pending

    • fullNamestringpåkrevd

      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åkrevd

        Identifier value. This information may be sensitive.

    • patronIdstringpåkrevd

      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åkrevd

        Én av: allowed · blocked

      • typestringpåkrevd

        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åkrevd

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

      Vis 4 felterSkjul 4 felter
      • defaultbooleanpåkrevd

        At most one phone number can be marked as default.

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

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

      • typestringpåkrevd

        This tells which type of phone the number is associated with

        Én av: mobile · landline

      • verifiedstring

        Tells the state of verification of the phone number.

        Én av: yes · no · pending

    • pickupLocationPickupLocationpåkrevd

      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

Felles svar, definert én gang for hele API-et. Se den felles kontrakten på versjonssiden.

Generert fra skjemaet

Eksempel

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

Skjema

Errors

  • errorsarray of Errorpåkrevdmin. antall 1

    The first error should always be the most relevant.

    Vis 2 felterSkjul 2 felter
    • codeintegerpåkrevd

      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 av: 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åkrevd

      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.

Felles svar, definert én gang for hele API-et. Se den felles kontrakten på versjonssiden.

Ikke noe innhold i svaret.