Meta events are operational events generated by Convoy for specific activities happening within your Convoy project. This allows you to subscribe and listen for events and perform any action based on these events within your own internal systems, providing a seamless headless experience. Convoy uses webhooks to notify you of these events.

Types of event

At the moment, these are the events we currently support with plans to add some more later in the future.

EventDescription
endpoint.createdAn endpoint was created
endpoint.updatedAn endpoint was updated
endpoint.deletedAn endpoint was deleted
eventdelivery.successAn event delivery was successful
eventdelivery.failedAn event delivery failed

Payload Structure

endpoint.created
{
  event_type: "endpoint.created",
  data: {
    uid: "01H3FRSZYKNYWGPVV46RN98PM5",
    title: "testes",
    status: "active",
    secrets: [
      {
        uid: "01H3FRSZYKNYWGPVV46T42NYA8",
        value: "Vuk5LM0uujddIsqO5v_eSuz88",
        created_at: "2023-06-21T21:02:19.73106+01:00",
        deleted_at: null,
        expires_at: null,
        updated_at: "2023-06-21T21:02:19.73106+01:00"
      }
    ],
    owner_id: "582b0124-b0fe-45e0-9063-86877f797647",
    created_at: "2023-06-21T21:02:19.73104+01:00",
    deleted_at: null,
    project_id: "01H28MWP1TQV5AC5QR54BSX8HJ",
    rate_limit: 5000,
    target_url: "https://dashboard.getconvoy.io/ingest/GzuS7KiIFPyyFrG5",
    updated_at: "2023-06-21T21:02:19.73104+01:00",
    description: "testing endpoint",
    http_timeout: "10s",
    authentication: null,
    advanced_signatures: false,
    rate_limit_duration: "1m0s"
  }
}

endpoint.updated
{
  event_type: "endpoint.updated",
  data: {
    uid: "01H3FRZ6SX9CDKZTEY6TMQAPWD",
    project_id: "01H28MWP1TQV5AC5QR54BSX8HJ",
    owner_id: "582b0124-b0fe-45e0-9063-86877f797647",
    target_url: "https://webhook.site/202ad8fc-653c-492a-bdaa-0ac2bd34c981",
    title: "endpoint-2",
    secrets: [
      {
        uid: "01H3FRZ6SX9CDKZTEY6V7F2Z5P",
        value: "skl2qo-2JoqAKrwD3tL3YHUt_",
        expires_at: null,
        created_at: "2023-06-21T21:05:10.589879+01:00",
        updated_at: "2023-06-21T21:05:10.589879+01:00",
        deleted_at: null
      }
    ],
    advanced_signatures: false,
    description: "",
    http_timeout: "",
    rate_limit: 5000,
    status: "active",
    rate_limit_duration: "1m0s",
    authentication: null,
    created_at: "2023-06-21T21:05:10.596435+01:00",
    updated_at: "2023-06-29T14:57:42.733584+01:00",
    deleted_at: null
  }
}
endpoint.deleted
{
  event_type: "endpoint.deleted",
  data: {
    uid: "01H28MXEGATHC7TH1J3Y28WJSV",
    project_id: "01H28MWP1TQV5AC5QR54BSX8HJ",
    target_url: "https://dashboard.getconvoy.io/ingest/GzuS7KiIFPyyFrG5",
    title: "paystack-prod",
    secrets: [
      {
        uid: "01H28MXEGATHC7TH1J3YBR4G85",
        value: "HZ00wI-b2KMmkRYDeh_9M82q2",
        expires_at: null,
        created_at: "2023-06-06T16:23:55.786899+01:00",
        updated_at: "2023-06-06T16:23:55.786899+01:00",
        deleted_at: null
      }
    ],
    advanced_signatures: false,
    description: "",
    http_timeout: "",
    rate_limit: 5000,
    status: "active",
    rate_limit_duration: "1m0s",
    authentication: {
      api_key: {
        header_value: "",
        header_name: ""
      }
    },
    created_at: "2023-06-06T16:23:55.792566+01:00",
    updated_at: "2023-06-20T15:21:21.376987+01:00",
    deleted_at: null
  }
}

Meta events are completely optional and can be turned on under the Project settings page. All you need to do is provide a webhook URL to receive these events, a secret for signing the payload (optional) and the events you would like to subscribe to.

Viewing Meta Events

You can also view a list of all your Meta events.

Meta Event Signature

We use the secret either provided by you or generated by us to sign the payload using SHA256 hashing algorithm and hex encoding. The value is contained in the X-Convoy-Signature header, and you can use that to validate that the event was sent by Convoy.