Project Versions
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} | PUT | Updates the details for an existing version. |
/project/{Guid}/version/{Number} | GET | Retrieves the details for the version |
Attributes
When creating a new version or updating an existing version, the following fields can be supplied:
Field | Data Type | Required | Information |
---|---|---|---|
Metadata | Dictionary of String keys to String values | N | Store arbitrary information against the project version. Keys and Values are limited in length to 1024 characters. For example: a URL for a preview image of the cover. |
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. |
IsReadOnly | Boolean | Y | Whether this version is read only. After it has been ordered, a version can't be changed. |
Metadata | Dictionary of String keys to String values | N | Arbitrary information stored against the project version. Keys and Values are limited in length to 1024 characters. For example: a URL for a preview image of the cover. |
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 |