Your AI Connector Docs

API-nøgle-API

Disse slutpunkter lader dig administrere din kontos API-nøgler via kode. De opererer alle kun på den kaldende kontos egne nøgler.

Der findes to typer nøgler, og de findes på separate stier:

  • Din hovednøgle — den enkelte nøgle med fuld adgang under Indstillinger → Integrationer → API-nøgle. Slå dens maskerede forhåndsvisning op, tjek dit forbrug af hastighedsbegrænsning, roter den eller tilbagekald den. Dette er /api-keys/current, /api-keys/rotate og /api-keys/usage slutpunkterne nedenfor.
  • Omfangsbegrænsede nøgler — ekstra, navngivne nøgler, som du opretter til en specifik opgave, hver især begrænset til de dele af API’et, du vælger. Dette er /api-keys og /api-keys/{id} slutpunkterne under Omfangsbegrænsede nøgler. Intet ved din hovednøgle ændres, når du opretter en; eksisterende integrationer fortsætter uberørt.

Alle stier herunder er relative til API’ets base-URL:

https://api.youraiconnector.com/v1

Enhver anmodning skal godkendes. Se Godkendelse for de fire accepterede metoder. Eksemplerne her bruger X-API-Key-headeren (og én forespørgselsparameter-form til cURL).

Læs dette først. Roterende eller tilbagekaldelse af din nøgle træder i kraft øjeblikkeligt. I det øjeblik et af disse kald lykkes, holder den gamle nøgle op med at virke — enhver integration, der stadig bruger den, begynder at modtage 401-fejl. Planlæg det: roter i et vedligeholdelsesvindue og opdater alle dine integrationer med det samme.


Hent aktuelle nøglemetadata

Returnerer din aktive nøgle: den fulde nøgle i api_key, når en kopi, der kan hentes, findes, et maskeret eksempel (første 4 og sidste 4 tegn), og når tilgængelig, datoen for oprettelsen. api_key er null for nøgler oprettet før kopier, der kan hentes, blev gemt — roter én gang, og den nye nøgle kan vises igen senere.

GET /api-keys/current

cURL

curl "https://api.youraiconnector.com/v1/api-keys/current?apiKey=YOUR_API_KEY"

JavaScript

const res = await fetch("https://api.youraiconnector.com/v1/api-keys/current", {
  headers: { "X-API-Key": "YOUR_API_KEY" },
});
const data = await res.json();

Python

import requests

res = requests.get(
    "https://api.youraiconnector.com/v1/api-keys/current",
    headers={"X-API-Key": "YOUR_API_KEY"},
)
data = res.json()

Svar

{
  "success": true,
  "api_key": "abcdEFGH1234ijkl5678MNOP9012qrst",
  "api_key_masked": "abcd...qrst",
  "created_at": "2026-06-01T10:00:00.000Z"
}

Hvis kontoen ikke har nogen API-nøgle, er svaret 404 med { "success": false, "error": "No API key found for this account" }.


Hent forbrug af hastighedsbegrænsning

Returnerer dit forbrug af hastighedsbegrænsning for det aktuelle vindue: anmodningsgrænsen pr. vindue, hvor mange anmodninger der er talt indtil videre, hvor mange der er tilbage, og hvornår vinduet nulstilles. Brug dette til at bygge klient-side throttling, så din integration drosler ned, før den rammer 429-svar.

GET /api-keys/usage

cURL

curl "https://api.youraiconnector.com/v1/api-keys/usage" \
  -H "X-API-Key: YOUR_API_KEY"

JavaScript

const res = await fetch("https://api.youraiconnector.com/v1/api-keys/usage", {
  headers: { "X-API-Key": "YOUR_API_KEY" },
});
const data = await res.json();

Python

import requests

res = requests.get(
    "https://api.youraiconnector.com/v1/api-keys/usage",
    headers={"X-API-Key": "YOUR_API_KEY"},
)
data = res.json()

Svar

{
  "success": true,
  "usage": {
    "limit": 300,
    "window_seconds": 60,
    "used": 37,
    "remaining": 263,
    "window_resets_at": "2026-06-09T12:01:00.000Z"
  }
}

Hvis der endnu ikke er registreret nogen anmodninger i det aktuelle vindue, rapporteres forbruget som nul, og svaret inkluderer et note-felt, der forklarer hvorfor.


Roter nøglen

Genererer en ny API-nøgle og ugyldiggør den forrige i samme trin. Brug dette, hvis du har mistanke om, at din nøgle er lækket, eller som en del af en regelmæssig politik for rotation af legitimationsoplysninger.

POST /api-keys/rotate

Den nye nøgle vises kun én gang. Den returneres i dette svar og kan ikke hentes i sin helhed efterfølgende – gem den sikkert i det øjeblik, du modtager den. Den forrige nøgle holder op med at fungere, så snart dette kald lykkes, så opdater alle integrationer, der brugte den.

cURL

curl -X POST "https://api.youraiconnector.com/v1/api-keys/rotate?apiKey=YOUR_API_KEY"

JavaScript

const res = await fetch("https://api.youraiconnector.com/v1/api-keys/rotate", {
  method: "POST",
  headers: { "X-API-Key": "YOUR_API_KEY" },
});
const data = await res.json();
// Save data.api_key now — it will not be shown again.

Python

import requests

res = requests.post(
    "https://api.youraiconnector.com/v1/api-keys/rotate",
    headers={"X-API-Key": "YOUR_API_KEY"},
)
data = res.json()
# Save data["api_key"] now — it will not be shown again.

Svar

{
  "success": true,
  "api_key": "abcdEFGH1234ijkl5678MNOP9012qrst",
  "message": "API key rotated. The previous key is no longer valid. Store this key now — it will not be shown again."
}

Tilbagekald nøglen

Sletter permanent din kontos API-nøgle. Tilbagekaldelse sker øjeblikkeligt: enhver efterfølgende anmodning, der bruger den tilbagekaldte nøgle – inklusive integrationer som Make, Zapier eller brugerdefinerede scripts – afvises med en 401. For at gendanne API-adgang bagefter skal du generere en ny nøgle fra dine kontoindstillinger, mens du er logget ind i appen.

DELETE /api-keys/current

Der er ingen fortrydelsesmulighed. I modsætning til rotation giver tilbagekaldelse dig ikke en erstatningsnøgle. Tilbagekald kun, når du har til hensigt at stoppe API-adgangen (for eksempel en lækket nøgle, som du ikke umiddelbart kan erstatte).

cURL

curl -X DELETE "https://api.youraiconnector.com/v1/api-keys/current" \
  -H "X-API-Key: YOUR_API_KEY"

JavaScript

const res = await fetch("https://api.youraiconnector.com/v1/api-keys/current", {
  method: "DELETE",
  headers: { "X-API-Key": "YOUR_API_KEY" },
});
const data = await res.json();

Python

import requests

res = requests.delete(
    "https://api.youraiconnector.com/v1/api-keys/current",
    headers={"X-API-Key": "YOUR_API_KEY"},
)
data = res.json()

Svar

{
  "success": true,
  "revoked": true,
  "message": "API key revoked. All requests using it will be rejected immediately."
}

Hvis kontoen ikke har nogen nøgle at tilbagekalde, er svaret 404.


Omfangsbegrænsede nøgler

En omfangsbegrænset nøgle er en ekstra API-nøgle, du opretter til en specifik opgave, som kun har den adgang, opgaven kræver. Det klassiske eksempel: Du vil forbinde et klient-dashboard, et rapporteringsværktøj eller et internt script til din konto uden at udlevere en nøgle, der også kan sende beskeder, ændre dine AI-agenter eller købe et telefonnummer.

Begrænsningen følger selve nøglen, så den, der besidder den, kun kan gøre det, du tillod, da du oprettede den.

Hvad du kan begrænse

Felt Hvad det betyder
read_only true (standard) betyder, at kun læseanmodninger er tilladt. Enhver oprettelse, opdatering eller sletning afvises.
tags Listen over API-sektioner, som nøglen må bruge, skrevet med de samme sektionsnavne, som du ser i disse dokumenter og i API-udforskerenAnalytics, Campaigns, Contacts, Messages, Appointments osv. En tom liste betyder alle sektioner.
sub_account_ids Hvilke administrerede konti nøglen må handle på. Tom betyder kun din egen konto; ["*"] betyder enhver konto, du rent faktisk administrerer. Ejerskab tjekkes stadig ved hver anmodning.
rate_limit_per_min Anmodninger pr. minut for denne nøgle, talt i sit eget budget, så den ikke kan opbruge dine andre integrationers kvote. Standard er 60 og kan ikke sættes højere end 300.

Du kan også give en nøgle en expires_at dato (ISO 8601, og den skal være i fremtiden). Efter det tidspunkt holder nøglen op med at virke af sig selv. Udelad den, og nøglen udløber aldrig, før du tilbagekalder den.

Afvisninger fejler lukket. Hvis en anmodning falder uden for det, nøglen tillader, afvises den i stedet for at blive gennemført: en skrivning med en skrivebeskyttet nøgle returnerer 403 med error_code: "key_read_only", og alt uden for nøglens tilladte sektioner returnerer 403 med error_code: "key_scope_denied". Hvis en omfangsbegrænset nøgle får en uventet 403, er det slutpunkt, du kaldte, simpelthen ikke inden for dens omfang — udvid nøglen eller brug din hovednøgle.

Kun kontoejeren administrerer nøgler. Disse fire slutpunkter kræver din hovednøgle eller en ejersession i appen. En omfangsbegrænset nøgle kan aldrig liste, oprette, redigere eller tilbagekalde nøgler — inklusive sig selv — så en begrænset nøgle kan aldrig bruges til at oprette en mere omfattende nøgle. Forsøg returnerer 403 med error_code: "key_scope_denied". Af samme årsag er API Keys ikke en sektion, du kan give adgang til: anmodning om den returnerer 400 med error_code: "invalid_scopes".

Liste over omfangsbegrænsede nøgler

Returnerer kontoens omfangsbegrænsede nøgler, nyeste først (op til 200), inklusive tilbagekaldte, så du kan se, hvad der blev trukket tilbage og hvornår. Kun maskerede forhåndsvisninger returneres — en omfangsbegrænset nøgles værdi vises én gang ved oprettelse og kan aldrig hentes efterfølgende.

GET /api-keys

cURL

curl "https://api.youraiconnector.com/v1/api-keys" \
  -H "X-API-Key: YOUR_API_KEY"

Svar

{
  "success": true,
  "api_keys": [
    {
      "id": "key_9f2c1a7b4d6e8f0a1b2c3d4e5f60718a",
      "label": "Client dashboard - Acme",
      "key_preview": "abcd...qrst",
      "scopes": {
        "read_only": true,
        "tags": ["Analytics"],
        "sub_account_ids": [],
        "rate_limit_per_min": 60
      },
      "expires_at": null,
      "last_used_at": "2026-08-20T14:03:00.000Z",
      "created_at": "2026-08-14T09:12:00.000Z",
      "revoked_at": null,
      "revoked": false
    }
  ]
}

Opret en omfangsbegrænset nøgle

Opretter en ny scoped nøgle og returnerer dens værdi én gang.

POST /api-keys

Nøglen vises kun én gang. Den findes i dette svar og aldrig andre steder — der er ingen måde at slå den op igen bagefter. Gem den i det øjeblik, du modtager den. Hvis du mister den, skal du tilbagekalde den og oprette en ny.

Brødtekstfelter — alle valgfrie:

Felt Type Noter
label string Dit eget navn til nøglen, som vises på listen og i Indstillinger.
scopes object De fire felter i tabellen ovenfor. Udelad hele objektet for at få standardindstillingen: skrivebeskyttet, begrænset til Analytics, kun din egen konto, 60 anmodninger pr. minut.
expires_at ISO 8601 date Valgfri udløbsdato, skal være i fremtiden.

cURL

curl -X POST "https://api.youraiconnector.com/v1/api-keys" \
  -H "X-API-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "label": "Client dashboard - Acme",
    "scopes": {
      "read_only": true,
      "tags": ["Analytics"],
      "sub_account_ids": [],
      "rate_limit_per_min": 60
    }
  }'

JavaScript

const res = await fetch("https://api.youraiconnector.com/v1/api-keys", {
  method: "POST",
  headers: {
    "X-API-Key": "YOUR_API_KEY",
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    label: "Client dashboard - Acme",
    scopes: { read_only: true, tags: ["Analytics"] },
  }),
});
const data = await res.json();
// Save data.api_key now — it will not be shown again.

Python

import requests

res = requests.post(
    "https://api.youraiconnector.com/v1/api-keys",
    headers={"X-API-Key": "YOUR_API_KEY"},
    json={
        "label": "Client dashboard - Acme",
        "scopes": {"read_only": True, "tags": ["Analytics"]},
    },
)
data = res.json()
# Save data["api_key"] now — it will not be shown again.

Svar201 Created

{
  "success": true,
  "api_key": "abcdEFGH1234ijkl5678MNOP9012qrst",
  "key": {
    "id": "key_9f2c1a7b4d6e8f0a1b2c3d4e5f60718a",
    "label": "Client dashboard - Acme",
    "key_preview": "abcd...qrst",
    "scopes": {
      "read_only": true,
      "tags": ["Analytics"],
      "sub_account_ids": [],
      "rate_limit_per_min": 60
    },
    "expires_at": null,
    "revoked": false
  },
  "message": "Store this key now — it is shown once and cannot be retrieved again."
}

Et par detaljer, der er værd at vide, når du bygger mod dette:

  • At udelade scopes er ikke det samme som at sende en tom tags liste. Udelad scopes helt for at få standardindstillingen (kun skrivebeskyttet, Analytics). Send "tags": [] med vilje, og nøglen kan bruge alle sektioner — det læses som en bevidst anmodning om en ubegrænset nøgle.
  • read_only forbliver true, medmindre du eksplicit sender false. En slåfejl eller et manglende flag kan aldrig ved et uheld producere en nøgle, der kan skrive.

Opdater en scoped nøgle

Ændrer en nøgles etiket, scopes og/eller udløbsdato. Send en hvilken som helst kombination af de tre; hvis ingen af dem sendes, returneres 400.

PATCH /api-keys/{id}

{id} er nøglens id fra listen (værdien key_...), aldrig selve nøglen.

Scopes erstattes, ikke flettes. Alt, hvad du sender, bliver nøglens komplette tilladelsessæt. Det er bevidst: indsnævring af en nøgle kan aldrig lydløst efterlade den gamle, bredere adgang. Send altid det fulde scopes objekt, du ønsker, ikke kun det felt, du ændrer.

Nøglens værdi ændres aldrig. Der findes ingen “rotate-in-place” for en scoped nøgle — for at rotere en, skal du oprette en ny nøgle og tilbagekalde den gamle, så en legitimationsadgang aldrig kan ændre sig under en integration, der stadig holder den.

cURL

curl -X PATCH "https://api.youraiconnector.com/v1/api-keys/key_9f2c1a7b4d6e8f0a1b2c3d4e5f60718a" \
  -H "X-API-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "label": "Client dashboard - Acme (read-only)",
    "scopes": {
      "read_only": true,
      "tags": ["Analytics", "Campaigns"],
      "sub_account_ids": [],
      "rate_limit_per_min": 30
    }
  }'

Svar

{
  "success": true,
  "key": {
    "id": "key_9f2c1a7b4d6e8f0a1b2c3d4e5f60718a",
    "label": "Client dashboard - Acme (read-only)",
    "key_preview": "abcd...qrst",
    "scopes": {
      "read_only": true,
      "tags": ["Analytics", "Campaigns"],
      "sub_account_ids": [],
      "rate_limit_per_min": 30
    },
    "expires_at": null,
    "last_used_at": "2026-08-20T14:03:00.000Z",
    "created_at": "2026-08-14T09:12:00.000Z",
    "revoked_at": null,
    "revoked": false
  }
}

Hvis der ikke er nogen nøgle med det id på din konto, er svaret 404.

Tilbagekald en begrænset nøgle

Tilbagekaldelsen sker øjeblikkeligt: den næste anmodning, der bruger den nøgle, afvises med en 401. Din hovednøgle og alle andre begrænsede nøgler påvirkes ikke.

DELETE /api-keys/{id}

Nøglen forbliver på din liste markeret som "revoked": true, så du bevarer overblikket over, hvad der eksisterede, og hvad den kunne få adgang til. Tilbagekaldelse af en nøgle, der allerede er tilbagekaldt, gennemføres uden at ændre noget.

cURL

curl -X DELETE "https://api.youraiconnector.com/v1/api-keys/key_9f2c1a7b4d6e8f0a1b2c3d4e5f60718a" \
  -H "X-API-Key: YOUR_API_KEY"

Svar

{
  "success": true,
  "revoked": true,
  "id": "key_9f2c1a7b4d6e8f0a1b2c3d4e5f60718a",
  "message": "API key revoked. All requests using it will be rejected immediately."
}

API-nøgle-API-fejl

API-nøgle-slutpunkter returnerer standardfejl-konvolutten:

{
  "success": false,
  "error": "No API key found for this account"
}

På et API-nøgle-slutpunkt returnerer en manglende eller ugyldig nøgle 401, og en konto uden en registreret nøgle returnerer 404. De delte koder, som ethvert slutpunkt kan returnere — 400, 403 (din plan inkluderer ikke API-adgang), 429 (hastighedsbegrænsning) og 500 — er angivet med vejledning om genforsøg i Fejl & Sidetal.

Slutpunkterne for begrænsede nøgler tilføjer et par navngivne koder i feltet error_code, så du kan skelne mellem tilfældene:

error_code Status Hvad skete der
key_read_only 403 En skrivebeskyttet nøgle forsøgte at udføre en skrivning.
key_scope_denied 403 Nøglen er ikke tilladt på det slutpunkt eller den administrerede konto — eller en begrænset nøgle forsøgte at administrere API-nøgler, hvilket aldrig er tilladt.
invalid_scopes 400 De anmodede scopes inkluderede sektionen API Keys. Nøgler kan ikke administrere nøgler.
404 404 Ingen nøgle med det id på din konto.

Næste skridt