SDK — Providers

The rivano.providers resource manages the LLM backends that the gateway routes traffic to. You can configure multiple providers, test connectivity, and control failover behavior.

List providers

import Rivano from '@rivano/sdk';

const rivano = new Rivano({ apiKey: 'rv_...' });

const { data } = await rivano.providers.list();
for (const provider of data) {
  console.log(`${provider.name} [${provider.isPrimary ? 'primary' : ''}${provider.isFallback ? 'fallback' : ''}]`);
}

Create a provider

import Rivano from '@rivano/sdk';

const rivano = new Rivano({ apiKey: 'rv_...' });

const provider = await rivano.providers.create({
  name: 'openai-primary',
  apiKey: 'sk-...',
  isPrimary: true,
  isFallback: false,
  timeoutMs: 30000,
});

console.log('Provider created:', provider.id);

Create parameters

ParameterTypeRequiredDescription
namestringYesProvider identifier, used in gateway routing
apiKeystringYesAPI key for this provider
baseUrlstringNoOverride the provider’s base URL (useful for Azure, Ollama)
isPrimarybooleanNoReceive traffic when no provider hint is given
isFallbackbooleanNoReceive traffic when the primary provider fails
timeoutMsnumberNoPer-request timeout in milliseconds (default: 30000)
💡

Mark one provider as isPrimary: true and another as isFallback: true to get automatic failover with no application code changes.

Test a provider

providers.test() verifies connectivity and returns the list of models the provider exposes:

import Rivano from '@rivano/sdk';

const rivano = new Rivano({ apiKey: 'rv_...' });

const result = await rivano.providers.test('provider_abc123');

if (result.success) {
  console.log('Connected. Available models:');
  for (const model of result.models ?? []) {
    console.log(' ', model);
  }
} else {
  console.error('Provider test failed');
}

Delete a provider

import Rivano from '@rivano/sdk';

const rivano = new Rivano({ apiKey: 'rv_...' });

await rivano.providers.delete('provider_abc123');

Supported providers

ProviderName keyNotes
OpenAIopenaiGPT-4o, GPT-4-turbo, o1, o3
AnthropicanthropicClaude 3.x, Claude 4.x
GooglegoogleGemini 1.5 Pro, Flash, Ultra
Azure OpenAIazureRequires baseUrl with your deployment URL
Amazon BedrockbedrockRequires AWS credentials via baseUrl
MistralmistralMistral Large, Small
CoherecohereCommand R, Command R+
OllamaollamaLocal models — set baseUrl to your Ollama instance

Error handling

ErrorWhen it occurs
SdkAuthErrorInvalid Rivano API key
SdkForbiddenErrorInsufficient permissions
SdkNotFoundErrorProvider ID does not exist
SdkErrorInvalid provider config or duplicate name