Skip to main content
ApolloManagementClient is the server-side client for operating your workspace. It authenticates with your organization API key, sent as the x-organization-api-key header on every request — never expose the key in the browser.
All methods are async, fully typed, and throw typed errors on failure. Request and response models are exported under the Apollo namespace.

Projects

MethodDescription
projects.listProjects(request?)List the organization’s projects (paginated).
projects.createProject(request)Create a project.
projects.getProject(projectId)Fetch one project.
projects.deleteProject(projectId)Delete a project.
projects.getProjectUsage(projectId, request?)Usage aggregated across the project.

Agents

MethodDescription
agents.listAgents(projectId, { filters })List a project’s agents (paginated).
agents.createAgent(projectId, request)Create an agent.
agents.getAgent(agentId)Fetch one agent (includes live_version_id).
agents.updateAgent(agentId, request)Rename an agent.
agents.deleteAgent(agentId)Delete an agent and all its versions.
agents.getAgentUsage(agentId, request?)Usage metrics for one agent.

Agent versions

MethodDescription
agentVersions.listVersions(agentId, { filters })List versions (paginated, filterable by status/tag/label).
agentVersions.createVersion(agentId, request)Create a draft (source: empty, template, or version).
agentVersions.updateVersion(agentId, versionId, request)Update metadata (label, tags, notes).
agentVersions.pushVersion(agentId, versionId, request)Push a configuration bundle.
agentVersions.pullVersion(agentId, versionId, request?)Download a configuration bundle.
agentVersions.publishVersion(agentId, versionId)Make the version live (ship or roll back).
agentVersions.archiveVersion(agentId, versionId)Retire a version.

Threads

MethodDescription
threads.listThreads({ filters })List the organization’s threads, newest first (paginated).
threads.getThread(threadId)Fetch one thread.
threads.updateThread(threadId, request)Update a thread (currently title).
threads.getThreadMessages(threadId)The thread’s transcript.
threads.getThreadTrace(threadId)Every interaction’s reasoning trace.
threads.getInteractionTrace(interactionId)One interaction’s reasoning trace.
filters supports project_id, agent_id, user_id, external_id, created (one value, or two for a range), tool, rule, and param.
Prefer a filter such as project_id over an empty filters object — the unfiltered list sorts every thread in the organization and can be slow. For large windows, raise the per-call timeout: client.threads.listThreads({ filters }, { timeoutInSeconds: 120 }).

Pagination

List methods return a page: results plus meta cursors.
Every method also accepts a final requestOptions argument (timeoutInSeconds, maxRetries, abortSignal, extra headers) — see Best practices.