List all versions for a project
Returns a list of all saved project versions (snapshots) with their details.
What are Project Versions? Project versions freeze the current state of a project configuration at a specific point in time. They capture the complete project state including:
- Project tree structure with dynamically activated work packages
- Products including variants, prices, and discounts
- Answered form questions and their effects
- Manually added items
- All configuration changes
Versions ensure that offered, negotiated, and contracted content remains traceable. They serve as the basis for quotes, specifications, and billing documents.
What is returned:
- id: Unique version identifier (UUID)
- title: Version title/name
- semverVersion: Semantic version string (e.g., “1.2.3”)
- branchId: Branch identifier for version tracking
- parentId: Parent version ID (null for first version)
- createdAt: ISO 8601 timestamp when version was created
- createdBy: User ID who created the version
- description: HTML-formatted version description
- isCurrent: Whether this is the current active version for the project
Use cases:
- View version history to see how project evolved
- Select a version when creating quotes or specifications
- Compare different project states
- Restore to a previous version if needed
GET
/projects/{id}/versionsAuthorization
AuthorizationOAuth2 access token · headerrequiredScopes:
api:reador
AuthorizationBearer token (JWT) · headerrequiredPath parameters
idstringrequiredResponses
200Array of project versions
Array of
ProjectVersionDtobranchIdstringrequiredBranch identifier (UUID) for version tracking. Used to group related versions together and enable branching/versioning workflows
createdAtstringrequiredISO 8601 timestamp when the version was created
createdBystringrequiredUser ID (UUID) who created the version
descriptionstringrequiredHTML-formatted description of the version. Originally provided as HTML or Markdown when creating the version, always returned as HTML
idstringrequiredUnique identifier of the version (UUID)
isCurrentbooleanrequiredWhether this is the current active version for the project. Only one version can be current at a time. The current version represents the active project state
parentIdobject | nullrequiredParent version ID (UUID). Null if this is the first version created for the project. Used to track version lineage and generate semantic version numbers
semverVersionstringrequiredSemantic version string automatically generated based on parent version and branch. Follows semver-like format (e.g., "1.2.3")
titlestringrequiredTitle/name of the version as provided when creating it
401Unauthorized - Invalid or missing authentication token
403Forbidden - Insufficient API scopes or permissions
404Project not found
Request
curl -X GET "https://leadtime.app/api/public/projects/string/versions" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN"const response = await fetch("https://leadtime.app/api/public/projects/string/versions", {
method: "GET",
headers: {
"Authorization": "Bearer YOUR_ACCESS_TOKEN"
}
});import requests
response = requests.get(
"https://leadtime.app/api/public/projects/string/versions",
headers={
"Authorization": "Bearer YOUR_ACCESS_TOKEN"
},
)Response
[
{
"branchId": "770e8400-e29b-41d4-a716-446655440002",
"createdAt": "2024-01-15T10:30:00.000Z",
"createdBy": "880e8400-e29b-41d4-a716-446655440003",
"description": "<h1>Version Description</h1><p>This is version 1.2.3</p>",
"id": "660e8400-e29b-41d4-a716-446655440001",
"isCurrent": true,
"parentId": "660e8400-e29b-41d4-a716-446655440000",
"semverVersion": "1.2.3",
"title": "Version 1.2.3"
}
]Unauthorized - Invalid or missing authentication token
Forbidden - Insufficient API scopes or permissions
Project not found