مرجع API
إنشاء مفتاح API
أنشئ مفتاح API قياسياً. احفظ المفتاح النصي الواضح الذي تُعيده هذه العملية لأنه يُعرض مرة واحدة فقط.
أنشئ مفتاح API قياسياً. احفظ المفتاح النصي الواضح الذي تُعيده هذه العملية لأنه يُعرض مرة واحدة فقط.
نقطة النهاية
- عنوان URL الأساسي
https://runapi.ai- إصدار API
v1- المصادقة
Authorization: Bearer YOUR_MANAGEMENT_API_KEY
02
نص JSONالطلب
أرسل القيم فقط في موقع الطلب المُدرج.
جسم JSON7 حقل
allowed_modelsarray | null
اختياري
قائمة بيضاء اختيارية لمعرّفات النماذج.
credit_limit_centsinteger | null
اختياري
حد إنفاق اختياري بالسنت الأمريكي.
credit_limit_reset_intervalstring | null
اختياري
دورية إعادة تعيين اختيارية لحد إنفاق المفتاح.
القيم المسموح بها:daily, weekly, monthly
credit_limit_windowsobject
اختياري
حدود الإنفاق المتجددة مفتاحها 1h أو 1d أو 7d؛ تحتوي كل قيمة على عدد صحيح موجب limit_cents.
enabledboolean
اختياري
ما إذا كانت الطلبات التي تستخدم هذا المفتاح مقبولة.
القيمة الافتراضية:true
guardrail_idstring
اختياري
معرّف بادئة اختياري للحاجز الأمني يُرفق عند الإنشاء.
namestring
اختياري
اسم مألوف لمفتاح API.
03
HTTP 201استجابة النجاح
POST /api/v1/keys
JSON
{
"allowed_models": [
"gpt-5.4"
],
"created_at": "2026-07-27T10:00:00.000Z",
"credit_limit_cents": 1000,
"credit_limit_reset_interval": "daily",
"credit_limit_windows": {
"1d": {
"limit_cents": 500
},
"1h": {
"limit_cents": 100
},
"7d": {
"limit_cents": 2000
}
},
"enabled": true,
"guardrail_id": "guardrail_123",
"id": "token_123",
"key": "runapi_plaintext_example",
"last_used_at": null,
"masked_token": "runapi_abc...wxyz",
"name": "Production"
}
04
HTTP 401استجابة الخطأ (401)
مخطط الاستجابة
JSON
{
"properties": {
"error": {
"description": "رسالة خطأ قابلة للقراءة البشرية.",
"type": "string"
}
},
"required": [
"error"
],
"type": "object",
"unevaluatedProperties": false
}
مثال على الاستجابة
JSON
{
"error": "Authentication required"
}
05
HTTP 403استجابة الخطأ (403)
مخطط الاستجابة
JSON
{
"properties": {
"error": {
"description": "رسالة خطأ قابلة للقراءة البشرية.",
"type": "string"
}
},
"required": [
"error"
],
"type": "object",
"unevaluatedProperties": false
}
مثال على الاستجابة
JSON
{
"error": "Management API key required"
}
06
HTTP 403استجابة الخطأ (403)
مخطط الاستجابة
JSON
{
"properties": {
"error": {
"description": "رسالة خطأ قابلة للقراءة البشرية.",
"type": "string"
}
},
"required": [
"error"
],
"type": "object",
"unevaluatedProperties": false
}
مثال على الاستجابة
JSON
{
"error": "Account admin required"
}
07
HTTP 400استجابة الخطأ (400)
مخطط الاستجابة
JSON
{
"oneOf": [
{
"properties": {
"error": {
"description": "رسالة خطأ قابلة للقراءة البشرية.",
"type": "string"
}
},
"required": [
"error"
],
"type": "object",
"unevaluatedProperties": false
},
{
"properties": {
"error": {
"description": "ملخص التحقق القابل للقراءة البشرية.",
"type": "string"
},
"errors": {
"additionalProperties": {
"items": {
"type": "string"
},
"type": "array"
},
"description": "رسائل التحقق مفتاحها حقل الطلب العام، مع مصفوفة من السلاسل القابلة للقراءة البشرية لكل حقل.",
"type": "object"
}
},
"required": [
"error",
"errors"
],
"type": "object",
"unevaluatedProperties": false
}
]
}
مثال على الاستجابة
JSON
{
"error": "page must be an integer"
}
08
HTTP 422استجابة الخطأ (422)
مخطط الاستجابة
JSON
{
"properties": {
"error": {
"description": "ملخص التحقق القابل للقراءة البشرية.",
"type": "string"
},
"errors": {
"additionalProperties": {
"items": {
"type": "string"
},
"type": "array"
},
"description": "رسائل التحقق مفتاحها حقل الطلب العام، مع مصفوفة من السلاسل القابلة للقراءة البشرية لكل حقل.",
"type": "object"
}
},
"required": [
"error",
"errors"
],
"type": "object",
"unevaluatedProperties": false
}
مثال على الاستجابة
JSON
{
"error": "Validation failed",
"errors": {
"base": [
"Validation failed"
]
}
}
09
مثال cURL
CURL
curl -X POST https://runapi.ai/api/v1/keys \
-H 'Authorization: Bearer YOUR_MANAGEMENT_API_KEY' \
-H 'Content-Type: application/json' \
-d '{"name":"Production","credit_limit_cents":1000,"credit_limit_reset_interval":"daily","credit_limit_windows":{"1h":{"limit_cents":100},"1d":{"limit_cents":500},"7d":{"limit_cents":2000}},"allowed_models":["gpt-5.4"],"guardrail_id":"guardrail_123"}'