No description, website, or topics provided.
Switch branches/tags
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
docs
gradle/wrapper
src
.gitignore
.swagger-codegen-ignore
.travis.yml
LICENSE
README.md
build.gradle
build.sbt
git_push.sh
gradle.properties
gradlew
gradlew.bat
pom.xml
settings.gradle

README.md

Build Status Gem Version

esp-sdk-java

The Evident Security Platform API (version 2.0) is designed to allow users granular control over their Amazon Web Service security experience by allowing them to review alerts, monitor signatures, and create custom signatures.

This SDK is automatically generated by the Swagger Codegen project:

  • API version: v2_sdk
  • Build package: io.swagger.codegen.languages.JavaClientCodegen

Requirements

Building the API client library requires Maven to be installed.

Installation & Usage

To install the API client library to your local Maven repository, simply execute:

mvn install

To deploy it to a remote Maven repository instead, configure the settings of the repository and execute:

mvn deploy

Refer to the official documentation for more information.

After the client library is installed/deployed, you can use it in your Maven project by adding the following to your pom.xml:

<dependency>
    <groupId>io.evident</groupId>
    <artifactId>esp-sdk-java</artifactId>
    <version>1.0.0.rc1</version>
    <scope>compile</scope>
</dependency>

Set your HMAC security keys:

You must set your access_key_id and your secret_access_key. You can set these directly through the ApiClient:

ApiClient espClient = new ApiClient();
espClient.setHmacCredentials(accessKeyId, secretAccessKey)

... or with environment variables (at system level, with syntax appropriate per your os):

export ESP_ACCESS_KEY_ID=<your key>
export ESP_SECRET_ACCESS_KEY=<your secret key>

Get your HMAC keys from the Evident.io website, esp.evident.io

Appliance Users

Users of Evident.io's AWS marketplace PSAAS/appliance will need to set the host for their appliance instance. You can set this directly through the ApiClient:

ApiClient espClient = new ApiClient();
espClient.setURL("https://www.your-url.com");

Alternatively, the host can also be set with an environment variable:

export ESP_HOST=<host for appliance instance>

Getting Started

Please follow the installation procedure to begin

Include ApiClient and the Api class you want to use (SubOrganizationsApi shown here)

import io.evident.EspSdk.ApiClient;
import io.evident.api.SubOrganizationsApi;

This project uses Retrofit; include Response for data retrieval

import retrofit2.Response;

Create an instance of the ApiClient

ApiClient apiClient = new ApiClient();

Create an instance of the Api class you want to use (SubOrganizationsApi shown here)

SubOrganizationsApi subOrgsApi = apiClient.createService(SubOrganizationsApi.class);

Execute api calls on your instantiated class

// the `show()` method takes the id of the object to retrieve and an optional include list for returning related objects in the response
Response<SubOrganization> showResponse = subOrgsApi.show(1, null).execute();
SubOrganization subOrg = showResponse.body();

Returned collections are paginated (default at time of publishing is 20 items per page).

// the list method accepts a filter (null -> return all items), pagination specification (null -> return first page of default size), and an include string (null -> no related objects returned in response)
Response<PaginatedCollection> listResponse = subOrgsApi.list(null, null, null);

With a Response<PaginatedCollection> object, you can access the data directly through the Response body using an index

SubOrganization firstSubOrg = (SubOrganization) listResponse.body().getData().get(0);

... or you can use a PaginationUtil object to assist (more on this below)

PaginationUtil subOrgsPaginationUtil = new PaginationUtil(listResponse, apiClient);
try {
  SubOrganization secondSubOrg = (SubOrganization) subOrgsPaginationUtil.getObject(1);
} catch (IndexOutOfBoundsException iob) {
  // oops
}

Errors

You can check the success of a call through the Response object. Error details are available through the Response if the call did not succeed.

  Response<SubOrganization> showResponse = subOrgsApi.show(1, null).execute();
  if (!showResponse.isSuccessful()) {
    int errorCode = showResponse.raw().code();
    String errorMessage = showResponse.raw().message();
  }

Pagination

Evident.io API endpoints that return a collection of objects allow for paging and only returns a limited number of items at a time. The Evident.io SDK utilizes a PaginationUtil object that provides methods for paging through the collection. The fetch*Page() methods return the indicated page as a new object. The goto*Page() methods move the called PaginationUtil object to the indicated page.

PaginationUtil pu = new PaginationUtil(response, apiClient);
PaginationUtil nextPage = pu.fetchNextPage();
pu.getCurrentPageNumber(); // 1
nextPage.getCurrentPageNumber(); // 2
pu.gotoNextPage();
pu.getCurrentPageNumber(); // 2

See the PaginationUtil class for all the pagination methods available.

Including Objects

Most of the objects in the Evident.io SDK have a corresponding API call associated with it. That means if you want an object's associated object, then you will make another API call using the associated objects api. For example:

// The below code assumes all *Api objects have been previously created using an ApiClient instance
ExternalAccount externalAccount = externalAccountsApi.show(1, null);
Organization organization = organizationsApi.show(externalAccount.getOrganizationId(), null);
SubOrganization subOrganization = subOrganizationsApi.show(externalAccount.getSubOrganizationId(), null);
Team team = teamsApi.show(externalAccount.getTeamId(), null);

The above code will make 4 calls to the Evident.io API. 1 each for the ExternalAccount, Organization, SubOrganization, and Team. The JSON API Specification, which the Evident.io API tries to follow, provides a means for returning nested objects in a single call. With the SDK, that can be done by providing a comma separated string of the relations wanted in an +include+ option.

ExternalAccount externalAccount = externalAccountsApi.show(1, "organization,sub_organization,team");

With that call, the Organization, SubOrganization, and Team will all come back in the response. Calling, externalAccount.getOrganization(), externalAccount.getSubOrganization(), and externalAccount.getTeam() will return the associated objects.

You can nest include requests with the dot property. For example, requesting external_account.team on an Alert will expand the ExternalAccount property into a full ExternalAccount object and will then expand the Team property on that ExternalAccount into a full Team object. Deep nesting is available as well. external_account.team.organization

Alert alert = alertsApi.show(1, "tags,external_account.team");

Most objects' show and list methods accept the +include+ option. Those methods that accept the +include+ option are documented with the available associations that are includable.

Filtering/Searching

For objects that implement list, parameters can be passed that will filter the results based on the search criteria specified. The criteria that can be specified depends on the object. Each object is documented whether it implements list or not, and, if so, which attributes can be included in the search criteria.

Searching

The primary method of searching is by using what is known as predicates.

Predicates are used within Evident.io API search queries to determine what information to match. For instance, the cont predicate, when added to the name attribute, will check to see if `name`` contains a value using a wildcard query.

The list methods accept a Map of String pairs as the filter parameter. A static method, filter, has been added to ApiClient to simplify calling the list method. It accepts a variable number of String arguments in key-value pairs as successive parameters.

// the following call will return a PaginatedCollection of Signature objects "where name LIKE '%dns%'"
Response<PaginatedCollection> response = signaturesApi.list(ApiClient.filter("name_cont", "dns")), null, null);

Conditions on Relationships

The syntax for queries on an associated relationship is to just append the association name to the attribute:

// The following call will return Suppressions that have a region relationship "where code = 'us_east_1'"
Resposne<PaginatedCollection> response = suppressionsApi.list(ApiClient.filter("regions_code_eq","us_east_1"), null, null);

Complex Filtering

Add multiple attributes and predicates to form complex queries:

// The following call will return suppressions that have a region relationship "`where code LIKE 'us%'" AND created_by relationship "where email = 'bob@mycompany.com'" AND "resource IS NOT NULL"
Response<PaginatedCollection> response = suppressionsApi.list(ApiClient.filter("regions_code_start", "us", "created_by_email_eq", "bob@mycompany.com", "resource_not_null", "1"), null, null);

You can also change the combinator for complex queries from the default AND to OR by adding the m: 'or' parameter

// The following call will return Suppressions that have a region relationship "where code LIKE 'us%'" **OR** created_by relationship "where email = 'bob@mycompany.com'" **OR** "resource IS NOT NULL"
Response<PaginatedCollection> response = suppressionsApi.list(ApiClient.filter("regions_code_start", "us", "created_by_email_eq", "bob@mycompany.com", "resource_not_null", "1", "m", "or"), null, null);

Bad Attributes

Please note: any attempt to use a predicate for an attribute that does not exist will return a 422 (Unprocessable Entity) response. For instance, this will not work:

Response<PaginatedCollection> response = suppressionApi.list(ApiClient.filter("bad_attribute_eq", "something"), null, null);
response.isSuccessful();  // false
response.raw().code();    // 422
response.raw().message(); // Invalid search term bad_attribute_eq.
::SuppressionsApi.new.list(filter: { bad_attribute_eq: 'something' })

Also note: any attempt to use a predicate for an attribute that exists on the object, but is not a documented searchable attribute will silently fail and will be excluded from the search criteria.

Available Predicates

Below is a list of the available predicates and their opposites.

eq (equals)

The eq predicate returns all records where a field is exactly equal to a given value:

// The following call will return Suppressions that have a region relationship "where code = 'us_east_1'"
Resposne<PaginatedCollection> response = suppressionsApi.list(ApiClient.filter("regions_code_eq","us_east_1"), null, null);

Opposite: not_eq

lt (less than)

The lt predicate returns all records where a field is less than a given value:

// The following call will return Reports "where created_at < '2015-11-11 16:25:30'"
Resposne<PaginatedCollection> response = reportsApi.list(ApiClient.filter("created_at_lt", "1.hour.ago"), null, null);

Opposite: gt (greater than)

lteq (less than or equal to)

The lteq predicate returns all records where a field is less than or equal to a given value:

// The following call will return reports "where created_at <= '2015-11-11 16:25:30'"
Resposne<PaginatedCollection> response = reportsApi.list(ApiClient.filter("created_at_lteq", "1.hour.ago"), null, null);

Opposite: gteq (greater than or equal to)

in

The in predicate returns all records where a field is within a specified list:

// The following call will return signatures "where risk_level IN ('Low', 'Medium')"
Resposne<PaginatedCollection> response = signaturesApi.list(ApiClient.filter("risk_level_in", "['Low', 'Medium']"), null, null)

Opposite: not_in

cont (contains)

The cont predicate returns all records where a field contains a given value:

// The following call will return signatures "where name LIKE '%dns%'"
Resposne<PaginatedCollection> response = signaturesApi.list(ApiClient.filter("name_cont", "dns"), null, null)

Opposite: not_cont

Please note: This predicate is only available on attributes listed in the "Valid Matching Searchable Attributes"" section for each implemented where method.

cont_any (contains any)

The cont_any predicate returns all records where a field contains any of given values:

// The following call will return signatures "where name LIKE '%dns%' OR name LIKE '%EC2%'"
Resposne<PaginatedCollection> response = signaturesApi.list(ApiClient.filter("name_cont_any", "['dns', 'EC2']"), null, null);

Opposite: not_cont_any

Please note: This predicate is only available on attributes listed in the "Valid Matching Searchable Attributes"" section for each implemented where method.

start (starts with)

The start predicate returns all records where a field begins with a given value:

// The following call will return signatures "where name LIKE 'dns%'"
Resposne<PaginatedCollection> response = signaturesApi.list(ApiClient.filter("name_start", "dns"), null, null)

Opposite: not_start

Please note: This predicate is only available on attributes listed in the "Valid Matching Searchable Attributes"" section for each implemented where method.

end (ends with)

The end predicate returns all records where a field ends with a given value:

// The following call will return signatures "where name LIKE '%dns'"
Resposne<PaginatedCollection> response = signaturesApi.list(ApiClient.filter("name_end", "dns"), null, null)

Opposite: not_end

Please note: This predicate is only available on attributes listed in the "Valid Matching Searchable Attributes"" section for each implemented where method.

present

The present predicate returns all records where a field is present (not null and not a blank string).

// The following call will return signatures "where identifier IS NOT NULL AND identifier != ''"
Resposne<PaginatedCollection> response = signaturesApi.list(ApiClient.filter("identifier_present", "1"), null, null)

Opposite: blank

null

The null predicate returns all records where a field is null:

// The following call will return signatures "where identifier IS NULL"
Resposne<PaginatedCollection> response = signaturesApi.list(ApiClient.filter("identifier_null", "1"), null, null)

Opposite: not_null

Sorting

Lists can also be sorted by adding the sorts parameter with the field to sort by to the filter parameter.

// The following call will return signatures "where name LIKE '%dns%'` sorted by `risk_level` in descending order."
Resposne<PaginatedCollection> response = signaturesApi.list(ApiClient.filter("name_cont", "dns", "sorts", "risk_level desc"), null, null)

Lists can be sorted by multiple fields by specifying an ordered array.

// The following call will return signatures "where name LIKE '%dns%'" sorted by risk_level in descending order and then by created_at in ascending order.
Resposne<PaginatedCollection> response = signaturesApi.list(ApiClient.filter("name_cont", "dns", "sorts", "['risk_level desc', 'created_at']"), null, null);

Documentation for API Endpoints

All URIs are relative to https://api.evident.io/

Searchable Attributes on List Endpoints

The description of the filter parameter for the list endpoints have the searchable attributes separated into different lists.

Equality Searchable Attributes

These attributes can be used with predicates that look for an exact match such as eq

Matching Searchable Attribute

These attributes can be used with predicates that look for a string that matches the supplied string such as cont

Limited Searchable Attributes

These attributes cannot be used with every predicate. Only with the predicates listed.

Searchable Associations

These are associations you can search through. See the documentation for each association to see which attributes are searchable.

Sortable Attributes

These attributes can be passed with the sorts key to sort the response.

Class Method HTTP request Description
::APIKeysApi create POST api/v2/api_keys.json_api Create a(n) API Key
::APIKeysApi delete DELETE api/v2/api_keys/{id}.json_api Delete a(n) API Key
::APIKeysApi list GET api/v2/api_keys.json_api Get a list of API Keys
::APIKeysApi show GET api/v2/api_keys/{id}.json_api Show a single API Key
::APIKeysApi update PATCH api/v2/api_keys/{id}.json_api Update a(n) API Key
::AlertsApi listComplianceControls GET api/v2/alerts/{alert_id}/compliance_controls.json_api Get a list of Compliance Controls for an Alert
::AlertsApi listCustomComplianceControls GET api/v2/alerts/{alert_id}/custom_compliance_controls.json_api Get a list of Custom Compliance Controls for an Alert
::AlertsApi listForReport PUT api/v2/reports/{report_id}/alerts.json_api Get a list of Alerts for a Report
::AlertsApi show GET api/v2/alerts/{id}.json_api Show a single Alert
::AttributionApi show GET api/v2/alerts/{alert_id}/attribution.json_api Show the attribution for an alert
::AuditLogExportApi requestFile POST api/v2/audit_logs/export/files.json_api Export an Audit Log File
::AuditLogExportApi showFileDetails GET api/v2/audit_logs/export/files/{id}.json_api Show a single Audit Log File
::AuditLogsApi list PUT api/v2/audit_logs.json_api Get a list of Audit Logs
::AuditLogsApi show GET api/v2/audit_logs/{id}.json_api Show a single Audit Log
::AzureGroupsApi addExternalAccount POST api/v2/azure_groups/{azure_group_id}/memberships.json_api Add an External Account to an Azure Group
::AzureGroupsApi create POST api/v2/azure_groups.json_api Create a(n) Azure Group
::AzureGroupsApi delete DELETE api/v2/azure_groups/{id}.json_api Delete a(n) Azure Group
::AzureGroupsApi list PUT api/v2/azure_groups.json_api Get a list of Azure Groups
::AzureGroupsApi removeExternalAccount DELETE api/v2/azure_groups/{azure_group_id}/memberships/{external_account_id}.json_api Remove an External Account from an Azure Group
::AzureGroupsApi show GET api/v2/azure_groups/{id}.json_api Show a single Azure Group
::AzureGroupsApi update PATCH api/v2/azure_groups/{id}.json_api Update a(n) Azure Group
::ComplianceControlsApi list PUT api/v2/compliance_controls.json_api Get a list of Compliance Controls
::ComplianceControlsApi listSignatures GET api/v2/compliance_controls/{compliance_control_id}/signatures.json_api Get a list of Signatures for a Compliance Control
::ComplianceControlsApi show GET api/v2/compliance_controls/{id}.json_api Show a single Compliance Control
::ComplianceDomainsApi list PUT api/v2/compliance_domains.json_api Get a list of Compliance Domains
::ComplianceDomainsApi show GET api/v2/compliance_domains/{id}.json_api Show a single Compliance Domain
::ComplianceStandardsApi list PUT api/v2/compliance_standards.json_api Get a list of Compliance Standards
::ComplianceStandardsApi show GET api/v2/compliance_standards/{id}.json_api Show a single Compliance Standard
::CustomComplianceControlsApi addCustomSignature POST api/v2/custom_compliance_controls/{custom_compliance_control_id}/custom_signatures.json_api Add a Custom Signature to a Custom Compliance Control
::CustomComplianceControlsApi addSignature POST api/v2/custom_compliance_controls/{custom_compliance_control_id}/signatures.json_api Add a Signature to a Custom Compliance Control
::CustomComplianceControlsApi create POST api/v2/custom_compliance_controls.json_api Create a(n) Custom Compliance Control
::CustomComplianceControlsApi delete DELETE api/v2/custom_compliance_controls/{id}.json_api Delete a(n) Custom Compliance Control
::CustomComplianceControlsApi listCustomSignatures GET api/v2/custom_compliance_controls/{custom_compliance_control_id}/custom_signatures.json_api Get a list of Custom Signatures for a Custom Compliance Control
::CustomComplianceControlsApi listSignatures GET api/v2/custom_compliance_controls/{custom_compliance_control_id}/signatures.json_api Get a list of Signatures for a Custom Compliance Control
::CustomComplianceControlsApi removeCustomSignature DELETE api/v2/custom_compliance_controls/{custom_compliance_control_id}/custom_signatures/{custom_signature_id}.json_api Remove a Custom Signature from a Custom Compliance Control
::CustomComplianceControlsApi removeSignature DELETE api/v2/custom_compliance_controls/{custom_compliance_control_id}/signatures/{signature_id}.json_api Remove a Signature from a Custom Compliance Control
::CustomComplianceControlsApi show GET api/v2/custom_compliance_controls/{id}.json_api Show a single Custom Compliance Control
::CustomComplianceControlsApi update PATCH api/v2/custom_compliance_controls/{id}.json_api Update a(n) Custom Compliance Control
::CustomComplianceDomainsApi create POST api/v2/custom_compliance_domains.json_api Create a(n) Custom Compliance Domain
::CustomComplianceDomainsApi delete DELETE api/v2/custom_compliance_domains/{id}.json_api Delete a(n) Custom Compliance Domain
::CustomComplianceDomainsApi show GET api/v2/custom_compliance_domains/{id}.json_api Show a single Custom Compliance Domain
::CustomComplianceDomainsApi update PATCH api/v2/custom_compliance_domains/{id}.json_api Update a(n) Custom Compliance Domain
::CustomComplianceStandardsApi create POST api/v2/custom_compliance_standards.json_api Create a(n) Custom Compliance Standard
::CustomComplianceStandardsApi delete DELETE api/v2/custom_compliance_standards/{id}.json_api Delete a(n) Custom Compliance Standard
::CustomComplianceStandardsApi show GET api/v2/custom_compliance_standards/{id}.json_api Show a single Custom Compliance Standard
::CustomComplianceStandardsApi update PATCH api/v2/custom_compliance_standards/{id}.json_api Update a(n) Custom Compliance Standard
::CustomSignatureDefinitionsApi activate PATCH api/v2/custom_signature_definitions/{custom_signature_definition_id}/activate.json_api Activate a Custom Signature Definition
::CustomSignatureDefinitionsApi archive PATCH api/v2/custom_signature_definitions/{custom_signature_definition_id}/archive.json_api Archive a Custom Signature Definition
::CustomSignatureDefinitionsApi create POST api/v2/custom_signature_definitions.json_api Create a(n) Custom Signature Definition
::CustomSignatureDefinitionsApi delete DELETE api/v2/custom_signature_definitions/{id}.json_api Delete a(n) Custom Signature Definition
::CustomSignatureDefinitionsApi list PUT api/v2/custom_signature_definitions.json_api Get a list of Custom Signature Definitions
::CustomSignatureDefinitionsApi show GET api/v2/custom_signature_definitions/{id}.json_api Show a single Custom Signature Definition
::CustomSignatureDefinitionsApi update PATCH api/v2/custom_signature_definitions/{id}.json_api Update a(n) Custom Signature Definition
::CustomSignatureResultsApi create POST api/v2/custom_signature_results.json_api Create a(n) Custom Signature Result
::CustomSignatureResultsApi list PUT api/v2/custom_signature_results.json_api Get a list of Custom Signature Results
::CustomSignatureResultsApi listAlerts GET api/v2/custom_signature_results/{custom_signature_result_id}/alerts.json_api Returns the Alerts for a given Custom Signature Result
::CustomSignatureResultsApi show GET api/v2/custom_signature_results/{id}.json_api Show a single Custom Signature Result
::CustomSignaturesApi create POST api/v2/custom_signatures.json_api Create a(n) Custom Signature
::CustomSignaturesApi delete DELETE api/v2/custom_signatures/{id}.json_api Delete a(n) Custom Signature
::CustomSignaturesApi list PUT api/v2/custom_signatures.json_api Get a list of Custom Signatures
::CustomSignaturesApi show GET api/v2/custom_signatures/{id}.json_api Show a single Custom Signature
::CustomSignaturesApi update PATCH api/v2/custom_signatures/{id}.json_api Update a(n) Custom Signature
::ExternalAccountsApi addComplianceStandard POST api/v2/external_accounts/{external_account_id}/compliance_standards.json_api Add a compliance standard to an external account
::ExternalAccountsApi addCustomComplianceStandard POST api/v2/external_accounts/{external_account_id}/custom_compliance_standards.json_api Add a custom compliance standard to an external account
::ExternalAccountsApi addDisabledSignature POST api/v2/external_accounts/disabled_signatures.json_api Disable a set of signatures for an external account or a set of external accounts for a signature
::ExternalAccountsApi delete DELETE api/v2/external_accounts/{id}.json_api Delete a(n) External Account
::ExternalAccountsApi list PUT api/v2/external_accounts.json_api Get a list of External Accounts
::ExternalAccountsApi listComplianceStandards GET api/v2/external_accounts/{external_account_id}/compliance_standards.json_api Get a list of compliance standards for an external account
::ExternalAccountsApi listCustomComplianceStandards GET api/v2/external_accounts/{external_account_id}/custom_compliance_standards.json_api Get a list of custom compliance standards for an external account
::ExternalAccountsApi listDisabledSignatures PUT api/v2/external_accounts/{external_account_id}/disabled_signatures.json_api Get a list all the disabled signatures for an external account
::ExternalAccountsApi removeComplianceStandard DELETE api/v2/external_accounts/{external_account_id}/compliance_standards/{compliance_standard_id}.json_api Remove a compliance standard from an external account
::ExternalAccountsApi removeCustomComplianceStandard DELETE api/v2/external_accounts/{external_account_id}/custom_compliance_standards/{custom_compliance_standard_id}.json_api Remove a custom compliance standard from an external account
::ExternalAccountsApi removeDisabledSignature DELETE api/v2/external_accounts/disabled_signatures.json_api Re-enable a set of signatures for an external account or a set of external accounts for a signature
::ExternalAccountsApi show GET api/v2/external_accounts/{id}.json_api Show a single External Account
::ExternalAccountsAmazonApi create POST api/v2/external_accounts/amazon.json_api Create an Amazon External Account
::ExternalAccountsAmazonApi show GET api/v2/external_accounts/{external_account_id}/amazon.json_api Show an Amazon External Account
::ExternalAccountsAmazonApi update PATCH api/v2/external_accounts/{external_account_id}/amazon.json_api Update an Amazon External Account
::ExternalAccountsAzureApi create POST api/v2/external_accounts/azure.json_api Create an Azure External Account
::ExternalAccountsAzureApi resetUrl PATCH api/v2/external_accounts/{external_account_id}/azure/log_url.json_api Reset Log URL for an Azure External Account
::ExternalAccountsAzureApi show GET api/v2/external_accounts/{external_account_id}/azure.json_api Show an Azure External Account
::ExternalAccountsAzureApi update PATCH api/v2/external_accounts/{external_account_id}/azure.json_api Update an Azure External Account
::IntegrationsApi delete DELETE api/v2/integrations/{id}.json_api Delete a(n) Integration
::IntegrationsApi disable PATCH api/v2/integrations/{id}/disable.json_api Disable a single Integration
::IntegrationsApi list PUT api/v2/integrations.json_api Get a list of Integrations
::IntegrationsApi show GET api/v2/integrations/{id}.json_api Show a single Integration
::IntegrationsApi testNotify POST api/v2/integrations/{id}/test_notify.json_api Test an Integration
::IntegrationsAmazonSNSApi create POST api/v2/integrations/amazon_sns.json_api Create an Amazon SNS Integration
::IntegrationsAmazonSNSApi show GET api/v2/integrations/{integration_id}/amazon_sns.json_api Show a single Amazon SNS Integration
::IntegrationsAmazonSNSApi update PATCH api/v2/integrations/{integration_id}/amazon_sns.json_api Update an Amazon SNS Integration
::IntegrationsHipchatApi create POST api/v2/integrations/hipchat.json_api Create a Hipchat Integration
::IntegrationsHipchatApi show GET api/v2/integrations/{integration_id}/hipchat.json_api Show a single Hipchat Integration
::IntegrationsHipchatApi update PATCH api/v2/integrations/{integration_id}/hipchat.json_api Update a Hipchat Integration
::IntegrationsJiraApi create POST api/v2/integrations/jira.json_api Create a JIRA Integration
::IntegrationsJiraApi show GET api/v2/integrations/{integration_id}/jira.json_api Show a single Jira Integration
::IntegrationsJiraApi update PATCH api/v2/integrations/{integration_id}/jira.json_api Update a JIRA Integration
::IntegrationsPagerDutyApi create POST api/v2/integrations/pager_duty.json_api Create a Pager Duty Integration
::IntegrationsPagerDutyApi show GET api/v2/integrations/{integration_id}/pager_duty.json_api Show a single Pager Duty Integration
::IntegrationsPagerDutyApi update PATCH api/v2/integrations/{integration_id}/pager_duty.json_api Update a Pager Duty Integration
::IntegrationsServiceNowApi create POST api/v2/integrations/servicenow.json_api Create a ServiceNow Integration
::IntegrationsServiceNowApi show GET api/v2/integrations/{integration_id}/servicenow.json_api Show a single ServiceNow Integration
::IntegrationsServiceNowApi update PATCH api/v2/integrations/{integration_id}/servicenow.json_api Update a ServiceNow Integration
::IntegrationsSlackApi create POST api/v2/integrations/slack.json_api Create a Slack Integration
::IntegrationsSlackApi show GET api/v2/integrations/{integration_id}/slack.json_api Show a single Slack Integration
::IntegrationsSlackApi update PATCH api/v2/integrations/{integration_id}/slack.json_api Update a Slack Integration
::IntegrationsWebhookApi create POST api/v2/integrations/webhook.json_api Create a Webhook Integration
::IntegrationsWebhookApi show GET api/v2/integrations/{integration_id}/webhook.json_api Show a single Webhook Integration
::IntegrationsWebhookApi update PATCH api/v2/integrations/{integration_id}/webhook.json_api Update a Webhook Integration
::MetadataApi forAlert GET api/v2/alerts/{alert_id}/metadata.json_api Show the metadata for an alert
::MetadataApi show GET api/v2/metadata/{id}.json_api Show a single Metadata
::OrganizationsApi list PUT api/v2/organizations.json_api Get a list of Organizations
::OrganizationsApi listComplianceStandards GET api/v2/organizations/{organization_id}/compliance_standards.json_api Get a list of compliance standards for an organization
::OrganizationsApi show GET api/v2/organizations/{id}.json_api Show a single Organization
::OrganizationsApi update PATCH api/v2/organizations/{id}.json_api Update a(n) Organization
::PlansApi list GET api/v2/plans.json_api Get a list of Plans
::PlansApi show GET api/v2/plans/{id}.json_api Show a single Plan
::RegionsApi list PUT api/v2/regions.json_api Get a list of Regions
::RegionsApi show GET api/v2/regions/{id}.json_api Show a single Region
::ReportExportApi requestFile POST api/v2/reports/export/files.json_api Export all alerts for a set of reports to a file
::ReportExportApi sendToIntegration POST api/v2/reports/export/integrations.json_api Export all alerts on reports to an integration
::ReportExportApi showFileDetails GET api/v2/reports/export/files/{id}.json_api Show a single Exported Report
::ReportsApi create POST api/v2/reports.json_api Create a(n) Report
::ReportsApi list PUT api/v2/reports.json_api Get a list of Reports
::ReportsApi show GET api/v2/reports/{id}.json_api Show a single Report
::RolesApi list GET api/v2/roles.json_api Get a list of Roles
::RolesApi show GET api/v2/roles/{id}.json_api Show a single Role
::ScanIntervalsApi create POST api/v2/scan_intervals.json_api Create a(n) Scan Interval
::ScanIntervalsApi delete DELETE api/v2/scan_intervals/{id}.json_api Delete a(n) Scan Interval
::ScanIntervalsApi listForExternalAccount GET api/v2/external_accounts/{external_account_id}/scan_intervals.json_api Get a list of Scan Intervals
::ScanIntervalsApi show GET api/v2/scan_intervals/{id}.json_api Show a single Scan Interval
::ScanIntervalsApi update PATCH api/v2/scan_intervals/{id}.json_api Update a(n) Scan Interval
::ScheduledExportsApi activateExport PATCH api/v2/scheduled_exports/{scheduled_export_id}/activate.json_api Update a(n) Scheduled Export
::ScheduledExportsApi create POST api/v2/scheduled_exports.json_api Create a(n) Scheduled Export
::ScheduledExportsApi delete DELETE api/v2/scheduled_exports/{id}.json_api Delete a(n) Scheduled Export
::ScheduledExportsApi disableExport PATCH api/v2/scheduled_exports/{scheduled_export_id}/disable.json_api Update a(n) Scheduled Export
::ScheduledExportsApi list PUT api/v2/scheduled_exports.json_api Get a list of Scheduled Exports
::ScheduledExportsApi show GET api/v2/scheduled_exports/{id}.json_api Show a single Scheduled Export
::ScheduledExportsApi showFileDetails GET api/v2/reports/scheduled_export/files/{uuid}.json_api Show a single Scheduled Export Result
::ScheduledExportsApi unsubscribeExport PATCH api/v2/scheduled_exports/{uuid}/unsubscribe.json_api Update a(n) Scheduled Export
::ScheduledExportsApi update PATCH api/v2/scheduled_exports/{id}.json_api Update a(n) Scheduled Export
::ServicesApi list PUT api/v2/services.json_api Get a list of Services
::ServicesApi show GET api/v2/services/{id}.json_api Show a single Service
::SignaturesApi list PUT api/v2/signatures.json_api Get a list of Signatures
::SignaturesApi listDisabledExternalAccounts GET api/v2/signatures/{signature_id}/disabled_external_accounts.json_api Get a list of disabled External Accounts for a signature
::SignaturesApi listWithCustomRiskLevelForExternalAccount PUT api/v2/external_accounts/{external_account_id}/signature_custom_risk_levels.json_api Get A list of Signatures with default and custom risk levels for an External Account
::SignaturesApi removeCustomRiskLevelForExternalAccount DELETE api/v2/external_accounts/{external_account_id}/signature_custom_risk_levels/{signature_id}.json_api Remove a custom risk level to a Signature for an External Account
::SignaturesApi setCustomRiskLevelForExternalAccount POST api/v2/external_accounts/{external_account_id}/signature_custom_risk_levels.json_api Add a custom risk level to a Signature for an External Account
::SignaturesApi show GET api/v2/signatures/{id}.json_api Show a single Signature
::SignaturesApi updateCustomRiskLevelForExternalAccount PATCH api/v2/external_accounts/{external_account_id}/signature_custom_risk_levels/{signature_id}.json_api Update a Signature's custom risk level for an External Account
::StatComplianceControlsApi listForStat GET api/v2/stats/{stat_id}/compliance_controls.json_api Statistics for compliance controls
::StatComplianceControlsApi show GET api/v2/stats/compliance_controls/{id}.json_api Show a single Stat Compliance Control
::StatCustomComplianceControlsApi listForStat GET api/v2/stats/{stat_id}/custom_compliance_controls.json_api Statistics for custom compliance controls
::StatCustomComplianceControlsApi show GET api/v2/stats/custom_compliance_controls/{id}.json_api Show a single Stat Custom Compliance Control
::StatCustomSignaturesApi listForStat GET api/v2/stats/{stat_id}/custom_signatures.json_api Statistics for custom signatures
::StatCustomSignaturesApi show GET api/v2/stats/custom_signatures/{id}.json_api Show a single Stat Custom Signature
::StatRegionsApi listForStat GET api/v2/stats/{stat_id}/regions.json_api Get a list of statistics for regions
::StatRegionsApi show GET api/v2/stats/regions/{id}.json_api Show a single Stat Region
::StatServicesApi listForStat GET api/v2/stats/{stat_id}/services.json_api Get a list of statistics for services
::StatServicesApi show GET api/v2/stats/services/{id}.json_api Show a single Stat Service
::StatSignaturesApi listForStat GET api/v2/stats/{stat_id}/signatures.json_api Get a list of statistics for signatures
::StatSignaturesApi show GET api/v2/stats/signatures/{id}.json_api Show a single Stat Signature
::StatsApi forReport GET api/v2/reports/{report_id}/stats.json_api Stats for a report
::StatsApi latestForTeams PUT api/v2/stats/latest_for_teams.json_api Statistics for teams
::StatsApi show GET api/v2/stats/{id}.json_api Show a single Stat
::SubOrganizationsApi create POST api/v2/sub_organizations.json_api Create a(n) Sub Organization
::SubOrganizationsApi delete DELETE api/v2/sub_organizations/{id}.json_api Delete a(n) Sub Organization
::SubOrganizationsApi list PUT api/v2/sub_organizations.json_api Get a list of Sub Organizations
::SubOrganizationsApi show GET api/v2/sub_organizations/{id}.json_api Show a single Sub Organization
::SubOrganizationsApi update PATCH api/v2/sub_organizations/{id}.json_api Update a(n) Sub Organization
::SubscriptionsApi show GET api/v2/subscriptions/{id}.json_api Show a single Subscription
::SuppressionsApi create POST api/v2/suppressions.json_api Create a suppression
::SuppressionsApi createFromAlert POST api/v2/suppressions/alerts.json_api Creates a suppression from an alert
::SuppressionsApi deactivate PATCH api/v2/suppressions/{id}/deactivate.json_api Deactivate a suppression
::SuppressionsApi list PUT api/v2/suppressions.json_api Get a list of Suppressions
::SuppressionsApi show GET api/v2/suppressions/{id}.json_api Show a single Suppression
::SuppressionsApi update PATCH api/v2/suppressions/{id}.json_api Update a(n) Suppression
::TagsApi listForAlert GET api/v2/alerts/{alert_id}/tags.json_api Get a list of Tags
::TagsApi show GET api/v2/tags/{id}.json_api Show a single Tag
::TeamsApi create POST api/v2/teams.json_api Create a(n) Team
::TeamsApi delete DELETE api/v2/teams/{id}.json_api Delete a(n) Team
::TeamsApi list PUT api/v2/teams.json_api Get a list of Teams
::TeamsApi show GET api/v2/teams/{id}.json_api Show a single Team
::TeamsApi update PATCH api/v2/teams/{id}.json_api Update a(n) Team
::UserAttributionsApi addChannel POST api/v2/external_accounts/{external_account_id}/user_attribution/channel.json_api Create a User Attribution Channel for an external account
::UserAttributionsApi removeChannel DELETE api/v2/external_accounts/{external_account_id}/user_attribution/channel.json_api Remove the User Attribution Channel for an external account
::UserAttributionsApi showChannel GET api/v2/external_accounts/{external_account_id}/user_attribution/channel.json_api Show the User Attribution Channel of an external account
::UserAttributionsApi update PATCH api/v2/external_accounts/{external_account_id}/user_attribution.json_api Update the user attributions on an external account
::UsersApi create POST api/v2/users.json_api Create a(n) User
::UsersApi delete DELETE api/v2/users/{id}.json_api Delete a(n) User
::UsersApi list PUT api/v2/users.json_api Get a list of Users
::UsersApi show GET api/v2/users/{id}.json_api Show a single User
::UsersApi update PATCH api/v2/users/{id}.json_api Update a(n) User

Documentation for Models

Contributing

  1. Fork it ( https://github.com/[my-github-username]/esp-sdk-ruby/fork )
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)

Note: This SDK is (mostly) generated by swagger-codegen, so only files inside the extensions directory can be modified. The extensions directory is the only directory that is not generated by swagger-codegen. A base class BaseObject had been added as an inherited object to all models for the purposes of providing future extensions. Most notably the addition of associations.

Author