Przejdź do treści
Dokumentacja API
Dokumentacja API

Aktualizuj guardrail

Zastąp podane pola dla wszystkich przypisań używających tej wspólnej polityki. Pominięte pola pozostają bez zmian.

Zastąp podane pola dla wszystkich przypisań używających tej wspólnej polityki. Pominięte pola pozostają bez zmian.

Punkt końcowy

PATCH /api/v1/guardrails/:id
Bazowy URL
https://runapi.ai
Wersja API
v1
Uwierzytelnianie
Authorization: Bearer YOUR_MANAGEMENT_API_KEY
Autoryzacja
Wymaga klucza API zarządzania na poziomie administratora konta.
02

Żądanie

Treść JSON

Wysyłaj wartości wyłącznie w podanej lokalizacji żądania.

Parametry ścieżki1 pole
idstring
Wymagane

Prefiks ID guardrail, na przykład guardrail_abc123.

Treść JSON12 pola
alert_threshold_percentinteger
Opcjonalne

Procentowy próg alertu budżetu.

Domyślna wartość: 80 Zakres: 1 - 100
allowed_modelsarray | null
Opcjonalne

Zastępcza lista dozwolonych modeli.

allowed_providersarray | null
Opcjonalne

Zastępcza lista dozwolonych nazw dostawców.

blocked_modelsarray | null
Opcjonalne

Zastępcza lista zablokowanych modeli.

blocked_providersarray | null
Opcjonalne

Zastępcza lista zablokowanych nazw dostawców.

credit_limit_behaviorstring
Opcjonalne

Tryb egzekwowania budżetu. Przypisania tagów wymagają block.

Dozwolone wartości: block, alert_only Domyślna wartość: block
credit_limit_centsinteger | null
Opcjonalne

Łączny limit wydatków w centach USD.

credit_limit_reset_intervalstring | null
Opcjonalne

Okres całkowitego limitu wydatków. Null oznacza bezterminowy limit, jeśli ustawiono kwotę.

Dozwolone wartości: daily, weekly, monthly
descriptionstring
Opcjonalne

Zastępczy opis w dowolnym formacie.

enabledboolean
Opcjonalne

Czy zabezpieczenie jest egzekwowane.

model_budgetsarray | null
Opcjonalne

Zastępcze reguły budżetowe dla poszczególnych modeli.

namestring
Opcjonalne

Zastępcza nazwa zabezpieczenia.

03

Odpowiedź sukcesu

HTTP 200

PATCH /api/v1/guardrails/:id

JSON
{
  "alert_threshold_percent": 80,
  "allowed_models": [
    "gpt-5.4"
  ],
  "allowed_providers": [],
  "assignment_count": 1,
  "blocked_models": [],
  "blocked_providers": [],
  "created_at": "2026-07-27T10:00:00.000Z",
  "credit_limit_behavior": "block",
  "credit_limit_cents": 50000,
  "credit_limit_reset_interval": "monthly",
  "description": "Production policy",
  "enabled": false,
  "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

Odpowiedź błędu (401)

HTTP 401
Schemat odpowiedzi
JSON
{
  "properties": {
    "error": {
      "description": "Czytelny dla człowieka komunikat o błędzie.",
      "type": "string"
    }
  },
  "required": [
    "error"
  ],
  "type": "object",
  "unevaluatedProperties": false
}

Przykład odpowiedzi

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

Odpowiedź błędu (403)

HTTP 403
Schemat odpowiedzi
JSON
{
  "properties": {
    "error": {
      "description": "Czytelny dla człowieka komunikat o błędzie.",
      "type": "string"
    }
  },
  "required": [
    "error"
  ],
  "type": "object",
  "unevaluatedProperties": false
}

Przykład odpowiedzi

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

Odpowiedź błędu (403)

HTTP 403
Schemat odpowiedzi
JSON
{
  "properties": {
    "error": {
      "description": "Czytelny dla człowieka komunikat o błędzie.",
      "type": "string"
    }
  },
  "required": [
    "error"
  ],
  "type": "object",
  "unevaluatedProperties": false
}

Przykład odpowiedzi

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

Odpowiedź błędu (400)

HTTP 400
Schemat odpowiedzi
JSON
{
  "oneOf": [
    {
      "properties": {
        "error": {
          "description": "Czytelny dla człowieka komunikat o błędzie.",
          "type": "string"
        }
      },
      "required": [
        "error"
      ],
      "type": "object",
      "unevaluatedProperties": false
    },
    {
      "properties": {
        "error": {
          "description": "Czytelne dla człowieka podsumowanie walidacji.",
          "type": "string"
        },
        "errors": {
          "additionalProperties": {
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "description": "Komunikaty walidacyjne identyfikowane przez publiczne pole żądania, z tablicą czytelnych dla człowieka ciągów znaków dla każdego pola.",
          "type": "object"
        }
      },
      "required": [
        "error",
        "errors"
      ],
      "type": "object",
      "unevaluatedProperties": false
    }
  ]
}

Przykład odpowiedzi

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

Odpowiedź błędu (404)

HTTP 404
Schemat odpowiedzi
JSON
{
  "properties": {
    "error": {
      "description": "Czytelny dla człowieka komunikat o błędzie.",
      "type": "string"
    }
  },
  "required": [
    "error"
  ],
  "type": "object",
  "unevaluatedProperties": false
}

Przykład odpowiedzi

JSON
{
  "error": "Resource not found"
}
09

Odpowiedź błędu (422)

HTTP 422
Schemat odpowiedzi
JSON
{
  "properties": {
    "error": {
      "description": "Czytelne dla człowieka podsumowanie walidacji.",
      "type": "string"
    },
    "errors": {
      "additionalProperties": {
        "items": {
          "type": "string"
        },
        "type": "array"
      },
      "description": "Komunikaty walidacyjne identyfikowane przez publiczne pole żądania, z tablicą czytelnych dla człowieka ciągów znaków dla każdego pola.",
      "type": "object"
    }
  },
  "required": [
    "error",
    "errors"
  ],
  "type": "object",
  "unevaluatedProperties": false
}

Przykład odpowiedzi

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

Przykład cURL

CURL
curl -X PATCH https://runapi.ai/api/v1/guardrails/guardrail_123 \
  -H 'Authorization: Bearer YOUR_MANAGEMENT_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"enabled":false}'