الإدارة
واجهة برمجة تطبيقات الإدارة
أدر رصيد المؤسسة ومفاتيح API واسترجع الاستخدام والفوترة على مستوى المفتاح باستخدام رمز إدارة.
نظرة عامة
تتيح لك واجهة الإدارة استرجاع مجاميع رصيد المؤسسة وإدارة مفاتيح API الخاصة بالمؤسسة واسترجاع الاستخدام والفوترة لمفتاح محدد دون استخدام مفتاح استدلال عادي.
أنشئ رمز إدارة من Dashboard → API → Management Tokens:
Authorization: Bearer mt-your-management-tokenتختلف رموز الإدارة عن مفاتيح API الخاصة بالاستدلال. استخدم mt-... مع /v1/management/*، واستخدم sk-... مع واجهات الاستدلال مثل /v1/responses.
الواجهات المتاحة
| نقطة النهاية | الطريقة | الوصف |
|---|---|---|
/v1/management/balance | GET | يجلب مجاميع الرصيد الحالية للمؤسسة |
/v1/management/api-keys | GET | يعرض قائمة مفاتيح API الخاصة بالمستخدم في المؤسسة الحالية |
/v1/management/api-keys | POST | ينشئ مفتاح API جديدًا للمستخدم |
/v1/management/api-keys/{keyId} | PATCH | يحدّث الاسم أو حد الاستخدام أو النماذج المسموح بها أو تاريخ الانتهاء أو الحالة |
/v1/management/api-keys/{keyId}/usage | GET | يجلب تفاصيل الاستخدام المرقّمة على صفحات لمفتاح محدد |
/v1/management/api-keys/{keyId}/billing | GET | يجلب تفاصيل الفوترة المجمعة لمفتاح محدد |
عقد مرشحات الاستخدام
يدعم GET /v1/management/api-keys/{keyId}/usage معلمات الاستعلام التالية.
| المعامل | النوع | القيم الافتراضية / القيود | الوصف |
|---|---|---|---|
page | integer | الافتراضي 1، الحد الأدنى 1 | رقم الصفحة بدءًا من 1 |
limit | integer | الافتراضي 50، الحد الأدنى 1، الحد الأقصى 100 | حجم الصفحة |
model | string | أقصى طول 100 | اسم النموذج المطلوب |
modelVendor | string | أقصى طول 100 | مزود النموذج العام |
scene | enum | - | chat, image, audio, video, embedding, rerank, translation, music, 3d, realtime |
startDate | string | - | حد سفلي شامل؛ يقبل RFC3339 مع منطقة زمنية أو YYYY-MM-DD |
endDate | string | - | حد علوي شامل؛ يقبل RFC3339 مع منطقة زمنية أو YYYY-MM-DD |
إذا تم إرسال startDate و endDate معًا، فيجب أن يكون startDate أسبق من أو مساويًا لـ endDate.
عقد جسم مفتاح API
POST /v1/management/api-keys
| الحقل | النوع | القيم الافتراضية / القيود | الوصف |
|---|---|---|---|
name | string | اختياري، الافتراضي Default Key، الطول 1-50 | اسم العرض؛ تتم إزالة المسافات من البداية والنهاية على الخادم |
limitAmount | number | string | null | 0–100000 USD | تعني null عدم وجود حد، وتمنع 0 الإنفاق. تدعم السلاسل العشرية حتى 6 منازل عشرية. عند إنشاء المفتاح، يعني حذف هذا الحقل عدم وجود حد. |
limitCurrency | تعداد | افتراضي USD | USD فقط. إرسال CNY يُرجع 400 currency_retired. |
models | string[] | الافتراضي [] | قائمة اختيارية للنماذج المنطقية المسموح بها |
deliveryPolicy | string | null | auto, verified, official, null | تعني null وراثة سياسة التسليم لمساحة العمل. |
expiresAt | string | null | تاريخ ووقت RFC3339 | null يعني عدم وجود انتهاء |
PATCH /v1/management/api-keys/{keyId}
| الحقل | النوع | القيم الافتراضية / القيود | الوصف |
|---|---|---|---|
status | enum | - | active, inactive, revoked |
name | string | الطول 1-50 | اسم العرض بعد التحديث |
limitAmount | number | string | null | 0–100000 USD | تعني null عدم وجود حد، وتمنع 0 الإنفاق. تدعم السلاسل العشرية حتى 6 منازل عشرية. |
limitCurrency | تعداد | افتراضي USD | USD فقط. إرسال CNY يُرجع 400 currency_retired. عند تحديده، يجب أيضًا إرسال limitAmount. |
models | string[] | - | قائمة النماذج المنطقية المسموح بها بعد التحديث |
deliveryPolicy | string | null | auto, verified, official, null | تعني null وراثة سياسة التسليم لمساحة العمل. |
expiresAt | string | null | تاريخ ووقت RFC3339 | null يزيل تاريخ الانتهاء |
يجب أن يتضمن طلب PATCH حقلًا واحدًا على الأقل.
حقول المبالغ المالية
- تدعم حقول المبالغ المالية في طلبات واستجابات واجهة API للإدارة الدولار الأمريكي فقط.
- القيمة الافتراضية لـ
limitCurrencyهيUSD؛ ويؤدي إرسالCNYإلى إرجاع400 currency_retired.
دلالات التقارير
- يشير
modelإلى النموذج المطلوب الذي طلبه المستدعي. - يشير
modelVendorإلى مزود النموذج العام، وليس المسار الفيزيائي المخفي. - تمثل
sceneمشهد الطلب العام المشتق من الواجهة أو نوع المهمة.
لا تكشف الاستجابات إلا حقول الفوترة والتقارير العامة. أما تفاصيل التوجيه الداخلي وبيانات المزود الفيزيائية فتبقى مخفية.
- قد تتضمن عناصر
/usageالحقلbilling_transaction_idبعد اكتمال تسوية الطلب الأساسي. استخدمrequest_id+billing_transaction_idللمطابقة على مستوى الطلب.
ملاحظة حول ترقيم صفحات الفوترة
واجهة /usage تدعم ترقيم الصفحات. أما /billing فهي حاليًا واجهة تجميعية ولا تعيد بيانات ترقيم صفحات على نمط page / limit. وإذا كنت تحتاج إلى سجلات تفصيلية على مستوى الصفوف فاستعمل /usage.
مثال سريع
ابدأ بالتحقق من رصيد المؤسسة باستخدام رمز الإدارة الحالي:
الطلب
curl -X GET "https://api.tokenlab.sh/v1/management/balance" \
-H "Authorization: Bearer mt-your-management-token"ثم اعرض مفاتيح API المتاحة لرمز الإدارة نفسه:
الطلب
curl "https://api.tokenlab.sh/v1/management/api-keys" \
-H "Authorization: Bearer mt-your-management-token"الاستجابة
{
"object": "list",
"data": [
{
"id": "key_abc123def456",
"name": "Backend Worker",
"key_prefix": "sk-abc123...",
"status": "active",
"limit_amount": 500.0,
"limit_amount_decimal": "500",
"used_amount": 148.25,
"used_amount_decimal": "148.25",
"models": [
"gpt-4o-mini",
"claude-3-7-sonnet"
],
"expires_at": "2026-04-30T00:00:00.000Z",
"last_used_at": "2026-03-27T08:12:45.000Z",
"created_at": "2026-03-01T10:00:00.000Z",
"delivery_policy": null
}
],
"pagination": {
"page": 1,
"limit": 50,
"total": 1,
"totalPages": 1
}
}