---
title: "Create directive"
method: POST
path: "/v1/default/banks/{bank_id}/directives"
tags: ["Directives"]
---

# Create directive

`POST /v1/default/banks/{bank_id}/directives`

## Request

- Base URL: `https://hindsight.vectorize.io` (the document declares no server; this is the origin it was published from)
- URL: `https://hindsight.vectorize.io/v1/default/banks/{bank_id}/directives`
- Auth: none declared
- TypeScript: <https://skmtc.dev/vectorize/apis/hindsight-http-api/docs/v1/default/banks/:bank_id/directives/post.ts> (a function with typed inputs; its response is checked against the schema)

Create a global or tag-scoped hard rule for reflect prompts.

## Path parameters

- `bank_id` string, required

## Headers

- `authorization` string, nullable

## Request body

- CreateDirectiveRequest: Request model for creating a directive.
  - `name` string, required: Human-readable name for the directive
  - `content` string, required: The directive text to inject into prompts
  - `priority` integer: Higher priority directives are injected first
  - `is_active` boolean: Whether this directive is active
  - `tags` string[]: Directive execution scope. Empty means global; non-empty requires a matching reflect scope.

## Response `200`

Successful Response

- DirectiveResponse: Response model for a directive.
  - `id` string, required
  - `bank_id` string, required
  - `name` string, required
  - `content` string, required
  - `priority` integer
  - `is_active` boolean
  - `tags` string[]
  - `created_at` string, nullable
  - `updated_at` string, nullable

## Other responses

- `422`: Validation Error

## Changes

- **2026-11-07** `45e711cd0897`: 2 warning
  - the `priority` request property's max was set to `2147483647.00`
  - the `priority` request property's min was set to `-2147483648.00`
- **2026-10-04** `4fda98b75f63`: 1 warning
  - removed the optional property `detail/items/url` from the response with the `422` status
- **2026-05-15** `0d08f271b9db`: 3 info
  - added the optional property `detail/items/ctx` to the response with the `422` status
  - added the optional property `detail/items/input` to the response with the `422` status
  - added the optional property `detail/items/url` to the response with the `422` status

[Operation history](https://skmtc.dev/vectorize/apis/hindsight-http-api/changes/v1/default/banks/:bank_id/directives/post.md)

---

[API](https://skmtc.dev/vectorize/apis/hindsight-http-api.md) - [All operations](https://skmtc.dev/vectorize/apis/hindsight-http-api/llms.txt) - [OpenAPI document](https://skmtc.dev/vectorize/apis/hindsight-http-api/revisions/45e711cd0897?raw)
