SDKs
Every SDK is generated from the same OpenAPI document as the API reference, with a
thin hand-written layer on top for idempotency, problem+json errors, retries and webhook
verification.
TypeScript
Section titled “TypeScript”npm install @freightapi/sdkimport { FreightApi, FreightApiError } from '@freightapi/sdk'
const freight = new FreightApi({ apiKey: process.env.FREIGHTAPI_KEY!, baseUrl: 'https://api.eftisandbox.app', locale: 'en',})
try { const shipment = await freight.shipments.retrieve('shp_...') console.log(shipment.status)} catch (error) { if (error instanceof FreightApiError) { console.error(error.status, error.code, error.requestId) }}Runs on Node 22+, Bun, Deno, Cloudflare Workers and in the browser. Zero runtime dependencies.
Every POST gets an Idempotency-Key automatically, and 429 and 503 are retried.
Other languages
Section titled “Other languages”There is no official client for Python, Java, PHP or Go. The OpenAPI document is 3.1 and complete,
so generators such as openapi-generator or openapi-python-client produce a working client:
curl -o openapi.json https://api.eftisandbox.app/openapi.json