مفاتيح API
Create, list and revoke tenant-bound API keys (administrator session).
عرض مفاتيح API
Section titled “عرض مفاتيح API”GET /api/apikeys/{tenant}
المصادقة: جلسة مسؤول في exoCortex Core
المعاملات
Section titled “المعاملات”| الاسم | الموضع | النوع | إلزامي | الوصف |
|---|---|---|---|---|
tenant |
المسار | string | نعم | Tenant code (case-insensitive). |
الاستجابات
Section titled “الاستجابات”| الحالة | الوصف |
|---|---|
200 |
Keys of the tenant (secrets are never returned). |
401 |
Not authenticated. |
403 |
Authenticated but not allowed (role, tenant or key). |
مثال 200
{ "ok": true, "keys": [ { "keyid": "9f2c4e1a7b3d", "name": "ERP connector", "scopes": [ "tickets:create", "tickets:read" ], "active": true, "created_at": "2026-11-01T08:00:00.000Z", "last_used_at": "2026-11-01T09:14:05.000Z" } ]}مثال باستخدام curl
Section titled “مثال باستخدام curl”curl -X GET "https://exocortex-api.ai-exo-cortex.com/api/apikeys/ACME" \ -H "Authorization: Bearer $EXO_ADMIN_SESSION"إنشاء مفتاح API
Section titled “إنشاء مفتاح API”POST /api/apikeys/{tenant}
Returns the full key once. exoCortex stores only a hash of the secret.
المصادقة: جلسة مسؤول في exoCortex Core
المعاملات
Section titled “المعاملات”| الاسم | الموضع | النوع | إلزامي | الوصف |
|---|---|---|---|---|
tenant |
المسار | string | نعم | Tenant code (case-insensitive). |
محتوى الطلب
Section titled “محتوى الطلب”application/json
| الاسم | النوع | إلزامي | الوصف |
|---|---|---|---|
name |
string | لا | |
scopes |
array<string (tickets:create, tickets:read, tickets:comment, tickets:*, *)> |
لا | Scopes granted to the key. An empty list grants every v1 scope; prefer explicit scopes. |
{ "name": "ERP connector", "scopes": [ "tickets:create", "tickets:read" ]}الاستجابات
Section titled “الاستجابات”| الحالة | الوصف |
|---|---|
200 |
Key created. |
400 |
Invalid request. |
401 |
Not authenticated. |
403 |
Authenticated but not allowed (role, tenant or key). |
مثال 200
{ "ok": true, "key": "nhk.9f2c4e1a7b3d.0123456789abcdef0123456789abcdef0123456789abcdef", "keyid": "9f2c4e1a7b3d", "name": "ERP connector", "scopes": [ "tickets:create", "tickets:read" ], "note": "Copia la chiave ora: non sarà più mostrata."}مثال باستخدام curl
Section titled “مثال باستخدام curl”curl -X POST "https://exocortex-api.ai-exo-cortex.com/api/apikeys/ACME" \ -H "Authorization: Bearer $EXO_ADMIN_SESSION" \ -H "Content-Type: application/json" \ --data '{"name":"ERP connector","scopes":["tickets:create","tickets:read"]}'إلغاء مفتاح API
Section titled “إلغاء مفتاح API”DELETE /api/apikeys/{tenant}/{keyid}
المصادقة: جلسة مسؤول في exoCortex Core
المعاملات
Section titled “المعاملات”| الاسم | الموضع | النوع | إلزامي | الوصف |
|---|---|---|---|---|
tenant |
المسار | string | نعم | Tenant code (case-insensitive). |
keyid |
المسار | string | نعم |
الاستجابات
Section titled “الاستجابات”| الحالة | الوصف |
|---|---|
200 |
Key revoked. It stops working immediately. |
401 |
Not authenticated. |
403 |
Authenticated but not allowed (role, tenant or key). |
404 |
Resource not found or not configured. |
مثال 200
{ "ok": true}مثال باستخدام curl
Section titled “مثال باستخدام curl”curl -X DELETE "https://exocortex-api.ai-exo-cortex.com/api/apikeys/ACME/9f2c4e1a7b3d" \ -H "Authorization: Bearer $EXO_ADMIN_SESSION"صفحة مُنشأة من مواصفة OpenAPI لواجهة التكامل، الإصدار 1.1.0.