---
title: "Create a directive"
method: PUT
path: "/directives"
tags: ["Directives"]
---

# Create a directive

`PUT /directives`

Create a new directive from provided parameters. You can specify a source directive to clone it.

## Request body

- DirectiveNew
  - `source` string, uuid — The id of the directive the clone will be based onto. If this parameter if provided, the new directive will be a clone of this source. Other value will override values from the source.
  - `id` string, uuid — Directive id
  - `displayName` string — Human readable name of the directive
  - `shortDescription` string — One line directive description
  - `longDescription` string, markdown — Description of the technique (rendered as markdown)
  - `techniqueName` string — Directive id
  - `techniqueVersion` string — Directive id
  - `priority` integer — Directive priority. `0` has highest priority.
  - `enabled` boolean — Is the directive enabled
  - `system` boolean — If true it is an internal Rudder directive
  - `tags` object[]
  - `parameters` object — Directive parameters (depends on the source technique)

## Response `200`

Directives information

- object
  - `result` 'success' | 'error', required — Result of the request
  - `action` 'createDirective', required — The id of the action
  - `data` object, required
    - `directives` Directive[], required
      - `id` string, uuid — Directive id
      - `displayName` string — Human readable name of the directive
      - `shortDescription` string — One line directive description
      - `longDescription` string, markdown — Description of the technique (rendered as markdown)
      - `techniqueName` string — Directive id
      - `techniqueVersion` string — Directive id
      - `priority` integer — Directive priority. `0` has highest priority.
      - `enabled` boolean — Is the directive enabled
      - `system` boolean — If true it is an internal Rudder directive
      - `policyMode` 'enforce' | 'audit' — Policy mode of the directive
      - `tags` object[]
      - `parameters` object — Directive parameters (depends on the source technique)

---

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