SDKs and APIs
Pod-OS clients speak the same Actor Infrastructure Platform (AIP) message protocol over a raw TCP socket to a Gateway. Pick the language that matches your stack; behavior and Intents are equivalent across SDKs.
| Client | Language | Install | Repository |
|---|---|---|---|
| Go SDK | Go | go get github.com/PointOfData/pod-os-go-client |
pod-os-go-client |
| Python SDK | Python 3.12+ | pip install pod-os-py-client |
pod-os-py-client |
| Rust SDK | Rust | Cargo git dependency | pod-os-rust-client |
| Java SDK | Java 17+ | Maven artifact | pod-os-java-client |
| podos CLI | CLI (Rust) | cargo install --git … |
podos-cli |
Shared connection rules
Every client follows the same model:
- Dial the gateway TCP endpoint (
host:62312from the dashboard Connection Info modal). - Set the connection gateway /
GatewayActorNameto that gateway's FQN (any gateway you are permitted to use). - Use a unique
ClientNameper TCP connection. EnvelopeFrommust be<ClientName>@<dialed-gateway-FQN>. - Keep roughly 8–10 concurrent ENM requests per connection; higher fan-out can time out silently.
- Omit
user_name/passcodeunless that gateway's INI requires them — these are not Auth0 or dashboard tokens.
If GatewayId succeeds but a later request times out, the gateway likely could not route the reply. Check unique ClientName and From. That is not an authentication failure.
Verify before you code
Use podos to send the same Intents your application will use, then implement against the live JSON contract. Pair that with SDK Knowledge Prompts so coding agents design against the real protocol.
Where to go next
- How do I add data to an ENM? — store, tag, and link with the SDK
- How do I query data in my ENM? — get, search, and read links as
Linked - Working with Socket Actors — register custom services and answer health probes