ForSURE.categorylist.models.version

Version model for the categorylist database.

Version Module

The Version module provides API endpoints for managing categorylist versions. Versions are top-level containers that organize your categorylist data over time, allowing you to maintain multiple versions of your categorylist structure and data.

Overview

Versions represent major iterations of your categorylist. Each version:

  • Has a unique name and number
  • Contains multiple revisions (working drafts and published versions)
  • Belongs to an organization
  • Tracks creation and update metadata

Versions allow you to:

  • Maintain multiple categorylist configurations
  • Track changes over time
  • Organize revisions into logical groups

Main Use Cases

1. List Versions

Retrieve all versions for your organization:

  • Paginated list of versions
  • Includes revision information
  • Filter and sort options

Endpoint: GET /versions

2. Create Versions

Create a new version:

  • Automatically creates an initial draft revision
  • Specify a version name
  • Version number is auto-incremented

Endpoint: POST /versions

3. Get Version Details

Retrieve detailed information about a specific version:

  • Version metadata
  • List of all revisions in the version
  • Latest revision information

Endpoint: GET /versions/{version_uuid}

Version Structure

Version
├── Revision 1 (draft)
├── Revision 2 (published)
├── Revision 3 (draft)
└── ...

Each version starts with a draft revision that you can work on. When ready, you can publish revisions, and create new draft revisions for further changes.

Key Features

  • Organization Scoped: Versions belong to organizations
  • Auto-Numbering: Version numbers are automatically assigned
  • Initial Draft: New versions automatically get a draft revision
  • Revision Tracking: See all revisions within a version

Permissions

  • List/Get: Requires CATEGORYLIST_SUGGEST-EDIT permission
  • Create: Requires CATEGORYLIST_ADMIN permission
  • Revisions: Versions contain multiple revisions
  • Items: Items belong to revisions within versions
  • Labels: Labels are defined at the revision level