Installation
Install the PlatformXe SDK for TypeScript, Python, or Go.
The PlatformXe SDKs provide typed clients for all platform services with built-in retry, timeout, and circuit breaker support.
TypeScript
npm install @caldera/platformxe-sdk
import { PlatformXeClient } from '@caldera/platformxe-sdk';
const px = new PlatformXeClient({
apiKey: process.env.PLATFORMXE_API_KEY!,
});
// Send an email
await px.sendEmail({
to: 'user@example.com',
subject: 'Hello from PlatformXe',
html: '<h1>Welcome!</h1>',
});
// Check a permission
const result = await px.permissions.check({
adminId: 'user_xyz789',
path: 'articles',
action: 'read',
});
Python
pip install platformxe
from platformxe import PlatformXeClient
client = PlatformXeClient(api_key="pxk_live_your_key_here")
# Send an email
client.messaging.send_email(
to="user@example.com",
subject="Hello from PlatformXe",
html="<h1>Welcome!</h1>",
)
# Check a permission
result = client.permissions.check(
admin_id="user_xyz789",
path="articles",
action="read",
)
Go
go get github.com/calderax/platformxe-go
package main
import px "github.com/calderax/platformxe-go"
func main() {
client := px.NewClient(px.ClientConfig{
APIKey: "pxk_live_your_key_here",
})
// Check a permission
result, err := client.Permissions.Check("user_xyz789", "articles", "read")
if err != nil {
panic(err)
}
_ = result
}
Environment variables
All SDKs read these environment variables as fallbacks:
| Variable | Required | Description |
|---|---|---|
PLATFORMXE_API_KEY | Yes | Your API key (starts with pxk_live_ or pxk_test_) |
PLATFORMXE_BASE_URL | No | Custom base URL (defaults to https://api.platformxe.com) |
.env
PLATFORMXE_API_KEY=pxk_live_your_api_key_here
Framework integration
Next.js (App Router)
// lib/platformxe.ts
import { PlatformXeClient } from '@caldera/platformxe-sdk';
export const px = new PlatformXeClient({
apiKey: process.env.PLATFORMXE_API_KEY!,
});
// app/api/send-email/route.ts
import { px } from '@/lib/platformxe';
export async function POST(req: Request) {
const { to, subject, html } = await req.json();
const result = await px.sendEmail({ to, subject, html });
return Response.json(result);
}
Express
import { PlatformXeClient } from '@caldera/platformxe-sdk';
const px = new PlatformXeClient({
apiKey: process.env.PLATFORMXE_API_KEY!,
});
app.post('/send-email', async (req, res) => {
const result = await px.sendEmail(req.body);
res.json(result);
});
Django / Flask
# settings.py or config
from platformxe import PlatformXeClient
px_client = PlatformXeClient(api_key=os.environ["PLATFORMXE_API_KEY"])
Never expose your API key in client-side code. The SDK should only be used in server-side environments (Node.js, Next.js API routes, serverless functions, Django views, Go servers).
Next steps
- Configuration — all client options
- Error Handling — retries, timeouts, circuit breaker
- Python SDK — full Python reference
- Go SDK — full Go reference