Skip to Content
SDKsSDK Overview

SDK Overview

DriftGate SDKs follow one canonical wire contract while preserving language-native ergonomics.

Open

Language Tracks

Contract Guarantees

  • Canonical envelope shape: data, meta, error
  • CamelCase keys on the wire for all SDKs
  • Optional execution policy / route inheritance 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