Skip to content

Webhooks API

Leverage our Webhooks API to seamlessly define, query, and manage your outbound webhooks with ease.

API Key

To use this API you need to create a personal or team API key. It’s recommended to use permission presets, as they are automatically updated with all relevant permissions. Alternatively, you can manually add individual permissions.

Preset Action Description
OutboundWebhooks OUTBOUND-WEBHOOKS:READCONFIG
OUTBOUND-WEBHOOKS:UPDATECONFIG
OUTBOUND-WEBHOOKS:READSUMMARY
OUTBOUND-WEBHOOKS:READSUMMARY
View Outbound Webhooks Configuration
Manage Outbound Webhooks
View Outbound Webhooks list

API Reference

The Webhooks API follows an HTTP-style method.

Base URL

Region URL
US1
EU1
EU2
AP2 (SG)
https://api./api/v1/external/integrations/
AP1 (IN) https://api.app./api/v1/external/integrations/

<cx_domain>: Input the Coralogix domain associated with your region.

Endpoint Details

HTTP Method GET / POST
Content-Type application/json
Header Authorization: bearer <cx_api_key>

curl Command Example

Use this curl command with a placeholder for the token.

For regions US1, EU1, EU2, AP2 (SG):

curl -X GET -H 'Authorization: bearer <cx_api_key>' -H 'Content-Type: application/json' [https://api.<cx_domain>/api/v1/external/integrations/](<https://api.eu2.coralogix.com/api/v1/external/integrations/>)

For region API (IN):

curl -X GET -H 'Authorization: bearer <cx_api_key>' -H 'Content-Type: application/json' [https://api.app.<cx_domain>/api/v1/external/integrations/](<https://api.eu2.coralogix.com/api/v1/external/integrations/>)

GET Request: Get Webhooks

Get all webhooks or a single webhook using a Webhook ID.

Get All Webhooks

Request: GET https://api./api/v1/external/integrations/

Result:

[
    {
        "alias": "string",
        "company_id": number,
        "created_at": "string - ISO format",
        "id": number,
        "url": "string",
        "integration_type_fields": "escaped json" or null,
        "integration_type_id": number,
        "integrationTypeId": number,
        "integration_type": {
            "label": "string",
            "icon": "string",
            "id": number
        },
        "updated_at": "string - ISO format"
    }
]

Get a Specific Webhook

Request: GET https://api./api/v1/external/integrations/<webhook-id>

Result:

{
        "alias": "string",
        "company_id": number,
        "created_at": "string - ISO format",
        "id": number,
        "url": "string",
        "integration_type_fields": "escaped json" or null,
        "integration_type_id": number,
        "integrationTypeId": number,
        "integration_type": {
            "label": "string",
            "icon": "string",
            "id": number
        },
        "updated_at": "string - ISO format"
    }

POST Request: Create a New Webhook

Create or update a single webhook.

Body Parameters

Parameter Description Type Notes
alias webhook name string
integration_type webhook type object described below, must be a complete block from values as shown in Table A
integration_type.label webhook type name string
integration_type.icon webhook icon string
integration_type.id webhook type id number
integration_type_id webhook type id number must be from values shown in Table A
integration_type_fields webhook additional fields string escaped json, an array of objects in the form of name + value. must comply with the structure shown in Table B
url webhook url string

Table A: integration_type Object

Type JSON Object
slack {"id": 0, "name": "Slack", "icon": "/assets/settings/slack-48.png"}
webhook {"id": 1, "name": "WebHook", "icon": "/assets/webhook.png"}
pager_duty {"id": 2, "name": "PagerDuty", "icon": "/assets/settings/pagerDuty.png"}
sendlog {"id": 3, "name": "SendLog", "icon": "/assets/invite.png"}
email_group {"id": 4, "name": "Email Group", "icon": "/assets/email-group.png"}
microsoft_teams {"id": 5, "name": "Microsoft Teams", "icon": "/assets/settings/teams.png"}
jira {"id": 6, "name": "Jira", "icon": "/assets/settings/jira.png"}
opsgenie {"id": 7, "name": "Opsgenie", "icon": "/assets/settings/opsgenie.png"}
demisto {"id": 8, "name": "Demisto", "icon": "/assets/settings/demisto.png"}

Table B: Integration_type_fields String

Type Field value_type Notes
pager_duty serviceKey string
jira apiToken string
jira email string
jira projectKey string
email_group payload array of strings
webhook,demisto,sendlog uuid string in UUID format
webhook,demisto,sendlog method string must be one of ["get","post","put"]
webhook,demisto,sendlog headers object a json object of headers
webhook,demisto,sendlog payload object a json object of the webhook body

Create a Slack Webhook

Request: POST https://api./api/v1/external/integrations/

Result:

{
        "alias": "slack-webhook",
        "url": "<slack-webhook-url>",
        "integration_type_fields": "[]",
        "integration_type_id": 0,
        "integration_type": {
            "label": "Slack",
            "icon": "/assets/settings/slack-48.png",
            "id": 0
        }
    }

Create a ‘sendlog’ Webhook

Request: POST https://api./api/v1/external/integrations/

{
    "alias": "sendlog-webhook",
    "integration_type": {
        "icon": "/assets/invite.png",
        "id": 3,
        "name": "Send Log"
    },
    "integration_type_id": 3,
    "integration_type_fields": "[{\\"name\\":\\"uuid\\",\\"value\\":\\"<uuid>\\"},{\\"name\\":\\"method\\",\\"value\\":\\"post\\"},{\\"name\\":\\"headers\\",\\"value\\":{\\"Content-Type\\":\\"application/json\\"}},{\\"name\\":\\"payload\\",\\"value\\":{\\"privateKey\\":\\"<send-your-data-api-key>\\",\\"applicationName\\":\\"$APPLICATION_NAME\\",\\"subsystemName\\":\\"$SUBSYSTEM_NAME\\",\\"computerName\\":\\"$COMPUTER_NAME\\",\\"logEntries\\":[{\\"severity\\":3,\\"timestamp\\":\\"$EVENT_TIMESTAMP_MS\\",\\"text\\":{\\"integration_text\\":\\"<Insert your desired integration description>\\",\\"alert_severity\\":\\"$EVENT_SEVERITY\\",\\"alert_id\\":\\"$ALERT_ID\\",\\"alert_name\\":\\"$ALERT_NAME\\",\\"alert_url\\":\\"$ALERT_URL\\",\\"hit_count\\":\\"$HIT_COUNT\\"}}],\\"uuid\\":\\"<same-uuid>\\"}}]",
    "url": "<https://api.coralogix.us/api/v1/logs>"
}

Inside integration_type_fields modify the following:

  • <uuid> and <same-uuid> – with a newly generated uuid

  • <send-your-data-api-key> – with your Send-Your-Data API key

  • <Insert your desired integration description>

Result:

{
    "id": 1051,
    "alias": "sendlog-webhook",
    "url": "<https://api.coralogix.us/api/v1/logs>",
    "integration_type_fields": "[{\\"name\\":\\"uuid\\",\\"value\\":\\"17a3b9e3-b0bc-4bc0-9e06-98d2a4c54ecb\\"},{\\"name\\":\\"method\\",\\"value\\":\\"post\\"},{\\"name\\":\\"headers\\",\\"value\\":{\\"Content-Type\\":\\"application/json\\"}},{\\"name\\":\\"payload\\",\\"value\\":{\\"privateKey\\":\\"5ef4a0d1-7e1f-47b2-ac0a-1282002aa2a1\\",\\"applicationName\\":\\"$APPLICATION_NAME\\",\\"subsystemName\\":\\"$SUBSYSTEM_NAME\\",\\"computerName\\":\\"$COMPUTER_NAME\\",\\"logEntries\\":[{\\"severity\\":3,\\"timestamp\\":\\"$EVENT_TIMESTAMP_MS\\",\\"text\\":{\\"integration_text\\":\\"Insert your desired integration description\\",\\"alert_severity\\":\\"$EVENT_SEVERITY\\",\\"alert_id\\":\\"$ALERT_ID\\",\\"alert_name\\":\\"$ALERT_NAME\\",\\"alert_url\\":\\"$ALERT_URL\\",\\"hit_count\\":\\"$HIT_COUNT\\"}}],\\"uuid\\":\\"17a3b9e3-b0bc-4bc0-9e06-98d2a4c54ecb\\"}}]",
    "integration_type_id": 3,
    "integrationTypeId": 3,
    "company_id": 12345,
    "updated_at": "2022-08-22T07:32:09.348Z",
    "created_at": "2022-08-22T07:32:09.348Z",
    "companyId": 12345
}

POST Request: Create New bulk Webhooks

Create webhooks in bulk.

To create several webhooks in one request, please send an array of objects, where each object is a different webhook.

Create 2 Webhooks in the Same Request

Request: POST https://api.coralogix.com/api/v1/external/integrations-bulk

[
       {
        "alias": "slack-webhook",
        "url": "<slack-webhook-url>",
        "integration_type_fields": "[]",
        "integration_type_id": 0,
        "integration_type": {
            "label": "Slack",
            "icon": "/assets/settings/slack-48.png",
            "id": 0
        }
    },
 {
    "alias": "sendlog-webhook",
    "integration_type": {
        "icon": "/assets/invite.png",
        "id": 3,
        "name": "Send Log"
    },
    "integration_type_id": 3,
    "integration_type_fields": "[{\\"name\\":\\"uuid\\",\\"value\\":\\"<uuid>\\"},{\\"name\\":\\"method\\",\\"value\\":\\"post\\"},{\\"name\\":\\"headers\\",\\"value\\":{\\"Content-Type\\":\\"application/json\\"}},{\\"name\\":\\"payload\\",\\"value\\":{\\"privateKey\\":\\"<send-your-data-api-key>\\",\\"applicationName\\":\\"$APPLICATION_NAME\\",\\"subsystemName\\":\\"$SUBSYSTEM_NAME\\",\\"computerName\\":\\"$COMPUTER_NAME\\",\\"logEntries\\":[{\\"severity\\":3,\\"timestamp\\":\\"$EVENT_TIMESTAMP_MS\\",\\"text\\":{\\"integration_text\\":\\"<Insert your desired integration description>\\",\\"alert_severity\\":\\"$EVENT_SEVERITY\\",\\"alert_id\\":\\"$ALERT_ID\\",\\"alert_name\\":\\"$ALERT_NAME\\",\\"alert_url\\":\\"$ALERT_URL\\",\\"hit_count\\":\\"$HIT_COUNT\\"}}],\\"uuid\\":\\"<same-uuid>\\"}}]",
    "url": "<https://api.coralogix.us/api/v1/logs>"
 }
]

Result:

[
 {
    "id": 1050,
    "alias": "slack-webhook",
    "url": "<slack-webhook-url>",
    "integration_type_fields": "[]",
    "integration_type_id": 0,
    "integrationTypeId": 0,
    "company_id": 12345,
    "updated_at": "2022-08-22T07:32:09.348Z",
    "created_at": "2022-08-22T07:32:09.348Z",
    "companyId": 12345
},
{
    "id": 1051,
    "alias": "sendlog-webhook",
    "url": "<https://api.coralogix.us/api/v1/logs>",
    "integration_type_fields": "[{\\"name\\":\\"uuid\\",\\"value\\":\\"17a3b9e3-b0bc-4bc0-9e06-98d2a4c54ecb\\"},{\\"name\\":\\"method\\",\\"value\\":\\"post\\"},{\\"name\\":\\"headers\\",\\"value\\":{\\"Content-Type\\":\\"application/json\\"}},{\\"name\\":\\"payload\\",\\"value\\":{\\"privateKey\\":\\"5ef4a0d1-7e1f-47b2-ac0a-1282002aa2a1\\",\\"applicationName\\":\\"$APPLICATION_NAME\\",\\"subsystemName\\":\\"$SUBSYSTEM_NAME\\",\\"computerName\\":\\"$COMPUTER_NAME\\",\\"logEntries\\":[{\\"severity\\":3,\\"timestamp\\":\\"$EVENT_TIMESTAMP_MS\\",\\"text\\":{\\"integration_text\\":\\"Insert your desired integration description\\",\\"alert_severity\\":\\"$EVENT_SEVERITY\\",\\"alert_id\\":\\"$ALERT_ID\\",\\"alert_name\\":\\"$ALERT_NAME\\",\\"alert_url\\":\\"$ALERT_URL\\",\\"hit_count\\":\\"$HIT_COUNT\\"}}],\\"uuid\\":\\"17a3b9e3-b0bc-4bc0-9e06-98d2a4c54ecb\\"}}]",
    "integration_type_id": 3,
    "integrationTypeId": 3,
    "company_id": 12345,
    "updated_at": "2022-08-22T07:32:09.348Z",
    "created_at": "2022-08-22T07:32:09.348Z",
    "companyId": 12345
 }
]

POST Request: Update a Single Webhook or Bulk Webhooks

To update an existing webhook, send a POST request with all of the usual values. Add an ID field with the webhook ID as the value.

To update a group of webhooks, make sure your POST request consists of an array of objects and that your URL ends with /integrations-bulk.

Copying Webhooks Between Accounts

To copy webhooks from one account to another:

  • Create a GET request with the API key of the origin account and GET all webhooks.

  • Copy the full response and remove the ID of the webhook. Do not remove the ID under integration_type.

  • Copy the edited array to a new POST request:

    • Make sure to modify the API key to the API key of the destination account.

    • Make sure your URL ends with /integrations-bulk.

DELETE Request – Delete a Webhook

Delete a Webhook

Request: DELETE https://api./api/v1/external/integrations/<webhook-id>

Support

Need help?

Our world-class customer success team is available 24/7 to walk you through your setup and answer any questions that may come up.

Feel free to reach out to us via our in-app chat or by sending us an email at [email protected].