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/rotateog/api-keys/usageslutpunkterne 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-keysog/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-udforskeren — Analytics, 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
403mederror_code: "key_read_only", og alt uden for nøglens tilladte sektioner returnerer403mederror_code: "key_scope_denied". Hvis en omfangsbegrænset nøgle får en uventet403, 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
403mederror_code: "key_scope_denied". Af samme årsag erAPI Keysikke en sektion, du kan give adgang til: anmodning om den returnerer400mederror_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.
Svar — 201 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
scopeser ikke det samme som at sende en tomtagsliste. Udeladscopeshelt 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_onlyforblivertrue, medmindre du eksplicit senderfalse. 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
scopesobjekt, 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
- Godkendelse — de fire måder at godkende en anmodning på, og hvordan nøgle-scopes håndhæves.
- Fejl og hastighedsbegrænsninger — statuskoder og grænsen på 300 anmodninger/min.