Shotstash
API referenceGraphQL referenceQueries

Project

One project, null when it does not exist or the caller may not view it.

One project, null when it does not exist or the caller may not view it.

Arguments

id*ID!

Project id.

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.

query Project($id: ID!) {  project(id: $id) {    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  }}