SDK Overview
DriftGate SDKs follow one canonical wire contract while preserving language-native ergonomics.
Language Tracks
Contract Guarantees
- Canonical envelope shape:
data,meta,error - CamelCase keys on the wire for all SDKs
- Optional execution
policy/routeinheritance from session - Stable error code matrix across languages
- Runtime session/execution calls use bearer session auth
- Service-account API keys (
dgk_*) are reserved for admin/config APIs - Canonical auth matrix: Auth + Token Contract
Import + Initialize
TypeScript
import { DriftGateClient } from "@driftgate/sdk";
const dg = new DriftGateClient({
sessionToken: process.env.DRIFTGATE_SESSION_TOKEN!,
baseUrl: "https://api-staging.driftgate.ai"
});Python
import os
from driftgate_sdk import DriftGateClient
client = DriftGateClient(
bearer_token=os.environ["DRIFTGATE_SESSION_TOKEN"],
base_url="https://api-staging.driftgate.ai",
)Go
client := driftgate.NewClient(driftgate.Config{
BearerToken: os.Getenv("DRIFTGATE_SESSION_TOKEN"),
BaseURL: "https://api-staging.driftgate.ai",
})Ruby
client = Driftgate::Client.new(
bearer_token: ENV.fetch("DRIFTGATE_SESSION_TOKEN"),
base_url: "https://api-staging.driftgate.ai"
)C#
var client = new DriftGateClient(new DriftGateClientOptions {
BearerToken = Environment.GetEnvironmentVariable("DRIFTGATE_SESSION_TOKEN")!,
BaseUrl = "https://api-staging.driftgate.ai"
});Java
var client = DriftGateClient.builder()
.bearerToken(System.getenv("DRIFTGATE_SESSION_TOKEN"))
.baseUrl("https://api-staging.driftgate.ai")
.build();PHP
$client = new DriftGate\Client([
'bearer_token' => getenv('DRIFTGATE_SESSION_TOKEN'),
'base_url' => 'https://api-staging.driftgate.ai',
]);Known Constraints
- Ruby SDK requires Ruby
>= 3.0. - Use staging as your first validation environment, then promote to production.
Continue with your language quickstart pages.
Last updated on