Documentation Index
Fetch the complete documentation index at: https://docs.orbit.devotel.io/llms.txt
Use this file to discover all available pages before exploring further.
SDKs
Orbit ships two SDKs in active development today (Node.js, Web). The remaining six (Python, Go, PHP, Ruby, Java, .NET) are on the roadmap but have not been published to any package registry. When they ship, every SDK will share the same auth model (X-API-Key), retry policy
(3 attempts on 429/5xx with exponential backoff), idempotency contract
(auto-generated Idempotency-Key on every non-GET), and webhook
verification format (t=<unix_ts>,v1=<hex_hmac> HMAC-SHA256, 5-minute
replay window).
Pre-launch — no SDK is currently published to a public registry.
Until first publish, the Node + Web SDK source lives in the monorepo
under
packages/sdk-node/ and packages/sdk-web/. Install commands
here describe the future registry shapes — not the current reach
(every public registry probe today returns 404). The remaining six
languages are roadmap.Available today (workspace source)
Node.js / TypeScript
Source:
packages/sdk-node/ — package name @devotel/orbit-sdk.
Hand-written, fully typed. Node 18+.
Status: GA (workspace, pre-publish).Web (browser)
Source:
packages/sdk-web/ — package name @devotel/orbit-web-sdk.
Embeddable chat widget + inbound APIs.
Status: GA (workspace, pre-publish).On the roadmap
The six languages below are tracked targets — no public registry entry exists for any of them today. Do not attempt to install; the cited package names describe the future coordinates and may change before first publish.| Language | Future package name | Future registry | Status |
|---|---|---|---|
| Python | devotel-orbit-sdk | PyPI | Roadmap |
| Go | github.com/devotel/orbit-go | pkg.go.dev | Roadmap |
| PHP | devotel/orbit-sdk | Packagist | Roadmap |
| Ruby | orbit_sdk | RubyGems | Roadmap |
| Java | io.devotel:orbit-sdk | Maven Central | Roadmap |
| .NET / C# | Orbit.Sdk | NuGet | Roadmap |
/sdks/node, /sdks/web, …) will carry the production install
command, version pin, and per-language quickstart. The codegen pipeline
that drives this lives at tools/sdk-codegen/README.md.
Common patterns across languages
Authentication
Every SDK takes anX-API-Key and offers two constructors — a direct
fromApiKey(key) and an env-var helper that reads ORBIT_API_KEY by
default.
| Language | Direct | From env | Status |
|---|---|---|---|
| Node | new Orbit({ apiKey: 'dv_live_sk_...'}) | (use process.env.ORBIT_API_KEY) | GA |
| Web | new Orbit({ apiKey: 'dv_live_sk_...'}) | (use bundler-injected env) | GA |
| Python | OrbitClient.from_api_key('...') | OrbitClient.from_env() | Roadmap |
| Go | orbit.NewClient('...') | (use os.Getenv("ORBIT_API_KEY")) | Roadmap |
| PHP | OrbitClient::fromApiKey('...') | OrbitClient::fromEnv() | Roadmap |
| Ruby | OrbitSdk::Client.from_api_key('...') | OrbitSdk::Client.from_env | Roadmap |
| Java | OrbitClient.fromApiKey("...") | OrbitClient.fromEnv() | Roadmap |
| C# | OrbitClient.FromApiKey("...") | OrbitClient.FromEnv() | Roadmap |
Webhook verification
Every SDK exposes a one-call verifier that returns the decoded event on success or throwsOrbitWebhookSignatureError on any failure (malformed
header, expired timestamp, signature mismatch, invalid JSON):
- Node (GA):
Orbit.webhooks.constructEvent(body, signature, secret) - Web (GA):
Orbit.webhooks.constructEvent(body, signature, secret) - Python (Roadmap):
verify_webhook(payload=..., signature=..., secret=...) - Go (Roadmap):
orbit.VerifyWebhook(body, header, secret, 0, time.Time{}) - PHP (Roadmap):
Webhooks::verify(payload: ..., signature: ..., secret: ...) - Ruby (Roadmap):
OrbitSdk::Webhooks.verify(payload:, signature:, secret:) - Java (Roadmap):
Webhooks.verify(body, signature, secret) - C# (Roadmap):
Webhooks.Verify(payload, signature, secret)
Error hierarchy
Every SDK exposes the same error tree:OrbitError(base) → catch this to handle any Orbit-originated failure.OrbitAuthenticationError— 401/403.OrbitClientError— 4xx other than 401/403/429.OrbitRateLimitError— 429 after retries exhausted. Carriesretry_after.OrbitServerError— 5xx after retries exhausted, or persistent network failure.OrbitWebhookSignatureError— webhook verification failed. Not a subclass ofOrbitErrorso a broadcatch (OrbitError)block can’t accidentally swallow + retry forgeries.
Operator: publishing checklist
Seetools/sdk-codegen/README.md for the per-registry publish commands.
Pre-launch, the SDKs are committed source-only; first publish to each
registry is an operator action.