# Patron Delete

Provider API v0.6.7 · 3 operasjoner
Kilde: https://plasapi.com/no/provider/v0.6.7/patron-delete/

Deleting a patron from the library, either by patron ID and password, by identifier and password, or through an identity provider. The provider decides whether the patron may be deleted, for example while they still have loans or fees outstanding.

## Delete patron.

`POST` `/patron/delete` · `DeletePatron`

### Eksempel på kall

**cURL**

```bash
curl -X POST "$PLAS_BASE_URL/patron/delete?version=0.6.7" \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  -H "Authorization: Bearer $PLAS_TOKEN" \
  -d '{
  "acknowledgement": {
    "code": "SplxlOBeZQQYbYS6WxSbIA"
  },
  "patron": {
    "identifiedBy": "patron_id",
    "password": "correct-horse-battery",
    "patronId": "40218873"
  }
}'
```

**JavaScript**

```javascript
const response = await fetch(`${process.env.PLAS_BASE_URL}/patron/delete?version=0.6.7`, {
  method: "POST",
  headers: {
    "Accept": "application/json",
    "Content-Type": "application/json",
    "Authorization": `Bearer ${process.env.PLAS_TOKEN}`,
  },
  body: JSON.stringify({
    "acknowledgement": {
      "code": "SplxlOBeZQQYbYS6WxSbIA"
    },
    "patron": {
      "identifiedBy": "patron_id",
      "password": "correct-horse-battery",
      "patronId": "40218873"
    }
  }),
});
const data = await response.json();
```

**Python**

```python
import os
import requests

response = requests.post(
    f"{os.environ['PLAS_BASE_URL']}/patron/delete",
    params={
        "version": "0.6.7",
    },
    headers={
        "Accept": "application/json",
        "Content-Type": "application/json",
        "Authorization": f"Bearer {os.environ['PLAS_TOKEN']}",
    },
    json={
        "acknowledgement": {
            "code": "SplxlOBeZQQYbYS6WxSbIA",
        },
        "patron": {
            "identifiedBy": "patron_id",
            "password": "correct-horse-battery",
            "patronId": "40218873",
        },
    },
)
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.](https://plasapi.com/no/provider/v0.6.7/)

### Request body

`application/json` · påkrevd

[`DeletePatronRequestBody`](https://plasapi.com/no/provider/v0.6.7/schemas/#DeletePatronRequestBody)

### Svar

#### `200` Success

`DeletePatronResponseBody`

Eksempel (Generert fra skjemaet):

```json
{
  "message": "I accept the library’s terms of use.",
  "status": "waiting_for_acknowledgement"
}
```

#### `400` The list of errors.

`Errors`

Felles svar, definert én gang for hele API-et. [Se den felles kontrakten på versjonssiden.](https://plasapi.com/no/provider/v0.6.7/)

Eksempel (Generert fra skjemaet):

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

#### `401` Bearer token invalid, missing, or expired.

Ikke noe innhold i svaret.

Felles svar, definert én gang for hele API-et. [Se den felles kontrakten på versjonssiden.](https://plasapi.com/no/provider/v0.6.7/)

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

`GET` `/patron/delete/identity-provider` · `GetDeletePatronUrl`

### Eksempel på kall

**cURL**

```bash
curl -X GET "$PLAS_BASE_URL/patron/delete/identity-provider?identity_provider=norway_id_portal&code_challenge=E9Melhoa2OwvFrEMTJguCHaoeK1t8URWbuGJSstw-cM&state=af0ifjsldkj&version=0.6.7" \
  -H 'Accept: application/json' \
  -H "Authorization: Bearer $PLAS_TOKEN"
```

**JavaScript**

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

**Python**

```python
import os
import requests

response = requests.get(
    f"{os.environ['PLAS_BASE_URL']}/patron/delete/identity-provider",
    params={
        "identity_provider": "norway_id_portal",
        "code_challenge": "E9Melhoa2OwvFrEMTJguCHaoeK1t8URWbuGJSstw-cM",
        "state": "af0ifjsldkj",
        "version": "0.6.7",
    },
    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_provider` (i `query`, [`ConfigurationPatronIdentityProviderType`](https://plasapi.com/no/provider/v0.6.7/schemas/#ConfigurationPatronIdentityProviderType), påkrevd) — The identity provider type, found in GET /configuration.
- `code_challenge` (i `query`, `string`, påkrevd) — A hashed value (of the code_verifier from a PKCE flow) used to secure the authorization code exchange.
- `state` (i `query`, `string`, påkrevd) — 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 deletion.
- `prompt` (i `query`, `string enum`, valgfri) — If prompt is set to login, the returned url should force a new login, even if the user is already logged in.
- `app_redirect_url` (i `query`, `string (uri)`, valgfri) — This value should be returned to the Vendor on the callback url after deletion.

Felles for operasjonene: `version`. [Se den felles kontrakten på versjonssiden.](https://plasapi.com/no/provider/v0.6.7/)

### Svar

#### `200` Success

`PatronDeletionIdentityProviderResponseBody`

Eksempel (Generert fra skjemaet):

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

#### `400` The list of errors.

`Errors`

Felles svar, definert én gang for hele API-et. [Se den felles kontrakten på versjonssiden.](https://plasapi.com/no/provider/v0.6.7/)

Eksempel (Generert fra skjemaet):

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

#### `401` Bearer token invalid, missing, or expired.

Ikke noe innhold i svaret.

Felles svar, definert én gang for hele API-et. [Se den felles kontrakten på versjonssiden.](https://plasapi.com/no/provider/v0.6.7/)

## Delete patron by code and code verifier from SSO deletion.

`POST` `/patron/delete/identity-provider` · `DeletePatronByCodeAndCodeVerifier`

### Eksempel på kall

**cURL**

```bash
curl -X POST "$PLAS_BASE_URL/patron/delete/identity-provider?version=0.6.7" \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  -H "Authorization: Bearer $PLAS_TOKEN" \
  -d '{
  "code": "SplxlOBeZQQYbYS6WxSbIA",
  "code_verifier": "dBjftJeZ4CVP-mB92K27uhbUJU1p1r_wW1gFWFOEjXk",
  "identity_provider": "norway_id_portal"
}'
```

**JavaScript**

```javascript
const response = await fetch(`${process.env.PLAS_BASE_URL}/patron/delete/identity-provider?version=0.6.7`, {
  method: "POST",
  headers: {
    "Accept": "application/json",
    "Content-Type": "application/json",
    "Authorization": `Bearer ${process.env.PLAS_TOKEN}`,
  },
  body: JSON.stringify({
    "code": "SplxlOBeZQQYbYS6WxSbIA",
    "code_verifier": "dBjftJeZ4CVP-mB92K27uhbUJU1p1r_wW1gFWFOEjXk",
    "identity_provider": "norway_id_portal"
  }),
});
const data = await response.json();
```

**Python**

```python
import os
import requests

response = requests.post(
    f"{os.environ['PLAS_BASE_URL']}/patron/delete/identity-provider",
    params={
        "version": "0.6.7",
    },
    headers={
        "Accept": "application/json",
        "Content-Type": "application/json",
        "Authorization": f"Bearer {os.environ['PLAS_TOKEN']}",
    },
    json={
        "code": "SplxlOBeZQQYbYS6WxSbIA",
        "code_verifier": "dBjftJeZ4CVP-mB92K27uhbUJU1p1r_wW1gFWFOEjXk",
        "identity_provider": "norway_id_portal",
    },
)
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.](https://plasapi.com/no/provider/v0.6.7/)

### Request body

`application/json` · påkrevd

[`DeletePatronByCodeAndCodeVerifierRequestBody`](https://plasapi.com/no/provider/v0.6.7/schemas/#DeletePatronByCodeAndCodeVerifierRequestBody)

### Svar

#### `200` Success

`DeletePatronResponseBody`

Eksempel (Generert fra skjemaet):

```json
{
  "message": "I accept the library’s terms of use.",
  "status": "waiting_for_acknowledgement"
}
```

#### `400` The list of errors.

`Errors`

Felles svar, definert én gang for hele API-et. [Se den felles kontrakten på versjonssiden.](https://plasapi.com/no/provider/v0.6.7/)

Eksempel (Generert fra skjemaet):

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

#### `401` Bearer token invalid, missing, or expired.

Ikke noe innhold i svaret.

Felles svar, definert én gang for hele API-et. [Se den felles kontrakten på versjonssiden.](https://plasapi.com/no/provider/v0.6.7/)
