SignalFx Developers Guide

Developer Home

Product Docs

SignalFx

Integrations API

APIs for creating, retrieving, updating, and deleting integrations to the systems you use.
SignalFx offers integrations for the following:

  • Data collection from other monitoring systems such as AWS Cloudwatch
  • Authentication using your existing Single Sign-On (SSO) system
  • Sending alerts using your preferred messaging, chat, or incident management service
    To use one of these integrations, you first register it with SignalFx. After that, you configure the integration to communicate between the system you're using and SignalFx.

Supported service types

Data collection

SignalFx integrations APIs support data collection for the following services:

  • Amazon Web Services (AWS)
  • Google Cloud Platform (GCP)
  • Microsoft Azure
  • NewRelic

Authentication using SSO

SignalFx integration APIs support SAML-based SSO integrations for the following services:

  • PingOne
  • Microsoft Active Directory Federation Services (ADFS)
  • Bitium
  • Okta
  • OneLogin

Alerts using message, chat, or incident management services

SignalFx integration APIs support alerting using the following services:

  • ServiceNow
  • HipChat
  • Slack
  • PagerDuty
  • VictorOps
  • BigPanda
  • Webhook
  • Office 365
  • xMatters
    NOTE: You can't create Office 365 integrations using the API, your ability to update them in a PUT request is limited, but you can retrieve their data or delete them. To create an Office 365 integration, use the the web UI.

Viewing request body documentation

The request body format for the following operations depends on the type of integration you:

  • POST /integration
  • PUT /integration{id}
    The response body format for the following operations also depends on the type of integration you use:
  • GET /integration
  • GET /integration/{id} To see the request or response body format for an integration:
  1. Find the endpoint and method.
  2. For a request body, find the section REQUEST BODY SCHEMA. For a response body, find the section RESPONSE SCHEMA.
  3. Scroll down to the type property.
  4. At the end of the description for type, find the dropdown box that contains the integration type. By default, it's set to AWSCloudWatch.
  5. To see a complete list of integrations, click the down arrow. A list with a vertical scroll bar appears.
  6. Select the integration type from the list. The request body properties for this integration type now appear.

Create Integration

Creates an integration

post /integration

SignalFx API endpoint.
Replace {REALM} with the name of your realm. For example, if your realm is eu0, use https://api.eu0.signalfx.com/v2.
To find your realm, go to your profile page in the SignalFx web UI.
If you don't include a realm and use https:/api.signalfx.com/v2, SignalFx interprets the endpoint as pointing to the us0 realm.

https://api.{REALM}.signalfx.com/v2/integration

Creates the integration object that SignalFx uses to connect with a monitoring, SSO, or alerting service. The steps for establishing a connection to a service differ for each type of service and may differ for individual services. Refer to the SignalFx Developers Guide for more information regarding individual services.
This API is only available to users who have administrative authorization. Each service has its own API model for creating an integration object.
NOTES:

  • To ensure security, SignalFx omits some authentication and authorization properties from response objects. The integration model description for a property tells you if it's omitted from responses.
  • In the response object for the POST method, the "enabled" property is always set to true.
query Parameters
skipValidation
boolean

Flag that controls how SignalFx validates an alert integration object. If true, SignalFx doesn't send a test notification.

header Parameters
Content-Type
required
string

Format of the request payload. The only allowed value is "application/json".

X-SF-Token
required
string

A valid organization access token for a user that has administrative authorization for the organization. You can use an org token (referred to as an Access Token in the web UI) or a session token (referred to as a User API Access Token in the web UI).

Request Body schema: application/json
id
string (IntegrationID)

SignalFx-assigned ID of an integration you create in the web UI or API. Use this property to retrieve an integration using the GET, PUT, or DELETE /integration/{id} endpoints or the GET /integration/validate{id}/ endpoint, as described in this topic.

created
integer <int64> (Created)

The creation date and time for the integration object, in the form of a Unix time value (milliseconds since the Unix epoch 1970-01-01 00:00:00 UTC+0). The system sets this value, and you can't modify it.

creator
string (Creator)

SignalFx-assigned user ID of the user that created the integration object. If the system created the object, the value is "AAAAAAAAAA". The system sets this value, and you can't modify it.

enabled
boolean (Enabled)

Flag that indicates the state of the integration object. If true, the integration is enabled. If false, the integration is disabled, and you must enable it by setting "enabled" to true in a PUT request that updates the object.
NOTE: SignalFx always sets the flag to true when you call POST /integration to create an integration.

lastUpdated
integer <int64> (LastUpdated)

The last time the integration was updated, in the form of a Unix timestamp (milliseconds since the Unix epoch 1970-01-01 00:00:00 UTC+0) This value is "read-only".

lastUpdatedBy
string (LastUpdatedBy)

SignalFx-assigned ID of the last user who updated the integration. If the last update was by the system, the value is "AAAAAAAAAA". This value is "read-only".

name
string (Name)

A human-readable label for the integration. This property helps you identify a specific integration when you're using multiple integrations for the same service.

type
required
string Recursive

Service that this integration object configures in SignalFx. This is an enumerated string that describes the service. SignalFx processes requests based on the type specified.
In addition, the "type" property controls OpenApi 3 validation. If you use a model for one service but specify the type for another service, OAS 3 validation programs may reject your request.

For data collection services, the allowed values are:

  • AWSCloudWatch
  • GCP
  • Azure
  • NewRelic
    For SSO integrations, the allowed values are:
  • PingOne
  • ADFS
  • Bitium
  • Okta
  • OneLogin
  • GoogleSaml
  • AzureAD
    For alerting services, the allowed values are:
  • ServiceNow
  • HipChat
  • Slack
  • PagerDuty
  • VictorOps
  • BigPanda
  • Webhook
  • Office365
  • XMatters (note the capital "X")



Viewing request or response bodies
To see the request or response body format, find it in the following dropdown box. To see a full list, click the down arrow and navigate with the vertical scrollbar.

authMethod
string (AuthMethod)
Enum:"ExternalId" "SecurityToken"

Indicates the mechanism used to authenticate with AWS. The allowed values are:

  • ExternalId: Expects you to supply an external ID and ARN for AWS
  • SecurityToken: Expects you to supply a key and token
    NOTE: For the GovCloud and China AWS regions, you can only use "AuthMethod": "SecurityToken"
customCloudWatchNamespaces
string (CustomCloudWatchNamespaces)

Comma-separated list of custom AWS CloudWatch namespaces to monitor. Custom namespaces contain custom metrics that you define in AWS; SignalFx imports the metrics so you can monitor them. See the AWS documentation on publishing metrics for more information. If you specify the "customNamespaceSyncRules" property, SignalFx ignores the value of "customCloudWatchNamespaces".

customNameSpaceSyncRules
Array of object (CustomNamespaceSyncRulesArray)

Array of objects that specify custom namespaces and filters. Each element controls the data collected by SignalFx for the specified namespace. If you specify this property, SignalFx ignores values in the "customCloudWatchNamespaces" property. To learn more about this property, see the topic Integrating With AWS.

enableAwsUsage
boolean (EnableAwsUsage)

Flag that controls how SignalFx imports usage metrics from AWS to use with AWS Optimizer. If true, SignalFx imports the metrics.

externalId
string (ExternalId)

If you specify "authMethod": "ExternalId" in your request to create an integration object, the response object contains a value for "externalId". Use this value and the ARN value you get from AWS to update the integration object. SignalFx can then connect to AWS using the integration object.
NOTE: SignalFx sets this value, and you can't change it.

importCloudWatch
boolean (ImportCloudWatch)

Flag that controls how SignalFx imports Cloud Watch metrics. If true, SignalFx imports Cloud Watch metrics from AWS.

key
string (Key)

If you specify "authMethod": "SecurityToken" in your request to create an integration object, use this property to specify the key.

namespaceSyncRules
Array of object (NameSpaceSyncRulesArray)

Array of namespace sync rules. Each element in the array is an object that contains an AWS namespace name and a filter that controls the data that SignalFx collects for the namespace. If you specify this property, SignalFx ignores the values in the AWS CloudWatch Integration Model "services" property. If you don't specify either property, SignalFx syncs all data in all AWS namespaces. To learn more, see the topic Integrating With AWS.

pollRate
integer <int64> (PollRate)
Enum:60000 300000

The rate at which SignalFx polls AWS for data, in milliseconds. The allowed values are 60000 (1 minute) and 300000 (5 minutes).

regions
Array of string (Regions)
Items Enum:"ap-northeast-1" "ap-northeast-2" "ap-south-1" "ap-southeast-1" "ap-southeast-2" "ca-central-1" "cn-north-1" "cn-northwest-1" "eu-central-1" "eu-north-1" "eu-west-1" "eu-west-2" "eu-west-3" "sa-east-1" "us-east-1" "us-east-2" "us-gov-east-1" "us-gov-west-1" "us-west-1" "us-west-2"

Array of AWS regions that SignalFx should monitor. The API supports the following AWS regions:

Regular AWS regions

  • ap-northeast-1
  • ap-northeast-2
  • ap-south-1
  • ap-southeast-1
  • ap-southeast-2
  • ca-central-1
  • eu-central-1
  • eu-north-1
  • eu-west-1
  • eu-west-2
  • eu-west-3
  • sa-east-1
  • us-east-1
  • us-east-2
  • us-west-1
  • us-west-2

GovCloud AWS regions

  • us-gov-east-1
  • us-gov-west-1

China AWS regions

  • cn-north-1
  • cn-northwest-1

If you don't specify the "regions" property, or if you specify "regions": [], the API adds all of the regular AWS regions to your integration. Note: You can't mix regions from different sets. For example, you can't specify "regions": [ "eu-west-1", "cn-north-1"].

roleArn
string (RoleArn)

Role ARN that you add to an existing AWS integration object.
When you create an AWS integration object and specify "ExternalId" as the authentication method, SignalFx responds with an external ID. You provide this ID to AWS, which responds with a role ARN.
To finish the connection between SignalFx and AWS, you update the AWS integration object using a PUT request. In this request, you specify the "roleArn" property using the value you obtained from AWS.
NOTE: To ensure security, SignalFx doesn't return this property in response objects.

services
Array of string (AwsServicesArray)
Items Enum:"AWS/ApiGateway" "AWS/AppStream" "AWS/AutoScaling" "AWS/Billing" "AWS/CloudFront" "AWS/CloudSearch" "AWS/Events" "AWS/Logs" "AWS/Connect" "AWS/DMS" "AWS/DX" "AWS/DynamoDB" "AWS/EC2" "AWS/EC2Spot" "AWS/ECS" "AWS/ElasticBeanstalk" "AWS/EBS" "AWS/EFS" "AWS/ELB" "AWS/ApplicationELB" "AWS/NetworkELB" "AWS/ElasticTranscoder" "AWS/ElastiCache" "AWS/ES" "AWS/ElasticMapReduce" "AWS/GameLift" "AWS/Inspector" "AWS/IoT" "AWS/KMS" "AWS/KinesisAnalytics" "AWS/Firehose" "AWS/Kinesis" "AWS/KinesisVideo" "AWS/Lambda" "AWS/Lex" "AWS/ML" "AWS/OpsWorks" "AWS/Polly" "AWS/Redshift" "AWS/RDS" "AWS/Route53" "AWS/SageMaker" "AWS/DDoSProtection" "AWS/SES" "AWS/SNS" "AWS/SQS" "AWS/S3" "AWS/SWF" "AWS/States" "AWS/StorageGateway" "AWS/Translate" "AWS/NATGateway" "AWS/VPN (VPN)" "WAF" "AWS/WorkSpaces"

Array of AWS services that you want SignalFx to monitor. Each element is a string designating an AWS service

token
string (Token)

If you specify "authMethod": "SecurityToken" in your request to create an integration object, use this property to specify the token.

enableCheckLargeVolume
boolean (EnableCheckLargeVolume)

Flag that controls how SignalFx checks for large volume with this AWS integration. If true, SignalFx checks to see if the integration is returning a large amount of data.

isLargeVolume
boolean (IsLargeVolume)

If true, this property indicates that SignalFx is receiving a large volume of data and tags from AWS.

Responses

200

Successful creation of an integration object

Response Schema: application/json
id
string (IntegrationID)

SignalFx-assigned ID of an integration you create in the web UI or API. Use this property to retrieve an integration using the GET, PUT, or DELETE /integration/{id} endpoints or the GET /integration/validate{id}/ endpoint, as described in this topic.

created
integer <int64> (Created)

The creation date and time for the integration object, in the form of a Unix time value (milliseconds since the Unix epoch 1970-01-01 00:00:00 UTC+0). The system sets this value, and you can't modify it.

creator
string (Creator)

SignalFx-assigned user ID of the user that created the integration object. If the system created the object, the value is "AAAAAAAAAA". The system sets this value, and you can't modify it.

enabled
boolean (Enabled)

Flag that indicates the state of the integration object. If true, the integration is enabled. If false, the integration is disabled, and you must enable it by setting "enabled" to true in a PUT request that updates the object.
NOTE: SignalFx always sets the flag to true when you call POST /integration to create an integration.

lastUpdated
integer <int64> (LastUpdated)

The last time the integration was updated, in the form of a Unix timestamp (milliseconds since the Unix epoch 1970-01-01 00:00:00 UTC+0) This value is "read-only".

lastUpdatedBy
string (LastUpdatedBy)

SignalFx-assigned ID of the last user who updated the integration. If the last update was by the system, the value is "AAAAAAAAAA". This value is "read-only".

name
string (Name)

A human-readable label for the integration. This property helps you identify a specific integration when you're using multiple integrations for the same service.

type
required
string Recursive

Service that this integration object configures in SignalFx. This is an enumerated string that describes the service. SignalFx processes requests based on the type specified.
In addition, the "type" property controls OpenApi 3 validation. If you use a model for one service but specify the type for another service, OAS 3 validation programs may reject your request.

For data collection services, the allowed values are:

  • AWSCloudWatch
  • GCP
  • Azure
  • NewRelic
    For SSO integrations, the allowed values are:
  • PingOne
  • ADFS
  • Bitium
  • Okta
  • OneLogin
  • GoogleSaml
  • AzureAD
    For alerting services, the allowed values are:
  • ServiceNow
  • HipChat
  • Slack
  • PagerDuty
  • VictorOps
  • BigPanda
  • Webhook
  • Office365
  • XMatters (note the capital "X")



Viewing request or response bodies
To see the request or response body format, find it in the following dropdown box. To see a full list, click the down arrow and navigate with the vertical scrollbar.

authMethod
string (AuthMethod)
Enum:"ExternalId" "SecurityToken"

Indicates the mechanism used to authenticate with AWS. The allowed values are:

  • ExternalId: Expects you to supply an external ID and ARN for AWS
  • SecurityToken: Expects you to supply a key and token
    NOTE: For the GovCloud and China AWS regions, you can only use "AuthMethod": "SecurityToken"
customCloudWatchNamespaces
string (CustomCloudWatchNamespaces)

Comma-separated list of custom AWS CloudWatch namespaces to monitor. Custom namespaces contain custom metrics that you define in AWS; SignalFx imports the metrics so you can monitor them. See the AWS documentation on publishing metrics for more information. If you specify the "customNamespaceSyncRules" property, SignalFx ignores the value of "customCloudWatchNamespaces".

customNameSpaceSyncRules
Array of object (CustomNamespaceSyncRulesArray)

Array of objects that specify custom namespaces and filters. Each element controls the data collected by SignalFx for the specified namespace. If you specify this property, SignalFx ignores values in the "customCloudWatchNamespaces" property. To learn more about this property, see the topic Integrating With AWS.

enableAwsUsage
boolean (EnableAwsUsage)

Flag that controls how SignalFx imports usage metrics from AWS to use with AWS Optimizer. If true, SignalFx imports the metrics.

externalId
string (ExternalId)

If you specify "authMethod": "ExternalId" in your request to create an integration object, the response object contains a value for "externalId". Use this value and the ARN value you get from AWS to update the integration object. SignalFx can then connect to AWS using the integration object.
NOTE: SignalFx sets this value, and you can't change it.

importCloudWatch
boolean (ImportCloudWatch)

Flag that controls how SignalFx imports Cloud Watch metrics. If true, SignalFx imports Cloud Watch metrics from AWS.

key
string (Key)

If you specify "authMethod": "SecurityToken" in your request to create an integration object, use this property to specify the key.

namespaceSyncRules
Array of object (NameSpaceSyncRulesArray)

Array of namespace sync rules. Each element in the array is an object that contains an AWS namespace name and a filter that controls the data that SignalFx collects for the namespace. If you specify this property, SignalFx ignores the values in the AWS CloudWatch Integration Model "services" property. If you don't specify either property, SignalFx syncs all data in all AWS namespaces. To learn more, see the topic Integrating With AWS.

pollRate
integer <int64> (PollRate)
Enum:60000 300000

The rate at which SignalFx polls AWS for data, in milliseconds. The allowed values are 60000 (1 minute) and 300000 (5 minutes).

regions
Array of string (Regions)
Items Enum:"ap-northeast-1" "ap-northeast-2" "ap-south-1" "ap-southeast-1" "ap-southeast-2" "ca-central-1" "cn-north-1" "cn-northwest-1" "eu-central-1" "eu-north-1" "eu-west-1" "eu-west-2" "eu-west-3" "sa-east-1" "us-east-1" "us-east-2" "us-gov-east-1" "us-gov-west-1" "us-west-1" "us-west-2"

Array of AWS regions that SignalFx should monitor. The API supports the following AWS regions:

Regular AWS regions

  • ap-northeast-1
  • ap-northeast-2
  • ap-south-1
  • ap-southeast-1
  • ap-southeast-2
  • ca-central-1
  • eu-central-1
  • eu-north-1
  • eu-west-1
  • eu-west-2
  • eu-west-3
  • sa-east-1
  • us-east-1
  • us-east-2
  • us-west-1
  • us-west-2

GovCloud AWS regions

  • us-gov-east-1
  • us-gov-west-1

China AWS regions

  • cn-north-1
  • cn-northwest-1

If you don't specify the "regions" property, or if you specify "regions": [], the API adds all of the regular AWS regions to your integration. Note: You can't mix regions from different sets. For example, you can't specify "regions": [ "eu-west-1", "cn-north-1"].

roleArn
string (RoleArn)

Role ARN that you add to an existing AWS integration object.
When you create an AWS integration object and specify "ExternalId" as the authentication method, SignalFx responds with an external ID. You provide this ID to AWS, which responds with a role ARN.
To finish the connection between SignalFx and AWS, you update the AWS integration object using a PUT request. In this request, you specify the "roleArn" property using the value you obtained from AWS.
NOTE: To ensure security, SignalFx doesn't return this property in response objects.

services
Array of string (AwsServicesArray)
Items Enum:"AWS/ApiGateway" "AWS/AppStream" "AWS/AutoScaling" "AWS/Billing" "AWS/CloudFront" "AWS/CloudSearch" "AWS/Events" "AWS/Logs" "AWS/Connect" "AWS/DMS" "AWS/DX" "AWS/DynamoDB" "AWS/EC2" "AWS/EC2Spot" "AWS/ECS" "AWS/ElasticBeanstalk" "AWS/EBS" "AWS/EFS" "AWS/ELB" "AWS/ApplicationELB" "AWS/NetworkELB" "AWS/ElasticTranscoder" "AWS/ElastiCache" "AWS/ES" "AWS/ElasticMapReduce" "AWS/GameLift" "AWS/Inspector" "AWS/IoT" "AWS/KMS" "AWS/KinesisAnalytics" "AWS/Firehose" "AWS/Kinesis" "AWS/KinesisVideo" "AWS/Lambda" "AWS/Lex" "AWS/ML" "AWS/OpsWorks" "AWS/Polly" "AWS/Redshift" "AWS/RDS" "AWS/Route53" "AWS/SageMaker" "AWS/DDoSProtection" "AWS/SES" "AWS/SNS" "AWS/SQS" "AWS/S3" "AWS/SWF" "AWS/States" "AWS/StorageGateway" "AWS/Translate" "AWS/NATGateway" "AWS/VPN (VPN)" "WAF" "AWS/WorkSpaces"

Array of AWS services that you want SignalFx to monitor. Each element is a string designating an AWS service

token
string (Token)

If you specify "authMethod": "SecurityToken" in your request to create an integration object, use this property to specify the token.

enableCheckLargeVolume
boolean (EnableCheckLargeVolume)

Flag that controls how SignalFx checks for large volume with this AWS integration. If true, SignalFx checks to see if the integration is returning a large amount of data.

isLargeVolume
boolean (IsLargeVolume)

If true, this property indicates that SignalFx is receiving a large volume of data and tags from AWS.

Request samples

application/json
Copy
Expand all Collapse all
{
  • "id": "string",
  • "created": 0,
  • "creator": "string",
  • "enabled": true,
  • "lastUpdated": 0,
  • "lastUpdatedBy": "string",
  • "name": "string",
  • "type": "AWSCloudWatch",
  • "authMethod": "ExternalId",
  • "customCloudWatchNamespaces": "string",
  • "customNameSpaceSyncRules":
    [
    ],
  • "enableAwsUsage": true,
  • "externalId": "string",
  • "importCloudWatch": true,
  • "key": "string",
  • "namespaceSyncRules":
    [
    ],
  • "pollRate": 60000,
  • "regions":
    [
    ],
  • "roleArn": "string",
  • "services":
    [
    ],
  • "token": "string",
  • "enableCheckLargeVolume": true,
  • "isLargeVolume": true
}

Response samples

application/json
Copy
Expand all Collapse all
{
  • "id": "string",
  • "created": 0,
  • "creator": "string",
  • "enabled": true,
  • "lastUpdated": 0,
  • "lastUpdatedBy": "string",
  • "name": "string",
  • "type": "AWSCloudWatch",
  • "authMethod": "ExternalId",
  • "customCloudWatchNamespaces": "string",
  • "customNameSpaceSyncRules":
    [
    ],
  • "enableAwsUsage": true,
  • "externalId": "string",
  • "importCloudWatch": true,
  • "key": "string",
  • "namespaceSyncRules":
    [
    ],
  • "pollRate": 60000,
  • "regions":
    [
    ],
  • "roleArn": "string",
  • "services":
    [
    ],
  • "token": "string",
  • "enableCheckLargeVolume": true,
  • "isLargeVolume": true
}

Retrieve Integrations Using Query

Retrieves integrations based on search criteria

get /integration

SignalFx API endpoint.
Replace {REALM} with the name of your realm. For example, if your realm is eu0, use https://api.eu0.signalfx.com/v2.
To find your realm, go to your profile page in the SignalFx web UI.
If you don't include a realm and use https:/api.signalfx.com/v2, SignalFx interprets the endpoint as pointing to the us0 realm.

https://api.{REALM}.signalfx.com/v2/integration

Retrieves one or more integration objects based on a query specified in query parameters encoded on the URL. NOTE: To ensure security, SignalFx omits some authentication and authorization properties from response objects. The integration model description for a property tells you if it's omitted from responses.

query Parameters
name
string

Integration object name to search for. You can use wildcard characters to specify the name:

  • *: Matches a run of any characters in any part of the name
  • ?: Matches any single character in any part of the name
type
string

Type of integration to search for. Refer to the definition of {#/components/schemas/Type} for a list of permitted types.

offset
integer <int32>

0-relative position in the result set where SignalFx should start returning integration objects.

limit
integer <int32>

Number of integration objects to return from the result set

header Parameters
Content-Type
required
string

Format of the request payload. The only allowed value is "application/json".

X-SF-Token
required
string

A valid organization access token for a user that has administrative authorization for the organization. You can use an org token (referred to as an Access Token in the web UI) or a session token (referred to as a User API Access Token in the web UI).

Responses

200

Successful retrieval of one or more integration object.
NOTE: If the request is well-formed but SignalFx can't find any matching integration objects, the API still returns 200. In this case, the response body is empty.

Response Schema: application/json
id
string (IntegrationID)

SignalFx-assigned ID of an integration you create in the web UI or API. Use this property to retrieve an integration using the GET, PUT, or DELETE /integration/{id} endpoints or the GET /integration/validate{id}/ endpoint, as described in this topic.

created
integer <int64> (Created)

The creation date and time for the integration object, in the form of a Unix time value (milliseconds since the Unix epoch 1970-01-01 00:00:00 UTC+0). The system sets this value, and you can't modify it.

creator
string (Creator)

SignalFx-assigned user ID of the user that created the integration object. If the system created the object, the value is "AAAAAAAAAA". The system sets this value, and you can't modify it.

enabled
boolean (Enabled)

Flag that indicates the state of the integration object. If true, the integration is enabled. If false, the integration is disabled, and you must enable it by setting "enabled" to true in a PUT request that updates the object.
NOTE: SignalFx always sets the flag to true when you call POST /integration to create an integration.

lastUpdated
integer <int64> (LastUpdated)

The last time the integration was updated, in the form of a Unix timestamp (milliseconds since the Unix epoch 1970-01-01 00:00:00 UTC+0) This value is "read-only".

lastUpdatedBy
string (LastUpdatedBy)

SignalFx-assigned ID of the last user who updated the integration. If the last update was by the system, the value is "AAAAAAAAAA". This value is "read-only".

name
string (Name)

A human-readable label for the integration. This property helps you identify a specific integration when you're using multiple integrations for the same service.

type
required
string Recursive

Service that this integration object configures in SignalFx. This is an enumerated string that describes the service. SignalFx processes requests based on the type specified.
In addition, the "type" property controls OpenApi 3 validation. If you use a model for one service but specify the type for another service, OAS 3 validation programs may reject your request.

For data collection services, the allowed values are:

  • AWSCloudWatch
  • GCP
  • Azure
  • NewRelic
    For SSO integrations, the allowed values are:
  • PingOne
  • ADFS
  • Bitium
  • Okta
  • OneLogin
  • GoogleSaml
  • AzureAD
    For alerting services, the allowed values are:
  • ServiceNow
  • HipChat
  • Slack
  • PagerDuty
  • VictorOps
  • BigPanda
  • Webhook
  • Office365
  • XMatters (note the capital "X")



Viewing request or response bodies
To see the request or response body format, find it in the following dropdown box. To see a full list, click the down arrow and navigate with the vertical scrollbar.

authMethod
string (AuthMethod)
Enum:"ExternalId" "SecurityToken"

Indicates the mechanism used to authenticate with AWS. The allowed values are:

  • ExternalId: Expects you to supply an external ID and ARN for AWS
  • SecurityToken: Expects you to supply a key and token
    NOTE: For the GovCloud and China AWS regions, you can only use "AuthMethod": "SecurityToken"
customCloudWatchNamespaces
string (CustomCloudWatchNamespaces)

Comma-separated list of custom AWS CloudWatch namespaces to monitor. Custom namespaces contain custom metrics that you define in AWS; SignalFx imports the metrics so you can monitor them. See the AWS documentation on publishing metrics for more information. If you specify the "customNamespaceSyncRules" property, SignalFx ignores the value of "customCloudWatchNamespaces".

customNameSpaceSyncRules
Array of object (CustomNamespaceSyncRulesArray)

Array of objects that specify custom namespaces and filters. Each element controls the data collected by SignalFx for the specified namespace. If you specify this property, SignalFx ignores values in the "customCloudWatchNamespaces" property. To learn more about this property, see the topic Integrating With AWS.

enableAwsUsage
boolean (EnableAwsUsage)

Flag that controls how SignalFx imports usage metrics from AWS to use with AWS Optimizer. If true, SignalFx imports the metrics.

externalId
string (ExternalId)

If you specify "authMethod": "ExternalId" in your request to create an integration object, the response object contains a value for "externalId". Use this value and the ARN value you get from AWS to update the integration object. SignalFx can then connect to AWS using the integration object.
NOTE: SignalFx sets this value, and you can't change it.

importCloudWatch
boolean (ImportCloudWatch)

Flag that controls how SignalFx imports Cloud Watch metrics. If true, SignalFx imports Cloud Watch metrics from AWS.

key
string (Key)

If you specify "authMethod": "SecurityToken" in your request to create an integration object, use this property to specify the key.

namespaceSyncRules
Array of object (NameSpaceSyncRulesArray)

Array of namespace sync rules. Each element in the array is an object that contains an AWS namespace name and a filter that controls the data that SignalFx collects for the namespace. If you specify this property, SignalFx ignores the values in the AWS CloudWatch Integration Model "services" property. If you don't specify either property, SignalFx syncs all data in all AWS namespaces. To learn more, see the topic Integrating With AWS.

pollRate
integer <int64> (PollRate)
Enum:60000 300000

The rate at which SignalFx polls AWS for data, in milliseconds. The allowed values are 60000 (1 minute) and 300000 (5 minutes).

regions
Array of string (Regions)
Items Enum:"ap-northeast-1" "ap-northeast-2" "ap-south-1" "ap-southeast-1" "ap-southeast-2" "ca-central-1" "cn-north-1" "cn-northwest-1" "eu-central-1" "eu-north-1" "eu-west-1" "eu-west-2" "eu-west-3" "sa-east-1" "us-east-1" "us-east-2" "us-gov-east-1" "us-gov-west-1" "us-west-1" "us-west-2"

Array of AWS regions that SignalFx should monitor. The API supports the following AWS regions:

Regular AWS regions

  • ap-northeast-1
  • ap-northeast-2
  • ap-south-1
  • ap-southeast-1
  • ap-southeast-2
  • ca-central-1
  • eu-central-1
  • eu-north-1
  • eu-west-1
  • eu-west-2
  • eu-west-3
  • sa-east-1
  • us-east-1
  • us-east-2
  • us-west-1
  • us-west-2

GovCloud AWS regions

  • us-gov-east-1
  • us-gov-west-1

China AWS regions

  • cn-north-1
  • cn-northwest-1

If you don't specify the "regions" property, or if you specify "regions": [], the API adds all of the regular AWS regions to your integration. Note: You can't mix regions from different sets. For example, you can't specify "regions": [ "eu-west-1", "cn-north-1"].

roleArn
string (RoleArn)

Role ARN that you add to an existing AWS integration object.
When you create an AWS integration object and specify "ExternalId" as the authentication method, SignalFx responds with an external ID. You provide this ID to AWS, which responds with a role ARN.
To finish the connection between SignalFx and AWS, you update the AWS integration object using a PUT request. In this request, you specify the "roleArn" property using the value you obtained from AWS.
NOTE: To ensure security, SignalFx doesn't return this property in response objects.

services
Array of string (AwsServicesArray)
Items Enum:"AWS/ApiGateway" "AWS/AppStream" "AWS/AutoScaling" "AWS/Billing" "AWS/CloudFront" "AWS/CloudSearch" "AWS/Events" "AWS/Logs" "AWS/Connect" "AWS/DMS" "AWS/DX" "AWS/DynamoDB" "AWS/EC2" "AWS/EC2Spot" "AWS/ECS" "AWS/ElasticBeanstalk" "AWS/EBS" "AWS/EFS" "AWS/ELB" "AWS/ApplicationELB" "AWS/NetworkELB" "AWS/ElasticTranscoder" "AWS/ElastiCache" "AWS/ES" "AWS/ElasticMapReduce" "AWS/GameLift" "AWS/Inspector" "AWS/IoT" "AWS/KMS" "AWS/KinesisAnalytics" "AWS/Firehose" "AWS/Kinesis" "AWS/KinesisVideo" "AWS/Lambda" "AWS/Lex" "AWS/ML" "AWS/OpsWorks" "AWS/Polly" "AWS/Redshift" "AWS/RDS" "AWS/Route53" "AWS/SageMaker" "AWS/DDoSProtection" "AWS/SES" "AWS/SNS" "AWS/SQS" "AWS/S3" "AWS/SWF" "AWS/States" "AWS/StorageGateway" "AWS/Translate" "AWS/NATGateway" "AWS/VPN (VPN)" "WAF" "AWS/WorkSpaces"

Array of AWS services that you want SignalFx to monitor. Each element is a string designating an AWS service

token
string (Token)

If you specify "authMethod": "SecurityToken" in your request to create an integration object, use this property to specify the token.

enableCheckLargeVolume
boolean (EnableCheckLargeVolume)

Flag that controls how SignalFx checks for large volume with this AWS integration. If true, SignalFx checks to see if the integration is returning a large amount of data.

isLargeVolume
boolean (IsLargeVolume)

If true, this property indicates that SignalFx is receiving a large volume of data and tags from AWS.

Response samples

application/json
Copy
Expand all Collapse all
{
  • "id": "string",
  • "created": 0,
  • "creator": "string",
  • "enabled": true,
  • "lastUpdated": 0,
  • "lastUpdatedBy": "string",
  • "name": "string",
  • "type": "AWSCloudWatch",
  • "authMethod": "ExternalId",
  • "customCloudWatchNamespaces": "string",
  • "customNameSpaceSyncRules":
    [
    ],
  • "enableAwsUsage": true,
  • "externalId": "string",
  • "importCloudWatch": true,
  • "key": "string",
  • "namespaceSyncRules":
    [
    ],
  • "pollRate": 60000,
  • "regions":
    [
    ],
  • "roleArn": "string",
  • "services":
    [
    ],
  • "token": "string",
  • "enableCheckLargeVolume": true,
  • "isLargeVolume": true
}

Retrieve Single Integration

Retrieves an integration specified in the {id} path parameter

get /integration/{id}

SignalFx API endpoint.
Replace {REALM} with the name of your realm. For example, if your realm is eu0, use https://api.eu0.signalfx.com/v2.
To find your realm, go to your profile page in the SignalFx web UI.
If you don't include a realm and use https:/api.signalfx.com/v2, SignalFx interprets the endpoint as pointing to the us0 realm.

https://api.{REALM}.signalfx.com/v2/integration/{id}

Retrieves the integration object specified by the id path parameter. NOTE: To ensure security, SignalFx omits some authentication and authorization properties from response objects. The integration model description for a property tells you if it's omitted from responses.

path Parameters
id
required
string

SignalFx-assigned ID of the existing integration object that you want to retrieve

header Parameters
Content-Type
required
string

Format of the request payload. The only allowed value is "application/json".

X-SF-Token
required
string

A valid organization access token for a user that has administrative authorization for the organization. You can use an org token (referred to as an Access Token in the web UI) or a session token (referred to as a User API Access Token in the web UI).

Responses

200

Successful retrieval of the specified integration object.
NOTE: If the request is well-formed but SignalFx can't find the object, the API still returns 200. In this case, the response body is empty.

Response Schema: application/json
id
string (IntegrationID)

SignalFx-assigned ID of an integration you create in the web UI or API. Use this property to retrieve an integration using the GET, PUT, or DELETE /integration/{id} endpoints or the GET /integration/validate{id}/ endpoint, as described in this topic.

created
integer <int64> (Created)

The creation date and time for the integration object, in the form of a Unix time value (milliseconds since the Unix epoch 1970-01-01 00:00:00 UTC+0). The system sets this value, and you can't modify it.

creator
string (Creator)

SignalFx-assigned user ID of the user that created the integration object. If the system created the object, the value is "AAAAAAAAAA". The system sets this value, and you can't modify it.

enabled
boolean (Enabled)

Flag that indicates the state of the integration object. If true, the integration is enabled. If false, the integration is disabled, and you must enable it by setting "enabled" to true in a PUT request that updates the object.
NOTE: SignalFx always sets the flag to true when you call POST /integration to create an integration.

lastUpdated
integer <int64> (LastUpdated)

The last time the integration was updated, in the form of a Unix timestamp (milliseconds since the Unix epoch 1970-01-01 00:00:00 UTC+0) This value is "read-only".

lastUpdatedBy
string (LastUpdatedBy)

SignalFx-assigned ID of the last user who updated the integration. If the last update was by the system, the value is "AAAAAAAAAA". This value is "read-only".

name
string (Name)

A human-readable label for the integration. This property helps you identify a specific integration when you're using multiple integrations for the same service.

type
required
string Recursive

Service that this integration object configures in SignalFx. This is an enumerated string that describes the service. SignalFx processes requests based on the type specified.
In addition, the "type" property controls OpenApi 3 validation. If you use a model for one service but specify the type for another service, OAS 3 validation programs may reject your request.

For data collection services, the allowed values are:

  • AWSCloudWatch
  • GCP
  • Azure
  • NewRelic
    For SSO integrations, the allowed values are:
  • PingOne
  • ADFS
  • Bitium
  • Okta
  • OneLogin
  • GoogleSaml
  • AzureAD
    For alerting services, the allowed values are:
  • ServiceNow
  • HipChat
  • Slack
  • PagerDuty
  • VictorOps
  • BigPanda
  • Webhook
  • Office365
  • XMatters (note the capital "X")



Viewing request or response bodies
To see the request or response body format, find it in the following dropdown box. To see a full list, click the down arrow and navigate with the vertical scrollbar.

authMethod
string (AuthMethod)
Enum:"ExternalId" "SecurityToken"

Indicates the mechanism used to authenticate with AWS. The allowed values are:

  • ExternalId: Expects you to supply an external ID and ARN for AWS
  • SecurityToken: Expects you to supply a key and token
    NOTE: For the GovCloud and China AWS regions, you can only use "AuthMethod": "SecurityToken"
customCloudWatchNamespaces
string (CustomCloudWatchNamespaces)

Comma-separated list of custom AWS CloudWatch namespaces to monitor. Custom namespaces contain custom metrics that you define in AWS; SignalFx imports the metrics so you can monitor them. See the AWS documentation on publishing metrics for more information. If you specify the "customNamespaceSyncRules" property, SignalFx ignores the value of "customCloudWatchNamespaces".

customNameSpaceSyncRules
Array of object (CustomNamespaceSyncRulesArray)

Array of objects that specify custom namespaces and filters. Each element controls the data collected by SignalFx for the specified namespace. If you specify this property, SignalFx ignores values in the "customCloudWatchNamespaces" property. To learn more about this property, see the topic Integrating With AWS.

enableAwsUsage
boolean (EnableAwsUsage)

Flag that controls how SignalFx imports usage metrics from AWS to use with AWS Optimizer. If true, SignalFx imports the metrics.

externalId
string (ExternalId)

If you specify "authMethod": "ExternalId" in your request to create an integration object, the response object contains a value for "externalId". Use this value and the ARN value you get from AWS to update the integration object. SignalFx can then connect to AWS using the integration object.
NOTE: SignalFx sets this value, and you can't change it.

importCloudWatch
boolean (ImportCloudWatch)

Flag that controls how SignalFx imports Cloud Watch metrics. If true, SignalFx imports Cloud Watch metrics from AWS.

key
string (Key)

If you specify "authMethod": "SecurityToken" in your request to create an integration object, use this property to specify the key.

namespaceSyncRules
Array of object (NameSpaceSyncRulesArray)

Array of namespace sync rules. Each element in the array is an object that contains an AWS namespace name and a filter that controls the data that SignalFx collects for the namespace. If you specify this property, SignalFx ignores the values in the AWS CloudWatch Integration Model "services" property. If you don't specify either property, SignalFx syncs all data in all AWS namespaces. To learn more, see the topic Integrating With AWS.

pollRate
integer <int64> (PollRate)
Enum:60000 300000

The rate at which SignalFx polls AWS for data, in milliseconds. The allowed values are 60000 (1 minute) and 300000 (5 minutes).

regions
Array of string (Regions)
Items Enum:"ap-northeast-1" "ap-northeast-2" "ap-south-1" "ap-southeast-1" "ap-southeast-2" "ca-central-1" "cn-north-1" "cn-northwest-1" "eu-central-1" "eu-north-1" "eu-west-1" "eu-west-2" "eu-west-3" "sa-east-1" "us-east-1" "us-east-2" "us-gov-east-1" "us-gov-west-1" "us-west-1" "us-west-2"

Array of AWS regions that SignalFx should monitor. The API supports the following AWS regions:

Regular AWS regions

  • ap-northeast-1
  • ap-northeast-2
  • ap-south-1
  • ap-southeast-1
  • ap-southeast-2
  • ca-central-1
  • eu-central-1
  • eu-north-1
  • eu-west-1
  • eu-west-2
  • eu-west-3
  • sa-east-1
  • us-east-1
  • us-east-2
  • us-west-1
  • us-west-2

GovCloud AWS regions

  • us-gov-east-1
  • us-gov-west-1

China AWS regions

  • cn-north-1
  • cn-northwest-1

If you don't specify the "regions" property, or if you specify "regions": [], the API adds all of the regular AWS regions to your integration. Note: You can't mix regions from different sets. For example, you can't specify "regions": [ "eu-west-1", "cn-north-1"].

roleArn
string (RoleArn)

Role ARN that you add to an existing AWS integration object.
When you create an AWS integration object and specify "ExternalId" as the authentication method, SignalFx responds with an external ID. You provide this ID to AWS, which responds with a role ARN.
To finish the connection between SignalFx and AWS, you update the AWS integration object using a PUT request. In this request, you specify the "roleArn" property using the value you obtained from AWS.
NOTE: To ensure security, SignalFx doesn't return this property in response objects.

services
Array of string (AwsServicesArray)
Items Enum:"AWS/ApiGateway" "AWS/AppStream" "AWS/AutoScaling" "AWS/Billing" "AWS/CloudFront" "AWS/CloudSearch" "AWS/Events" "AWS/Logs" "AWS/Connect" "AWS/DMS" "AWS/DX" "AWS/DynamoDB" "AWS/EC2" "AWS/EC2Spot" "AWS/ECS" "AWS/ElasticBeanstalk" "AWS/EBS" "AWS/EFS" "AWS/ELB" "AWS/ApplicationELB" "AWS/NetworkELB" "AWS/ElasticTranscoder" "AWS/ElastiCache" "AWS/ES" "AWS/ElasticMapReduce" "AWS/GameLift" "AWS/Inspector" "AWS/IoT" "AWS/KMS" "AWS/KinesisAnalytics" "AWS/Firehose" "AWS/Kinesis" "AWS/KinesisVideo" "AWS/Lambda" "AWS/Lex" "AWS/ML" "AWS/OpsWorks" "AWS/Polly" "AWS/Redshift" "AWS/RDS" "AWS/Route53" "AWS/SageMaker" "AWS/DDoSProtection" "AWS/SES" "AWS/SNS" "AWS/SQS" "AWS/S3" "AWS/SWF" "AWS/States" "AWS/StorageGateway" "AWS/Translate" "AWS/NATGateway" "AWS/VPN (VPN)" "WAF" "AWS/WorkSpaces"

Array of AWS services that you want SignalFx to monitor. Each element is a string designating an AWS service

token
string (Token)

If you specify "authMethod": "SecurityToken" in your request to create an integration object, use this property to specify the token.

enableCheckLargeVolume
boolean (EnableCheckLargeVolume)

Flag that controls how SignalFx checks for large volume with this AWS integration. If true, SignalFx checks to see if the integration is returning a large amount of data.

isLargeVolume
boolean (IsLargeVolume)

If true, this property indicates that SignalFx is receiving a large volume of data and tags from AWS.

Response samples

application/json
Copy
Expand all Collapse all
{
  • "id": "string",
  • "created": 0,
  • "creator": "string",
  • "enabled": true,
  • "lastUpdated": 0,
  • "lastUpdatedBy": "string",
  • "name": "string",
  • "type": "AWSCloudWatch",
  • "authMethod": "ExternalId",
  • "customCloudWatchNamespaces": "string",
  • "customNameSpaceSyncRules":
    [
    ],
  • "enableAwsUsage": true,
  • "externalId": "string",
  • "importCloudWatch": true,
  • "key": "string",
  • "namespaceSyncRules":
    [
    ],
  • "pollRate": 60000,
  • "regions":
    [
    ],
  • "roleArn": "string",
  • "services":
    [
    ],
  • "token": "string",
  • "enableCheckLargeVolume": true,
  • "isLargeVolume": true
}

Update Single Integration

Updates an integration specified in the {id} path parameter

put /integration/{id}

SignalFx API endpoint.
Replace {REALM} with the name of your realm. For example, if your realm is eu0, use https://api.eu0.signalfx.com/v2.
To find your realm, go to your profile page in the SignalFx web UI.
If you don't include a realm and use https:/api.signalfx.com/v2, SignalFx interprets the endpoint as pointing to the us0 realm.

https://api.{REALM}.signalfx.com/v2/integration/{id}

Updates the integration object specified by the id path parameter. This API is only available to users with administrative authorization.
NOTE: To ensure security, SignalFx omits some authentication and authorization properties from response objects. The integration model description for a property tells you if it's omitted from responses.

path Parameters
id
required
string

SignalFx-assigned ID of the existing integration object that you want to update

query Parameters
skipValidation
boolean

Flag that controls how SignalFx validates an alert integration object. If true, SignalFx doesn't send a test notification.

header Parameters
Content-Type
required
string

Format of the request payload. The only allowed value is "application/json".

X-SF-Token
required
string

A valid organization access token for a user that has administrative authorization for the organization. You can use an org token (referred to as an Access Token in the web UI) or a session token (referred to as a User API Access Token in the web UI).

Request Body schema: application/json
id
string (IntegrationID)

SignalFx-assigned ID of an integration you create in the web UI or API. Use this property to retrieve an integration using the GET, PUT, or DELETE /integration/{id} endpoints or the GET /integration/validate{id}/ endpoint, as described in this topic.

created
integer <int64> (Created)

The creation date and time for the integration object, in the form of a Unix time value (milliseconds since the Unix epoch 1970-01-01 00:00:00 UTC+0). The system sets this value, and you can't modify it.

creator
string (Creator)

SignalFx-assigned user ID of the user that created the integration object. If the system created the object, the value is "AAAAAAAAAA". The system sets this value, and you can't modify it.

enabled
boolean (Enabled)

Flag that indicates the state of the integration object. If true, the integration is enabled. If false, the integration is disabled, and you must enable it by setting "enabled" to true in a PUT request that updates the object.
NOTE: SignalFx always sets the flag to true when you call POST /integration to create an integration.

lastUpdated
integer <int64> (LastUpdated)

The last time the integration was updated, in the form of a Unix timestamp (milliseconds since the Unix epoch 1970-01-01 00:00:00 UTC+0) This value is "read-only".

lastUpdatedBy
string (LastUpdatedBy)

SignalFx-assigned ID of the last user who updated the integration. If the last update was by the system, the value is "AAAAAAAAAA". This value is "read-only".

name
string (Name)

A human-readable label for the integration. This property helps you identify a specific integration when you're using multiple integrations for the same service.

type
required
string Recursive

Service that this integration object configures in SignalFx. This is an enumerated string that describes the service. SignalFx processes requests based on the type specified.
In addition, the "type" property controls OpenApi 3 validation. If you use a model for one service but specify the type for another service, OAS 3 validation programs may reject your request.

For data collection services, the allowed values are:

  • AWSCloudWatch
  • GCP
  • Azure
  • NewRelic
    For SSO integrations, the allowed values are:
  • PingOne
  • ADFS
  • Bitium
  • Okta
  • OneLogin
  • GoogleSaml
  • AzureAD
    For alerting services, the allowed values are:
  • ServiceNow
  • HipChat
  • Slack
  • PagerDuty
  • VictorOps
  • BigPanda
  • Webhook
  • Office365
  • XMatters (note the capital "X")



Viewing request or response bodies
To see the request or response body format, find it in the following dropdown box. To see a full list, click the down arrow and navigate with the vertical scrollbar.

authMethod
string (AuthMethod)
Enum:"ExternalId" "SecurityToken"

Indicates the mechanism used to authenticate with AWS. The allowed values are:

  • ExternalId: Expects you to supply an external ID and ARN for AWS
  • SecurityToken: Expects you to supply a key and token
    NOTE: For the GovCloud and China AWS regions, you can only use "AuthMethod": "SecurityToken"
customCloudWatchNamespaces
string (CustomCloudWatchNamespaces)

Comma-separated list of custom AWS CloudWatch namespaces to monitor. Custom namespaces contain custom metrics that you define in AWS; SignalFx imports the metrics so you can monitor them. See the AWS documentation on publishing metrics for more information. If you specify the "customNamespaceSyncRules" property, SignalFx ignores the value of "customCloudWatchNamespaces".

customNameSpaceSyncRules
Array of object (CustomNamespaceSyncRulesArray)

Array of objects that specify custom namespaces and filters. Each element controls the data collected by SignalFx for the specified namespace. If you specify this property, SignalFx ignores values in the "customCloudWatchNamespaces" property. To learn more about this property, see the topic Integrating With AWS.

enableAwsUsage
boolean (EnableAwsUsage)

Flag that controls how SignalFx imports usage metrics from AWS to use with AWS Optimizer. If true, SignalFx imports the metrics.

externalId
string (ExternalId)

If you specify "authMethod": "ExternalId" in your request to create an integration object, the response object contains a value for "externalId". Use this value and the ARN value you get from AWS to update the integration object. SignalFx can then connect to AWS using the integration object.
NOTE: SignalFx sets this value, and you can't change it.

importClou