/integrations/{integrationId}
The /integrations/{integrationId}
endpoint allows you to read and update existing integrations.
To create a new integration see /integrations.
Back to Integrations API Endpoint Reference.
GET
Retrieves a specific integration's configuration.
Request arguments
The GET request takes the following request argument:
Name | Type | Required | Description |
---|---|---|---|
| Integer | Yes | ID of the integration to retrieve. You can obtain an integration's ID by executing a GET request to |
There are no other arguments because this endpoint returns data based on the integration ID alone.
Response
The GET request returns the following response:
Successful requests return an array of JSON objects containing the following:
Name | Type | Description |
---|---|---|
| List | Read-only details about the integration. This can include the webhook URL of the integration and authorization details. |
| String | Type of integration. |
| String | Username ( |
| String | Name of the integration. |
| Integer | ID of the integration. |
| String | Version of the integration. For validation purposes, this must be the most recent version. |
| Object | Integration's configuration. |
Examples
The following examples demonstrate making a GET request to the endpoint integrations/{integrationId}
:
Request example
Example cURL request for details of the integration with the ID "3"
:
curl \ https://example.com/integrations/api/v1/integrations/3 \ -u John.Doe:MyPassword \
Response example
Example response returning the integration's details:
{ "id": 3, "name": "DynatraceAPMPolling1", "type_id": "dynatrace_apm_lam", "version": "2.3", "config": { "config": { "filter": { "modules": [], "presend": "DynatraceApmLam.js", "dependencies": { "lambot": [ "LamBot.js", "DynatraceApmLam.js" ], "contrib": [] } }, "mapping": { "rules": [ { "name": "signature", "rule": "$systemprofile :: $rule" }, { "name": "source_id", "rule": "Dynatrace APM" }, { "name": "external_id", "rule": "$id" }, { "name": "manager", "rule": "Dynatrace Apm" }, { "name": "source", "rule": "$source" }, { "name": "class", "rule": "$rule" }, { "name": "agent", "rule": "$LamInstanceName" }, { "name": "agent_location", "rule": "$LamInstanceName" }, { "name": "type", "rule": "$state" }, { "name": "severity", "rule": "$severity", "conversion": "sevConverter" }, { "name": "description", "rule": "$message" }, { "name": "agent_time", "rule": "$start", "conversion": "timeConverter" } ], "catchAll": "overflow", "lambotOverridden": [ "custom_info.overflow", "source" ] }, "monitor": { "name": "DynatraceApm Lam Monitor", "class": "CDynatraceApmMonitor", "targets": { "target1": { "url": "https://localhost:8021", "filter": { "state": "InProgress", "profileName": "nam", "incidentRule": "rul" }, "timeout": 120, "password": "def", "username": "abc", "disable_certificate_validation": true } }, "max_retries": -1, "retry_interval": 60, "request_interval": 60 }, "constants": { "severity": { "severe": 5, "warning": 2, "informational": 1 } }, "conversions": { "stringToInt": { "input": "STRING", "output": "INTEGER" }, "sevConverter": { "input": "STRING", "lookup": "severity", "output": "INTEGER" }, "timeConverter": { "input": "STRING", "output": "INTEGER", "timeFormat": "yyyy-MM-dd'T'HH:mm:ss.SSS" } } }, "moolets": [], "type_id": "dynatrace_apm_lam", "version": "2.3", "category": "monitoring", "ha_profile": "active_passive", "description": "An integration which enables Moogsoft AIOps to ingest events from Dynatrace APM.", "display_name": "Dynatrace APM (Polling)" }, "inputs": [ { "key": "targets", "value": [ { "url": "https://localhost:8021", "filter": { "state": "InProgress", "profile_name": "nam", "incident_rule": "rul" }, "password": "def", "username": "abc" } ] }, { "key": "timing", "value": { "timeout": 120, "retry_interval": 60, "request_interval": 60 } } ], "readonly": null }
PUT
Updates an integration's configuration. Integrations with the ID you specify are unavailable during the update. When the update completes, they automatically resume.
Request arguments
The PUT request takes the following request argument:
Name | Type | Required | Description |
---|---|---|---|
| Integer | Yes | ID of the integration to update. |
| String | Yes | Type of integration to add, for example |
| String | Yes | The |
| String | Yes | Name of the integration to add, for example |
| String | Yes | Version of the integration to use. For validation purposes, this must be the most recent version. |
Response
The PUT request returns the following response:
Successful requests return an array of JSON objects containing the following:
Name | Type | Description |
---|---|---|
| List | Read-only details about the integration. This can include the webhook URL of the integration and authorisation details. |
| String | Type of integration you have updated. |
| String | Username ( |
| String | Name of the integration you have updated. |
| Integer | ID of the integration you have updated. |
| String | Version of the integration you have updated. |
| Object | The integration's configuration. |
Examples
The following examples demonstrate making a PUT request to the endpoint integrations/{integrationId}
:
Request example
Example cURL PUT request to update the value
and password
parameters for a Webhook integration. In this example, the Webhook's ID is 2
:
curl -X PUT \ https://example.com/integrations/api/v1/integrations/2 \ -u John.Doe:MyPassword \ -d '{ "type_id": "Webhook", "inputs": [ { "name": "username", "value": "Jane.Doe" }, { "name": "password", "value": "Password123" } ], "name": "Webhook1", "version": "1.14" }'
Response example
Example response returning the updated integration's details:
{ "id": 2, "name": "Webhook2", "type_id": "Webhook", "version": "1.14", "config": { "category": "monitoring", "description": "A webhook integration to allow events to be sent via generic REST and processed by Moogsoft AIOps.", "display_name": "Webhook", "type_id": "Webhook", "version": "1.14", "config": { "monitor": { "name": "Webhook Lam Monitor", "class": "CRestMonitor", "port": "$config#port()", "authentication_type": "basic_auth_static", "basic_auth_static": { "username": "<username>", "password": "<password>" }, "use_ssl": false, "accept_all_json": true, "lists_contain_multiple_events": true, "num_threads": 5, "rest_response_mode": "on_receipt", "rpc_response_timeout": 20 }, "constants": { "severity": { "CLEAR": 0, "INDETERMINATE": 1, "WARNING": 2, "MINOR": 3, "MAJOR": 4, "CRITICAL": 5, "0": 0, "1": 1, "2": 2, "3": 3, "4": 4, "5": 5, "moog_lookup_default": 1 } }, "conversions": { "sevConverter": { "input": "STRING", "output": "INTEGER", "lookup": "severity" }, "stringToInt": { "input": "STRING", "output": "INTEGER" } }, "filter": { "presend": "WebhookLam-SolutionPak.js", "modules": [], "dependencies": { "lambot": [ "LamBot.js", "WebhookLam-SolutionPak.js" ], "contrib": [] } }, "mapping": { "lambotOverridden": [], "catchAll": "overflow", "rules": [ { "name": "signature", "rule": "$source::$type" }, { "name": "source_id", "rule": "$source_id" }, { "name": "external_id", "rule": "$external_id" }, { "name": "manager", "rule": "$manager" }, { "name": "source", "rule": "$source" }, { "name": "class", "rule": "$class" }, { "name": "agent", "rule": "$LamInstanceName" }, { "name": "agent_location", "rule": "$agent_location" }, { "name": "type", "rule": "$type" }, { "name": "severity", "rule": "$severity", "conversion": "sevConverter" }, { "name": "description", "rule": "$description" }, { "name": "agent_time", "rule": "$agent_time", "conversion": "stringToInt" } ] } }, "ha_profile": "active_active" }, "inputs": [ { "key": "Jane.Doe", "value": "MyPassword" } ], "readonly": [ { "name": "url", "description": "URL:", "value": "https://example.com/integrations/api/v1/events/webhook2" }, { "name": "userid", "description": "User ID:", "value": "Username" }, { "name": "readonly_password", "description": "Password:", "value": "Password123" }, { "name": "auth", "description": "Base64 Encoded Auth:", "value": "Basic YWRtaW46" } ] }