ArmorIQ LogoArmorIQ SDK

Client Initialization

Learn how to initialize and configure the ArmorIQ client

Client Initialization

ArmorIQClient

The main entry point for interacting with ArmorIQ.

from armoriq_sdk import ArmorIQClient
client = ArmorIQClient(
    api_key: str = None,
    user_id: str = None,
    agent_id: str = None,
    proxy_url: str = None,
    timeout: int = 30,
    max_retries: int = 3,
    verify_ssl: bool = True
)
import { ArmorIQClient } from '@armoriq/sdk';

const client = new ArmorIQClient({
  apiKey: string,           // Required
  userId: string,           // Required
  agentId: string,          // Required
  proxyEndpoint?: string,   // Optional
  timeout?: number,         // Optional (default: 30000ms)
  maxRetries?: number,      // Optional (default: 3)
  verifySsl?: boolean       // Optional (default: true)
});

Parameters

ParameterTypeRequiredDefaultDescription
api_keystrYesARMORIQ_API_KEY env varYour API key (format: ak_live_ + 64 hex characters)
user_idstrYesARMORIQ_USER_ID env varUser identifier for tracking (you can define your own unique identifier)
agent_idstrYesARMORIQ_AGENT_ID env varUnique agent identifier (you can define your own unique identifier)
proxy_urlstrNohttps://customer-proxy.armoriq.aiArmorIQ Proxy base URL
timeoutintNo30Request timeout in seconds
max_retriesintNo3Max retry attempts for failed requests
verify_sslboolNoTrueVerify SSL certificates
ParameterTypeRequiredDefaultDescription
apiKeystringYesARMORIQ_API_KEY env varYour API key (format: ak_live_ + 64 hex characters)
userIdstringYesUSER_ID env varUser identifier for tracking (you can define your own unique identifier)
agentIdstringYesAGENT_ID env varUnique agent identifier (you can define your own unique identifier)
proxyEndpointstringNohttps://customer-proxy.armoriq.aiArmorIQ Proxy base URL
timeoutnumberNo30000Request timeout in milliseconds
maxRetriesnumberNo3Max retry attempts for failed requests
verifySslbooleanNotrueVerify SSL certificates

Environment Variables

It's recommended to set these variables in your development environment:

# Required
export ARMORIQ_API_KEY="ak_live_..."
export ARMORIQ_USER_ID="your_unique_user_id"      # Define your own unique identifier
export ARMORIQ_AGENT_ID="your_unique_agent_id"    # Define your own unique identifier

# Optional
export ARMORIQ_PROXY_URL="https://customer-proxy.armoriq.ai"
export ARMORIQ_TIMEOUT="30"
export ARMORIQ_MAX_RETRIES="3"
# Required
export ARMORIQ_API_KEY="ak_live_..."
export USER_ID="your_unique_user_id"      # Define your own unique identifier
export AGENT_ID="your_unique_agent_id"    # Define your own unique identifier

# Optional
export PROXY_ENDPOINT="https://customer-proxy.armoriq.ai"

Returns

ArmorIQClient instance

Raises

  • ValueError: If required parameters are missing
  • InvalidAPIKeyError: If API key format is invalid
  • ConfigurationException: If required parameters are missing or API key format is invalid

Example

import os
from armoriq_sdk import ArmorIQClient

# Using environment variables (recommended)
client = ArmorIQClient()

# Explicit parameters
client = ArmorIQClient(
    api_key="ak_live_" + "a" * 64,
    user_id="user_12345",
    agent_id="analytics_bot_v1",
    proxy_url="https://customer-proxy.armoriq.ai",
    timeout=60
)

# Custom configuration
client = ArmorIQClient(
    api_key=os.getenv("ARMORIQ_API_KEY"),
    user_id=get_current_user_id(),
    agent_id=f"agent_{uuid.uuid4()}",
    max_retries=5
)
import { ArmorIQClient } from '@armoriq/sdk';

// Using environment variables (recommended)
const client = new ArmorIQClient({
  apiKey: process.env.ARMORIQ_API_KEY!,
  userId: process.env.USER_ID!,
  agentId: process.env.AGENT_ID!
});

// Explicit parameters
const client = new ArmorIQClient({
  apiKey: 'ak_live_' + 'a'.repeat(64),
  userId: 'user_12345',
  agentId: 'analytics_bot_v1',
  proxyEndpoint: 'https://customer-proxy.armoriq.ai',
  timeout: 60000
});

// With production mode disabled (for local development)
const client = new ArmorIQClient({
  apiKey: process.env.ARMORIQ_API_KEY!,
  userId: 'demo-user',
  agentId: 'demo-agent',
  useProduction: false  // Use local development endpoints
});

On this page