---
title: "Create custom rule"
method: POST
path: "/repositories/sast/custom-rules"
---

# Create custom rule

`POST /repositories/sast/custom-rules`

Create a new custom semgrep rule

## Request body

- object
  - `semgrep_rule` string, required — The semgrep rule
  - `issue_title` string, required — The title of the issue associated with this semgrep rule
  - `tldr` string, required — A summary of what the issue associated with this semgrep rule is
  - `how_to_fix` string, required — A description on how to fix the issue associated with this semgrep rule
  - `priority` integer, required — A numeric value from 1 to 100 indicating how severe the issue associated with this semgrep rule is
  - `language` 'JS' | 'TS' | 'PHP' | 'Java' | 'Scala' | 'GO' | 'PY' | 'Ruby' | '.NET' | 'RUST' | 'Dart' | 'Swift' | 'Elixir' | 'C' | 'Clojure' | 'kotlin' | 'terraform' | 'generic', required — The programming language associated with this semgrep rule

## Response `200`

The custom rule has successfully been created

- object
  - `id` integer — The ID of the newly created custom rule in Aikido.

## Other responses

- `400` — One or more of the provided fields are invalid.

---

[API](https://skmtc.net/aikido/apis/authorization.md) · [All operations](https://skmtc.net/aikido/apis/authorization/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/aikido/authorization/revisions/5445e7c21137/schema)
