#
** sematext-api-client-ruby**
>*A [Sematext Cloud](https://sematext.com/cloud/) API client, for interaction with Sematext Cloud solution monitoring, alerting and log shipping.*
[](https://opensource.org/licenses/Apache-2.0)
One of a family of clients in following flavours:
* [sematext-api-client-javascript](https://github.com/sematext/sematext-api-client-javascript "Javascript")
* [sematext-api-client-rust](https://github.com/sematext/sematext-api-client-rust "Rust")
* [sematext-api-client-ruby](https://github.com/sematext/sematext-api-client-ruby "Ruby")
* [sematext-api-client-python](https://github.com/sematext/sematext-api-client-python "Python")
* [sematext-api-client-php](https://github.com/sematext/sematext-api-client-php "PHP")
* [sematext-api-client-java](https://github.com/sematext/sematext-api-client-java "Java")
* [sematext-api-client-go](https://github.com/sematext/sematext-api-client-go "Go/Golang")
Refer to below link for deeper information on the API itself.
* [Sematext Cloud API Reference](https://sematext.com/docs/api/ "API Reference")
## Contents
- [ sematext-api-client-ruby](#sematext-api-client-ruby)
- [Contents](#contents)
- [Installation](#installation)
- [Getting Started](#getting-started)
- [Authentication](#authentication)
- [Reference](#reference)
- [Documentation for Models](#documentation-for-models)
## Installation
### Build a gem
To build the Ruby code into a gem:
```shell
gem build SematextCloud.gemspec
```
Then either install the gem locally:
```shell
gem install ./SematextCloud-0.1.3.gem
```
(for development, run `gem install --dev ./SematextCloud-0.1.3.gem` to install the development dependencies)
or publish the gem to a gem hosting service, e.g. [RubyGems](https://rubygems.org/).
Finally add this to the Gemfile:
gem 'SematextCloud', '~> 0.1.3'
### Install from Git
If the Ruby gem is hosted at a git repository: https://github.com/GIT_USER_ID/GIT_REPO_ID, then add the following in the Gemfile:
gem 'SematextCloud', :git => 'https://github.com/sematext/sematext-api-client-ruby.git'
### Include the Ruby code directly
Include the Ruby code directly using `-I` as follows:
```shell
ruby -Ilib script.rb
```
## Authentication
This client code requires a Sematext API Access token to function. You can find this by logging into your [Sematext Cloud Account](https://apps.sematext.com/ui/account/api)
## Getting Started
Please follow the [installation](#installation) procedure and then run the following code:
```ruby
# Load the gem
require 'SematextCloud'
# Setup authorization
SematextCloud.configure do |config|
# Configure API key authorization: api_key
config.api_key['Authorization'] = 'YOUR API KEY'
# Uncomment the following line to set a prefix for the API key, e.g. 'Bearer' (defaults to nil)
#config.api_key_prefix['Authorization'] = 'Bearer'
end
api_instance = SematextCloud::AlertNotificationsApi.new
app_id = 789 # Integer | appId
time_interval = SematextCloud::AlertNotificationRequest.new # AlertNotificationRequest | Time Interval
begin
#Get alert notifications for an app
result = api_instance.get_alert_notifications_for_app_using_post(app_id, time_interval)
p result
rescue SematextCloud::ApiError => e
puts "Exception when calling AlertNotificationsApi->get_alert_notifications_for_app_using_post: #{e}"
end
```
## Reference
All URIs are relative to *https://localhost*
Class | Method | HTTP request | Description
------------ | ------------- | ------------- | -------------
*SematextCloud::AlertNotificationsApi* | [**get_alert_notifications_for_app_using_post**](docs/AlertNotificationsApi.md#get_alert_notifications_for_app_using_post) | **POST** /users-web/api/v3/apps/{appId}/notifications/alerts | Get alert notifications for an app
*SematextCloud::AlertNotificationsApi* | [**get_alert_notifications_for_user_using_post**](docs/AlertNotificationsApi.md#get_alert_notifications_for_user_using_post) | **POST** /users-web/api/v3/notifications/alerts | Get alert notifications for a user
*SematextCloud::AlertsApi* | [**create_alert_using_post**](docs/AlertsApi.md#create_alert_using_post) | **POST** /users-web/api/v3/alerts | Create alert rule
*SematextCloud::AlertsApi* | [**delete_alert_rule_using_delete**](docs/AlertsApi.md#delete_alert_rule_using_delete) | **DELETE** /users-web/api/v3/alerts/{updateableAlertId} | Delete alert rule
*SematextCloud::AlertsApi* | [**disable_alert_rule_using_put**](docs/AlertsApi.md#disable_alert_rule_using_put) | **PUT** /users-web/api/v3/alerts/{updateableAlertId}/disable | Disable alert rule
*SematextCloud::AlertsApi* | [**enable_alert_rule_using_put**](docs/AlertsApi.md#enable_alert_rule_using_put) | **PUT** /users-web/api/v3/alerts/{updateableAlertId}/enable | Enable alert rule
*SematextCloud::AlertsApi* | [**get_alert_rules_for_app_using_get**](docs/AlertsApi.md#get_alert_rules_for_app_using_get) | **GET** /users-web/api/v3/apps/{appId}/alerts | Get alert rules for an app
*SematextCloud::AppsApi* | [**get_app_types_using_get**](docs/AppsApi.md#get_app_types_using_get) | **GET** /users-web/api/v3/apps/types | Get all App types supported for the account identified with apiKey
*SematextCloud::AppsApi* | [**get_using_get**](docs/AppsApi.md#get_using_get) | **GET** /users-web/api/v3/apps/{anyStateAppId} | Gets defails for one particular App
*SematextCloud::AppsApi* | [**invite_app_guests_using_post**](docs/AppsApi.md#invite_app_guests_using_post) | **POST** /users-web/api/v3/apps/guests | Invite guests to an app
*SematextCloud::AppsApi* | [**list_apps_users_using_get**](docs/AppsApi.md#list_apps_users_using_get) | **GET** /users-web/api/v3/apps/users | Get all users of apps accessible to this account
*SematextCloud::AppsApi* | [**list_using_get**](docs/AppsApi.md#list_using_get) | **GET** /users-web/api/v3/apps | Get all apps accessible by account identified with apiKey
*SematextCloud::AppsApi* | [**update_description_using_put**](docs/AppsApi.md#update_description_using_put) | **PUT** /users-web/api/v3/apps/{anyStateAppId}/description | Update description of the app
*SematextCloud::AppsApi* | [**update_using_put1**](docs/AppsApi.md#update_using_put1) | **PUT** /users-web/api/v3/apps/{anyStateAppId} | Update app
*SematextCloud::AwsSettingsControllerApi* | [**update_using_put**](docs/AwsSettingsControllerApi.md#update_using_put) | **PUT** /users-web/api/v3/apps/{appId}/aws | Update App's AWS CloudWatch settings
*SematextCloud::BillingApi* | [**get_detailed_invoice_using_get**](docs/BillingApi.md#get_detailed_invoice_using_get) | **GET** /users-web/api/v3/billing/invoice/{service}/{year}/{month} | Get invoice details
*SematextCloud::BillingApi* | [**list_available_plans_using_get**](docs/BillingApi.md#list_available_plans_using_get) | **GET** /users-web/api/v3/billing/availablePlans | Get available plans
*SematextCloud::BillingApi* | [**update_plan_using_put**](docs/BillingApi.md#update_plan_using_put) | **PUT** /users-web/api/v3/billing/info/{appId} | Update plan for an app
*SematextCloud::LogsAppApi* | [**create_logsene_application**](docs/LogsAppApi.md#create_logsene_application) | **POST** /logsene-reports/api/v3/apps | Create Logs App
*SematextCloud::MetricsApi* | [**list_data_series_using_post**](docs/MetricsApi.md#list_data_series_using_post) | **POST** /spm-reports/api/v3/apps/{appId}/metrics/data | Get metrics data points for an app
*SematextCloud::MetricsApi* | [**list_filters_using_post**](docs/MetricsApi.md#list_filters_using_post) | **POST** /spm-reports/api/v3/apps/{appId}/metrics/filters | Get metrics filters and their values for an app
*SematextCloud::MetricsApi* | [**list_metrics_keys_using_get**](docs/MetricsApi.md#list_metrics_keys_using_get) | **GET** /spm-reports/api/v3/apps/{appId}/metrics/keys | Get metrics keys for an app
*SematextCloud::MetricsApi* | [**list_metrics_using_get**](docs/MetricsApi.md#list_metrics_using_get) | **GET** /spm-reports/api/v3/apps/{appId}/metrics | Get metrics info for an app
*SematextCloud::MonitoringAppApi* | [**create_spm_application1**](docs/MonitoringAppApi.md#create_spm_application1) | **POST** /spm-reports/api/v3/apps | Create Monitoring App
*SematextCloud::ResetPasswordApi* | [**reset_password_using_post**](docs/ResetPasswordApi.md#reset_password_using_post) | **POST** /users-web/api/v3/account/password/reset | Reset Password
*SematextCloud::SavedQueriesApi* | [**delete_saved_query_using_delete**](docs/SavedQueriesApi.md#delete_saved_query_using_delete) | **DELETE** /users-web/api/v3/savedQueries/{updateableQueryId} | Delete saved query
*SematextCloud::SavedQueriesApi* | [**get_saved_queries_for_app_using_get**](docs/SavedQueriesApi.md#get_saved_queries_for_app_using_get) | **GET** /users-web/api/v3/apps/{appId}/savedQueries | Get saved queries for an app
*SematextCloud::SavedQueriesApi* | [**save_query_using_post**](docs/SavedQueriesApi.md#save_query_using_post) | **POST** /users-web/api/v3/savedQueries | Create saved query
*SematextCloud::SavedQueriesApi* | [**save_query_using_put**](docs/SavedQueriesApi.md#save_query_using_put) | **PUT** /users-web/api/v3/savedQueries/{updateableQueryId} | Update saved query
*SematextCloud::SubscriptionsApi* | [**list_using_get1**](docs/SubscriptionsApi.md#list_using_get1) | **GET** /users-web/api/v3/apps/{appId}/subscriptions | Get subscriptions for an app
*SematextCloud::SubscriptionsApi* | [**send_report_using_post**](docs/SubscriptionsApi.md#send_report_using_post) | **POST** /users-web/api/v3/apps/{appId}/report/send | Trigger emailing of report for an app
*SematextCloud::TagApiControllerApi* | [**get_tag_names_using_get**](docs/TagApiControllerApi.md#get_tag_names_using_get) | **GET** /spm-reports/api/v3/apps/{appIds}/tagNames | Gets tag names for the given application identifiers appearing in the given time frame.
*SematextCloud::TagApiControllerApi* | [**get_using_get1**](docs/TagApiControllerApi.md#get_using_get1) | **GET** /spm-reports/api/v3/apps/{appIds}/tags | Gets values for specified tags for the given application identifiers appearing in the given time frame.
*SematextCloud::TagApiControllerApi* | [**get_using_get2**](docs/TagApiControllerApi.md#get_using_get2) | **GET** /spm-reports/api/v3/apps/{appIds}/metrics/filters | Gets values for specified tags for the given application identifiers appearing in the given time frame.
## Documentation for Models
- [SematextCloud::AlertNotificationRequest](docs/AlertNotificationRequest.md)
- [SematextCloud::AlertRule](docs/AlertRule.md)
- [SematextCloud::AlertRuleScheduleTimeRangeDto](docs/AlertRuleScheduleTimeRangeDto.md)
- [SematextCloud::AlertRuleScheduleWeekdayDto](docs/AlertRuleScheduleWeekdayDto.md)
- [SematextCloud::App](docs/App.md)
- [SematextCloud::AppDescription](docs/AppDescription.md)
- [SematextCloud::AppMetadata](docs/AppMetadata.md)
- [SematextCloud::BasicAuthMethodDto](docs/BasicAuthMethodDto.md)
- [SematextCloud::BasicOrganizationDto](docs/BasicOrganizationDto.md)
- [SematextCloud::BillingInfo](docs/BillingInfo.md)
- [SematextCloud::CloudWatchSettings](docs/CloudWatchSettings.md)
- [SematextCloud::CreateAppInfo](docs/CreateAppInfo.md)
- [SematextCloud::DataSeriesFilter](docs/DataSeriesFilter.md)
- [SematextCloud::DataSeriesRequest](docs/DataSeriesRequest.md)
- [SematextCloud::Error](docs/Error.md)
- [SematextCloud::FilterValue](docs/FilterValue.md)
- [SematextCloud::GenericApiResponse](docs/GenericApiResponse.md)
- [SematextCloud::Invitation](docs/Invitation.md)
- [SematextCloud::NotificationIntegration](docs/NotificationIntegration.md)
- [SematextCloud::Plan](docs/Plan.md)
- [SematextCloud::ReportInfo](docs/ReportInfo.md)
- [SematextCloud::SavedQuery](docs/SavedQuery.md)
- [SematextCloud::ServiceIntegration](docs/ServiceIntegration.md)
- [SematextCloud::UpdateAppInfo](docs/UpdateAppInfo.md)
- [SematextCloud::UserInfo](docs/UserInfo.md)
- [SematextCloud::UserPermissions](docs/UserPermissions.md)
- [SematextCloud::UserRole](docs/UserRole.md)