Shotstash
API referenceGraphQL referenceQueries

Projects

Projects the caller may view, newest first.

Projects the caller may view, newest first.

Arguments

filter?

Reserved filters (currently ignored).

Returns

[ProjectSummary!]!
  1. returns

A project in the project list: the same fields as Project without chats, so asking projects { chats } is a schema error; the discussion loads per project through project(id).

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.

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 Projects {  projects {    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  }}