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-EDITpermission - Create: Requires
CATEGORYLIST_ADMINpermission
Related Modules
- Revisions: Versions contain multiple revisions
- Items: Items belong to revisions within versions
- Labels: Labels are defined at the revision level