Publish to the registry
Publishing makes a resource visible on the Ren registry. Once published, anyone in your organization (or the public, depending on scope) can discover and reference it. Publishing is one-way. You can deprecate a resource, but you cannot unpublish it.
How publishing works
When you publish, Ren:
- Creates a publisher for your organization if one doesn’t already exist.
- Sets the resource’s
publisherId, making it discoverable on the registry. - Auto-publishes any dependent resources that aren’t yet published (e.g. an agent’s skills and MCPs).
Published resources move from private scope to org or public scope. See Scopes for details.
In the UI
In the UI
-
Open the resource (agent, skill, or MCP) you want to publish.
-
Click Publish to registry.
-
Confirm. The resource is now visible on the registry.
Programmatically
Publish an agent
ren agents publish agt_abc123Publish a skill
ren skills publish skl_abc123Publish an MCP
ren mcps publish mcp_abc123Publish an agent
curl -X POST "https://api.renai.build/api/agents/agt_abc123/publish" \ -H "Authorization: Bearer $REN_PAT_TOKEN"Publish a skill
curl -X POST "https://api.renai.build/api/skills/skl_abc123/publish" \ -H "Authorization: Bearer $REN_PAT_TOKEN"Publish an MCP
curl -X POST "https://api.renai.build/api/mcps/mcp_abc123/publish" \ -H "Authorization: Bearer $REN_PAT_TOKEN"import { createRenClient, pat } from "@renai-labs/sdk"
const client = createRenClient({baseUrl: "https://api.renai.build",auth: pat(process.env.REN_PAT_TOKEN!),})
await client.agent.publish({ path: { id: "agt_abc123" } })await client.skill.publish({ path: { id: "skl_abc123" } })await client.mcp.publish({ path: { id: "mcp_abc123" } })Publishing is permanent. There is no unpublish. To stop showing a resource, use Deprecate instead, which marks it as deprecated on the registry while keeping it functional for existing references.