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
| Method | Description |
|---|
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
| Method | Description |
|---|
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
| Method | Description |
|---|
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
| Method | Description |
|---|
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 }).
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.