Shotstash
API referenceGraphQL referenceMutations

Update Project

Updates a project. Needs item.move.

Updates a project. Needs item.move.

Arguments

id*ID!

Project id.

input*

The new project fields.

Returns

Project!
  1. returns

A project: the top-level container of folders (sections), files and discussion.

id*ID!

Unique id.

title*String!

Project title.

description?String

Optional description.

coverImage?String

Cover image URL, null when none.

status*ProjectStatus!

Lifecycle state.

Values

ACTIVE

In use and shown in the project list.

ARCHIVED

Finished and kept for reference.

DRAFT

Being prepared and not yet in active use.

files*

Live files directly in the project.

folders*

Live folders of the project.

chats*

Discussion messages of the project. Empty while discussion is off.

totalFiles*Int!

Number of live files.

totalSize*BigInt!

Total size of the live files in bytes.

contentSummary*

Counts of the project content by kind.

repFiles*

Representative files for the project card: a sample seeded by the project id and the calendar date, computed on the server in the Asia/Jakarta time zone (fixed in the resolver, not SHOTSTASH_DEFAULT_TIMEZONE), so every request on the same day sees the same files whatever the client time zone.

Arguments

limitInt!*

How many files to return, 1 to 5 (INVALID_LIMIT otherwise); fewer when the project has fewer files.

createdAt*DateTime!

When the project was created.

updatedAt*DateTime!

When the project was last changed.

mutation UpdateProject($id: ID!, $input: CreateProjectInput!) {  updateProject(id: $id, input: $input) {    id    title    description    coverImage    status    files {      id      filename      originalName      mimeType      size      md5Checksum      thumbnailUrl      duplicateOf      processedVersions {        id        kind        kindLabel        mimeType        size        downloadUrl        createdAt      }      jobs {        id        kind        kindLabel        fileId        status        state        progress        attempts      }    }    folders {      id      name      project {        id        title        description        coverImage        status        totalFiles        totalSize        createdAt      }      parent {        id        name        totalFiles        folderType        trashedAt        createdAt        updatedAt      }      totalFiles      folderType      trashedAt      createdAt      updatedAt    }    totalFiles    totalSize    createdAt  }}