Basic Configuration
import { ComplianceSDK } from "@artu-ai/compliance-sdk";
const sdk = new ComplianceSDK({
apiKey: process.env.ARTU_API_KEY!,
environment: "test",
});
Configuration Options
Your Artu API key. Falls back to the ARTU_API_KEY environment variable if not provided.
environment
'test' | 'live'
default:"test"
Environment to connect to. Falls back to ARTU_ENVIRONMENT env var.
Optional. Scope the SDK to a specific scope and/or activity using a
colon-separated string (e.g., "MX", "MX:AV:AVI", "MX:CNBV:TRANSMISOR").
Optional. Custom API base URL. Falls back to ARTU_BASE_URL env var, then the default production URL.
Request timeout in milliseconds.
Environments
The SDK supports two environments:
| Environment | Description | Use Case |
|---|
test | Sandbox environment | Development, testing, demos |
live | Production environment | Real data, production use |
// Test environment (default for development)
const testSDK = new ComplianceSDK({
apiKey: process.env.ARTU_API_KEY!,
environment: "test",
});
// Live environment
const liveSDK = new ComplianceSDK({
apiKey: process.env.ARTU_API_KEY!,
environment: "live",
});
API keys have scoped permissions that control which environments they can
access. See API Keys for details.
Authentication
API Key
Authenticate with your Artu API key for server-side scripts, backend services, and CI:
const sdk = new ComplianceSDK({
apiKey: process.env.ARTU_API_KEY!,
environment: "test",
});
Environment Variables
The SDK auto-resolves these environment variables when options are not explicitly provided:
| Environment Variable | Option | Description |
|---|
ARTU_API_KEY | apiKey | API key for authentication |
ARTU_ENVIRONMENT | environment | "test" or "live" |
ARTU_BASE_URL | baseUrl | Custom API URL |
// These are equivalent when env vars are set:
const sdk = new ComplianceSDK({ environment: "test" });
// Uses ARTU_API_KEY, ARTU_BASE_URL automatically
Scoped SDKs
Scope your SDK to a scope for simplified operations:
import { ComplianceSDK } from "@artu-ai/compliance-sdk";
// Mexico-scoped SDK
const mexSDK = new ComplianceSDK({
apiKey: process.env.ARTU_API_KEY!,
environment: "test",
scope: "MX",
});
// Create a client - scope defaults to Mexico
const client = await mexSDK.clients.create({
type: ClientType.Individual,
name: "Juan García",
});
For Mexican vulnerable activities:
import { ComplianceSDK } from "@artu-ai/compliance-sdk";
// AVI (Virtual Assets) scoped SDK
const aviSDK = new ComplianceSDK({
apiKey: process.env.ARTU_API_KEY!,
environment: "test",
scope: "MX:AV:AVI",
});
For CNBV money transmitters:
import { ComplianceSDK } from "@artu-ai/compliance-sdk";
// CNBV Transmisor scoped SDK
const transmisorSDK = new ComplianceSDK({
apiKey: process.env.ARTU_API_KEY!,
environment: "test",
scope: "MX:CNBV:TRANSMISOR",
});
Learn more about scoping in the SDK Scoping concept
guide.
Scope Properties
The SDK exposes properties to check the current configuration:
// Environment checks
sdk.environment; // "test" | "live"
sdk.isTest; // true if test environment
sdk.isLive; // true if live environment
// Scope checks
sdk.scope; // "MX:AV:AVI" | undefined
sdk.isScoped; // true if scope is set
Multiple SDK Instances
You can create multiple SDK instances for different configurations:
// Test environment for development
const testSDK = new ComplianceSDK({
apiKey: process.env.ARTU_API_KEY!,
environment: "test",
});
// Live environment for production
const liveSDK = new ComplianceSDK({
apiKey: process.env.ARTU_API_KEY!,
environment: "live",
});
// Activity-specific SDK
const aviSDK = new ComplianceSDK({
apiKey: process.env.ARTU_API_KEY!,
environment: "test",
scope: "MX:AV:AVI",
});
Sub-Exports
Import scoped SDKs directly for better TypeScript types:
// Mexico SDK with proper types
import { ComplianceSDK } from "@artu-ai/compliance-sdk/mx";
// Actividad Vulnerable SDKs
import { ComplianceSDK } from "@artu-ai/compliance-sdk/mx/av/ari";
import { ComplianceSDK } from "@artu-ai/compliance-sdk/mx/av/avi";
import { ComplianceSDK } from "@artu-ai/compliance-sdk/mx/av/inm";
import { ComplianceSDK } from "@artu-ai/compliance-sdk/mx/av/jys";
import { ComplianceSDK } from "@artu-ai/compliance-sdk/mx/av/mjr";
import { ComplianceSDK } from "@artu-ai/compliance-sdk/mx/av/mpc";
import { ComplianceSDK } from "@artu-ai/compliance-sdk/mx/av/tsc";
import { ComplianceSDK } from "@artu-ai/compliance-sdk/mx/av/veh";
// CNBV SDKs
import { ComplianceSDK } from "@artu-ai/compliance-sdk/mx/cnbv/transmisor";