@sapiom/axios
Axios integration with automatic payment handling
Installation
Section titled “Installation”npm install @sapiom/axiosFunctions
Section titled “Functions”withSapiom
Section titled “withSapiom”Creates a Sapiom-enabled Axios client with automatic authorization and payment handling
Signature:
function withSapiom(axiosInstance: AxiosInstance, config?: SapiomAxiosConfig | undefined): AxiosInstanceParameters:
| Name | Type | Description |
|---|---|---|
axiosInstance | AxiosInstance | - |
config | SapiomAxiosConfig | undefined | - |
Returns: AxiosInstance - The same Axios instance (now Sapiom-enabled)
Example:
// Simplest usage (reads SAPIOM_API_KEY from environment)import axios from 'axios';import { withSapiom } from '@sapiom/axios';
const client = withSapiom(axios.create({ baseURL: 'https://api.example.com'}));
const data = await client.get('/premium-endpoint');Example:
// With API key and default metadataimport axios from 'axios';import { withSapiom } from '@sapiom/axios';
const client = withSapiom(axios.create({ baseURL: 'https://api.example.com'}), { apiKey: 'sk_...', agentName: 'my-agent', serviceName: 'my-service'});
// Per-request override via __sapiomawait client.post('/api/resource', data, { __sapiom: { serviceName: 'different-service', actionName: 'custom-action' }});
// Disable Sapiom for specific requestawait client.get('/api/public', { __sapiom: { enabled: false }});Classes
Section titled “Classes”AuthorizationDeniedError
Section titled “AuthorizationDeniedError”Custom error classes
Constructor:
new AuthorizationDeniedError(transactionId: string, endpoint: string, reason: string | undefined)| Parameter | Type | Description |
|---|---|---|
transactionId | string | - |
endpoint | string | - |
reason | string | undefined | - |
AuthorizationTimeoutError
Section titled “AuthorizationTimeoutError”Constructor:
new AuthorizationTimeoutError(transactionId: string, endpoint: string, timeout: number)| Parameter | Type | Description |
|---|---|---|
transactionId | string | - |
endpoint | string | - |
timeout | number | - |
Interfaces
Section titled “Interfaces”SapiomAxiosConfig
Section titled “SapiomAxiosConfig”Configuration for Sapiom-enabled Axios client
Extends: BaseSapiomIntegrationConfig