Skip to main content
PUT
/
policies
/
{org}
Create or update policy
curl --request PUT \
  --url https://app.kosli.com/api/v2/policies/{org} \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: multipart/form-data' \
  --form 'payload={
  "name": "<string>",
  "description": "",
  "type": "env",
  "comment": ""
}' \
  --form 'policy_file=<string>'
{
  "name": "<string>",
  "description": "<string>",
  "created_by": "<string>",
  "created_at": 123,
  "last_modified_at": 123,
  "archived": false,
  "versions": [],
  "events": [],
  "consuming_envs": []
}

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Path Parameters

org
string
required

Body

multipart/form-data
payload
PolicyPutInput · object
required

Policy metadata in JSON format

Example:
{
  "comment": "Initial version",
  "description": "Production environment policy",
  "name": "production-policy",
  "type": "env"
}
policy_file
string | null

The YAML policy file to upload (max size: 10MB)

Response

Update Success

Response model for a policy

This represents the response structure when retrieving, creating or updating a policy.

name
string
required
description
string
required
created_by
string
required
created_at
number | null
last_modified_at
number | null
archived
boolean
default:false
versions
VersionedPolicy · object[]
events
PolicyEvent · object[]
consuming_envs
string[]
Last modified on April 9, 2026