List a workspace's artifacts
List the artifacts (docs, slides, designs and dashboards) in a workspace that you can open, most recently edited first: each with its id (fol_…), kind, title, icon, space (null in its owner's Private), parent_id, owner, your role (viewer_role: view, comment, edit or manage), general_access, private, excerpt, edited_at and html_url. tab is all (the default), yours (you own them) or shared (shared with you).
/workspaces/{workspace}/artifactsNarrow with kind, space (its slug or id), project (owner/name), q (words or meaning) and limit (at most 100); next_cursor pages on. With state trashed, the artifacts in the trash you can restore instead. Not workflow runs’ artifacts.
Only artifacts you can open are listed, with viewer_role your own role on each. Page on with cursor set to next_cursor until it is null. With state=trashed, what you can restore from the trash. With q, the best matches first. These are Artifacts mode’s docs, slides, designs and dashboards, not workflow runs’ artifacts (list_artifacts).
- Authentication: Required. Send an access token as
Authorization: Bearer. - MCP tool:
artifactwithactionlist, and the same inputs - Scope: An access token needs
artifacts:read.
Path parameters
Section titled “Path parameters”| Name | Type | Required | Description |
|---|---|---|---|
workspace |
string | Yes | The workspace’s slug, e.g. “acme”. |
Query parameters
Section titled “Query parameters”| Name | Type | Required | Description |
|---|---|---|---|
tab |
string | No | all (the default), yours (you own them) or shared (shared with you by others). One of all, yours, shared. |
kind |
string | No | doc, slides, design or dashboard. One of doc, slides, design, dashboard. |
space |
string | No | A space: its slug (general) or id (spc_…). |
project |
string | No | Only artifacts about this repository: owner/name. |
q |
string | No | Only artifacts matching these words or this meaning, best first. |
state |
string | No | active (the default), or trashed: what you can restore from the trash. One of active, trashed. |
cursor |
string | No | next_cursor from the page before. |
limit |
integer | No | How many, at most 100. |
Example request
Section titled “Example request”curl "https://api.g1t.sh/workspaces/acme/artifacts?kind=doc&space=general" \ -H "Authorization: Bearer $G1T_TOKEN"Example response
Section titled “Example response”A successful request answers 200 with:
{ "items": [ { "id": "fol_01kq7c4e6g8j0m2p4r6t8v0x2z", "kind": "doc", "title": "Q4 roadmap", "icon": "🗺️", "slug": "q4-roadmap-fol_01kq7c4e6g8j0m2p4r6t8v0x2z", "space": { "id": "spc_01kq1a3c5e7g9j1l3n5q7s9u1w", "slug": "general", "name": "General", "kind": "workspace" }, "parent_id": null, "has_children": false, "owner": { "type": "user", "id": "usr_01kkntcg1eeb98j62xjm7eh09q", "username": "ana", "display_name": "Ana Lima" }, "created_by": { "type": "user", "id": "usr_01kkntcg1eeb98j62xjm7eh09q", "username": "ana", "display_name": "Ana Lima" }, "created_at": "2026-10-06T09:12:00.000Z", "updated_at": "2026-10-08T16:40:12.000Z", "edited_by": { "type": "user", "id": "usr_01kmb2d4f6h8k0m2p4r6t8v0x2", "username": "bo", "display_name": "Bo Chen" }, "edited_at": "2026-10-08T16:40:12.000Z", "trashed_at": null, "viewer_role": "manage", "private": false, "shared_count": 1, "general_access": "workspace", "general_role": "view", "inherit": true, "agent_mode": "suggest", "excerpt": "What we ship this quarter, and what we leave for next.", "source": null, "stale": false, "html_url": "https://g1t.sh/acme/-/artifacts/q4-roadmap-fol_01kq7c4e6g8j0m2p4r6t8v0x2z" } ], "next_cursor": null}Errors
Section titled “Errors”A failed request answers with one of these statuses and a body like {"error": {"code": "not_found", "message": "Repository not found."}}. See errors.
| Status | Code | When |
|---|---|---|
| 401 | unauthenticated |
A token is required, or the one sent is not valid. |
| 403 | forbidden |
The token is valid but not allowed to do this, such as a member-only change or an agent token outside its repository. |
| 404 | not_found |
It does not exist, or you cannot see it. |
| 422 | invalid |
The input is not valid. message says which field and why. |