---
title: "Add a routing rule"
method: POST
path: "/links/{id}/rules"
tags: ["Routing"]
---

# Add a routing rule

`POST /links/{id}/rules`

## Request

- Base URL: `https://fixed.link/api/v1`
- URL: `https://fixed.link/api/v1/links/{id}/rules`
- Auth: HTTP bearer

Appended to the end of the list, so it cannot outrank an existing rule.

## Path parameters

- `id` string, required

## Request body

- CreateRoutingRuleRequest
  - `name` string, required
  - `destination` string, required
  - `conditions` RuleCondition[] (unresolved $ref)
  - `enabled` boolean
  - `preview` RoutingRulePreview (unresolved $ref)

## Response `201`

The created rule

- RoutingRule
  - `id` string, required
  - `name` string, required
  - `position` integer, required: Evaluation order; lower runs first.
  - `enabled` boolean, required
  - `destination` string, required
  - `conditions` RuleCondition[], required (unresolved $ref)
  - `description` string, required
  - `matchCount` integer, required
  - `createdAt` string, date-time, required

## Other responses

- `402`: Plan does not include conditional routing
- `409`: Rule limit reached
- `422`: Invalid condition or destination

---

[API](https://skmtc.dev/fixed/apis/fixedlink-api.md) · [All operations](https://skmtc.dev/fixed/apis/fixedlink-api/llms.txt) · [OpenAPI document](https://skmtc.dev/fixed/apis/fixedlink-api/revisions/72343453b299?raw)
