Skip to content

Customize

Add a marketplace by address: owner/repo on GitHub, workspace/name for a repository on this g1t, a git address, or a link to a marketplace.json.

POST/workspaces/{workspace}/customize/marketplaces

name overrides the one its manifest gives. Its manifest is read at once; a marketplace that cannot be read is refused with 422, saying why. At most 20 a workspace. Owners only. Recorded in the audit log.

owner/repo that is a repository on this g1t is read here; otherwise it is read from GitHub. The manifest is read before the marketplace is kept: an address with no .claude-plugin/marketplace.json, or one that cannot be read, is refused with 422. At most 20 marketplaces a workspace.

  • Authentication: Required. Send an access token as Authorization: Bearer.
  • MCP tool: customize with action add_marketplace, and the same inputs
  • Scope: An access token needs workspace:admin.
Name Type Required Description
workspace string Yes The workspace’s slug.

Send a JSON object. Names are snake_case, as in responses; the camelCase spelling is accepted too.

Name Type Required Description
address string Yes owner/repo on GitHub, workspace/name for a repository here, a git address, or a link to a marketplace.json.
name string No What to call it here. The name its manifest gives when left out.
curl -X POST https://api.g1t.sh/workspaces/flagon-io/customize/marketplaces \
-H "Authorization: Bearer $G1T_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"address": "flagon-io/plugins"
}'

A successful request answers 200 with:

{
"name": "flagon-tools",
"source": {
"source": "g1t",
"repo": "flagon-io/plugins"
},
"builtin": false,
"about": "Flagon's own skills and connectors.",
"owner": "Flagon",
"plugins": 3,
"fetched_at": "2026-10-11T14:05:40.019Z",
"problem": null,
"added_by": "syntaqx",
"added_at": "2026-10-11T14:05:40.019Z",
"can_remove": 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.
409 conflict The request conflicts with the current state.
422 invalid The input is not valid. message says which field and why.