Skip to main content
Customize CoreApiProvider for observability, auth, or environment routing.
Advanced/optional: skip this unless you have a concrete infrastructure requirement (for example proxy routing, custom gateway paths, or Axios interceptors).

Override base URL and routes

import { CoreApiProvider } from '@illalabs/sdk'

const provider = new CoreApiProvider({
  headers: { 'x-api-key': process.env.ILLA_API_KEY! },
  baseURL: 'https://api.illa.io',
  routes: {
    chat: '/api/v1/chat/',
    actionStatus: '/api/v1/actions/check',
  },
})

Inject a custom Axios client

import { CoreApiProvider } from '@illalabs/sdk'
import axios from 'axios'

const provider = new CoreApiProvider({
  headers: { 'x-api-key': process.env.ILLA_API_KEY! },
  httpClientFactory: (config) => {
    const client = axios.create(config)

    client.interceptors.request.use((req) => {
      console.debug('[core-api] =>', req.method, req.url)
      return req
    })

    client.interceptors.response.use((res) => {
      console.debug('[core-api] <=', res.status, res.config.url)
      return res
    })

    return client
  },
})