---
title: "Creates a new policy"
method: POST
path: "/policy/{packageName}"
tags: ["Policy", "PolicyVersion"]
---

# Creates a new policy

`POST /policy/{packageName}`

## Path parameters

- `packageName` string, required

## Request body

- PolicyCreate
  - `activeVersion` string, required — Active version of the policy; must be an exact semver
  - `title` string, required — Policy title for displaying to users in the dashboard/Vincent Explorer UI
  - `description` string, required — Policy description - displayed to users in the dashboard/Vincent Explorer UI
  - `deploymentStatus` 'dev' | 'test' | 'prod' — Identifies if a policy is in development, test, or production.
  - `logo` string — Base64 encoded logo image

## Response `200`

Successful operation

- Policy
  - `_id` string, required — Document ID
  - `updatedAt` string, date-time, required — Timestamp when this was last modified
  - `createdAt` string, date-time, required — Timestamp when this was created
  - `packageName` string, required — Policy NPM package name
  - `authorWalletAddress` string, required — Author wallet address. Derived from the authorization signature provided by the creator.
  - `description` string, required — Policy description - displayed to users in the dashboard/Vincent Explorer UI
  - `logo` string — Base64 encoded logo image
  - `activeVersion` string, required — Active version of the policy; must be an exact semver
  - `title` string, required — Policy title for displaying to users in the dashboard/Vincent Explorer UI
  - `deploymentStatus` 'dev' | 'test' | 'prod' — Identifies if a policy is in development, test, or production.
  - `isDeleted` boolean — Whether or not this Policy is deleted

## Other responses

- `400` — Invalid input
- `422` — Validation exception
- `default` — Unexpected error

## Changes

- **2026-01-23** `3a57afc3e1f4` — 2 info
  - the endpoint scheme security `siweAuth` was added to the API
  - the endpoint scheme security `bearerAuth` was removed from the API
- **2025-07-23** `246a15ffe975` — 2 info
  - the endpoint scheme security `bearerAuth` was added to the API
  - the endpoint scheme security `siweAuth` was removed from the API
- **2025-07-23** `9d59309094ed` — 2 info
  - added the new optional request property `logo`
  - added the optional property `logo` to the response with the `200` status
- **2025-07-02** `cfdc102dddd1` — 1 info
  - added the optional property `isDeleted` to the response with the `200` status
- **2025-07-02** `433f98e35cde` — 2 breaking
  - the `description` request property's minLength was increased from `0` to `10`
  - the `title` request property's minLength was increased from `0` to `2`

[Full history](https://skmtc.dev/lit-protocol/apis/vincent-registry-api/changes/policy/:packageName/post.md)

---

[API](https://skmtc.dev/lit-protocol/apis/vincent-registry-api.md) · [All operations](https://skmtc.dev/lit-protocol/apis/vincent-registry-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/lit-protocol/vincent-registry-api/revisions/825608de85fb/schema)
