---
sidebar:
  order: 1
title: HTTP-API
description: >-
  Autentificer dig, find værktøjer og bekræft ændringer via det eksisterende HTTP-API.
---

Send anmodninger til produktets API til din betroede Influence-origin, f.eks. `https://influence.so`. Dokumentationsdomænet modtager ikke anmodninger til produktets API. Brug de præcise stier nedenfor uden forespørgselsparametre.

## Opret en API-nøgle med afgrænsede tilladelser [#create-a-scoped-api-key]

Åbn Apps og automatiseringer → API-nøgler i [Influences indstillinger](https://influence.so/sign-in?next=%2Fapp%2Fsettings%2Faccount%23settings-developer). Vælg de tilladelser, du har brug for, og en udløbsdato. Gem nøglen, som kun vises 1 gang, i dit lager til hemmeligheder som `PUBLISH_API_TOKEN`. Send den i `Authorization: Bearer …`. Indsæt den aldrig i en URL, anmodningsindholdet eller en chat. Tilbagekald den, når du ikke længere har brug for den.

## Find værktøjer, og læs konti [#discover-tools-and-make-a-read]

Sæt `PUBLISH_API_URL` til den betroede origin. Eksemplerne forudsætter, at din proces allerede har `PUBLISH_API_TOKEN`. `accountList` kræver `integrations:read`. Følg dets felter til paginering for at hente flere sider.

```sh
export PUBLISH_API_URL="https://influence.so"
curl "$PUBLISH_API_URL/api/v1/tools" \
  -H "Authorization: Bearer $PUBLISH_API_TOKEN"

curl "$PUBLISH_API_URL/api/v1/tools/accountList/call" \
  -H "Authorization: Bearer $PUBLISH_API_TOKEN" \
  -H 'Content-Type: application/json' \
  --data '{"input":{}}'
```

## Anmodningsstier [#request-paths]

| Metode | Sti | Formål |
| --- | --- | --- |
| `GET` | `/api/v1/tools` | Vis de værktøjer, der er tilgængelige med disse legitimationsoplysninger. |
| `POST` | `/api/v1/tools/{tool}/call` | Kald et værktøj, der ikke kræver bekræftelse, herunder fortsættelse af autoriserede uploads. |
| `POST` | `/api/v1/tools/{tool}/prepare` | Forbered en præcis skrivehandling uden at udføre den. |
| `POST` | `/api/v1/tools/{tool}/confirm` | Bekræft den forberedte skrivehandling. |
| `POST` | `/api/v1/media/import` | Bekræft en forberedt upload af et lille binært billede. |

JSON-anmodninger til værktøjer bruger `Content-Type: application/json` og anmodningsindhold, der kun indeholder `input`: `{"input":{…}}`. Hent inputskemaet til hvert værktøj fra det aktuelle værktøjskatalog.

## Forbered og bekræft handlinger [#prepare-and-confirm-actions]

Brug katalogets felt `confirmation`. Læsninger kræver normalt ingen bekræftelse, mens en opdatering af Indsigt kræver bekræftelse, selv om det er en læsning. Opslag af uploaddele samt fuldførelse og annullering fortsætter en allerede autoriseret upload via `/call`.

1. Send det præcise forretningsinput til `/prepare`. Et vellykket svar indeholder `status: "confirmation_required"`, `confirmationCapability`, `expiresAt`, `inputDigest` og eventuelt `summary`.
2. Send samme input til `/confirm` før udløb. Sæt den returnerede capability i `X-Publish-Confirmation` og en ny nøgle, der er genereret af den kaldende klient, i `Idempotency-Key`.
3. Behold input, capability og nøgle samlet. Genbrug alle 3 til den samme anmodning efter en afbrudt eller usikker bekræftelse. Forbered ikke en erstatning for at genoprette et usikkert resultat.

En idempotensnøgle indeholder 16–200 tegn fra `A–Z`, `a–z`, `0–9`, `.`, `_`, `:` og `-`. Bekræftelses-capabilities er hemmelige værdier, der skal bruges ufortolket. En nøgle, der sendes til `/call` eller `/prepare`, reserverer ikke en bekræftet skrivehandling.

Transportbekræftelse er adskilt fra godkendelse til udgivelse. Ved udgivelse eller ændring af udgivelsestidspunktet skal du vise hele den aktuelle gennemgang: konti, tekst, indstillinger, faktiske medieforhåndsvisninger eller links, planlagt tidspunkt og tidszone. Klienten kan angive en ny, udtrykkelig godkendelse fra et menneske med `approval: "approved"` for kvalificerede gennemgange af tekst, billeder og videoer til sociale medier. Den må ikke opfinde samtykke eller behandle forberedelse som godkendelse. Influence registrerer dette som en godkendelse, der er indberettet af klienten. Et understøttet indlejret kort eller en gennemgang i Influence, mens personen er logget ind, registrerer den menneskelige handling særskilt.

TikTok Direct accepterer udtrykkelige valg og samtykke i chatten via [gennemgangsforløbet](/da/developers/mcp#prepare-finished-content). Gem alle valg med `campaignReview`, og indhent derefter en ny godkendelse af den opdaterede gennemgang før udførelse. Et gennemgangskort er valgfrit. Almindelig planlægning af udgivelse via API/CLI bruger ikke kvoten for AI-planlagt udgivelse. Den særskilte [kvote for MCP og Influence IQ](/da/help/ai-assistants#scheduling-allowance) følger disse forløb, selv når en gemt AI-gennemgang senere godkendes i Influence. Andre krav fra abonnementet og udbyderen gælder stadig. Læs den gemte kvittering, før du handler videre. `needs_review` kræver afklaring, ikke en ny afsendelse.

## Håndter fejl og usikre resultater [#handle-errors-and-uncertain-results]

Kontrollér både HTTP-status og svarindhold. Vellykkede værktøjskald returnerer `{"ok":true,"toolName":"…","output":{…}}`. Værktøjsfejl returnerer `{"ok":false,"toolName":"…","error":{"code":"…","message":"…","retryable":false}}` og kan modtages med HTTP 200. Transportfejl bruger `{"error":{"code":"…","message":"…","retryable":false}}` uden `ok` eller `toolName`.

401 betyder, at autentificering er påkrævet. Kontrollér udløb eller tilbagekaldelse. En manglende tilladelse kræver den rette adgangstildeling, ikke gentagne anmodninger. 503 kan betyde, at tjenesten er utilgængelig, eller at en anden anmodning om planlægning af udgivelse opdaterer arbejdsområdet. Følg den returnerede fejlkode og vejledningen til nye forsøg. Gentag ikke automatisk en udgivelseshandling. En timeout beviser ikke, at en skrivehandling mislykkedes. Behold dens bekræftelsesdata, og læs den aktuelle status, før du sender igen. Accepteret, planlagt og udgivet er forskellige resultater.

## Upload medier [#upload-media]

Foretræk SDK’ets `uploadMedia` eller CLI’ens `media:upload` til lokale filer. De bruger de samme værktøjer til multipart-upload og bevarer en stabil `clientKey` til nye forsøg. Et resultat kan kun vedhæftes, når det er klart til brug og har et `assetId`. Brug `mediaImport` med `url` og eventuelt `name` til et autoriseret HTTPS-link. Reelle filreferencer fra værtsmiljøet bruger det særskilte `file`-objekt. En offentlig URL behøver ikke et opdigtet fil-ID fra værtsmiljøet. En lokal filsti er ikke en download-URL. Se [mediegrænser](/da/help/media): import af video via HTTPS er begrænset til 250 MiB, selv når en større MP4-fil, der er klar til brug, ville være tilladt ved direkte upload.

`POST /api/v1/media/import` understøtter den eksisterende transport af små billeder. Forbered `mediaImport` med den præcise uploadbeskrivelse, og send derefter de samme bytes som `application/octet-stream`. Medtag `X-Publish-Confirmation`, `Idempotency-Key` og `X-Publish-Upload`, som indeholder den URI-kodede JSON-beskrivelse. Bytes skal svare til dens størrelse og SHA-256. Denne transport er begrænset til 3 MiB. Brug uploadhjælperen til større understøttede filer. Upload godkender aldrig udgivelse.

[Gennemse API-referencen](/da/api-reference), eller [download OpenAPI-specifikationen](/specs/influence.openapi.json).
