Skip to main content
The management client is generated from the gateway’s contracts, so it covers the whole published surface — 189 operations across seven services. This page explains how the client is organised and lists the operations you reach for most. Every one of the 189 is in the per-resource reference — 37 pages, the largest of which are:

Agents

17 operations

Skills

16 operations

Harnesses

12 operations

Sessions

11 operations

Outputs

10 operations

Users

9 operations

Projects

8 operations

Workspaces

8 operations
Those pages are generated from the same operation manifest the SDKs ship, so they cannot drift from what the client actually exposes.
client.secrets and client.api exist on the client but publish no operations today, which is why seven services carry all 189.

How the client is organised

One namespace per service, each delegating to the generated APIs beneath it:
Method names are the operation IDs from the contract: snake_case in Python, camelCase in TypeScript. So agent_create_agent in Python is agentCreateAgent in TypeScript. Everything below lists the Python spelling. with_workspace() rebinds a namespace or the whole client to another workspace over the same generated clients, so a multi-tenant process does not need a second client:

Agents

Sessions and transcripts

Prefer the tracing submodule over building session records by hand. Use these when the runtime cannot be instrumented.

Skills

Files

Uploading is a two-step ticket flow, and both steps are now wrapped: Content operations return the stored media type, not JSON. Check the content type before parsing or you will write a corrupt file.

Registry

registry_whoami is the cheapest way to confirm a credential and see which workspace it resolves to before a write.

MCP

Use these to find the server and tool values an agent’s tools list needs.

Errors

Every generated exception — including the per-status subclasses — is normalised to a single AtlanAPIError carrying the gateway’s problem document, so you handle a status and a stable code rather than parsing bodies:
The fields are status, code, title, detail, and the request’s trace_id / traceId — quote that trace ID when reporting a gateway problem. detail is deliberately kept out of the exception message so an error that reaches a log or a user-facing surface cannot carry a server-supplied string. Catch AtlanAPIError and branch on status or code. You never need to catch a per-status exception class. Writes are not retried automatically. A retried create can duplicate an artifact, so retry deliberately — see Errors and retries.

Reaching an operation this page omits

Start with the per-resource reference — it lists all 189. Beyond that, the operation manifest ships inside both packages and is the canonical inventory, so you can enumerate the surface at runtime:
The generated APIs also sit under client.<namespace>.apis, keyed by the contract’s OpenAPI tag, when you want a generated signature rather than the facade’s forwarded call.
Do not hard-code an OpenAPI tag to reach an API. Tags are renamed upstream — skills became skill and files became file in a recent refresh — so reach operations by their method name, which is stable.

Next steps

Agents cookbook

Register an agent, attach tools and files, record a run.

Skills cookbook

Publish, retrieve and inspect skills.

Tracing

Spans, cost, scores and Visitor identity.

API reference

The underlying HTTP contract.