Files
List workspace filesfiles:read
200 A page of files and an opaque continuation cursor.Returnsfilesprefixescursor
Errors401403
Search workspace filesfiles:read
Requires at least one meta.<key> equality filter or a name substring. Metadata filter names are dynamic query parameters.
200 A bounded page. truncated is true and cursor is non-null when more matches remain; pass cursor back to continue.Returnsitemstruncatedcursor
Errors400401403
List metadata keys or valuesfiles:read
200 Metadata key facets or value facets.Returnskeystruncatedkeyvalues
Errors401403
Create a presigned uploadfiles:write
200 Presigned upload details.
Errors400401403409429
Group workspace files by GitHub pathfiles:read
Powers the web Screenshots page's grouped-by-path view. Groups recently uploaded gh.*-tagged files by project and path.
200 Path groups, a flat catalog, known projects, and a flat recent feed.ReturnsgroupscatalogprojectslatesttruncatedcatalogTruncated
Errors401403
Resolve a usable URL for a filefiles:read
Returns the workspace's public URL when configured, otherwise a short-lived signed download URL. Resolves across storage lanes so a file uploaded before a storage switch still resolves.
200 A usable URL.Returnsurl
Errors400401403404
Set a file's visibility flagfiles:write
200 The updated visibility.Returnskeyvisibility
Errors400401403404429
Read file metadatafiles:read
200 Object metadata, or a metadata-only response when requested.ReturnskeysizecontentTypeuploadedurlembedUrlmetadatavisibility
Errors401403404
Upload a filefiles:writeBody application/octet-stream
Send an Idempotency-Key to make retries safe for 24 hours. Reusing the key with the same effective request (keyed on the uploaded content) returns the original 201 response. Reusing it with a different request returns 409.
200 Dry-run result when dryRun is enabled.ReturnsworkspacekeyurlembedUrlreplacedwouldRefusedryRun
201 The file was stored.ReturnskeysizecontentTypeuploadedurlembedUrlmetadatavisibilityworkspacereplaced
Errors400401403409413415429
Merge file metadatafiles:write
200 The merged metadata map.Returnsmetadata
Errors400401403404429
Delete a filefiles:delete
200 The file was deleted.Returnsidkeydeleted
Errors401403404429
Galleries
List workspace galleriesfiles:read
200 Enriched gallery summaries and an opaque continuation cursor.ReturnsgalleriesnextCursor
Errors401403
Create a galleryfiles:write
Send an Idempotency-Key to make retries safe for 24 hours. Reusing the key with the same effective body returns the original 201 response. Reusing it with a different body returns 409.
201 The gallery was created.ReturnsidurlworkspacetitledescriptionvisibilitycoverItemIdversioncreatedAtupdatedAtitemCountreferencespreviewUrlitems
Errors400401403409429
Find galleries by external referencefiles:read
200 Gallery summaries and an opaque continuation cursor.ReturnsgalleriesnextCursor
Errors400401403
Read a galleryfiles:read
200 The gallery and its items.ReturnsidurlworkspacetitledescriptionvisibilitycoverItemIdversioncreatedAtupdatedAtitemCountreferencespreviewUrlitems
Errors401403404
Update a galleryfiles:write
200 The updated gallery.ReturnsidurlworkspacetitledescriptionvisibilitycoverItemIdversioncreatedAtupdatedAtitemCountreferencespreviewUrlitems
Errors400401403404409429
Delete a galleryfiles:write
200 The gallery was deleted.Returnsidkeydeleted
Errors400401403404409429
Add a file to a galleryfiles:write
200 The file was already a member; the existing item is returned.ReturnsidobjectKeypositioncaptionaltTextcreatedAtstatusurlembedUrlpageUrlcontentTypesizeuploadedmodifiedposterUrlvideoDimensions
201 The gallery item was created.ReturnsidobjectKeypositioncaptionaltTextcreatedAtstatusurlembedUrlpageUrlcontentTypesizeuploadedmodifiedposterUrlvideoDimensions
Errors400401403404409429
Replace the gallery item orderfiles:write
200 Ordered items and whether the order was unchanged.
Errors400401403404409429
Remove an item from a galleryfiles:write
200 The gallery membership was deleted.Returnsidkeydeleted
Errors400401403404409429
List gallery external referencesfiles:read
200 The gallery references.
Errors401403404
Add an external referencefiles:write
200 The reference already existed and is returned unchanged.
201 The reference was created.
Errors400401403404409429
Remove an external referencefiles:write
200 The external reference was deleted.Returnsidkeydeleted
Errors400401403404409429
Live links
List workspace feedsfiles:read
200 A page of feed summaries.ReturnsfeedsnextCursor
Errors401403
Create a change feedfiles:write
Creates a public newest-first screenshot feed for a GitHub owner/repo, optionally scoped to one pull request or issue. The same scope returns the existing feed.
200 The existing feed for this scope.ReturnsidurlworkspacerepopathnumberkindtitlesourcecreatedAtupdatedAtitems
201 The feed was created.ReturnsidurlworkspacerepopathnumberkindtitlesourcecreatedAtupdatedAtitems
Errors400401403409429
Read one owned feedfiles:read
200 The feed and its current newest-first items.ReturnsidurlworkspacerepopathnumberkindtitlesourcecreatedAtupdatedAtitems
Errors401403404
Soft-delete a feedfiles:write
200 The feed record was deleted. Uploaded objects stay.Returnsidkeydeleted
Errors401403404429
Usage
Read workspace usagefiles:read
200 Usage counters, configured limits, credential scopes, and plan.ReturnsworkspacebytesobjectssharedBytessharedObjectsuploadsInPeriodperiodStartupdatedAtscopesplanmaxStorageBytesstorageRemainingBytesmaxUploadsPerPerioduploadsRemaining
Errors401403
Rebuild workspace usage countersfiles:write
Potentially expensive: scans every object in the workspace's active storage lanes and rebuilds the usage ledger. Requires a bearer token with files:write; browser sessions are not accepted.
200 Reconciliation result and updated usage.
Errors401403
Purge files past the retention windowfiles:delete
Destructive: permanently deletes objects older than the workspace's retentionDays, then reconciles usage. Requires a bearer token with files:delete; browser sessions are not accepted. The response is either { skipped: true } or a purge and reconciliation result.
200 Purge result or a skipped result.
Errors401403
Public reads
Read a public change feedNo auth
Returns one page (up to 50) of the public newest-first item list for a feed, plus nextCursor for the next page. It omits workspace ownership and object keys. Items are resolved at view time from gh.repo and optional gh.number metadata.
200 The public feed and its current items.
Errors404503
Read a public galleryNo auth
Returns the public allowlisted projection. It omits workspace ownership and object keys.
200 The public gallery and its public item projection.
Errors404503