Skip to main content
POST
/
policies
/
{policy_id}
/
versions
curl --request POST \
  --url "https://api.roe-ai.com/v1/policies/POLICY_ID/versions/?organization_id=YOUR_ORG_ID" \
  --header "Authorization: Bearer YOUR_API_KEY" \
  --header "Content-Type: application/json" \
  --data '{
    "version_name": "version 2",
    "content": {
      "guidelines": {
        "categories": [
          {
            "title": "Updated Verification Rules",
            "rules": [
              {
                "title": "Enhanced signature validation",
                "description": "All signatures must be verified against the authorized signatory list",
                "flag": "RED_FLAG"
              }
            ]
          }
        ]
      },
      "instructions": "Apply enhanced review procedures.",
      "dispositions": {
        "classifications": [
          {"name": "Approved", "description": "Document passes all checks"},
          {"name": "Rejected", "description": "Document fails one or more checks"}
        ]
      }
    }
  }'
{
  "id": "456e7890-e89b-12d3-a456-426614174002",
  "version_name": "version 2",
  "content": {
    "guidelines": {
      "categories": [
        {
          "title": "Updated Verification Rules",
          "rules": [
            {
              "title": "Enhanced signature validation",
              "description": "All signatures must be verified against the authorized signatory list",
              "flag": "RED_FLAG"
            }
          ]
        }
      ]
    },
    "instructions": "Apply enhanced review procedures.",
    "dispositions": {
      "classifications": [
        {"name": "Approved", "description": "Document passes all checks"},
        {"name": "Rejected", "description": "Document fails one or more checks"}
      ]
    }
  }
}
Create a new version of an existing policy. The new version is automatically set as the current version for the policy.
Creating a new version does not modify existing versions. All previous versions remain accessible and can be restored using the Set Current Version endpoint.

Path Parameters

ParameterTypeRequiredDescription
policy_iduuidYesUUID of the policy to add a version to

Query Parameters

ParameterTypeRequiredDescription
organization_iduuidYesUUID of the organization for access control

Request Body

FieldTypeRequiredDescription
version_namestringNoName for this version (auto-generated if not provided, e.g., “version 2”)
contentobjectYesPolicy content structure (see below)

Content Object

The content field accepts a JSON object with the following optional sections:
FieldTypeDescription
guidelinesobjectHierarchical structure with categories array containing rules
guidelines.categories[].titlestringCategory title (required)
guidelines.categories[].descriptionstringCategory description (optional)
guidelines.categories[].rulesarrayList of rules in this category
guidelines.categories[].rules[].titlestringRule title (required)
guidelines.categories[].rules[].descriptionstringRule description (optional)
guidelines.categories[].rules[].flagstringGREEN_FLAG or RED_FLAG (optional)
guidelines.categories[].rules[].sub_rulesarrayNested sub-rules (optional)
instructionsstringFree-form text instructions for the agent
dispositionsobjectClassification options with classifications array
dispositions.classifications[].namestringClassification name (required)
dispositions.classifications[].descriptionstringClassification description (optional)
dispositions.classifications[].promptstringPrompt for when to use this classification (optional)
summary_templateobjectTemplate for generating summaries
summary_template.templatestringHandlebars-style template string
curl --request POST \
  --url "https://api.roe-ai.com/v1/policies/POLICY_ID/versions/?organization_id=YOUR_ORG_ID" \
  --header "Authorization: Bearer YOUR_API_KEY" \
  --header "Content-Type: application/json" \
  --data '{
    "version_name": "version 2",
    "content": {
      "guidelines": {
        "categories": [
          {
            "title": "Updated Verification Rules",
            "rules": [
              {
                "title": "Enhanced signature validation",
                "description": "All signatures must be verified against the authorized signatory list",
                "flag": "RED_FLAG"
              }
            ]
          }
        ]
      },
      "instructions": "Apply enhanced review procedures.",
      "dispositions": {
        "classifications": [
          {"name": "Approved", "description": "Document passes all checks"},
          {"name": "Rejected", "description": "Document fails one or more checks"}
        ]
      }
    }
  }'
{
  "id": "456e7890-e89b-12d3-a456-426614174002",
  "version_name": "version 2",
  "content": {
    "guidelines": {
      "categories": [
        {
          "title": "Updated Verification Rules",
          "rules": [
            {
              "title": "Enhanced signature validation",
              "description": "All signatures must be verified against the authorized signatory list",
              "flag": "RED_FLAG"
            }
          ]
        }
      ]
    },
    "instructions": "Apply enhanced review procedures.",
    "dispositions": {
      "classifications": [
        {"name": "Approved", "description": "Document passes all checks"},
        {"name": "Rejected", "description": "Document fails one or more checks"}
      ]
    }
  }
}

Authorizations

Authorization
string
header
required

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

Path Parameters

policy_id
string<uuid>
required

Query Parameters

organization_id
string<uuid>
required

UUID of the organization for access control. Required.

Body

Serializer for creating a new policy version

content
any
required
version_name
string

Version name (auto-generated if not provided)

Required string length: 1 - 255

Response

201 - application/json

Serializer for creating a new policy version

id
string<uuid>
required
content
any
required
version_name
string

Version name (auto-generated if not provided)

Maximum string length: 255