Markit AI LogoMarkit | Docs
Markit API

Webhooks

Webhooks enable your applications to receive real-time data on important interactions within your Markit AI account. By providing a URL and selecting the events you want to track, you can receive detailed information whenever those events occur. Refer to the Setup section to start using webhooks.

The following webhook events are available...

  • conversations.inbound_messaging - Inbound Messaging
  • event.rsvp - On RSVP
  • event.cancelled_rsvp - On Cancel RSVP
  • event.checked_in - On Checked In to Event
  • event.unchecked_in - On Unchecked In to Event
  • form.submission - Submitted to Form

Setup

See Management section on how to create webhooks through the API.

Management

Create a Webhook

Create a subscription webhook that listens to specific events and will send a POST request to the endpoint URL that you specify. We limit the number of webhooks that your account can create to 10. Please contact us if you need to add more.

Important: Save your signatureSecret securely after creating the webhook. This secret is only displayed once in the initial response and is required for webhook authentication. You'll need this secret to verify incoming webhook requests using the method described in the Authentication section above.

POST https://api.markitai.com/v1/webhooks
ParameterTypeRequiredDefaultDescription
webhookUrlstringYes-The url that the webhook will send data to when triggered.
webhookTypesstringYes-One or any combination of types that will cause this webhook to be triggered. Ex: event.rsvp,event.checked_in

Example Response:

{
  "id": "123456",
  "createdAt": "2024-01-01T00:00:00.000Z",
  "webhookUrl": "https://your-endpoint-here",
  "webhookTypes": ["event.rsvp", "event.checked_in"],
  "uid": "abc123",
  "signatureSecret": "whsec_xxxxxx",
  "state": "active"
}

Update a Webhook

Updates a subscription webhook to modify the endpoint URL, webhook types, and/or status.

POST https://api.markitai.com/v1/webhooks/:id
ParameterTypeRequiredDefaultDescription
webhookUrlstringNo-The new url that the webhook will send data to when triggered.
webhookTypesstringNo-One or any combination of types that will cause this webhook to be triggered. Ex: event.rsvp,event.checked_in
status'active' or 'inactive'No-Whether the webhook is active or inactive. If a webhook is inactive, it won’t be triggered when the action occurs.

Example Response:

{
  "Message": "Webhook updated successfully."
}

Delete a Webhook

Removes the webhook associated with the user that created it and it won’t be triggered when the webhook events occur. You can also update a webhook status to inactive to disable the webhook instead of deleting it completely.

DELETE https://api.markitai.com/v1/webhooks/:id

Retrieve All Webhooks

Retrieves all of the webhooks that are associated with your account.

GET https://api.markitai.com/v1/webhooks

You can include additional parameters in the request as described in the Query Parameters section. For instance, the request below will return webhooks with a status of "inactive".

GET https://api.markitai.com/v1/webhooks?status=inactive

Available query parameters:

  • offset: 0 (default)
  • status: ‘all’ | ‘active’ | ‘inactive’ (default: ‘all’)
  • createdAt: ‘desc’ | ‘asc’ (default: ‘desc’)

Example Response:

{
  "data": [
    {
      "id": "123456",
      "createdAt": "2024-01-01T00:00:00.000Z",
      "webhookUrl": "https://your-endpoint-here",
      "webhookTypes": ["event.rsvp", "event.checked_in"],
      "uid": "abc123",
      "signatureSecret": "whsec_xxxxxx",
      "state": "active"
    },
    {
      "id": "654321",
      "createdAt": "2024-01-01T00:00:00.000Z",
      "webhookUrl": "https://your-endpoint-here",
      "webhookTypes": ["conversations.inbound_messaging"],
      "uid": "abc123",
      "state": "active"
    }
  ],
  "pagingData": {
    "prevPage": null,
    "currentPage": null,
    "nextPage": null,
    "currentPageString": null,
    "hasMore": false
  }
}

Retrieve a Single Webhook

Retrieves a single webhook with the webhook ID equal to {id}.

GET https://api.markitai.com/v1/webhooks/{id}

Example Response:

{
  "webhook": {
    "id": "654321",
    "createdAt": "2024-01-01T00:00:00.000Z",
    "webhookUrl": "https://your-endpoint-here",
    "webhookTypes": ["conversations.inbound_messaging"],
    "uid": "abc123",
    "state": "active"
  }
}

Inbound Messaging

The "inbound.messaging" event is a webhook event that is triggered whenever you receive a new message from two-way conversations. When one of your followers messages you, you can use this event to see the message related data.

Example Response:

Below is an example of the JSON data you'd receive from the "Inbound Messaging" event.

{
  "conversationSid": "CHXXXXX",
  "phoneNumber": "+1234567890",
  "message": "This is an inbound message",
  "sentAt": "2024-01-01T00:00:00.000Z",
  "userId": "abc123",
  "fullName": "John Doe"
}

Event: On RSVP

The "event.rsvp" event is a webhook event that is triggered whenever someone RSVPs or purchases a ticket to a Markit event. This event will happen through the following circumstances...

  • RSVP to event
  • Purchases ticket to event
  • Requested ticket to event

Example Response:

Below is an example of the JSON data you'd receive from the "On RSVP" event.

{
 "data": [
  {
    "alias": "",
    "amountPaid": 500,
    "chargeId": "pi_xxxxx",
    "createdAt": "2024-01-01T00:00:00.000Z",
    "customTicketId": "123456",
    "eventId": "123abc",
    "externalOrderId": "",
    "id": "123123",
    "originalOwner": "abcabc",
    "uid": "abcabc",
    "redeemedBy": "abcabc",
    "promoter": "",
    "requestStatus": "accepted",
    "scanned": false,
    "formAnswers": {
      "123123": "Software",
      "234234": "test@gmail.com",
    }
  },
  ...
 ]
}

Event: On Cancel RSVP

The "event.cancelled_rsvp" event is a webhook event that is triggered whenever someone’s ticket is cancelled for an event. This event will happen through the following circumstances...

  • Attendee cancels RSVP
  • Host cancels RSVP

Example Response:

Below is an example of the JSON data you'd receive from the "On Cancel" event.

{
  "ticket": {
    "alias": "",
    "amountPaid": 500,
    "chargeId": "pi_xxxxx",
    "createdAt": "2024-01-01T00:00:00.000Z",
    "customTicketId": "123456",
    "eventId": "123abc",
    "externalOrderId": "",
    "id": "123123",
    "originalOwner": "abcabc",
    "uid": "abcabc",
    "redeemedBy": "abcabc",
    "promoter": "",
    "requestStatus": "accepted",
    "scanned": false
  }
}

Event: On Checked In

The "event.checked_in" event is a webhook event that is triggered whenever an attendee’s ticket is checked in to a Markit event. This event will happen when a ticket is checked in through the following circumstances...

  • Manual check in through event dashboard
  • Scanned check in through QR code

Example Response:

Below is an example of the JSON data you'd receive from the "On Checked In" event.

{
  "ticket": {
    "alias": "",
    "amountPaid": 500,
    "chargeId": "pi_xxxxx",
    "createdAt": "2024-01-01T00:00:00.000Z",
    "customTicketId": "123456",
    "eventId": "123abc",
    "externalOrderId": "",
    "id": "123123",
    "originalOwner": "abcabc",
    "uid": "abcabc",
    "redeemedBy": "abcabc",
    "promoter": "",
    "requestStatus": "accepted",
    "scanned": true
  }
}

Event: On Unchecked In

The "event.unchecked_in" event is a webhook event that is triggered whenever an attendee’s ticket is unchecked into a Markit event. This event will happen when a ticket that was checked in is undone.

Example Response:

Below is an example of the JSON data you'd receive from the "On Unchecked In" event.

{
  "ticket": {
    "alias": "",
    "amountPaid": 500,
    "chargeId": "pi_xxxxx",
    "createdAt": "2024-01-01T00:00:00.000Z",
    "customTicketId": "123456",
    "eventId": "123abc",
    "externalOrderId": "",
    "id": "123123",
    "originalOwner": "abcabc",
    "uid": "abcabc",
    "redeemedBy": "abcabc",
    "promoter": "",
    "requestStatus": "accepted",
    "scanned": false
  }
}

Form: On Submission

The "form.submission" event is a webhook event that is triggered whenever a new submission is made on your Markit form.

Example Response:

Below is an example of the JSON data you'd receive from the "On Submission" event.

{
  "formId": "123abc",
  "id": "123123",
  "uid": "abcabc",
  "createdAt": "2024-01-01T00:00:00.000Z",
  "formAnswers": {
    "123123": "Software",
    "234234": "test@gmail.com"
  }
}

On this page