Available SDKs

Node.js

v1.0.0

npm install @affirmid/node
  • TypeScript support
  • Promise-based API
  • Webhook helpers
  • Express middleware

Python

v1.0.0

pip install affirmid
  • Async support
  • Type hints
  • Pydantic models
  • httpx client

Go

v1.0.0

go get github.com/affirmid/affirmid-go
  • Context support
  • Idiomatic Go
  • Zero dependencies
  • HTTP middleware

Coming Soon

Ruby

Coming Soon
gem install affirmid
  • Rails integration
  • Devise support
  • Webhook verification
  • Faraday adapter
Interested? Contact us

PHP

Coming Soon
composer require affirmid/affirmid-php
  • Laravel support
  • PSR-18 compatible
  • Webhook handling
  • Symfony bundle
Interested? Contact us

Java

Coming Soon
implementation "com.affirmid:affirmid-java:1.0.0"
  • Spring Boot starter
  • Async client
  • Webhook servlet
  • Maven/Gradle
Interested? Contact us

Quick Examples

Each SDK follows the same patterns for ease of use.

Node.js
import { AffirmID } from '@affirmid/node';

const affirmid = new AffirmID({
  apiKey: process.env.AFFIRMID_API_KEY
});

// Create authentication request
const request = await affirmid.auth.create({
  userId: 'user_123',
  application: 'My App'
});

// Wait for user response
const result = await affirmid.auth.waitForResult(request.id);
console.log(result.decision); // 'approved' | 'denied'
Python
from affirmid import AffirmID

client = AffirmID(api_key=os.environ['AFFIRMID_API_KEY'])

# Create authentication request
request = client.auth.create(
    user_id='user_123',
    application='My App'
)

# Wait for user response
result = client.auth.wait_for_result(request.id)
print(result.decision)  # 'approved' or 'denied'
Go
import "github.com/affirmid/affirmid-go"

client := affirmid.NewClient(os.Getenv("AFFIRMID_API_KEY"))

// Create authentication request
request, err := client.Auth.Create(ctx, &affirmid.AuthRequest{
    UserID:      "user_123",
    Application: "My App",
})

// Wait for user response
result, err := client.Auth.WaitForResult(ctx, request.ID)
fmt.Println(result.Decision) // "approved" or "denied"

Community SDKs

These community-maintained SDKs are not officially supported but may be useful for specific use cases.

LanguagePackageMaintainer
Rustaffirmid-rs@rustdev
Elixiraffirm_id@elixirdev
.NETAffirmID.NET@dotnetdev

System Requirements

Minimum Versions

  • Node.js: 16.0+
  • Python: 3.9+
  • Go: 1.21+

Network Requirements

  • HTTPS outbound to api.affirmid.com
  • TLS 1.2 or higher
  • Webhook endpoint (optional)
  • No IP allowlisting required