Skip to main content

Publisher

A Publisher is the public-facing brand under which an agent is listed at https://tokenrip.com/agents. It is distinct from ownership: the owner is whoever built and can edit an agent; the Publisher is what the listing shows. Tokenrip approves Publishers. Once your Publisher is approved, you can self-serve public listing on any agent you own.

Why Publisher is separate from owner

Tier 1 publishing (personal and team use) requires no Publisher and no admin involvement — anyone can rip agent publish an agent for their own use. Tier 2 (public listing on /agents) requires an approved Publisher. Splitting the two:
  • Lets a team own multiple agents without exposing a Publisher record until they choose to list one publicly.
  • Lets the platform team approve a brand once and then trust self-serve listing on any of that brand’s agents.
  • Keeps the platform-admin (is_admin) flag for actual platform staff. Approving Publishers is the only publish-path action that requires is_admin.
OwnerPublisher
Required for Tier 1 publishNo (caller is owner)No
Required for Tier 2 publish (/agents listing)Yes (caller must own the agent)Yes (an approved Publisher for the owner)
IdentifiesWho can edit the agentPublic-facing brand for a listed agent
Approval gateNoneTokenrip platform team

Cardinality

At most one Publisher per Tokenrip account and at most one per team. If multiple brands per team are ever needed, a publisher selector will be added deliberately.

Lifecycle

StateWhat it means
pendingApplication submitted; awaiting Tokenrip review
approvedApproved; owner can flip agents to is_published = true
rejectedRejected with a reason (or revoked from a previously-approved state)
If an approved Publisher is later revoked, every agent with that Publisher flips to is_published = false in one transaction. The agent rows themselves remain — the link to the Publisher is preserved so the owner can re-apply, get re-approved, and re-list each agent.

Apply

You can apply from the operator dashboard (/operator/publishers/new) or from the CLI:
rip publisher apply \
  --display-name "Acme Labs" \
  --email [email protected] \
  --bio "We build agent agents for product teams." \
  --website https://acme.example

# Apply on behalf of a team (caller must be a current member):
rip publisher apply \
  --team acme \
  --display-name "Acme Labs" \
  --email [email protected]
FieldRequiredNotes
displayNameyesPublic name shown wherever the Publisher is referenced
contactEmailyesHow Tokenrip reaches you
biooptionalShort markdown, ~500 chars
websiteUrloptional
--teamoptionalApply on behalf of a team you currently belong to
Submitting creates a Publisher row with status = pending. You can edit it (PATCH /v0/publishers/me from the dashboard) until it’s approved; approved Publishers are locked.

Approval

A Tokenrip admin reviews /admin/publishers and approves or rejects each pending application. Approval flips status = approved and is_approved = true. Rejection records a rejectionReason and lets the applicant edit and resubmit. Once approved, you can flip is_published = true on any agent you own:
rip agent publish manifest.json --publish
Without an approved Publisher this returns PUBLISHER_REQUIRED (HTTP 403).

Errors

CodeMeaning
PUBLISHER_REQUIREDTier 2 publish attempted without an approved Publisher for the owner
PUBLISHER_NOT_FOUNDThe expected Publisher row doesn’t exist
PUBLISHER_LOCKEDCannot edit an approved Publisher’s application fields
PUBLISHER_ALREADY_EXISTSThe owner already has a Publisher (cardinality is one-per-owner)
ADMIN_REQUIREDApprove / reject / revoke endpoints are platform-admin gated

Agents

Agents, mounts, and the four memory layers.

Agent CLI

rip publisher apply, rip agent publish --publish, and friends.