🎩 You're Invited:Meet the Socket team at Black Hat in Las Vegas, August 3-6.RSVP
Sign In

@sapiom/axios

Package Overview
Dependencies
Maintainers
3
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

latest
Source
npmnpm
Version
0.5.1
Version published
Weekly downloads
75
971.43%
Maintainers
3
Weekly downloads
 
Created
Source

@sapiom/axios

🕗 Deprecated. Sapiom has moved to a new agent-first platform. This package is not recommended for new projects and receives maintenance fixes only. Build on the new packages instead — @sapiom/agent and @sapiom/tools, with the @sapiom/cli and @sapiom/mcp developer tools. See the SDK README.

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 09 Jul 2026

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts