# Patron Delete

Provider API v0.6.7 · 3 operationer
Kilde: https://plasapi.com/da/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å kald

**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()
```

Værten og tokenet er miljøvariabler: `PLAS_BASE_URL` providerens adresse · `PLAS_TOKEN` et access token.

### Parametre

Fælles for operationerne: `version`. [Se den fælles kontrakt på versionssiden.](https://plasapi.com/da/provider/v0.6.7/)

### Request body

`application/json` · påkrævet

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

### Svar

#### `200` Success

`DeletePatronResponseBody`

Eksempel (Genereret ud fra skemaet):

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

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

`Errors`

Fælles svar, defineret én gang for hele API’et. [Se den fælles kontrakt på versionssiden.](https://plasapi.com/da/provider/v0.6.7/)

Eksempel (Genereret ud fra skemaet):

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

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

Intet indhold i svaret.

Fælles svar, defineret én gang for hele API’et. [Se den fælles kontrakt på versionssiden.](https://plasapi.com/da/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å kald

**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()
```

Værten og tokenet er miljøvariabler: `PLAS_BASE_URL` providerens adresse · `PLAS_TOKEN` et access token.

### Parametre

- `identity_provider` (i `query`, [`ConfigurationPatronIdentityProviderType`](https://plasapi.com/da/provider/v0.6.7/schemas/#ConfigurationPatronIdentityProviderType), påkrævet) — The identity provider type, found in GET /configuration.
- `code_challenge` (i `query`, `string`, påkrævet) — A hashed value (of the code_verifier from a PKCE flow) used to secure the authorization code exchange.
- `state` (i `query`, `string`, påkrævet) — 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.

Fælles for operationerne: `version`. [Se den fælles kontrakt på versionssiden.](https://plasapi.com/da/provider/v0.6.7/)

### Svar

#### `200` Success

`PatronDeletionIdentityProviderResponseBody`

Eksempel (Genereret ud fra skemaet):

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

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

`Errors`

Fælles svar, defineret én gang for hele API’et. [Se den fælles kontrakt på versionssiden.](https://plasapi.com/da/provider/v0.6.7/)

Eksempel (Genereret ud fra skemaet):

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

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

Intet indhold i svaret.

Fælles svar, defineret én gang for hele API’et. [Se den fælles kontrakt på versionssiden.](https://plasapi.com/da/provider/v0.6.7/)

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

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

### Eksempel på kald

**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()
```

Værten og tokenet er miljøvariabler: `PLAS_BASE_URL` providerens adresse · `PLAS_TOKEN` et access token.

### Parametre

Fælles for operationerne: `version`. [Se den fælles kontrakt på versionssiden.](https://plasapi.com/da/provider/v0.6.7/)

### Request body

`application/json` · påkrævet

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

### Svar

#### `200` Success

`DeletePatronResponseBody`

Eksempel (Genereret ud fra skemaet):

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

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

`Errors`

Fælles svar, defineret én gang for hele API’et. [Se den fælles kontrakt på versionssiden.](https://plasapi.com/da/provider/v0.6.7/)

Eksempel (Genereret ud fra skemaet):

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

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

Intet indhold i svaret.

Fælles svar, defineret én gang for hele API’et. [Se den fælles kontrakt på versionssiden.](https://plasapi.com/da/provider/v0.6.7/)
