# Search API v0.6.5

6 grupper · 8 operasjoner · 8 stier · 147 skjemaer
Kilde: https://plas.redia.dk/no/search/v0.6.5/

Det lesende oppslagsgrensesnittet. Søk og hent verk, utgivelser, aktører og forslag gjennom ett spørrespråk.

Generert fra `search_v0_6_5.yaml` · OpenAPI 3.0.0

- **Implementeres av:** Bibliotekssystemet — eller en søketjeneste foran det
- **Kalles av:** Alt som viser en katalog — apper, nettsteder, automater
- **Profil av Provider API:** [8 av de 54 operasjonene i Provider API](https://plas.redia.dk/no/provider/v0.6.5/)

Search API-et er katalogens leseside: åtte `GET`-operasjoner over verk
(`work`), utgivelser (`publication`), aktører (`agent`) og forslag
(`suggestions`), pluss konfigurasjonen som forteller hva provideren støtter.

Flaten er **lesende alene**. Det finnes ingen operasjon som skriver, og det er
grunnen til at den kan stå for seg: en søkeopplevelse kan bygges én gang og
flyttes mellom bibliotekssystemer uten å røre resten av integrasjonen.

## Slik integrerer du

Autentisering, base-URL og `version`-parameteren er de samme som i Provider
API-et — samme `POST /authentication/oauth2/token`, samme `Bearer`-token. Her
deklarerer spesifikasjonen dessuten to scopes, `read` og `write`, der Provider
API-et ikke har noen.

Start med `GET /configuration/search`. Den sier hva provideren faktisk støtter
av felter og operatorer, og det er billigere å lese enn å gjette.

## Forholdet til Provider API

Search API er en **profil** av Provider API: alle åtte operasjonene finnes også
der, med samme `operationId`, metode og sti. Forskjellen er ikke innholdet, men
omfanget — en leverandør kan implementere søk alene uten å implementere
låntakere, lån og beholdning.

Bygger du et produkt mot et bibliotekssystem som allerede har hele Provider
API-et, kan du kalle operasjonene begge steder. Velg denne referansen når det
bare er søk som er i spill; den er kortere å lese.

## Felles for operasjonene

Disse definisjonene refereres av mange operasjoner. De er dokumentert ett sted her; en operasjon viser bare det som er dens eget, pluss kodene den kan svare med.

### Autentisering

- `BearerAuth` · `oauth2` · Flow: `clientCredentials` · Token-URL: `/authentication/oauth2/token`

### Parametere

- `version` (i `query`, [`Version`](https://plas.redia.dk/no/search/v0.6.5/schemas/#Version), valgfri, brukes av 7 av 8) — The version of Open Library the vendor expects to receive, if this version isn't supported by the provider an error code 600 (Unsupported Open Library API version) is returned.
- `ui_language` (i `query`, `string`, valgfri, brukes av 6 av 8) — The UI language the provider will return the content in.

All ui language codes should be on this list https://www.loc.gov/marc/languages/


### Feilsvar

- `HttpCode400` ([`Errors`](https://plas.redia.dk/no/search/v0.6.5/schemas/#Errors), brukes av 7 av 8) — The list of errors.
- `HttpCode401Bearer` (`Ikke noe innhold i svaret.`, brukes av 7 av 8) — Bearer token invalid, missing, or expired.
- `HttpCode404` (`Ikke noe innhold i svaret.`, brukes av 6 av 8) — Resource not found.
- `HttpCode401UnauthorizedOAuthLogin` (`Ikke noe innhold i svaret.`, brukes av 0 av 8) — Unauthorized login.

## Alle grupper

- [Version](https://plas.redia.dk/no/search/v0.6.5/version/) — 1 operasjon
- [Configuration](https://plas.redia.dk/no/search/v0.6.5/configuration/) — 1 operasjon
- [Work](https://plas.redia.dk/no/search/v0.6.5/work/) — 2 operasjoner
- [Publication](https://plas.redia.dk/no/search/v0.6.5/publication/) — 1 operasjon
- [Suggestion](https://plas.redia.dk/no/search/v0.6.5/suggestion/) — 1 operasjon
- [Agent](https://plas.redia.dk/no/search/v0.6.5/agent/) — 2 operasjoner
- [Skjemaindeks](https://plas.redia.dk/no/search/v0.6.5/schemas/) — 147 skjemaer
