Agent Marketplace API
A curated catalog of pre-built AI agents — customer support, lead qualification, appointment booking, FAQ, etc. Install one to your org with a single call; configure prompts and tools afterwards. Tenants can also submit their own templates back to the public catalog for moderator review. Base path:/api/v1/agents/marketplace
Authentication: API key (X-API-Key) or session JWT.
Using the SDKs
client.request() escape hatch above. See the Python SDK.
Returns the typed ApiResponse envelope. See the SDK index at SDK quickstart.
Browse and install
The list endpoint accepts the
category, channel, search, featured, and
limit query parameters. Templates are addressed by their slug (kebab/underscore-cased),
not a numeric id. install forks the template into your org as a new, fully editable
agent and requires the owner or admin role.
Browse the catalog
Filter the catalog with thecategory and channel query parameters:
approved templates are listed. Each entry also carries system_prompt,
model, temperature, tools_config, and conversation_starters — fetch the
full row for one template with GET /agents/marketplace/{slug}.
Install a template
Fork a template into your org. The body is optional — passname and
description to override the template defaults:
201 with the forked agent’s id and full record:
404.
Submit and moderate
The moderation queue and approve/reject actions are reachable under two prefixes
that behave identically — pick whichever matches how you authenticate:
/agents/marketplace/*uses the standard API auth (X-API-Keyor session JWT)./admin/marketplace/*uses the admin-console cookie session.
owner cannot
list or approve pending submissions on either prefix.
POST /agents/marketplace/publish requires the owner or admin role and takes a
flat template definition (no listing wrapper, no agent_id, no pricing):
202 with the submission queued for moderation:
slug, name, category, and system_prompt; the rest default
(description="", model="claude-sonnet-4-6", temperature=0.7, empty
tools_config/conversation_starters/channels/tags). suggested_handoff is optional.
Rejection paths: a duplicate slug returns 409 Conflict; a missing or invalid
required field returns 422 with the failing field named in error.details.issues.
Submissions land with
status: pending and are invisible to the public catalog until a
platform moderator approves them. The moderation queue (GET .../marketplace/pending)
and the approve/reject endpoint (POST .../marketplace/{slug}/moderate) are
platform-moderator only. They are reachable under both the /agents/marketplace prefix
(API-key or session JWT) and the /admin/marketplace prefix (admin-console cookie
session), and behave identically — neither prefix lets a tenant owner moderate.
Moderation sets status to approved (template becomes visible)
or rejected (kept for audit) — notes are required when rejecting. There is no
tenant self-publish: a tenant can submit, but only a moderator can approve.