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

# Opret og hent briefings

> Hent, filtrér, opret og læs mødebriefings gennem Florals offentlige API.

En briefing er struktureret forberedelse til et virksomhedsmøde. Oprettelsen er asynkron. Først opretter du en ventende briefing, derefter henter du dens status, til Floral returnerer færdigt indhold eller en fejltilstand.

## Forudsætninger

Du skal have `meetings:read` for at hente briefings. Oprettelse kræver både `meetings:write` og `contacts:read`, fordi kaldet henviser til en eksisterende aktiv virksomhed i samme arbejdsområde.

Angiv værdierne én gang i din shell, før du kører eksemplerne:

```bash theme={null}
export FLORAL_BASE_URL="https://app.floral.so/api/v1"
export FLORAL_WORKSPACE="dit-arbejdsomraade"
export FLORAL_TOKEN="floral_pat_..."
```

Brug en personlig adgangsnøgle, der er oprettet til arbejdsområdet. Eksemplerne bruger kunstige id'er og værdier. Erstat dem med værdier fra dit arbejdsområde.

<Warning>
  Gem `FLORAL_TOKEN` i et hemmelighedslager uden for lokal udvikling. Læg det aldrig i kildekode eller logs.
</Warning>

## Hent og filtrér briefings

Briefinglisten bruger uigennemsigtig cursor-paginering og kan filtreres efter virksomhed, status og oprettelsestidspunkt.

```bash theme={null}
curl --get --fail-with-body \
  --url "$FLORAL_BASE_URL/workspaces/$FLORAL_WORKSPACE/briefings" \
  --header "Authorization: Bearer $FLORAL_TOKEN" \
  --data-urlencode "companyId=1842" \
  --data-urlencode "status=COMPLETE" \
  --data-urlencode "createdAfter=2026-08-01T00:00:00.000Z" \
  --data-urlencode "createdBefore=2026-08-31T23:59:59.000Z" \
  --data-urlencode "limit=20"
```

De understøttede tilstande er `PENDING`, `IN_PROGRESS`, `COMPLETE` og `FAILED`. Send en `nextCursor`, der ikke er `null`, som næste sides `cursor`.

## Opret en briefing

Brug en unik idempotensnøgle og id'et på en aktiv virksomhed. `additionalContext` er valgfrit og kan indeholde op til 10.000 tegn med afgrænset kontekst til denne briefing.

```bash theme={null}
export BRIEFING_CREATE_KEY="01J5C5F1R8N3M7K2Q0D6T4V9WX"

curl --request POST --fail-with-body --include \
  --url "$FLORAL_BASE_URL/workspaces/$FLORAL_WORKSPACE/briefings" \
  --header "Authorization: Bearer $FLORAL_TOKEN" \
  --header "Content-Type: application/json" \
  --header "Idempotency-Key: $BRIEFING_CREATE_KEY" \
  --data '{
    "companyId": 1842,
    "additionalContext": "Fokusér på udvidelsen til Sverige og det nye driftsteam."
  }'
```

Et gennemført kald giver `202`, en `Location` og en briefing med status `PENDING` eller `IN_PROGRESS`. Gem dens `id` og `ETag`.

## Hent status til briefingen er færdig

Hent briefingen med passende mellemrum. Detaljesvaret indeholder struktureret `content`, når status er `COMPLETE`.

```bash theme={null}
curl --request GET --fail-with-body --include \
  --url "$FLORAL_BASE_URL/workspaces/$FLORAL_WORKSPACE/briefings/512" \
  --header "Authorization: Bearer $FLORAL_TOKEN"
```

Brug eksponentielt backoff mellem kald, og stop ved `COMPLETE` eller `FAILED`. Svarets `ETag` er en uigennemsigtig version til cache og ændringsregistrering.

## Gentag en afbrudt oprettelse

Hvis forbindelsen lukker, før du modtager svaret, sender du samme sti og input igen med samme nøgle:

```bash theme={null}
curl --request POST --fail-with-body --include \
  --url "$FLORAL_BASE_URL/workspaces/$FLORAL_WORKSPACE/briefings" \
  --header "Authorization: Bearer $FLORAL_TOKEN" \
  --header "Content-Type: application/json" \
  --header "Idempotency-Key: $BRIEFING_CREATE_KEY" \
  --data '{
    "companyId": 1842,
    "additionalContext": "Fokusér på udvidelsen til Sverige og det nye driftsteam."
  }'
```

Floral gentager det oprindeligt accepterede resultat i stedet for at starte endnu en oprettelse. Hvis du ændrer virksomhed eller kontekst med samme nøgle, får du `409 IDEMPOTENCY_CONFLICT`.

Floral beskytter skrivekald med to uigennemsigtige værdier:

* Send en unik `Idempotency-Key`, når handlingen kræver det. Et identisk nyt forsøg med samme nøgle gentager resultatet i 24 timer. Hvis nøglen genbruges med et andet kanonisk input til samme handling, får du `409 IDEMPOTENCY_CONFLICT`.
* Send den nyeste stærke `ETag` som `If-Match`, når en eksisterende ressource ændres. En forældet værdi giver `412 VERSION_CONFLICT`, og en manglende værdi giver `428 PRECONDITION_REQUIRED`.

Behold anførselstegnene omkring en `ETag`, og erstat den gemte værdi efter hvert gennemført skrivekald. Se [Driftssikkerhed og nye forsøg](/da/developers/api/reliability) for alle regler om nye forsøg.
