> ## Documentation Index
> Fetch the complete documentation index at: https://docs.livingsecurity.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Ældre offentlig API

> Vedligehold eksisterende /api/v1-integrationer, der udveksler en API-adgangsnøgle til et bearer-token.

Denne vejledning omhandler eksisterende `/api/v1`-integrationer, der udveksler en API-adgangsnøgle til et bearer-token. Deres legitimationsoplysninger og anmodningsformat adskiller sig fra den offentlige `/v1`-API.

Til en ny integration bør du starte med [API-hurtigstarten](/da/developers/v1/quickstart) og [Godkendelse](/da/developers/v1/authentication). Den nye `/v1`-API anvender API-nøgler til servicekonti eller OAuth-adgangstokens.

## Før du begynder

Du skal bruge:

* Living Security-adgang, der tillader administration af API-adgangsnøgler
* En API-adgangsnøgle oprettet under **Indstillinger → Access Keys**
* Den engangshemmelighed for adgangsnøglen, der vises, når legitimationsoplysningen oprettes
* API-udsteder-ID'et, som Living Security har leveret sammen med dine legitimationsoplysninger til den offentlige API
* Den regionale basis-URL for den organisation, du integrerer
* Et serverside-runtimemiljø og en secret manager

Hemmeligheder til adgangsnøgler må ikke placeres i browserkode, mobilapps, kildekodestyring, miljøvariabler på klientsiden, tickets eller delte logfiler.

<Note>
  Dialogboksen Access Keys viser engangshemmeligheden, men ikke API-udsteder-ID'et. Hvis Living Security ikke har leveret udsteder-ID'et sammen med dine legitimationsoplysninger til den offentlige API, kan du anmode om det hos [Living Security Support](mailto:support@livingsecurity.com). Udsteder-ID'et er ikke det samme som adgangsnøgle-ID'et eller organisations-ID'et.
</Note>

## Regionale værter

Den ældre kontrakt bruger disse regionale `/api/v1`-produktionsværter:

| Region | Basis-URL |
| - | - |
| USA | `https://api.us-east-1.livingsecurity.ai/api/v1` |
| EU | `https://api.eu-west-1.livingsecurity.ai/api/v1` |

Brug den region, der er tildelt Living Security-organisationen. Skift ikke region for at omgå en autorisations- eller tilgængelighedsfejl.

## Ældre ressourcer

| Ressource | Understøttede handlinger |
| - | - |
| **Mennesker** | Søg efter organisationens personer og hent en persons medlemskab |
| **API-adgangsnøgler** | Opret, list, roter og tilbagekald API-adgangsnøgler |

Brug **Developers → Public API Reference** for den komplette liste over operationer, parametre, anmodninger, svar og skemaer. Hvis en operation ikke findes dér, er den ikke en del af den offentlige API i øjeblikket.

## Godkendelse

Adgang til den offentlige API sker i to trin:

1. Udveksl den hemmelige adgangsnøgle og API-udsteder-ID'et til et kortvarigt bearer-token og et organisations-ID.
2. Send bearer-tokenet og organisations-ID'et med hver API-anmodning.

De påkrævede anmodningshoveder er:

```http theme={null}
Authorization: Bearer <access-token>
x-organization-id: <organization-id>
```

Organisationshovedet skal være den organisation, der returneres ved udvekslingen af adgangsnøglen. En nøgle giver ikke adgang til et vilkårligt organisations-ID.

### TypeScript SDK

Installer den aktuelle hovedversion:

```bash theme={null}
npm install @livingsecurity/sdk@^1
```

Udveksl derefter nøglen, og konfigurer SDK'et:

```typescript theme={null}
import { configure, exchangeAccessKey } from "@livingsecurity/sdk";

const accessKeySecret = process.env.LS_API_ACCESS_KEY_SECRET;
const apiIssuerId = process.env.LS_API_ISSUER_ID;

if (!accessKeySecret || !apiIssuerId) {
  throw new Error("LS_API_ACCESS_KEY_SECRET and LS_API_ISSUER_ID are required");
}

const { accessToken, organizationId } = await exchangeAccessKey(
  accessKeySecret,
  apiIssuerId,
);

configure({
  baseUrl: "https://api.us-east-1.livingsecurity.ai/api/v1",
  accessToken,
  organizationId,
});
```

Brug EU-basis-URL'en til en EU-organisation. SDK-udvekslingen er beregnet til Node.js-runtimemiljøer på serversiden.

### Direkte REST-anmodning

Hvis du udfører udvekslingen uden for SDK'et, skal du sende dets bearer-token og organisations-ID med hver anmodning:

```bash theme={null}
curl --request GET \
  "https://api.us-east-1.livingsecurity.ai/api/v1/people/search?limit=1" \
  --header "Authorization: Bearer $LIVING_SECURITY_BEARER_TOKEN" \
  --header "x-organization-id: $LIVING_SECURITY_ORG_ID" \
  --header "Accept: application/json"
```

Bearer-tokens er kortvarige. Udveksl adgangsnøglen igen, når du skal bruge et nyt token, i stedet for at gemme et bearer-token som en permanent legitimationsoplysning.

## Livscyklus for adgangsnøgler

* Navngiv nøgler efter den integration eller automatisering, der ejer dem.
* Vælg de mindst privilegerede scopes, som formularen til adgangsnøgler tilbyder.
* Gem engangshemmeligheden med det samme; den kan ikke hentes efter oprettelse eller rotation.
* Roter en nøgle via **Indstillinger → Access Keys**, og udrul erstatningen, før du tilbagekalder den gamle legitimationsoplysning.
* Tilbagekald nøgler, der ikke længere bruges, eller hvis hemmelighed kan være blevet eksponeret.
* Brug servicekontonøgler til ikke-menneskelige integrationer, når den nøgletype er tilgængelig for din organisation.

## Paginering

Personsøgning understøtter parametrene `limit`, `cursor`, `offset` og `includeTotal`. Brug helst den cursor, der returneres af det foregående svar, ved sekventiel gennemgang.

* `limit` er som standard 50 og accepterer 1–100.
* `cursor` fortsætter fra et tidligere svar.
* `offset` springer et antal poster over og er som standard 0.
* `includeTotal=true` anmoder om et nøjagtigt filtreret antal; udelad den, når antallet ikke er nødvendigt.

Læs det `pagination`-objekt, som endpointet returnerer. Beregn ikke den næste side ud fra antallet af modtagne rækker, og kombiner ikke uafhængigt paginerede anmodninger for selv at sortere de delvise resultater.

## Fejl

Dokumenterede JSON-fejl har denne generelle form:

```json theme={null}
{
  "statusCode": 400,
  "message": "Validation failed",
  "error": "Bad Request"
}
```

`message` kan være en streng eller en række valideringsmeddelelser.

| Status | Betydning | Svar |
| - | - | - |
| `400` | Ugyldige parametre eller ugyldigt anmodningsindhold | Ret de angivne valideringsfejl |
| `401` | Bearer-token mangler, er ugyldigt eller er udløbet | Udveksl adgangsnøglen igen, og forsøg én gang til |
| `403` | Legitimationsoplysningen mangler tilladelse eller organisationsadgang | Kontrollér nøglens scopes og organisationskontekst |
| `404` | Ressourcen findes ikke i den autoriserede organisation | Kontrollér ressource-ID'et og organisationen |
| `408` | Anmodningen fik timeout | Forsøg igen med afgrænset eksponentiel backoff |
| `429` | Grænsen for antal anmodninger er nået | Vent mindst lige så længe som `Retry-After`, når det er til stede |
| `5xx` | Midlertidig servicefejl | Forsøg sikre læsninger igen med afgrænset eksponentiel backoff |

Den kuraterede kontrakt offentliggør i øjeblikket hverken én universel numerisk grænse for antal anmodninger eller garanterer et svarhoved med anmodnings-ID for alle operationer. Notér UTC-tidspunkt, metode, sti, status og det rensede svarindhold, når du anmoder om support.

Forsøg ikke automatisk at gentage operationer til oprettelse, rotation, tilbagekaldelse eller sletning, medmindre operationen eksplicit dokumenterer idempotens. Kontrollér ressourcens aktuelle tilstand efter en uklar netværksfejl.

## Kompatibilitet og udfasning

V1 udvikles som udgangspunkt additivt. Klienter skal ignorere ukendte svarfelter. En ændring, der bryder kompatibiliteten, kræver en dokumenteret migreringssti; udfasede operationer forbliver i referencen med årsag, erstatning når den findes, og ophørsdato i migreringsperioden.

Fastlås SDK'et til en kompatibel hovedversion, og gennemgå dets udgivelsesnoter, før du opgraderer. Betragt den genererede Public API Reference – ikke førstepartsklienter i appen – som den autoritative kilde til skemaet.

## Offentlig API, MCP og webapplikationen

| Flade | Anvendes til | Kompatibilitetsmodel |
| - | - | - |
| **Offentlig API** | Kundesystemer, partnere og ekstern automatisering | Stabile, versionerede ressourcer |
| **MCP** | AI-værktøjsinteraktioner med tilladelser | Værktøjskontrakter og kompakte strukturerede outputs |
| **Webapplikation** | Menneskelige arbejdsgange i Living Security-produktet | Kontrakter ejet af appen, som kan udvikle sig med brugerfladen |

Se [MCP-integration](/da/integrations/mcp) for at forbinde et AI-værktøj til Living Security.

## Få hjælp

Kontakt [Living Security Support](mailto:support@livingsecurity.com) med:

* Organisation og region
* SDK-navn og -version, hvis det bruges
* UTC-tidsstempel, metode og sti
* HTTP-status og renset fejlindhold

Medsend aldrig hemmeligheder til adgangsnøgler, bearer-tokens eller private kundedata.

## Relateret

<CardGroup cols={2}>
  <Card title="API-adgangsnøgler" icon="key" href="/da/integrations/api-keys">
    Opret, roter og tilbagekald API-legitimationsoplysninger.
  </Card>

  <Card title="MCP-integration" icon="robot" href="/da/integrations/mcp">
    Forbind understøttede AI-værktøjer via Model Context Protocol.
  </Card>
</CardGroup>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.