# Events
These events are triggered through Loom delivery system. See the documentation for Loom (opens new window) for more documentation on the delivery system.
# Consuming Events
The event system is the core of building a reactive application and offers a combination of broad events and granular changes to suit different application kinds. We would not anticipate that many, if any, use-cases would need to subscribe to all event types, so a wildcard subscription is not available.
The simplest way to subscribe to events is through your App's manifest file, using two sections:
{
"webhook_url": "https://example.org/webhooks",
"subscribed_events": [
"mission_control.list_created",
"mission_control.list_updated"
]
}
The subscribed_events
will be delivered to the webhook_url
according to the Loom documentation.
For more information on apps, please check the documentation.
# Minimal Payloads
All of our events follow a minimal-payload approach. Whilst there can be advantages in delivering full payloads, a minimal payload offers huge advantages in security, authorization and performance.
To retrieve the relevant information, an API call can load in the latest state of the resource.
# Event Structure
{
"id": "48e73970-d674-4649-bff4-cd16fa0411ca",
"name": "mission_control.list_added",
"subject": "Org/dc0f9a65-20c4-572a-9c08-f51bd48636ea",
"timestamp": "2020-05-27T09:27:20+00:00",
"version": "1.0",
"payload": {
"_meta": {
"origin": {
"triggered_by": "some-application"
}
},
"list_id": "fd341a67-5ac4-5769-80b7-b16dfcea5f16"
},
"link": "https://mc.zaikio.com/api/v1/lists/fd341a67-5ac4-5769-80b7-b16dfcea5f16"
}
The majority of the fields are keys. The id
, name
, subject
, timestamp
,
and version
will always be present. payload
will also
always be present, but the contents varies with each type according
the the resource in question.
link
will give you a direct url to call the API with to retrieve the
resource, but is not present on removed/destroyed style events.
payload
will include a _meta
field with details of the application that
triggered the change if available. This can be used by apps to short-circuit
updates of changes that they instigated, if needed.
# Available Events
# list_added
List added
This event will be triggered every time a List is added to an Organization
{
"id": "aa702711-610e-469b-8268-c455470ac7ed",
"name": "mission_control.list_added",
"subject": "Org/dc0f9a65-20c4-572a-9c08-f51bd48636ea",
"timestamp": "2020-05-27T09:21:56+00:00",
"version": "1.0",
"payload": {
"list_id": "f768bb6c-fdc5-5ff1-8bd7-85e462b75b26"
},
"link": "https://mc.zaikio.com/api/v1/lists/fd341a67-5ac4-5769-80b7-b16dfcea5f16"
}
# list_changed
List changed
This event will be triggered every time a List is amended
{
"id": "aa702711-610e-469b-8268-c455470ac7ed",
"name": "mission_control.list_changed",
"subject": "Org/dc0f9a65-20c4-572a-9c08-f51bd48636ea",
"timestamp": "2020-05-27T09:21:56+00:00",
"version": "1.0",
"payload": {
"list_id": "f768bb6c-fdc5-5ff1-8bd7-85e462b75b26"
},
"link": "https://mc.zaikio.com/api/v1/lists/fd341a67-5ac4-5769-80b7-b16dfcea5f16"
}
# list_membership_added
List Membership added
This event will be triggered every time a resource becomes a member of a List.
{
"id": "aa702711-610e-469b-8268-c455470ac7ed",
"name": "mission_control.list_membership_added",
"subject": "Org/dc0f9a65-20c4-572a-9c08-f51bd48636ea",
"timestamp": "2020-05-27T09:21:56+00:00",
"version": "1.0",
"payload": {
"list_id": "f768bb6c-fdc5-5ff1-8bd7-85e462b75b26",
"member_id": "f768bb6c-fdc5-5ff1-8bd7-85e462b75b26",
"member_type": "Job"
},
"link": "https://mc.zaikio.com/api/v1/jobs/fd341a67-5ac4-5769-80b7-b16dfcea5f16"
}
# list_membership_removed
List Membership removed
This event will be triggered every time a resource is removed from a List.
{
"id": "aa702711-610e-469b-8268-c455470ac7ed",
"name": "mission_control.list_membership_removed",
"subject": "Org/dc0f9a65-20c4-572a-9c08-f51bd48636ea",
"timestamp": "2020-05-27T09:21:56+00:00",
"version": "1.0",
"payload": {
"list_id": "f768bb6c-fdc5-5ff1-8bd7-85e462b75b26",
"member_id": "f768bb6c-fdc5-5ff1-8bd7-85e462b75b26",
"member_type": "Job"
}
}
# list_removed
List removed
This event will be triggered every time a List is removed
{
"id": "aa702711-610e-469b-8268-c455470ac7ed",
"name": "mission_control.list_removed",
"subject": "Org/dc0f9a65-20c4-572a-9c08-f51bd48636ea",
"timestamp": "2020-05-27T09:21:56+00:00",
"version": "1.0",
"payload": {
"list_id": "f768bb6c-fdc5-5ff1-8bd7-85e462b75b26"
}
}