Webhooks

Webhooks are a way for Qlik Cloud to provide other applications with real-time information.

Endpoints

Skip to section
GET/v1/webhooks
POST/v1/webhooks
GET/v1/webhooks/{id}
PATCH/v1/webhooks/{id}
PUT/v1/webhooks/{id}
DELETE/v1/webhooks/{id}
GET/v1/webhooks/{id}/deliveries
GET/v1/webhooks/{id}/deliveries/{deliveryId}
POST/v1/webhooks/{id}/deliveries/{deliveryId}/actions/resend
GET/v1/webhooks/event-types

Retrieves all webhooks entries for a tenant

manage

Facts GET /v1/webhooks

Rate limit
required
Tier 1 (1000 requests per minute)

Query Parameters GET /v1/webhooks

createdByUserId
string

Filter resources by user that created it

enabled
boolean

Filter resources by enabled true/false

eventType
string

Filter resources by event-type

level
string

Filter resources by level that user has access to (either user or level)

limit
default=20, minimum=1, maximum=100
number

Maximum number of webhooks to retrieve

name
string

Filter resources by name (wildcard and case insensitive)

next
string

Cursor to the next page

ownerId
string

Filter resources by user that owns it, only applicable for user level webhooks

prev
string

Cursor to previous next page

sort
default='-createdAt'
string

Field to sort by, prefix with -/+ to indicate order

Enum:

name

+name

-name

url

+url

-url

createdAt

+createdAt

-createdAt

updatedAt

+updatedAt

-updatedAt

updatedByUserId
string

Filter resources by user that last updated the webhook

url
string

Filter resources by url (wildcard and case insensitive)

Responses GET /v1/webhooks

200
application/json

OK Response

400
application/json

Bad Request

401
application/json

Unauthorized

403
application/json

Forbidden

500
application/json

Internal Server Error

503
application/json

Service Unavailable

GET/v1/webhooks

curl "https://your-tenant.us.qlikcloud.com/api/v1/webhooks" \
 -H "Authorization: Bearer <API-key>"

Response GET /v1/webhooks

{
  "data": [
    {
      "id": "string",
      "url": "string",
      "name": "string",
      "level": "tenant",
      "filter": "id eq \"id123\" or spaceId eq \"spaceId123\" or spaceId eq \"spaceId456\" or topLevelResourceId eq \"id789\"",
      "secret": "string",
      "enabled": true,
      "headers": {
        "headerName": "headerValue"
      },
      "ownerId": "string",
      "createdAt": "2023-11-29T00:09:33.396Z",
      "updatedAt": "2023-11-29T00:09:33.396Z",
      "eventTypes": [],
      "description": "string",
      "disabledReason": "string",
      "createdByUserId": "string",
      "updatedByUserId": "string",
      "disabledReasonCode": "string",
      "origin": "api"
    }
  ],
  "links": {
    "next": {
      "href": "string"
    },
    "prev": {
      "href": "string"
    },
    "self": {
      "href": "string"
    }
  }
}

Creates a new webhook

manage

Facts POST /v1/webhooks

Rate limit
required
Tier 2 (100 requests per minute)

Request Body POST /v1/webhooks

application/json

No description

Responses POST /v1/webhooks

201
application/json

OK Response

400
application/json

Bad Request

401
application/json

Unauthorized

403
application/json

Forbidden

500
application/json

Internal Server Error

503
application/json

Service Unavailable

POST/v1/webhooks

curl "https://your-tenant.us.qlikcloud.com/api/v1/webhooks" \
 -X POST \
 -H "Authorization: Bearer <API-key>" \
 -H "Content-type: application/json" \
 -d '{"id":"string","url":"string","name":"string","level":"tenant","filter":"id eq \"id123\" or spaceId eq \"spaceId123\" or spaceId eq \"spaceId456\" or topLevelResourceId eq \"id789\"","secret":"string","enabled":true,"headers":{"headerName":"headerValue"},"ownerId":"string","createdAt":"2023-11-29T00:09:33.396Z","updatedAt":"2023-11-29T00:09:33.396Z","eventTypes":[],"description":"string","disabledReason":"string","createdByUserId":"string","updatedByUserId":"string","disabledReasonCode":"string","origin":"api"}'

Request POST /v1/webhooks

{
  "id": "string",
  "url": "string",
  "name": "string",
  "level": "tenant",
  "filter": "id eq \"id123\" or spaceId eq \"spaceId123\" or spaceId eq \"spaceId456\" or topLevelResourceId eq \"id789\"",
  "secret": "string",
  "enabled": true,
  "headers": {
    "headerName": "headerValue"
  },
  "ownerId": "string",
  "createdAt": "2023-11-29T00:09:33.396Z",
  "updatedAt": "2023-11-29T00:09:33.396Z",
  "eventTypes": [],
  "description": "string",
  "disabledReason": "string",
  "createdByUserId": "string",
  "updatedByUserId": "string",
  "disabledReasonCode": "string",
  "origin": "api"
}

Response POST /v1/webhooks

{
  "undefined": {
    "id": "string",
    "url": "string",
    "name": "string",
    "level": "tenant",
    "filter": "id eq \"id123\" or spaceId eq \"spaceId123\" or spaceId eq \"spaceId456\" or topLevelResourceId eq \"id789\"",
    "secret": "string",
    "enabled": true,
    "headers": {
      "headerName": "headerValue"
    },
    "ownerId": "string",
    "createdAt": "2023-11-29T00:09:33.396Z",
    "updatedAt": "2023-11-29T00:09:33.396Z",
    "eventTypes": [],
    "description": "string",
    "disabledReason": "string",
    "createdByUserId": "string",
    "updatedByUserId": "string",
    "disabledReasonCode": "string",
    "origin": "api"
  }
}

Returns details for a specific webhook

manage

Facts GET /v1/webhooks/{id}

Rate limit
required
Tier 1 (1000 requests per minute)

Path Parameters GET /v1/webhooks/{id}

id
required
string

The webhook's unique identifier.

Responses GET /v1/webhooks/{id}

200
application/json

OK Response

400
application/json

Bad Request

401
application/json

Unauthorized

403
application/json

Forbidden

404
application/json

Not found

500
application/json

Internal Server Error

503
application/json

Service Unavailable

GET/v1/webhooks/{id}

curl "https://your-tenant.us.qlikcloud.com/api/v1/webhooks/{id}" \
 -H "Authorization: Bearer <API-key>"

Response GET /v1/webhooks/{id}

{
  "undefined": {
    "id": "string",
    "url": "string",
    "name": "string",
    "level": "tenant",
    "filter": "id eq \"id123\" or spaceId eq \"spaceId123\" or spaceId eq \"spaceId456\" or topLevelResourceId eq \"id789\"",
    "secret": "string",
    "enabled": true,
    "headers": {
      "headerName": "headerValue"
    },
    "ownerId": "string",
    "createdAt": "2023-11-29T00:09:33.396Z",
    "updatedAt": "2023-11-29T00:09:33.396Z",
    "eventTypes": [],
    "description": "string",
    "disabledReason": "string",
    "createdByUserId": "string",
    "updatedByUserId": "string",
    "disabledReasonCode": "string",
    "origin": "api"
  }
}

Patches a webhook

manage

Facts PATCH /v1/webhooks/{id}

Rate limit
required
Tier 2 (100 requests per minute)

Path Parameters PATCH /v1/webhooks/{id}

id
required
string

The webhook's unique identifier.

Request Body PATCH /v1/webhooks/{id}

application/json

No description

Responses PATCH /v1/webhooks/{id}

204
object

No Content response.

400
application/json

Bad Request

401
application/json

Unauthorized

403
application/json

Forbidden

404
application/json

Not found

500
application/json

Internal Server Error

503
application/json

Service Unavailable

PATCH/v1/webhooks/{id}

curl "https://your-tenant.us.qlikcloud.com/api/v1/webhooks/{id}" \
 -X PATCH \
 -H "Authorization: Bearer <API-key>" \
 -H "Content-type: application/json" \
 -d '{"op":"add","path":"/description"}'

Request PATCH /v1/webhooks/{id}

{
  "op": "add",
  "path": "/description"
}

Updates a webhook

manage

Facts PUT /v1/webhooks/{id}

Rate limit
required
Tier 2 (100 requests per minute)

Path Parameters PUT /v1/webhooks/{id}

id
required
string

The webhook's unique identifier.

Request Body PUT /v1/webhooks/{id}

application/json

No description

Responses PUT /v1/webhooks/{id}

200
application/json

OK Response

400
application/json

Bad Request

401
application/json

Unauthorized

403
application/json

Forbidden

404
application/json

Not found

500
application/json

Internal Server Error

503
application/json

Service Unavailable

PUT/v1/webhooks/{id}

curl "https://your-tenant.us.qlikcloud.com/api/v1/webhooks/{id}" \
 -X PUT \
 -H "Authorization: Bearer <API-key>" \
 -H "Content-type: application/json" \
 -d '{"id":"string","url":"string","name":"string","level":"tenant","filter":"id eq \"id123\" or spaceId eq \"spaceId123\" or spaceId eq \"spaceId456\" or topLevelResourceId eq \"id789\"","secret":"string","enabled":true,"headers":{"headerName":"headerValue"},"ownerId":"string","createdAt":"2023-11-29T00:09:33.396Z","updatedAt":"2023-11-29T00:09:33.396Z","eventTypes":[],"description":"string","disabledReason":"string","createdByUserId":"string","updatedByUserId":"string","disabledReasonCode":"string"}'

Request PUT /v1/webhooks/{id}

{
  "id": "string",
  "url": "string",
  "name": "string",
  "level": "tenant",
  "filter": "id eq \"id123\" or spaceId eq \"spaceId123\" or spaceId eq \"spaceId456\" or topLevelResourceId eq \"id789\"",
  "secret": "string",
  "enabled": true,
  "headers": {
    "headerName": "headerValue"
  },
  "ownerId": "string",
  "createdAt": "2023-11-29T00:09:33.396Z",
  "updatedAt": "2023-11-29T00:09:33.396Z",
  "eventTypes": [],
  "description": "string",
  "disabledReason": "string",
  "createdByUserId": "string",
  "updatedByUserId": "string",
  "disabledReasonCode": "string"
}

Response PUT /v1/webhooks/{id}

{
  "undefined": {
    "id": "string",
    "url": "string",
    "name": "string",
    "level": "tenant",
    "filter": "id eq \"id123\" or spaceId eq \"spaceId123\" or spaceId eq \"spaceId456\" or topLevelResourceId eq \"id789\"",
    "secret": "string",
    "enabled": true,
    "headers": {
      "headerName": "headerValue"
    },
    "ownerId": "string",
    "createdAt": "2023-11-29T00:09:33.396Z",
    "updatedAt": "2023-11-29T00:09:33.396Z",
    "eventTypes": [],
    "description": "string",
    "disabledReason": "string",
    "createdByUserId": "string",
    "updatedByUserId": "string",
    "disabledReasonCode": "string",
    "origin": "api"
  }
}

Deletes a specific webhook

manage

Facts DELETE /v1/webhooks/{id}

Rate limit
required
Tier 2 (100 requests per minute)

Path Parameters DELETE /v1/webhooks/{id}

id
required
string

The webhook's unique identifier.

Responses DELETE /v1/webhooks/{id}

204
object

No Content response.

400
application/json

Bad Request

401
application/json

Unauthorized

403
application/json

Forbidden

404
application/json

Not found

500
application/json

Internal Server Error

503
application/json

Service Unavailable

DELETE/v1/webhooks/{id}

curl "https://your-tenant.us.qlikcloud.com/api/v1/webhooks/{id}" \
 -X DELETE \
 -H "Authorization: Bearer <API-key>"

Returns deliveries for a specific webhook

manage

Facts GET /v1/webhooks/{id}/deliveries

Rate limit
required
Tier 1 (1000 requests per minute)

Path Parameters GET /v1/webhooks/{id}/deliveries

id
required
string

The webhook's unique identifier.

Query Parameters GET /v1/webhooks/{id}/deliveries

eventType
string

Filter resources by event-type

limit
default=20, minimum=1, maximum=100
number

Maximum number of deliveries to retrieve

next
string

Cursor to the next page

prev
string

Cursor to previous next page

sort
default='-triggeredAt'
string

Field to sort by, prefix with -/+ to indicate order

Enum:

status

+status

-status

triggeredAt

+triggeredAt

-triggeredAt

status
string

Filter resources by status (success or fail)

Enum:

success

fail

Responses GET /v1/webhooks/{id}/deliveries

200
application/json

OK Response

400
application/json

Bad Request

401
application/json

Unauthorized

403
application/json

Forbidden

404
application/json

Not found

500
application/json

Internal Server Error

503
application/json

Service Unavailable

GET/v1/webhooks/{id}/deliveries

curl "https://your-tenant.us.qlikcloud.com/api/v1/webhooks/{id}/deliveries" \
 -H "Authorization: Bearer <API-key>"

Response GET /v1/webhooks/{id}/deliveries

{
  "data": [
    {
      "id": "string",
      "status": "success",
      "request": {
        "url": "string",
        "body": {},
        "headers": {
          "headerName": "headerValue"
        }
      },
      "response": {
        "body": "string",
        "headers": {
          "headerName": "headerValue"
        },
        "statusCode": 0
      },
      "eventType": "string",
      "webhookId": "string",
      "triggeredAt": "2023-11-29T00:09:33.397Z",
      "statusMessage": "string"
    }
  ],
  "links": {
    "next": {
      "href": "string"
    },
    "prev": {
      "href": "string"
    },
    "self": {
      "href": "string"
    }
  }
}

Returns details for a specific delivery

manage

Facts GET /v1/webhooks/{id}/deliveries/{deliveryId}

Rate limit
required
Tier 1 (1000 requests per minute)

Path Parameters GET /v1/webhooks/{id}/deliveries/{deliveryId}

deliveryId
required
string

The delivery's unique identifier.

id
required
string

The webhook's unique identifier.

Responses GET /v1/webhooks/{id}/deliveries/{deliveryId}

200
application/json

OK Response

400
application/json

Bad Request

401
application/json

Unauthorized

403
application/json

Forbidden

404
application/json

Not found

500
application/json

Internal Server Error

503
application/json

Service Unavailable

GET/v1/webhooks/{id}/deliveries/{deliveryId}

curl "https://your-tenant.us.qlikcloud.com/api/v1/webhooks/{id}/deliveries/{deliveryId}" \
 -H "Authorization: Bearer <API-key>"

Response GET /v1/webhooks/{id}/deliveries/{deliveryId}

{
  "id": "string",
  "status": "success",
  "request": {
    "url": "string",
    "body": {},
    "headers": {
      "headerName": "headerValue"
    }
  },
  "response": {
    "body": "string",
    "headers": {
      "headerName": "headerValue"
    },
    "statusCode": 0
  },
  "eventType": "string",
  "webhookId": "string",
  "triggeredAt": "2023-11-29T00:09:33.397Z",
  "statusMessage": "string"
}

Resend the delivery with the same payload

manage

Facts POST /v1/webhooks/{id}/deliveries/{deliveryId}/actions/resend

Rate limit
required
Tier 2 (100 requests per minute)

Path Parameters POST /v1/webhooks/{id}/deliveries/{deliveryId}/actions/resend

deliveryId
required
string

The delivery's unique identifier.

id
required
string

The webhook's unique identifier.

Responses POST /v1/webhooks/{id}/deliveries/{deliveryId}/actions/resend

201
application/json

OK Response

401
application/json

Unauthorized

404
application/json

Not found

500
application/json

Internal Server Error

503
application/json

Service Unavailable

POST/v1/webhooks/{id}/deliveries/{deliveryId}/actions/resend

curl "https://your-tenant.us.qlikcloud.com/api/v1/webhooks/{id}/deliveries/{deliveryId}/actions/resend" \
 -X POST \
 -H "Authorization: Bearer <API-key>"

Response POST /v1/webhooks/{id}/deliveries/{deliveryId}/actions/resend

{
  "id": "string",
  "status": "success",
  "request": {
    "url": "string",
    "body": {},
    "headers": {
      "headerName": "headerValue"
    }
  },
  "response": {
    "body": "string",
    "headers": {
      "headerName": "headerValue"
    },
    "statusCode": 0
  },
  "eventType": "string",
  "webhookId": "string",
  "triggeredAt": "2023-11-29T00:09:33.397Z",
  "statusMessage": "string"
}

List of event-types that are possible to subscribe to.

manage

Facts GET /v1/webhooks/event-types

Rate limit
required
Tier 1 (1000 requests per minute)

Responses GET /v1/webhooks/event-types

200
application/json

OK Response

401
application/json

Unauthorized

500
application/json

Internal Server Error

503
application/json

Service Unavailable

GET/v1/webhooks/event-types

curl "https://your-tenant.us.qlikcloud.com/api/v1/webhooks/event-types" \
 -H "Authorization: Bearer <API-key>"

Response GET /v1/webhooks/event-types

{
  "data": [
    {
      "name": "string",
      "title": "string",
      "levels": [],
      "description": "string"
    }
  ]
}

BadRequest

Bad Request

Forbidden

Forbidden

InternalServerError

Internal Server Error

NotFound

Not found

ServiceUnavailable

Service Unavailable

Unauthorized

Unauthorized

Delivery

object

Properties

id
required
string

The delivery's unique identifier

status
required
string

The status of delivery

Enum:

success

fail

request
response
eventType
required
string

The name of the triggering event-type

webhookId
required
string

The unique webhook identifier that the delivery is for

triggeredAt
required
string<date-time>

The UTC timestamp when the delivery was triggered

statusMessage
string

The status message of the delivery

DeliveryList

object

Properties

data

No description

links

No description

Error

object

Properties

code
required
string

The unique code for the error

title
required
string

A summary of what went wrong

detail
string

May be used to provide additional details

ErrorResponse

object

Properties

errors

No description

traceId
string

A way to trace the source of the error.

EventType

object

Properties

name
string

Name of the event type

title
string

Title of the event type

levels
Array<string>

Specifies which levels that are supported for this event type

description
string

Description of the event type

EventTypes

object

Properties

data

No description

WebhookBase

object

Properties

id
string

The webhook's unique identifier

url
required
string

Target URL for webhook HTTPS requests

name
required
string

The name for the webhook

level
default='tenant'
string

Defines at what level the webhook should operate: for all resources belonging to a tenant or restricted to only those accessible by the webhook-creator.

Enum:

tenant

user

filter
string

Filter that should match for a webhook to be triggered. Supported common attribute names are 'id', 'spaceId' and 'topLevelResourceId', beside the common attributes the "com.qlik.v1.app.reload.finished" event also supports "data.status" that could be either "ok" or "error" but can't be used together with other event types. Supported attribute operators are 'eq' and 'ne'. Supported logical operators are 'and' and 'or'. Note that attribute values must be valid JSON strings, hence they're enclosed with double quotes For more detailed information regarding the SCIM filter syntax (RFC7644) used please follow the link to external documentation.

secret
string

String used as secret for calculating HMAC hash sent as header

enabled
default=false
boolean

Whether the webhook is active and sending requests

headers
object

Additional headers in the post request

ownerId
string

The id of the user that owns the webhook, only applicable for user level webhooks

createdAt
string<date-time>

The UTC timestamp when the webhook was created

updatedAt
string<date-time>

The UTC timestamp when the webhook was last updated

eventTypes
Array<string>

Types of events for which the webhook should trigger.

description
string

The reason for creating the webhook

disabledReason
string

The reason for the webhook to be disabled

createdByUserId
string

The id of the user that created the webhook

updatedByUserId
string

The id of the user that last updated the webhook

disabledReasonCode
string

The unique code for the reason

WebhookList

object

Properties

data

No description

links

No description

WebhookPatch

object

A JSON Patch document as defined in https://datatracker.ietf.org/doc/html/rfc6902

Properties

op
required
string

The operation to be performed

Enum:

add

remove

replace

path
required
string

The path for the given resource field to patch

Enum:

/name

/description

/url

/eventTypes

/headers

/enabled

/secret

value

The value to be used for this operation.

WebhookPost

Properties

id
string

The webhook's unique identifier

url
required
string

Target URL for webhook HTTPS requests

name
required
string

The name for the webhook

level
default='tenant'
string

Defines at what level the webhook should operate: for all resources belonging to a tenant or restricted to only those accessible by the webhook-creator.

Enum:

tenant

user

filter
string

Filter that should match for a webhook to be triggered. Supported common attribute names are 'id', 'spaceId' and 'topLevelResourceId', beside the common attributes the "com.qlik.v1.app.reload.finished" event also supports "data.status" that could be either "ok" or "error" but can't be used together with other event types. Supported attribute operators are 'eq' and 'ne'. Supported logical operators are 'and' and 'or'. Note that attribute values must be valid JSON strings, hence they're enclosed with double quotes For more detailed information regarding the SCIM filter syntax (RFC7644) used please follow the link to external documentation.

secret
string

String used as secret for calculating HMAC hash sent as header

enabled
default=false
boolean

Whether the webhook is active and sending requests

headers
object

Additional headers in the post request

ownerId
string

The id of the user that owns the webhook, only applicable for user level webhooks

createdAt
string<date-time>

The UTC timestamp when the webhook was created

updatedAt
string<date-time>

The UTC timestamp when the webhook was last updated

eventTypes
Array<string>

Types of events for which the webhook should trigger.

description
string

The reason for creating the webhook

disabledReason
string

The reason for the webhook to be disabled

createdByUserId
string

The id of the user that created the webhook

updatedByUserId
string

The id of the user that last updated the webhook

disabledReasonCode
string

The unique code for the reason

origin
default='api'
string

Indicates from where the webhook was created and its purpose

Enum:

api

automations

management-console

WebhookResponse

Properties

id
string

The webhook's unique identifier

url
required
string

Target URL for webhook HTTPS requests

name
required
string

The name for the webhook

level
default='tenant'
string

Defines at what level the webhook should operate: for all resources belonging to a tenant or restricted to only those accessible by the webhook-creator.

Enum:

tenant

user

filter
string

Filter that should match for a webhook to be triggered. Supported common attribute names are 'id', 'spaceId' and 'topLevelResourceId', beside the common attributes the "com.qlik.v1.app.reload.finished" event also supports "data.status" that could be either "ok" or "error" but can't be used together with other event types. Supported attribute operators are 'eq' and 'ne'. Supported logical operators are 'and' and 'or'. Note that attribute values must be valid JSON strings, hence they're enclosed with double quotes For more detailed information regarding the SCIM filter syntax (RFC7644) used please follow the link to external documentation.

secret
string

String used as secret for calculating HMAC hash sent as header

enabled
default=false
boolean

Whether the webhook is active and sending requests

headers
object

Additional headers in the post request

ownerId
string

The id of the user that owns the webhook, only applicable for user level webhooks

createdAt
string<date-time>

The UTC timestamp when the webhook was created

updatedAt
string<date-time>

The UTC timestamp when the webhook was last updated

eventTypes
Array<string>

Types of events for which the webhook should trigger.

description
string

The reason for creating the webhook

disabledReason
string

The reason for the webhook to be disabled

createdByUserId
string

The id of the user that created the webhook

updatedByUserId
string

The id of the user that last updated the webhook

disabledReasonCode
string

The unique code for the reason

origin
default='api'
string

Indicates from where the webhook was created and its purpose

Enum:

api

automations

management-console

v0.879.8
Was this page helpful?