No description in the specification.

1 operation
POST /patron/{patronId}/delete

Delete patron

Bearer token DeletePatron

Delete all patron data at the LMS.

The vendor should at the same time also deleted all patron data at the vendor.

Example request

cURL

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

JavaScript

const response = await fetch(`${process.env.PLAS_BASE_URL}/patron/40218873/delete?version=0.6.4`, {
  method: "POST",
  headers: {
    "Accept": "application/json",
    "Content-Type": "application/json",
    "Authorization": `Bearer ${process.env.PLAS_TOKEN}`,
  },
  body: JSON.stringify({
    "acknowledgement": {
      "code": "SplxlOBeZQQYbYS6WxSbIA"
    },
    "patron": {
      "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/40218873/delete",
    params={
        "version": "0.6.4",
    },
    headers={
        "Accept": "application/json",
        "Content-Type": "application/json",
        "Authorization": f"Bearer {os.environ['PLAS_TOKEN']}",
    },
    json={
        "acknowledgement": {
            "code": "SplxlOBeZQQYbYS6WxSbIA",
        },
        "patron": {
            "identifier": {
                "type": "local",
                "value": "N00012345",
            },
            "password": "correct-horse-battery",
        },
    },
)
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.

Request body

application/json · required · DeletePatronRequestBody
  • acknowledgementobject

    This is used to acknowledge the deletion of the patron.

    This is used to delete a patron, if an identity provider was used for login (when we can not validated the patron through identifier and password).

    Show 1 fieldHide 1 field
    • codestringrequired

      This should be the acknowledgement code from the response.

  • patronobjectrequired

    When the patron is not logge in through an identity provider, we use identifier and password (even if the password was not used at login).

    Show 2 fieldsHide 2 fields
    • Show 2 fieldsHide 2 fields
      • typestring

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

        It is recommended to use one of the following types:

        • 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".
      • valuestringrequired

        Identifier value. This information may be sensitive.

    • passwordstringrequired

      Password for identifier.

Responses

200 Success DeletePatronResponseBody
Generated from the schema

Example

{
  "acknowledgement": {
    "code": "SplxlOBeZQQYbYS6WxSbIA",
    "message": "I accept the library’s terms of use."
  },
  "status": "waiting_for_acknowledgement"
}

Schema

DeletePatronResponseBody

  • acknowledgementobject

    This contains the acknowledgement code, that should be used to begin deletion process.

    Show 2 fieldsHide 2 fields
    • codestringrequired

      This code must be included in the next deletion requested for the deletion process to begin.

      The code is only be valid for the patronId that were used in the first deletion request.

    • messagestring

      Message to the patron.

  • statusstringrequired

    This tells the state of the deletion of the patron.

    The status can be:

    • waiting_for_acknowledgement, to begin the deleting process, call the deletion endpoint with the acknowledgement code.
    • pending, the deletion request is acknowledged, and we are waiting on the process to begin.
    • in_process, the deletion process is in progress.
    • done, the deletion process is done (meaning the patronId does not exist).
    • deletion_error, the deletion process failed.

    One of: waiting_for_acknowledgement · pending · in_progress · done · deletion_error

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 username or password
      • 100023: Patron ID not found
      • 100211: maxNumberOfEmailAddresses exceeded
      • 100215: maxNumberOfPhoneNumbers exceeded
      • 100221: Pickup location cannot contain sections
      • 100411: Updating patron consent failed
      • 100611: Updating patron notification settings failed
      • 101001: Reservation ID not found
      • 101047: Branch ID cannot be used as pick up branch
      • 101053: Section ID cannot be used as pick up branch
      • 102001: Loan ID not found
      • 102301: Loan not renewable, because it is an interlibrary loan
      • 102311: Loan not renewable, because it is reserved
      • 110001: Branch ID not found
      • 200001: Publication ID not found
      • 200077: ui language not supported
      • 200101: missing required query parameter
      • 200103: invalid/unsupported query parameter value
      • 300001: Initialize payment should not be used
      • 300005: Initialize payment should be used
      • 300009: Payment method not supported
      • 300013: Payment method does not support partial payment
      • 300301: Finalized payment can not de changed
      • 300311: FinalizePaymentRequest.fees contains fees with the same ID
      • 310001: Loan history ID not found
      • 310011: Loan history ID already exists
      • 330001: List ID not found
      • 330011: List ID already exists
      • 330101: List item ID not found
      • 330111: List item ID already exists

      One of: 500 · 600 · 100001 · 100023 · 100211 · 100215 · 100221 · 100411 · 100611 · 101001 · 101047 · 101053 · 102001 · 102301 · 102311 · 110001 · 200001 · 200077 · 200101 · 200103 · 300001 · 300005 · 300009 · 300013 · 300301 · 300311 · 310001 · 310011 · 330001 · 330011 · 330101 · 330111

    • infostringrequired

      Starts with the text matching the error code field (defined above), and a describing text could be added.

401 Bearer token invalid, missing, or expired.

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

No response body.

404 Resource not found.

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

No response body.