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
Building the API client library requires Maven to be installed.
To install the API client library to your local Maven repository, simply execute:
mvn installTo deploy it to a remote Maven repository instead, configure the settings of the repository and execute:
mvn deployRefer 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>
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
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>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
}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();
}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(); // 2See the PaginationUtil class for all the pagination methods available.
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.
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.
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);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);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 = '[email protected]'" AND "resource IS NOT NULL"
Response<PaginatedCollection> response = suppressionsApi.list(ApiClient.filter("regions_code_start", "us", "created_by_email_eq", "[email protected]", "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 = '[email protected]'" **OR** "resource IS NOT NULL"
Response<PaginatedCollection> response = suppressionsApi.list(ApiClient.filter("regions_code_start", "us", "created_by_email_eq", "[email protected]", "resource_not_null", "1", "m", "or"), null, null);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.
Below is a list of the available predicates and their opposites.
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
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)
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)
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
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.
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.
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.
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.
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
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
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);All URIs are relative to https://api.evident.io/
The description of the filter parameter for the list endpoints have the searchable attributes separated into different lists.
These attributes can be used with predicates that look for an exact match such as eq
These attributes can be used with predicates that look for a string that matches the supplied string such as cont
These attributes cannot be used with every predicate. Only with the predicates listed.
These are associations you can search through. See the documentation for each association to see which attributes are searchable.
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 |
- ::Alert
- ::ApiKey
- ::Attribution
- ::AuditLog
- ::AuditLogFile
- ::AzureGroup
- ::ComplianceControl
- ::ComplianceDomain
- ::ComplianceStandard
- ::CustomComplianceControl
- ::CustomComplianceDomain
- ::CustomComplianceStandard
- ::CustomSignature
- ::CustomSignatureDefinition
- ::CustomSignatureResult
- ::CustomSignatureResultAlert
- ::ExportedReport
- ::ExternalAccount
- ::ExternalAccountAmazonIam
- ::ExternalAccountAzure
- ::ExternalAccountUserAttributionChannel
- ::Integration
- ::IntegrationAmazonSns
- ::IntegrationHipchat
- ::IntegrationJira
- ::IntegrationPagerDuty
- ::IntegrationServicenow
- ::IntegrationSlack
- ::IntegrationWebhook
- ::Meta
- ::Metadata
- ::Organization
- ::PaginatedCollection
- ::Plan
- ::Region
- ::Report
- ::Role
- ::ScanInterval
- ::ScheduledExport
- ::ScheduledExportResult
- ::Service
- ::Signature
- ::Stat
- ::StatComplianceControl
- ::StatCustomComplianceControl
- ::StatCustomSignature
- ::StatRegion
- ::StatService
- ::StatSignature
- ::SubOrganization
- ::Subscription
- ::Suppression
- ::Tag
- ::Team
- ::User
- Fork it ( https://github.com/[my-github-username]/esp-sdk-ruby/fork )
- Create your feature branch (
git checkout -b my-new-feature) - Commit your changes (
git commit -am 'Add some feature') - 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.