Skip to content

Who can open an artifact and how: its owner, each person, agent and team it is shared with (principal, role, and inherited_from when the access comes from a doc it is under), general_access (none, workspace or link) with general_role, whether it follows its space or parent (inherit), agent_mode, and whether you may change it (can_share).

GET/workspaces/{workspace}/artifacts/{artifact_id}/access

Its owner always has full access and is not in shared_with. inherited_from on a row is the doc above it that gives that access; on the whole list, the space or doc it follows while inherit is true.

  • Authentication: Required. Send an access token as Authorization: Bearer.
  • MCP tool: artifact with action access, and the same inputs
  • Scope: An access token needs artifacts:read.
Name Type Required Description
workspace string Yes The workspace’s slug, e.g. “acme”.
artifact_id string Yes The artifact’s id (fol_…), or its address: /acme/-/artifacts/q4-roadmap-fol_…
curl https://api.g1t.sh/workspaces/acme/artifacts/fol_01kq7c4e6g8j0m2p4r6t8v0x2z/access \
-H "Authorization: Bearer $G1T_TOKEN"

A successful request answers 200 with:

{
"artifact_id": "fol_01kq7c4e6g8j0m2p4r6t8v0x2z",
"owner": {
"type": "user",
"id": "usr_01kkntcg1eeb98j62xjm7eh09q",
"username": "ana",
"display_name": "Ana Lima"
},
"shared_with": [
{
"principal": "user:usr_01kmb2d4f6h8k0m2p4r6t8v0x2",
"member": {
"type": "user",
"id": "usr_01kmb2d4f6h8k0m2p4r6t8v0x2",
"username": "bo",
"display_name": "Bo Chen"
},
"role": "edit",
"inherited_from": null
},
{
"principal": "team:design",
"member": {
"type": "team",
"slug": "design",
"display_name": "@acme/design"
},
"role": "comment",
"inherited_from": null
}
],
"general_access": "workspace",
"general_role": "view",
"inherit": true,
"inherited_from": {
"type": "space",
"id": "spc_01kq1a3c5e7g9j1l3n5q7s9u1w",
"name": "General"
},
"agent_mode": null,
"can_share": true
}

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.