Getting Started
SDKs & Tools
Official and community SDKs, CLI tools, and libraries for 1st Services.
SDKs & Developer Tools
1st Services provides official SDKs to streamline integrating Cloud VPS management, Databases, URL Shortening, and Disposable Email into your codebase.
Official SDKs
Node.js / TypeScript SDK
Full TypeScript definitions, Promise-based client, automated retries, and streaming support.
npm install @1st-services/sdk
Python SDK
Asyncio-ready client with Pydantic validation, connection pooling, and CLI integration.
pip install first-services
Go SDK
Lightweight Go module with idiomatic contexts, structured error types, and zero heavy dependencies.
go get github.com/1st-services/go-sdk
1st Services CLI (`1st`)
Command-line interface to spin up VPS instances, manage DNS, test temp mailboxes, and deploy resources.
curl -sSL https://1st-services.com/install.sh | bash
Node.js / TypeScript Example
index.ts
import { FirstClient } from '@1st-services/sdk'
const client = new FirstClient({
apiKey: process.env.FIRST_API_KEY,
})
// 1. Create a VPS instance
const vps = await client.vps.create({
plan: 'vps-standard-2',
region: 'us-east-1',
os: 'ubuntu-24.04',
sshKeyIds: ['ssh_994821'],
})
console.log(`VPS launched at ${vps.ipAddress}`)
// 2. Shorten a URL
const link = await client.shortener.create({
url: 'https://mysite.com/marketing/spring-sale-2026',
customSlug: 'spring-sale',
})
console.log(`Short link: ${link.shortUrl}`)
// 3. Generate a Temp Mailbox
const inbox = await client.tempMail.createInbox({
ttlMinutes: 60,
})
console.log(`Temp inbox ready: ${inbox.address}`)
Python Example
main.py
import os
from first_services import FirstClient
client = FirstClient(api_key=os.getenv("FIRST_API_KEY"))
# Provision Managed PostgreSQL
db = client.database.create(
engine="postgresql",
version="16",
plan="db-medium-4",
region="eu-central-1"
)
print(f"Database provisioned: {db.connection_uri}")
# Shorten a link
short_link = client.shortener.create(
url="https://myapp.com/docs/getting-started",
domain="1st.link"
)
print(f"Short URL: {short_link.url}")
