API pentru cheile API
Aceste endpoint-uri vă permit să gestionați cheile API ale contului dvs. prin cod. Toate operează exclusiv asupra cheilor contului care efectuează apelul.
Există două tipuri de chei și acestea se află pe căi separate:
- Cheia principală — singura cheie cu acces complet disponibilă în Setări → Integrări → Cheie API. Puteți vizualiza previzualizarea mascată a acesteia, verifica utilizarea limitei de rată, o puteți roti sau revoca. Acestea sunt endpoint-urile
/api-keys/current,/api-keys/rotateși/api-keys/usagede mai jos. - Chei cu domeniu limitat (Scoped keys) — chei suplimentare, denumite, pe care le creați pentru o sarcină specifică, fiecare fiind limitată la părțile din API pe care le alegeți. Acestea sunt endpoint-urile
/api-keysși/api-keys/{id}din secțiunea Chei cu domeniu limitat. Nimic din cheia principală nu se modifică atunci când creați una; integrările existente continuă să funcționeze neafectate.
Toate căile de mai jos sunt relative la URL-ul de bază al API-ului:
https://api.youraiconnector.com/v1
Fiecare cerere trebuie autentificată. Consultați Autentificare pentru cele patru metode acceptate. Exemplele de aici utilizează antetul X-API-Key (și o formă de parametru de interogare pentru cURL).
Citiți mai întâi acest lucru. Rotirea sau revocarea cheii dvs. intră în vigoare imediat. În momentul în care oricare dintre apeluri reușește, vechea cheie încetează să mai funcționeze — fiecare integrare care o utilizează în continuare va începe să primească erori
401. Planificați acest lucru: rotiți cheia în timpul unei ferestre de mentenanță și actualizați imediat toate integrările.
Obținerea metadatelor cheii curente
Returnează cheia activă: cheia completă în api_key atunci când există o copie recuperabilă, o previzualizare mascată (primele 4 și ultimele 4 caractere) și, atunci când este disponibilă, data la care a fost creată. api_key este null pentru cheile create înainte ca copiile recuperabile să fie păstrate — rotiți o dată și noua cheie va putea fi afișată din nou mai târziu.
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()
Răspuns
{
"success": true,
"api_key": "abcdEFGH1234ijkl5678MNOP9012qrst",
"api_key_masked": "abcd...qrst",
"created_at": "2026-06-01T10:00:00.000Z"
}
Dacă contul nu are nicio cheie API, răspunsul este 404 cu { "success": false, "error": "No API key found for this account" }.
Obținerea utilizării limitei de rată
Returnează utilizarea limitei de rată pentru fereastra curentă: limita de cereri per fereastră, câte cereri au fost contorizate până acum, câte au rămas și când se resetează fereastra. Utilizați acest lucru pentru a construi un sistem de limitare a traficului (throttling) pe partea de client, astfel încât integrarea dvs. să se oprească înainte de a primi răspunsuri 429.
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()
Răspuns
{
"success": true,
"usage": {
"limit": 300,
"window_seconds": 60,
"used": 37,
"remaining": 263,
"window_resets_at": "2026-06-09T12:01:00.000Z"
}
}
Dacă nu au fost înregistrate cereri în fereastra curentă, utilizarea este raportată ca zero, iar răspunsul include un câmp note care explică motivul.
Rotirea cheii
Generează o nouă cheie API și invalidează cheia anterioară în același pas. Utilizați această funcție dacă suspectați că cheia dvs. a fost compromisă sau ca parte a unei politici regulate de rotație a credențialelor.
POST /api-keys/rotate
Noua cheie este afișată o singură dată. Aceasta este returnată în acest răspuns și nu mai poate fi recuperată ulterior în întregime — stocați-o în siguranță imediat ce o primiți. Cheia anterioară încetează să mai funcționeze în momentul în care acest apel reușește, așa că actualizați fiecare integrare care o utiliza.
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.
Răspuns
{
"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."
}
Revocarea cheii
Șterge definitiv cheia API a contului dumneavoastră. Revocarea este imediată: fiecare cerere ulterioară care utilizează cheia revocată — inclusiv integrări precum Make, Zapier sau scripturi personalizate — este respinsă cu un 401. Pentru a restabili accesul API ulterior, generați o cheie nouă din setările contului în timp ce sunteți conectat la aplicație.
DELETE /api-keys/current
Nu există nicio posibilitate de anulare. Spre deosebire de rotație, revocarea nu vă oferă o cheie de înlocuire. Revocați accesul doar atunci când intenționați să opriți accesul API (de exemplu, o cheie compromisă pe care nu o puteți înlocui imediat).
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()
Răspuns
{
"success": true,
"revoked": true,
"message": "API key revoked. All requests using it will be rejected immediately."
}
Dacă contul nu are nicio cheie de revocat, răspunsul este 404.
Chei cu domeniu limitat
O cheie cu domeniu limitat este o cheie API suplimentară pe care o creați pentru o sarcină specifică, având doar accesul de care acea sarcină are nevoie. Cazul clasic: doriți să conectați un tablou de bord pentru clienți, un instrument de raportare sau un script intern la contul dvs. fără a oferi o cheie care ar putea, de asemenea, să trimită mesaje, să modifice agenții AI sau să cumpere un număr de telefon.
Restricția însoțește cheia însăși, astfel încât oricine o deține poate face doar ceea ce ați permis în momentul creării acesteia.
Ce puteți restricționa
| Câmp | Ce înseamnă |
|---|---|
read_only |
true (implicit) înseamnă că sunt permise doar cererile de citire. Orice creare, actualizare sau ștergere este refuzată. |
tags |
Lista secțiunilor API pe care cheia le poate utiliza, scrise cu aceleași nume de secțiuni pe care le vedeți în această documentație și în Exploratorul API — Analytics, Campaigns, Contacts, Messages, Appointments și așa mai departe. O listă goală înseamnă toate secțiunile. |
sub_account_ids |
Conturile gestionate asupra cărora cheia poate acționa. Gol înseamnă doar propriul cont; ["*"] înseamnă orice cont pe care îl gestionați efectiv. Proprietatea este verificată la fiecare cerere. |
rate_limit_per_min |
Cereri pe minut pentru această cheie, contorizate în propriul buget, astfel încât să nu poată consuma alocarea altor integrări. Implicit este 60 și nu poate fi setată peste 300. |
De asemenea, puteți oferi unei chei o dată de expires_at (ISO 8601, și trebuie să fie în viitor). După acel moment, cheia nu mai funcționează de la sine. Lăsați acest câmp necompletat și cheia nu va expira niciodată până când nu o revocați.
Refuzurile sunt implicite. Dacă o cerere depășește ceea ce permite cheia, aceasta este refuzată în loc să fie permisă: o scriere cu o cheie de tip „doar citire” returnează
403cuerror_code: "key_read_only", iar orice acțiune în afara secțiunilor permise ale cheii returnează403cuerror_code: "key_scope_denied". Dacă o cheie cu domeniu limitat primește un403neașteptat, endpoint-ul apelat pur și simplu nu se află în domeniul său de aplicare — extindeți domeniul cheii sau utilizați cheia principală.
Doar proprietarul contului gestionează cheile. Aceste patru endpoint-uri necesită cheia principală sau o sesiune de proprietar în aplicație. O cheie cu domeniu limitat nu poate niciodată să listeze, creeze, editeze sau revoce chei — inclusiv pe ea însăși — deci o cheie restricționată nu poate fi niciodată utilizată pentru a crea una cu permisiuni mai largi. Încercarea returnează
403cuerror_code: "key_scope_denied". Din același motiv,API Keysnu este o secțiune pe care o puteți acorda: solicitarea acesteia returnează400cuerror_code: "invalid_scopes".
Listarea cheilor cu domeniu limitat
Returnează cheile cu domeniu limitat ale contului, cele mai noi primele (până la 200), inclusiv cele revocate, astfel încât să puteți vedea ce a fost retras și când. Sunt returnate doar previzualizările mascate — valoarea unei chei cu domeniu limitat este afișată o singură dată, la creare, și nu mai poate fi recuperată ulterior.
GET /api-keys
cURL
curl "https://api.youraiconnector.com/v1/api-keys" \
-H "X-API-Key: YOUR_API_KEY"
Răspuns
{
"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
}
]
}
Crearea unei chei cu domeniu limitat
Creează o cheie nouă cu domeniu de aplicare (scoped key) și returnează valoarea acesteia o singură dată.
POST /api-keys
Cheia este afișată o singură dată. Aceasta apare în acest răspuns și nicăieri altundeva, vreodată — nu există nicio modalitate de a o recupera ulterior. Stocați-o în momentul în care o primiți. Dacă o pierdeți, revocați-o și creați una nouă.
Câmpuri în corp (Body fields) — toate opționale:
| Câmp | Tip | Note |
|---|---|---|
label |
string | Numele propriu pentru cheie, afișat în listă și în Setări. |
scopes |
object | Cele patru câmpuri din tabelul de mai sus. Omiteți întregul obiect pentru a obține setarea implicită sigură: doar citire, limitat la Analytics, doar contul propriu, 60 de cereri pe minut. |
expires_at |
ISO 8601 date | Dată de expirare opțională, trebuie să fie în viitor. |
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.
Răspuns — 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."
}
Câteva detalii care merită cunoscute atunci când construiți pe baza acestora:
- Omiterea
scopesnu este același lucru cu trimiterea unei listetagsgoale. Omitețiscopescomplet și veți obține setarea implicită sigură (doar citire, doarAnalytics). Trimiteți"tags": []în mod intenționat și cheia va putea utiliza fiecare secțiune — acest lucru este interpretat ca o cerere deliberată pentru o cheie fără restricții. read_onlyrămânetruedacă nu trimiteți în mod explicitfalse. O greșeală de scriere sau un flag lipsă nu pot produce niciodată accidental o cheie care poate scrie.
Actualizarea unei chei cu domeniu de aplicare
Modifică eticheta, domeniile de aplicare și/sau data de expirare a unei chei. Trimiteți orice combinație a celor trei; dacă nu trimiteți niciuna, se returnează 400.
PATCH /api-keys/{id}
{id} reprezintă id cheii din listă (valoarea key_...), niciodată cheia în sine.
Domeniile de aplicare sunt înlocuite, nu îmbinate. Tot ceea ce trimiteți devine setul complet de permisiuni al cheii. Acest lucru este deliberat: restrângerea unei chei nu poate lăsa niciodată în mod silențios accesul vechi, mai larg, activ. Trimiteți întotdeauna obiectul
scopescomplet pe care îl doriți, nu doar câmpul pe care îl modificați.
Valoarea cheii nu se schimbă niciodată. Nu există o funcție de rotire pe loc pentru o cheie cu domeniu de aplicare — pentru a o reînnoi, creați o cheie nouă și revocați-o pe cea veche, astfel încât accesul unei credențiale să nu se poată schimba niciodată în cadrul unei integrări care încă o deține.
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
}
}'
Răspuns
{
"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
}
}
Dacă nu există nicio cheie cu acel id în contul dumneavoastră, răspunsul este 404.
Revocarea unei chei cu domeniu de aplicare (scoped key)
Revocarea este imediată: următoarea cerere care utilizează acea cheie va fi respinsă cu un 401. Cheia principală și toate celelalte chei cu domeniu de aplicare rămân neafectate.
DELETE /api-keys/{id}
Cheia rămâne în listă marcată ca "revoked": true, astfel încât să păstrați evidența a ceea ce a existat și la ce avea acces. Revocarea unei chei care este deja revocată reușește și nu schimbă nimic.
cURL
curl -X DELETE "https://api.youraiconnector.com/v1/api-keys/key_9f2c1a7b4d6e8f0a1b2c3d4e5f60718a" \
-H "X-API-Key: YOUR_API_KEY"
Răspuns
{
"success": true,
"revoked": true,
"id": "key_9f2c1a7b4d6e8f0a1b2c3d4e5f60718a",
"message": "API key revoked. All requests using it will be rejected immediately."
}
Erori API pentru cheile API
Endpoint-urile pentru chei API returnează plicul de eroare standard:
{
"success": false,
"error": "No API key found for this account"
}
Pe un endpoint de cheie API, o cheie lipsă sau invalidă returnează 401, iar un cont fără o cheie înregistrată returnează 404. Codurile partajate pe care le poate returna orice endpoint — 400, 403 (planul tău nu include acces API), 429 (limită de rată) și 500 — sunt listate împreună cu instrucțiuni de reîncercare în Erori și paginare.
Endpoint-urile pentru cheile cu domeniu de aplicare adaugă câteva coduri denumite în câmpul error_code, astfel încât să puteți distinge cazurile:
error_code |
Status | Ce s-a întâmplat |
|---|---|---|
key_read_only |
403 |
O cheie cu drepturi de citire a încercat o operațiune de scriere. |
key_scope_denied |
403 |
Cheia nu este permisă pe acel endpoint sau pe acel cont gestionat — sau o cheie cu domeniu de aplicare a încercat să gestioneze chei API, ceea ce nu este permis niciodată. |
invalid_scopes |
400 |
Domeniile de aplicare solicitate au inclus secțiunea API Keys. Cheile nu pot gestiona alte chei. |
404 |
404 |
Nu există nicio cheie cu acel id în contul dumneavoastră. |
Pașii următori
- Autentificare — cele patru metode de autentificare a unei cereri și modul în care sunt aplicate domeniile de aplicare ale cheilor.
- Erori și limite de rată — coduri de stare și limita de 300 cereri/min.