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

# SDKs

> The official IDYL SDKs: one package per language, one resource model.

IDYL publishes one official SDK per language. Repositories live under the
`idyl-labs` organization on GitHub, and the npm package is published under the
`@idyl-labs` scope. Every SDK is a native expression of the same model: the
same resources, the same names, and the same wire format. A Sandbox created
from TypeScript is the Sandbox the Go SDK and the CLI read back.

The Go SDK defines the shared model. Its resource and API packages are the
contract every SDK speaks, and each other SDK proves its types against fixtures
taken from the Go SDK. A contract change lands in the Go SDK first; the other
SDKs adopt it.

| Language | Package | Status |
| - | - | - |
| Go | [`github.com/idyl-labs/sdk-go`](https://github.com/idyl-labs/sdk-go) | Available |
| TypeScript | [`@idyl-labs/sdk`](https://www.npmjs.com/package/@idyl-labs/sdk) | Available |

## What every SDK provides

* Explicit configuration. A client is built from one configuration value that
  carries the Network, Account, credential, Namespace, and placement its
  operations run in. The SDK reads no environment
  variable or configuration file and substitutes nothing for an unset field.
* Immutable, scoped clients. Selecting a Namespace or placement
  returns a copy; the original stays valid.
* Per-request credentials. The credential is consulted for every authenticated
  request, so a rotated token needs no new client.
* Placement resolved through public APIs. A Subnet, Fleet, or Node placement is
  resolved once per operation and checked for visibility, approval, and
  admission before a request is sent.
* Native Workload services with immutable handles, lifecycle waits, watches,
  streamed logs, and shell transports.
* Typed errors. A non-2xx response is an API error carrying the HTTP status, a
  stable code, a message, details, the request ID, and the retry delay. Message
  text is not a contract.
* Cancellation on every operation. Cancelling never deletes a resource.

## SDK pages

> **[TypeScript](https://docs.idyl.network/reference/sdks/typescript.md)**
>
> `@idyl-labs/sdk` for Node.js 22 and later, browsers, and edge runtimes.

> **[Go](https://github.com/idyl-labs/sdk-go)**
>
> `github.com/idyl-labs/sdk-go`, the module that defines the shared model.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.