FEVER Client SDKs

Official clients in 8 languages, generated from the appliance's OpenAPI spec.

Installation

  • Every release on GitHub Releases carries all 8 clients plus checksums and an SBOM.
  • Package registry listings (PyPI, npm, Maven Central, RubyGems, crates.io, Packagist, NuGet) will come later - for now, install straight from the release.
pip install https://github.com/Lowdown-Labs/fever-clients/releases/download/v0.4.0/fever_client-0.4.0-py3-none-any.whl
npm install https://github.com/Lowdown-Labs/fever-clients/releases/download/v0.4.0/fever-client-0.4.0.tgz
go get github.com/Lowdown-Labs/fever-clients/clients/go@v0.4.0
gem install https://github.com/Lowdown-Labs/fever-clients/releases/download/v0.4.0/fever_client-0.4.0.gem
curl -LO https://github.com/Lowdown-Labs/fever-clients/releases/download/v0.4.0/fever-client-0.4.0.jar
curl -LO https://github.com/Lowdown-Labs/fever-clients/releases/download/v0.4.0/fever-clients-rust-0.4.0.tar.gz
tar xzf fever-clients-rust-0.4.0.tar.gz
cargo add --path ./rust
curl -LO https://github.com/Lowdown-Labs/fever-clients/releases/download/v0.4.0/fever-clients-php-0.4.0.tar.gz
tar xzf fever-clients-php-0.4.0.tar.gz
composer config repositories.fever path ./php
composer require lowdownlabs/fever-client
curl -LO https://github.com/Lowdown-Labs/fever-clients/releases/download/v0.4.0/LowdownLabs.Fever.0.4.0.nupkg
dotnet add package LowdownLabs.Fever --source .

Configuration

  • Clients only need 2 values: host ยท access_token.
  • host is your appliance base URL. Every CloudFormation deployment yields its own appliance.
  • access_token is a tenant API key from the admin console.
import asyncio

import fever_client

async def main():
    config = fever_client.Configuration(
        host="https://your-appliance",
        access_token="YOUR_API_KEY",
    )
    async with fever_client.ApiClient(config) as client:
        auth = fever_client.AuthApi(client)
        print(await auth.whoami())

asyncio.run(main())
import { AuthApi, Configuration } from "fever-client";

const auth = new AuthApi(
  new Configuration({
    basePath: "https://your-appliance",
    accessToken: "YOUR_API_KEY",
  })
);

console.log(await auth.whoami());
package main

import (
	"context"
	"fmt"

	fever "github.com/Lowdown-Labs/fever-clients/clients/go"
)

func main() {
	cfg := fever.NewConfiguration()
	cfg.Servers = fever.ServerConfigurations{{URL: "https://your-appliance"}}
	ctx := context.WithValue(context.Background(), fever.ContextAccessToken, "YOUR_API_KEY")
	client := fever.NewAPIClient(cfg)

	me, _, err := client.AuthAPI.Whoami(ctx).Execute()
	if err != nil {
		panic(err)
	}
	fmt.Println(me)
}
require "fever_client"

FeverClient.configure do |config|
  config.scheme = "https"
  config.host = "your-appliance"
  config.access_token = "YOUR_API_KEY"
end

puts FeverClient::AuthApi.new.whoami.inspect
import com.lowdownlabs.fever.ApiClient;
import com.lowdownlabs.fever.Configuration;
import com.lowdownlabs.fever.api.AuthApi;

public class Quickstart {
    public static void main(String[] args) throws Exception {
        ApiClient client = Configuration.getDefaultApiClient();
        client.setBasePath("https://your-appliance");
        client.setRequestInterceptor(builder ->
            builder.header("Authorization", "Bearer YOUR_API_KEY"));
        AuthApi auth = new AuthApi(client);
        System.out.println(auth.whoami());
    }
}
use fever_client::apis::{auth_api, configuration::Configuration};

#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
    let config = Configuration {
        base_path: "https://your-appliance".to_owned(),
        bearer_access_token: Some("YOUR_API_KEY".to_owned()),
        ..Default::default()
    };
    let me = auth_api::whoami(&config).await?;
    println!("{me:?}");
    Ok(())
}
<?php
require_once __DIR__ . '/vendor/autoload.php';

use LowdownLabs\Fever\Api\AuthApi;
use LowdownLabs\Fever\Configuration;

$config = (new Configuration())
    ->setHost('https://your-appliance')
    ->setAccessToken('YOUR_API_KEY');

$auth = new AuthApi(null, $config);
print_r($auth->whoami());
using LowdownLabs.Fever.Api;
using LowdownLabs.Fever.Client;

var config = new Configuration
{
    BasePath = "https://your-appliance",
    AccessToken = "YOUR_API_KEY"
};
var auth = new AuthApi(config);
Console.WriteLine(await auth.WhoamiAsync());

Safety and Security

  • Scoped keys pin to a single customer_id. These are for convenience and trial purposes. We recommend implementing robust access control behind your own policies and backend layer.
  • Clients are regenerated and released automatically when the API contract changes: validated, scanned (gitleaks, Trivy, dependency audits), smoke tested, then cut as a release.
  • Pin the release version in your lockfiles, upgrade deliberately.

Put Them to Work