Something went wrong. Try again.
Official documentation for Pocketenv docs.pocketenv.io
Something went wrong. Try again.
123456789101112131415161718192021222324252627282930313233343536373839404142434445---title: "SDKs"description: "Official client libraries for the Pocketenv API."---
Pocketenv provides official SDKs for multiple languages. All SDKs wrap the same [XRPC API](/api-reference/introduction) and follow similar conventions.
<CardGroup cols={2}> <Card title="JavaScript / TypeScript" icon="js" href="/sdks/javascript"> `@pocketenv/sdk` — tagged template literals, builder pattern, full sub-resource support. </Card> <Card title="Gleam" icon="star" href="/sdks/gleam"> `pocketenv` on hex.pm — type-safe, functional, pipe-friendly API. </Card> <Card title="Clojure" icon="circle" href="/sdks/clojure"> `io.pocketenv/pocketenv` on Clojars — idiomatic Clojure with `->` chaining. </Card> <Card title="Elixir" icon="droplet" href="/sdks/elixir"> `pocketenv_ex` on hex.pm — pipe-friendly, OTP-ready, config via `config.exs`. </Card></CardGroup>
## Authentication
All SDKs resolve your token from the same sources, in priority order:
1. Passed explicitly at the call site2. `POCKETENV_TOKEN` environment variable3. `~/.pocketenv/token.json` — written by `pocketenv login`
## Common concepts
Every SDK covers the same core resources:
| Resource | Description ||---|---|| **Sandbox** | Create, start, stop, delete, exec || **Environment variables** | Plaintext key-value config || **Secrets** | Encrypted credentials (redacted in responses) || **Files** | Read/write files inside a sandbox || **Ports** | Expose sandbox ports to the internet || **Services** | Long-running processes || **Volumes** | Persistent storage || **Backups** | Point-in-time directory snapshots |