Getting Started with Cuadra AI
Introduction
API Documentation
Install the Package
Install the gem from the command line:
gem install cuadra-ai-sdk -v 1.0.4
Or add the gem to your Gemfile and run bundle:
gem 'cuadra-ai-sdk', '1.0.4'
For additional gem details, see the RubyGems page for the cuadra-ai-sdk gem.
Initialize the API Client
Note: Documentation for the client can be found here.
The following parameters are configurable for the API Client:
| Parameter | Type | Description |
|---|---|---|
| environment | Environment |
The API environment. Default: Environment.PRODUCTION |
| connection | Faraday::Connection |
The Faraday connection object passed by the SDK user for making requests |
| adapter | Faraday::Adapter |
The Faraday adapter object passed by the SDK user for performing http requests |
| timeout | Float |
The value to use for connection timeout. Default: 30 |
| max_retries | Integer |
The number of times to retry an endpoint call if it fails. Default: 0 |
| retry_interval | Float |
Pause in seconds between retries. Default: 1 |
| backoff_factor | Float |
The amount to multiply each successive retry's interval amount by in order to provide backoff. Default: 2 |
| retry_statuses | Array |
A list of HTTP statuses to retry. Default: [408, 413, 429, 500, 502, 503, 504, 521, 522, 524] |
| retry_methods | Array |
A list of HTTP methods to retry. Default: %i[get put] |
| http_callback | HttpCallBack |
The Http CallBack allows defining callables for pre and post API calls. |
| logging_configuration | LoggingConfiguration |
The SDK logging configuration for API calls |
| authorization_code_auth_credentials | AuthorizationCodeAuthCredentials |
The credential object for OAuth 2 Authorization Code Grant |
The API client can be initialized as follows:
client = CuadraAi::Client.new(
authorization_code_auth_credentials: AuthorizationCodeAuthCredentials.new(
oauth_client_id: 'OAuthClientId',
oauth_client_secret: 'OAuthClientSecret',
oauth_redirect_uri: 'OAuthRedirectUri'
),
environment: Environment::PRODUCTION,
logging_configuration: LoggingConfiguration.new(
log_level: Logger::INFO,
request_logging_config: RequestLoggingConfiguration.new(
log_body: true
),
response_logging_config: ResponseLoggingConfiguration.new(
log_headers: true
)
)
)
Authorization
This API uses the following authentication schemes.