URL

POST https://{api-url}/api/v2/tenants/{tenantId}/integrations/install/CUSTOM

Headers

  • Authorization: Bearer {accessToken}
  • Content-Type: application/json
  • Accept: application/json

Status code

200 OK

Sample URLs

https://{api-url}/api/v2/tenants/client_8/integrations/install/CUSTOM

Parameters

FieldSub-FieldsData TypeValuesDescription
displayNameStringName used to identify the integration.
categoryStringCustom, Collaboration, Monitoring, SSO, AutomationCategory describes the behavior of custom integration. Applicable only for Custom Integration installation.
Example: If monitoring is selected as category, the integration will work as monitoring integration.
 alertSourceStringSource of alert. Applicable only when installing category is Monitoring. Default Alert Source is taken as Custom.
directionStringInbound-Outbound, Inbound, OutboundDirection of the installation. Applicable only when installing category is Collaboration.
The default direction is taken as Inbound-Outbound.
descriptionString(Optional) Description of the Custom Integration. Maximum limit is 500 characters.
inboundConfig (Optional)Authentication
1. authTypeStringWEBHOOK, OAUTH2Type of authentication.
2. roleStringRole of the user: Mandatory only when installing category is selected as Custom. Default user role is used depending on other installing categories.
  • uniqueId
StringUnique ID of the role. For information on unique ID of the role, see Search Roles API.
Map attributes
1. nameStringNAOpsRamp attribute name.
2. tenantAttrNameStringNAThird-party attribute name.
3. entityTypeStringALERT, PROBLEM, INCIDENT, CHANGE,SERVICEREQUEST, TASKOpsRamp entity type.
4. tenantEntityTypeStringNAThird-party entity type.
5. attrValues
  • attrValue
  • tenantAttrValue
StringNAMapping attribute values:
  • OpsRamp mapping attribute value
  • Third-party mapping attribute value
dropAlertsOnUnmanagedResourcesBoolean(Optional) When enabled, this parameter discards alerts from resources that are unmanaged. Applicable only for monitoring integration updates and custom integration updates when installed category is Monitoring. Options: true/false. Default: false
outboundConfig (Optional)Map attributes
1. nameStringNAOpsRamp attribute name.
2. tenantAttrNameStringNAThird-party attribute name.
3. entityTypeStringALERT, PROBLEM, INCIDENT, CHANGE,SERVICEREQUEST, TASKOpsRamp entity type.
4. tenantEntityTypeStringNAThird-party entity type.
5. attrValues
  • attrValue
  • tenantAttrValue
StringNAMapping attribute values:
  • OpsRamp mapping attribute value
  • Third-party mapping attribute value
 2. notifier
 1. type StringREST_API, SOAP_APINotification type.
 2. authType StringNONE, OAUTH2Authentication type.
 3. grantType StringCLIENT_CREDENTIALS, PASSWORD, REFRESH_TOKENGrant type for notification.
 4. userName StringNAUsername: Mandatory when authType is OAUTH2 and grantType is PASSWORD/REFRESH_TOKEN.
 5. password StringNAPassword: Mandatory when authType is OAUTH2 and grantType is PASSWORD/REFRESH_TOKEN.
 6. apiKey StringNAAPI Key: Mandatory if authType is OAUTH2.
 7. apiSecret StringNAAPI Secret: Mandatory if authType is OAUTH2.
 8. accessTokenURL StringNAAccess Token URL: Mandatory if authType is OAUTH2.

NA indicates that the value is not applicable.

Sample 1 - Install custom integration with category and alert alertSource

Sample request

{
	"displayName" : "API Testing",
	"category" : "Monitoring",
	"alertSource" : {
		"id" : "30"
	}
}

Sample response

{
    "id": "INTG-6aa0bbec-ef5b-4ff2-b373-5a4f7ab0a385",
    "displayName": "API Testing",
    "integration": {
        "id": "CUSTOM",
        "name": "Custom"
    },
    "category": "Monitoring",
    "alertSource": {
        "id": 30,
        "name": "Custom",
        "displayName": "Custom",
        "techUid": "CUSTOM"
    }
}

Sample 2 - Install custom integration with category and direction

Sample request

{
	"displayName" : "InboundApp",
	"category" : "Collaboration",
        "direction" : "Inbound"
}

Sample response

{
    "id": "INTG-7213eaa0-8c59-42b2-a1db-90147cfd3ef3",
    "displayName": "InboundApp",
    "integration": {
	"id": "CUSTOM",
	"name": "Custom"
    },
    "category": "Collaboration",
    "direction" : "Inbound"
}

Sample 3 - Install custom integration with only authentication details

Sample request

{
	"displayName" : "API Testing",
	"category": "Custom",
	"inboundConfig": {
		"authentication": {
			"authType": "OAUTH2",
			"role" : {
				"uniqueId" : "ROLE-4718b729-50cc-6634-42c4-ecd09558389d"
			}
		}
	}
}

Sample response

{
    "id": "INTG-58431d1c-1bdc-4a68-a49f-34435ead1d14",
    "displayName": "API Testing",
    "integration": {
	"id": "CUSTOM",
	"name": "Custom"
    },
    "category": "Custom",
    "inboundConfig": {
	"authentication": {
	    "authType": "OAUTH2",
	    "token": "7VttjkVtm7qk6AwaRpED4Uh4jdAFpaVb",
	    "role": {
		"uniqueId": "ROLE-4718b729-50cc-6634-42c4-ecd09558389d",
		"name": "Customer"
	    }
	}
    }
}

Sample 4 - Install custom integration with category and dropAlertsOnUnmanagedResources value

Sample request

{
    "displayName" : "API Testing1",
    "category" : "Monitoring",
    "inboundConfig" : {
        "dropAlertsOnUnmanagedResources" : "true"
    }
}

Sample response

{
    "id": "INTG-0f4c8ecc-8b23-435e-b5cb-9aac9da85e03",
    "displayName": "API Testing1",
    "integration": {
        "id": "CUSTOM",
        "name": "Custom",
        "multipleInstallations": true
    },
    "inboundConfig": {
        "dropAlertsOnUnmanagedResources": true
    },
    "category": "Monitoring",
    "alertSource": {
        "id": 29,
        "name": "Custom",
        "displayName": "Custom",
        "techUid": "CUSTOM"
    },
    "installedBy": "opsramp_api_user",
    "installedTime": "2020-10-28T20:55:04+0000",
    "status": "enabled"
}