# API'et

> Hver handling i Adea er et API-kald, med de samme tjek som et klik. OpenAPI-filen viser dem alle.

Source: https://adea.app/da/docs/api

Alt, du kan klikke på i Adea, er en handling, og du kan kalde hver handling over API'et. De samme tjek gælder som ved et klik: din rolle, jeres abonnement, Guardian og credits.

## Adressen

Hver virksomhed har sin egen adresse, og API'et ligger under den:

```text
https://jeres-firma.adea.app/api/v1
```

## Listen over handlinger

OpenAPI-filen beskriver hver handling: navnet, hvad den skal bruge, hvad den giver tilbage, om den kun læser eller også ændrer noget, og hvad den koster.

```sh
curl https://adea.app/api/v1/openapi.json
```

## Kald en handling

Send en `POST` til `/api/v1/actions/{navn}` med inputtet som JSON. For eksempel for at læse rækkerne i en liste:

```sh
curl -X POST https://jeres-firma.adea.app/api/v1/actions/lists.rows \
  -H "Authorization: Bearer $ADEA_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "listId": "..." }'
```

Et kald, der lykkes, giver `ok: true` og resultatet i `data`:

```json
{ "ok": true, "data": { "listId": "...", "name": "...", "statuses": [], "rows": [] }, "changed": [] }
```

Et kald, der ikke lykkes, giver `ok: false` og en `error` med en kode og en besked på almindeligt sprog. De koder, du oftest møder:

| Kode | Det betyder |
|---|---|
| `invalid_input` | Nogle oplysninger er ikke gyldige. Fejlen siger hvilke. |
| `unauthenticated` | Du er ikke logget ind, eller nøglen er ikke gyldig. |
| `forbidden` | Din rolle tillader det ikke. |
| `plan_required` | Handlingen er ikke en del af dit abonnement. |
| `credit_limit` | Månedens Deep credits er brugt. |
| `cost_approval_required` | Arbejdet kræver et grundigere kig og bruger credits. Fortsæt kun, hvis du accepterer prisen. |
| `confirmation_required` | En person skal bekræfte det først. Se nedenfor. |
| `guardian_held` | En administrator skal godkende det først. |
| `rate_limited` | For mange kald på én gang. Vent et minut. |

## Handlinger, der kræver bekræftelse

Nogle handlinger kræver, at en person bekræfter dem: for eksempel alt, der sender data ud af Adea. Et kald til en af dem giver `confirmation_required` med et eksempel på, hvad der ville ske. API'et kan ikke bekræfte på en persons vegne. En person bekræfter i Adea, eller du sender vedkommende linket.

## Nøgler og login

Kald fra den indloggede app bruger din session. Et script bruger en nøgle, sendt som `Authorization: Bearer adea_...`. En nøgle hører til én virksomhed og virker kun på den virksomheds egen adresse. Den handler som den person, der lavede den, med højst den rolle, du giver den, og hvert kald bliver logget.

Du opretter en nøgle under **Indstillinger** og **Udvikler**: vælg et navn, en rolle og hvornår den skal udløbe. Nøglen vises kun én gang, så kopier den, når den dukker op. Kun administratorer og udviklere kan oprette nøgler, en nøgle kan ikke få mere end din egen rolle, og en administrator kan se alles nøgler og slå dem fra. En nøgle holder op med at virke, når personen fjernes fra teamet.

## Webhooks

Vil du have Adea til at kalde din tjeneste, når der sker noget, så se [Webhooks](/da/docs/webhooks).

## Grænser

Kald er begrænset pr. person og pr. nøgle. Går du over, er svaret `rate_limited`.

## Andre veje ind

- [Brug Adea fra din AI-assistent](/da/docs/ai-assistenter): de samme handlinger som værktøjer i Claude, ChatGPT, Grok og Cursor.
- [Markdown til hver side](/llms-full.txt): al den engelske dokumentation i én fil, som en agent kan læse.
