> ## Documentation Index
> Fetch the complete documentation index at: https://namespace.so/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Namespace API & SDK

export const CenteredImage = ({src, alt, width, caption, className}) => {
  const [basePath, setBasePath] = useState("");
  useEffect(() => {
    const path = window.location.pathname;
    setBasePath(path === "/docs" || path.startsWith("/docs/") ? "/docs" : "");
  }, []);
  return <Frame caption={caption} className={className} style={{
    maxWidth: width,
    marginInline: "auto"
  }}>
			<OptimizedImage src={`${basePath}${src}`} alt={alt} />
		</Frame>;
};

Namespace exposes a public API to allow building integrations on top of our platform.
In addition to our detailed [API Documentation](https://buf.build/namespace/cloud),
there are ready-to-use [SDKs](https://buf.build/namespace/cloud/sdks) for over 15 languages.

## API Reference

Our API reference can be found at [buf.build/namespace/cloud](https://buf.build/namespace/cloud).
It details what endpoints to use, and how to authenticate to them.
For each service, available procedures as well as their request and response types are listed:

<a href="https://buf.build/namespace/cloud/docs/main:namespace.cloud.builder.v1beta#namespace.cloud.builder.v1beta.BuilderService">
  <CenteredImage width={700} alt="Screenshot of available procedures for the Builders service of Namespaces API" src="/docs/images/buf-builders-api.png" className="m-0" />
</a>

When clicking through to a request or response type, the contents of this type are described.
All available fields including their types and intended use are displayed:

<a href="https://buf.build/namespace/cloud/docs/main:namespace.cloud.builder.v1beta#namespace.cloud.builder.v1beta.GetBuilderUsageRequest">
  <CenteredImage width={600} alt="Screenshot of the field descriptions of a request and response message" src="/docs/images/buf-request-response.png" className="m-0" />
</a>

## SDKs

### Go SDK

Namespace maintains an SDK for use in Go projects that provides ready-to-use clients including authentication and examples.
The Go implementation is the most mature SDK and is used in production by multiple integrations.

The Go SDK can be found at [github.com/namespacelabs/integrations](https://github.com/namespacelabs/integrations)

### TypeScript SDK

Namespace maintains a TypeScript/JavaScript SDK that provides authentication, client management, and type-safe API access.
It supports both ESM and CommonJS, and follows similar patterns to the Go SDK.

The TypeScript SDK can be found at [github.com/namespacelabs/typescript-sdk](https://github.com/namespacelabs/typescript-sdk)

### Elixir

If you are using Elixir, check out the [reference implementation](https://github.com/tuist/tuist/blob/401ab9e171311d8428ec4793f46ea4eb4dab64a7/server/lib/tuist/namespace.ex) provided by [Tuist](https://tuist.dev).
The integration demonstrates how to manage tenants, create instances, ensure readiness, and gain programmatic instance access via SSH.

### Other languages

For many languages, generated SDKs are available to quickly get started with Namespaces API.
These SDKs include all available procedures and request/response types to support autocompletion in your IDE.

SDKs are available for many languages including Go, Python, Javascript, TypeScript, Rust, and more.

To get started, visit the [SDKs page](https://buf.build/namespace/cloud/sdks) and install the SDK for your language.

<CenteredImage width={600} alt="Some of the SDKs available for Namespaces API" src="/docs/images/buf-sdks.png" caption="Some of the available SDKs" className="m-0" />

## Examples

Working examples in Go, TypeScript, and Python are available at [github.com/namespacelabs/examples](https://github.com/namespacelabs/examples).
They cover instance creation, Kubernetes clusters, container deployment, builds, IAM, and more — including no-SDK approaches using raw HTTP requests.

## IAM Integration

In order to create and manage multiple workspaces programatically, you can integrate with [Namespace IAM](https://buf.build/namespace/cloud/docs/main:namespace.cloud.iam.v1beta).
Namespace relies on trust relationships using public-key cryptography and the OpenID Connect standard to verify the tokens instead of pre-shared keys which are more easily compromised.
