Skip to main content

Getting Your API Key

  1. Visit Legnext.ai Dashboard
  2. Navigate to API Keys section
  3. Generate a new API key
  4. Copy and store securely

Authentication Methods

Set your API key as an environment variable:
export LEGNEXT_API_KEY="your-api-key-here"
Then use it in your Ruby code:
require 'openapi_client'

# Configure API client
OpenapiClient.configure do |config|
  config.api_key['x-api-key'] = ENV['LEGNEXT_API_KEY']
  config.host = 'api.legnext.ai'
  config.base_path = ''
end

# Create API instance
api = OpenapiClient::ImageApi.new

# Now you can use the API
# ...

Method 2: Direct Initialization

Hardcode the API key directly (not recommended for production):
require 'openapi_client'

OpenapiClient.configure do |config|
  config.api_key['x-api-key'] = 'your-api-key-here'
  config.host = 'api.legnext.ai'
  config.base_path = ''
end

api = OpenapiClient::ImageApi.new

Method 3: Using dotenv Gem

Use the dotenv gem to load from .env files:
gem install dotenv
require 'dotenv/load'
require 'openapi_client'

# .env file is automatically loaded
OpenapiClient.configure do |config|
  config.api_key['x-api-key'] = ENV['LEGNEXT_API_KEY']
  config.host = 'api.legnext.ai'
  config.base_path = ''
end

api = OpenapiClient::ImageApi.new
.env file:
LEGNEXT_API_KEY=your-api-key-here

Method 4: YAML Configuration File

Load API key from a YAML configuration file:
require 'yaml'
require 'openapi_client'

# Load configuration
config_file = YAML.load_file('config.yml')

OpenapiClient.configure do |config|
  config.api_key['x-api-key'] = config_file['api_key']
  config.host = 'api.legnext.ai'
  config.base_path = ''
end

api = OpenapiClient::ImageApi.new
config.yml:
api_key: your-api-key-here
environment: development

Method 5: Rails Credentials (for Rails Applications)

For Rails 5.2+, use encrypted credentials:
rails credentials:edit
Add to credentials:
legnext:
  api_key: your-api-key-here
In your Rails app:
require 'openapi_client'

OpenapiClient.configure do |config|
  config.api_key['x-api-key'] = Rails.application.credentials.legnext[:api_key]
  config.host = 'api.legnext.ai'
  config.base_path = ''
end

api = OpenapiClient::ImageApi.new

Complete Configuration Example

require 'openapi_client'

OpenapiClient.configure do |config|
  # Required: API Key
  config.api_key['x-api-key'] = ENV['LEGNEXT_API_KEY']

  # Required: API Host
  config.host = 'api.legnext.ai'
  config.base_path = ''

  # Optional: Set debugging mode
  config.debugging = ENV['LEGNEXT_DEBUG'] == 'true'

  # Optional: Set timeout (in seconds)
  config.timeout = 120

  # Optional: Set custom user agent
  config.user_agent = 'MyApp/1.0'

  # Optional: SSL verification (recommended: true)
  config.verify_ssl = true
  config.verify_ssl_host = true
end

Security Best Practices

  1. Never commit API keys to version control
    # .gitignore
    .env
    config.yml
    config/credentials/*.yml.enc
    
  2. Use environment variables in production
    # Set in your deployment environment
    export LEGNEXT_API_KEY="your-production-key"
    
  3. Rotate keys regularly
    • Generate new keys periodically
    • Revoke old keys after rotation
  4. Use different keys for development and production
    OpenapiClient.configure do |config|
      api_key = if ENV['RAILS_ENV'] == 'production'
                  ENV['LEGNEXT_PROD_API_KEY']
                else
                  ENV['LEGNEXT_DEV_API_KEY']
                end
      config.api_key['x-api-key'] = api_key
      config.host = 'api.legnext.ai'
      config.base_path = ''
    end
    
  5. Restrict API key permissions
    • Use the minimum required permissions
    • Monitor usage through the dashboard
  6. Enable SSL verification
    OpenapiClient.configure do |config|
      config.verify_ssl = true
      config.verify_ssl_host = true
    end
    

Testing Authentication

Verify your API key is working:
require 'openapi_client'

OpenapiClient.configure do |config|
  config.api_key['x-api-key'] = ENV['LEGNEXT_API_KEY']
  config.host = 'api.legnext.ai'
  config.base_path = ''
end

api_key = ENV['LEGNEXT_API_KEY']
account_api = OpenapiClient::AccountManagementApi.new

begin
  # Test with account balance endpoint
  response = account_api.api_account_balance_get({x_api_key: api_key})

  puts "✅ Authentication successful!"
  if response.data
    puts "Balance: $#{response.data.balance_usd}"
  end

rescue OpenapiClient::ApiError => e
  if e.code == 401
    puts "❌ Authentication failed: Invalid API key"
  else
    puts "❌ Error: #{e.message}"
  end
end

Debugging

Enable debugging to see HTTP requests and responses:
OpenapiClient.configure do |config|
  config.api_key['x-api-key'] = ENV['LEGNEXT_API_KEY']
  config.host = 'api.legnext.ai'
  config.base_path = ''
  config.debugging = true  # Enable debug output
  config.logger = Logger.new(STDOUT)  # Custom logger
  config.logger.level = Logger::DEBUG
end

Next Steps