İçeriğe geç
API Referansı
API Referansı

Bir koruma bariyeri oluşturun

Yeniden kullanılabilir bir model, sağlayıcı ve bütçe politikası oluşturun.

Yeniden kullanılabilir bir model, sağlayıcı ve bütçe politikası oluşturun.

Uç Nokta

POST /api/v1/guardrails
Temel URL
https://runapi.ai
API sürümü
v1
Kimlik doğrulama
Authorization: Bearer YOUR_MANAGEMENT_API_KEY
Yetkilendirme
Hesap yöneticisi Yönetim API anahtarı gerektirir.
02

İstek

JSON gövdesi

Değerleri yalnızca listelenen istek konumunda gönderin.

JSON gövdesi10 alan
allowed_modelsarray | null
İsteğe bağlı

Model izin listesi.

allowed_providersarray | null
İsteğe bağlı

Sağlayıcı adı izin verilenler listesi.

blocked_modelsarray | null
İsteğe bağlı

İzin listesinden öncelikli olan model engel listesi.

blocked_providersarray | null
İsteğe bağlı

Sağlayıcı adı engellenenler listesi.

credit_limit_centsinteger | null
İsteğe bağlı

USD cent cinsinden toplam harcama limiti.

credit_limit_reset_intervalstring | null
İsteğe bağlı

Toplam harcama sınırı için sıfırlama aralığı.

İzin verilen değerler: daily, weekly, monthly
descriptionstring
İsteğe bağlı

İsteğe bağlı serbest biçimli açıklama.

enabledboolean
İsteğe bağlı

Koruyucunun uygulanıp uygulanmadığı.

Varsayılan: true
model_budgetsarray | null
İsteğe bağlı

Model başına bütçe kuralları.

namestring
Zorunlu

Hesap içinde benzersiz olan guardrail adı.

03

Başarılı yanıt

HTTP 201

POST /api/v1/guardrails

JSON
{
  "allowed_models": [
    "gpt-5.4"
  ],
  "allowed_providers": [],
  "assignment_count": 1,
  "blocked_models": [],
  "blocked_providers": [],
  "created_at": "2026-07-27T10:00:00.000Z",
  "credit_limit_cents": 50000,
  "credit_limit_reset_interval": "monthly",
  "description": "Production policy",
  "enabled": true,
  "id": "guardrail_123",
  "model_budgets": [
    {
      "credit_limit_cents": 10000,
      "credit_limit_reset_interval": "monthly",
      "match_mode": "include",
      "models": [
        "gpt-5.4"
      ]
    }
  ],
  "name": "Production budget"
}
04

Hata yanıtı (401)

HTTP 401
Yanıt şeması
JSON
{
  "properties": {
    "error": {
      "description": "İnsan tarafından okunabilir hata mesajı.",
      "type": "string"
    }
  },
  "required": [
    "error"
  ],
  "type": "object",
  "unevaluatedProperties": false
}

Yanıt örneği

JSON
{
  "error": "Authentication required"
}
05

Hata yanıtı (403)

HTTP 403
Yanıt şeması
JSON
{
  "properties": {
    "error": {
      "description": "İnsan tarafından okunabilir hata mesajı.",
      "type": "string"
    }
  },
  "required": [
    "error"
  ],
  "type": "object",
  "unevaluatedProperties": false
}

Yanıt örneği

JSON
{
  "error": "Management API key required"
}
06

Hata yanıtı (403)

HTTP 403
Yanıt şeması
JSON
{
  "properties": {
    "error": {
      "description": "İnsan tarafından okunabilir hata mesajı.",
      "type": "string"
    }
  },
  "required": [
    "error"
  ],
  "type": "object",
  "unevaluatedProperties": false
}

Yanıt örneği

JSON
{
  "error": "Account admin required"
}
07

Hata yanıtı (400)

HTTP 400
Yanıt şeması
JSON
{
  "oneOf": [
    {
      "properties": {
        "error": {
          "description": "İnsan tarafından okunabilir hata mesajı.",
          "type": "string"
        }
      },
      "required": [
        "error"
      ],
      "type": "object",
      "unevaluatedProperties": false
    },
    {
      "properties": {
        "error": {
          "description": "İnsan tarafından okunabilir doğrulama özeti.",
          "type": "string"
        },
        "errors": {
          "additionalProperties": {
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "description": "Herkese açık istek alanına göre anahtarlanan doğrulama mesajları; her alan için insan tarafından okunabilir dizelerden oluşan bir dizi içerir.",
          "type": "object"
        }
      },
      "required": [
        "error",
        "errors"
      ],
      "type": "object",
      "unevaluatedProperties": false
    }
  ]
}

Yanıt örneği

JSON
{
  "error": "page must be an integer"
}
08

Hata yanıtı (422)

HTTP 422
Yanıt şeması
JSON
{
  "properties": {
    "error": {
      "description": "İnsan tarafından okunabilir doğrulama özeti.",
      "type": "string"
    },
    "errors": {
      "additionalProperties": {
        "items": {
          "type": "string"
        },
        "type": "array"
      },
      "description": "Herkese açık istek alanına göre anahtarlanan doğrulama mesajları; her alan için insan tarafından okunabilir dizelerden oluşan bir dizi içerir.",
      "type": "object"
    }
  },
  "required": [
    "error",
    "errors"
  ],
  "type": "object",
  "unevaluatedProperties": false
}

Yanıt örneği

JSON
{
  "error": "Validation failed",
  "errors": {
    "base": [
      "Validation failed"
    ]
  }
}
09

cURL örneği

CURL
curl -X POST https://runapi.ai/api/v1/guardrails \
  -H 'Authorization: Bearer YOUR_MANAGEMENT_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"name":"Production budget","description":"Production policy","enabled":true,"credit_limit_cents":50000,"credit_limit_reset_interval":"monthly","allowed_models":["gpt-5.4"],"model_budgets":[{"match_mode":"include","models":["gpt-5.4"],"credit_limit_cents":10000,"credit_limit_reset_interval":"monthly"}]}'