Skip to content

StudioProjectDto

Endpoints · All schemas

FieldRequiredDescription
accessYesSee definition below
archivedAtYesWhen the owner archived it
createdAtYesstring
deletedAtYesWhen it was moved to the trash
duplicatedFromIdYesThe project this one was duplicated from; null for a reviewer
idYesStudio project ID
importedFromBundleYesThe project was read in from a portable bundle; always false for a reviewer
lastOpenedAtYesWhen an editor last opened it; null for a reviewer
leaseYesSee definition below
nameYesstring
ownerIdYesThe only account that may write
purgeAfterYesWhen a trashed project is deleted for good; its library media is never touched
revisionYesHead revision number; 0 until the first save
shelfYesSee definition below
spaceIdYesShared space whose members may review the project
thumbnailAssetIdYesLibrary asset the owner chose as the poster; null for a reviewer
updatedAtYesstring

Complete definition

required lists fields that must be present. nullable allows a null value; it does not make the field optional. Response enums retain exact wire values for compatibility.

Field definitions: StudioProjectAccess, StudioProjectLeaseDto, StudioProjectShelf

{
  "properties": {
    "access": {
      "$ref": "#/components/schemas/StudioProjectAccess"
    },
    "archivedAt": {
      "description": "When the owner archived it",
      "format": "date-time",
      "nullable": true,
      "type": "string"
    },
    "createdAt": {
      "format": "date-time",
      "type": "string"
    },
    "deletedAt": {
      "description": "When it was moved to the trash",
      "format": "date-time",
      "nullable": true,
      "type": "string"
    },
    "duplicatedFromId": {
      "description": "The project this one was duplicated from; null for a reviewer",
      "format": "uuid",
      "nullable": true,
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$",
      "type": "string"
    },
    "id": {
      "description": "Studio project ID",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$",
      "type": "string"
    },
    "importedFromBundle": {
      "description": "The project was read in from a portable bundle; always false for a reviewer",
      "type": "boolean"
    },
    "lastOpenedAt": {
      "description": "When an editor last opened it; null for a reviewer",
      "format": "date-time",
      "nullable": true,
      "type": "string"
    },
    "lease": {
      "$ref": "#/components/schemas/StudioProjectLeaseDto"
    },
    "name": {
      "type": "string"
    },
    "ownerId": {
      "description": "The only account that may write",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$",
      "type": "string"
    },
    "purgeAfter": {
      "description": "When a trashed project is deleted for good; its library media is never touched",
      "format": "date-time",
      "nullable": true,
      "type": "string"
    },
    "revision": {
      "description": "Head revision number; 0 until the first save",
      "maximum": 9007199254740991,
      "minimum": 0,
      "type": "integer"
    },
    "shelf": {
      "$ref": "#/components/schemas/StudioProjectShelf"
    },
    "spaceId": {
      "description": "Shared space whose members may review the project",
      "format": "uuid",
      "nullable": true,
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$",
      "type": "string"
    },
    "thumbnailAssetId": {
      "description": "Library asset the owner chose as the poster; null for a reviewer",
      "format": "uuid",
      "nullable": true,
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$",
      "type": "string"
    },
    "updatedAt": {
      "format": "date-time",
      "type": "string"
    }
  },
  "required": [
    "access",
    "archivedAt",
    "createdAt",
    "deletedAt",
    "duplicatedFromId",
    "id",
    "importedFromBundle",
    "lastOpenedAt",
    "lease",
    "name",
    "ownerId",
    "purgeAfter",
    "revision",
    "shelf",
    "spaceId",
    "thumbnailAssetId",
    "updatedAt"
  ],
  "type": "object"
}