New:Socket for Asana Is Now Available.Learn more
Sign In

@sapiom/axios

Package Overview
Dependencies
Maintainers
4
Versions
10
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@sapiom/axios

Axios integration for Sapiom SDK

Source
npmnpm
Version
0.2.0
Version published
Maintainers
4
Created
Source

@sapiom/axios

npm version License: MIT

⚠️ Beta Status: Currently in v0.x. API may change before v1.0.0. Production-ready and actively maintained.

Axios integration for Sapiom SDK providing automatic payment handling (402 errors) and pre-emptive authorization.

Installation

npm install @sapiom/axios axios

Quick Start

import axios from 'axios';
import { withSapiom } from '@sapiom/axios';

const client = withSapiom(axios.create({
  baseURL: 'https://api.example.com'
}), {
  apiKey: process.env.SAPIOM_API_KEY
});

// Automatically handles 402 payment flows and authorization
const response = await client.get('/premium-endpoint');

Features

  • ✅ Drop-in wrapper for Axios instances
  • ✅ Automatic 402 payment handling
  • ✅ Pre-emptive authorization
  • ✅ Full TypeScript support
  • ✅ Access to underlying SapiomClient
  • ✅ Environment variable configuration

Configuration

import { withSapiom } from '@sapiom/axios';

const client = withSapiom(axiosInstance, {
  // Required (or use SAPIOM_API_KEY environment variable)
  apiKey: 'sk_...',

  // Optional - Control
  enabled: true,              // Enable Sapiom handling (default: true)
  failureMode: 'open',        // 'open' | 'closed' (default: 'open')
                              // 'open': Allow requests if Sapiom fails (prioritizes availability)
                              // 'closed': Block requests if Sapiom fails (prioritizes security)

  // Optional - Default metadata (applied to all requests)
  agentName: 'my-agent',      // Agent identifier
  agentId: 'agent-123',       // Agent UUID or numeric ID
  serviceName: 'my-service',  // Service name for transactions
  traceId: 'trace-xyz',       // Internal trace UUID
  traceExternalId: 'ext-456', // External trace identifier
});

Per-Request Overrides

Override configuration for individual requests using the __sapiom property:

// Disable Sapiom for a specific request
await client.get('/public-endpoint', {
  __sapiom: { enabled: false }
});

// Override metadata for a specific request
await client.post('/api/resource', data, {
  __sapiom: {
    serviceName: 'different-service',
    actionName: 'custom-action',
    traceExternalId: 'ext-789'
  }
});

Environment Variables

Automatically reads from environment:

  • SAPIOM_API_KEY (required)
  • SAPIOM_BASE_URL or SAPIOM_API_URL (optional)
  • SAPIOM_TIMEOUT (optional, in milliseconds)

License

MIT © Sapiom

Keywords

sapiom

FAQs

Package last updated on 16 Jan 2026

Related posts