Gateway Client SDKs
Multi-language client libraries for the Airlock Integrations Gateway, built on the HARP protocol.
For PAT-first auth, pre-generated pairing codes, and the full enforcer lifecycle, see the Developer Guide.
All SDKs cover the enforcer-side Integrations Gateway API: artifact submission, decision polling,
exchange management, pairing (including pre-generated codes),
presence heartbeats, policies, and discovery. For user-scoped
calls, use a Personal Access Token (PAT)
via the X-PAT header (recommended for
CLIs/scripts), or a Bearer JWT from the
Device Authorization Grant, together with your app credentials where required.
Default production base URL:
https://igw.airlocks.io
Recommended artifact type for command review flows:
command.review
Choose Your Language
.NET
Airlock.Gateway.Sdk
.NET 8+ · NuGet · System.Text.Json
Python
airlock-gateway
Python 3.9+ · asyncio · httpx
TypeScript
@airlockapp/gateway-sdk
Node.js 18+ · zero-dependency · native fetch
Go
airlock
Go 1.21+ · net/http · x/crypto
Rust
airlock-gateway
Rust 1.75+ · reqwest · tokio
Gateway API Surface
| Method | Endpoint | Description |
|---|---|---|
| GET | /v1/integrations/discovery | Discover IdP configuration (device auth setup) |
| GET | /echo | Gateway discovery and health check |
| POST | /v1/artifacts | Submit an artifact for approval |
| GET | /v1/exchanges/{requestId} | Get exchange status |
| GET | /v1/exchanges/{requestId}/wait | Long-poll for a decision |
| POST | /v1/exchanges/{requestId}/withdraw | Withdraw a pending exchange |
| POST | /v1/pairing/initiate | Start a new pairing session |
| GET | /v1/pairing/{nonce}/status | Poll pairing status |
| POST | /v1/pairing/revoke | Revoke an active pairing |
| POST | /v1/pairing/pre-generate | Pre-generate a pairing code (30-minute TTL) |
| POST | /v1/pairing/claim | Claim a pre-generated pairing code |
| POST | /v1/presence/heartbeat | Send a presence heartbeat |
| GET | /v1/policy/dnd/effective | Fetch effective DND policies for an enforcer/workspace/session |
| GET | /v1/consents/check | Check user consent for an enforcer app |