Projects are versioned. This is to support editing a Project after it has been ordered and allow reordering an older version (for example, from Order History). A Project Version can be thought of as a "snapshop" of the Project at at a point in time. That "snapshot" can then be printed.
Versions are identified by an incrementing unsigned integer i.e. version "1", version "2" etc. When a project is created, an initial version, "1" is automatically created.
Versions are made up of one or more Project Artifacts. A version is considered complete when it has more than one Artifact and all Artifacts are themselves complete (i.e. no incomplete Required Artifacts).
Requires:
Actions
URL | Verb | Information |
---|---|---|
/project/{Guid}/version | POST | Creates a new version for the Project identified by Guid |
/project/{Guid}/version/{Number} | GET | Retrieves the details for the version |
Attributes
No additional data other than that required in the URL is required when creating a new version.
The following fields are returned when requesting the details of a Version:
Field | Data Type | Required | Information |
---|---|---|---|
Number | Integer | Y | The version number. Auto-incrementing for the project. |
IsComplete | Boolean | Y | Whether this version can be ordered. |
Artifacts | Array Of Project Artifacts | Y | Artifacts that make up the version. |
CreatedDateTimeUtc | DateTime | Y | The date time the version was created, in UTC |
LastSavedDateTimeUtc | DateTime | Y | The date time the version was last saved, in UTC |