---
title: "Create rule"
method: POST
path: "/v1/ai-gateway/rules"
tags: ["ai-gateway"]
---

# Create rule

`POST /v1/ai-gateway/rules`

Create a routing rule

## Query parameters

- `teamId` string
- `slug` string

## Response `201`

- AiGatewayRule — Public response shape for AI Gateway routing rules. Used so OpenAPI generation can avoid ElectroDB's recursive EntityItem types.
  - `ownerId` string, required
  - `ruleId` string, required
  - `type` 'deny' | 'rewrite', required
  - `match` object
    - `model` string
  - `action` object
    - `rewriteModel` string
    - `reason` string
  - `enabled` false | true, required
  - `deleted` false | true
  - `description` string
  - `createdBy` string
  - `updatedBy` string
  - `createdAt` number, required
  - `updatedAt` number, required

## Other responses

- `400`
- `401` — The request is not authorized.
- `403` — You do not have permission to access this resource.
- `409`
- `410`
- `500`

---

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