> ## 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.

# Arbejd med virksomheder

> Hent, opret, opdatér, arkivér og gendan virksomheder gennem Florals offentlige API.

Virksomhedshandlingerne synkroniserer godkendte profilfelter, mens Floral bevarer et stabilt virksomheds-id. Ved oprettelse med et dansk CVR kan Floral returnere den kanoniske virksomhed, der allerede findes i arbejdsområdet.

## Forudsætninger

Du skal have `contacts:read` for at hente virksomheder og `contacts:write` for at oprette eller ændre dem. Metadata, brugerdefinerede felter, arkivering og gendannelse kræver også Work. Hent de tilgængelige virksomhedsfelter fra endpointet med feltdefinitioner, før du skriver `customFields`.

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 virksomheder

Virksomhedslisten bruger cursor-paginering. Som standard returneres aktive virksomheder sorteret efter seneste opdatering.

```bash theme={null}
curl --get --fail-with-body \
  --url "$FLORAL_BASE_URL/workspaces/$FLORAL_WORKSPACE/companies" \
  --header "Authorization: Bearer $FLORAL_TOKEN" \
  --data-urlencode "status=active" \
  --data-urlencode "lifecycleStage=PROSPECT" \
  --data-urlencode "sort=name-asc" \
  --data-urlencode "limit=20"
```

Send en `nextCursor`, der ikke er `null`, tilbage som `cursor` for at hente næste side. Undersøg eller konstruér ikke cursor-værdier.

## Opret eller find en virksomhed

Opret en virksomhed med en unik idempotensnøgle. Når du medtager `organizationNumber`, kan Floral returnere arbejdsområdets kanoniske virksomhed med dette CVR i stedet for at oprette en dublet.

```bash theme={null}
export COMPANY_CREATE_KEY="01J5C2R6X4T7A9N3K8M1Q0V2WP"

curl --request POST --fail-with-body --include \
  --url "$FLORAL_BASE_URL/workspaces/$FLORAL_WORKSPACE/companies" \
  --header "Authorization: Bearer $FLORAL_TOKEN" \
  --header "Content-Type: application/json" \
  --header "Idempotency-Key: $COMPANY_CREATE_KEY" \
  --data '{
    "name": "Nordhavn Robotics",
    "organizationNumber": "12345678",
    "website": "https://nordhavn-robotics.example",
    "industry": "Industriel automation",
    "employeeCount": 85,
    "lifecycleStage": "PROSPECT",
    "metadata": {
      "source": "partner_sync"
    },
    "customFields": {
      "account_tier": "growth"
    }
  }'
```

Et gennemført kald giver `201`, en `Location`-header, en `ETag` og det fulde virksomhedssvar. Gem virksomhedens `id` og `ETag`.

## Opdatér delvist

Hent virksomhedsdetaljen, og kopiér svarets `ETag`, før du ændrer den:

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

Send kun de felter, der skal ændres. Udeladte felter forbliver uændrede. En udtrykkelig `null` rydder et valgfrit profilfelt eller én brugerdefineret feltværdi.

```bash theme={null}
export COMPANY_ETAG='"v1.ZXhhbXBsZS1jb21wYW55"'

curl --request PATCH --fail-with-body --include \
  --url "$FLORAL_BASE_URL/workspaces/$FLORAL_WORKSPACE/companies/1842" \
  --header "Authorization: Bearer $FLORAL_TOKEN" \
  --header "Content-Type: application/json" \
  --header "If-Match: $COMPANY_ETAG" \
  --data '{
    "lifecycleStage": "CUSTOMER",
    "employeeCount": 92,
    "phone": null,
    "customFields": {
      "account_tier": "enterprise",
      "former_region": null
    }
  }'
```

Svaret indeholder en ny `ETag`. Erstat den gemte værdi før næste opdatering.

## Arkivér og gendan

Arkivering er en ændring, der kan fortrydes. Den kræver både seneste `ETag` og en unik idempotensnøgle.

```bash theme={null}
export COMPANY_ARCHIVE_KEY="01J5C3A7V8F4Q2N6D9K0M1R5TX"

curl --request POST --fail-with-body --include \
  --url "$FLORAL_BASE_URL/workspaces/$FLORAL_WORKSPACE/companies/1842/archive" \
  --header "Authorization: Bearer $FLORAL_TOKEN" \
  --header "Idempotency-Key: $COMPANY_ARCHIVE_KEY" \
  --header "If-Match: $COMPANY_ETAG"
```

Gem arkiveringssvarets `ETag`. Gendan samme stabile virksomheds-id med værdien og en ny nøgle:

```bash theme={null}
export ARCHIVED_COMPANY_ETAG='"v1.ZXhhbXBsZS1hcmNoaXZlZA"'
export COMPANY_RESTORE_KEY="01J5C3N8P7W2H4Y6B9Q0K1M5DZ"

curl --request POST --fail-with-body --include \
  --url "$FLORAL_BASE_URL/workspaces/$FLORAL_WORKSPACE/companies/1842/restore" \
  --header "Authorization: Bearer $FLORAL_TOKEN" \
  --header "Idempotency-Key: $COMPANY_RESTORE_KEY" \
  --header "If-Match: $ARCHIVED_COMPANY_ETAG"
```

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.
