---
title: "Bulk assign keys to a guardrail"
method: POST
path: "/guardrails/{id}/assignments/keys"
tags: ["Guardrails"]
---

# Bulk assign keys to a guardrail

`POST /guardrails/{id}/assignments/keys`

Assign multiple API keys to a specific guardrail. A key may hold at most one guardrail; assigning replaces any existing assignment. [Management key](/docs/guides/overview/auth/management-api-keys) required.

## Path parameters

- `id` string, uuid, required — The unique identifier of the guardrail

## Request body

- BulkAssignKeysRequest
  - `key_hashes` string[], required — Array of API key hashes to assign to the guardrail

## Response `200`

Assignment result

- BulkAssignKeysResponse
  - `assigned_count` integer, required — Number of keys successfully assigned

## Other responses

- `400` — Bad Request - Invalid request parameters or malformed input
- `401` — Unauthorized - Authentication required or invalid credentials
- `404` — Not Found - Resource does not exist
- `500` — Internal Server Error - Unexpected server error

---

[API](https://skmtc.net/openrouterteam/apis/openrouter-api.md) · [All operations](https://skmtc.net/openrouterteam/apis/openrouter-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/openrouterteam/openrouter-api/versions/fe902fcd8b57/schema)
