Events
The Event object
An event describes something that happened in a workspace. Skoup sends it to your webhook endpoints and keeps it readable through GET /v1/events for 30 days. data.object has exactly the shape the matching GET endpoint returns.
Attributes
idstringUnique identifier of the event (
evt_…). Use it to deduplicate deliveries.objectstringAlways
event.typestringThe type of event, e.g.
alert.created.api_versionstringVersion of the payload shape,
v1. Fields are never removed within a version.createdintegerUnix timestamp of the event.
livemodebooleanfalsefor events emitted by test-mode calls or sent as test events.brandstringnullableThe brand the event is about (
br_…),nullfor workspace-level events.dataobjectThe object the event is about.
Show child attributes
objectobjectThe object as the matching
GETendpoint returns it at the time of the event.previous_attributesobjectnullableFor
*.updatedevents, the values of the changed attributes before the change.
{
"id": "evt_0kR3vWm8Qb1xYz2A4c6E8g",
"object": "event",
"type": "alert.created",
"api_version": "v1",
"created": 1790000000,
"livemode": true,
"brand": "br_0kQ1s9Xw3Yb5Zc7Ad9Ef1G",
"data": {
"object": {
"id": "alrt_031CQlTxUKUOFYaHSd3kBY",
"object": "alert",
"brand": "br_031CQGx2DNM4mxT2CO7BL3",
"market": "FR",
"kind": "price_hallucination",
"severity": "critical",
"status": "new",
"product": {
"id": "prod_031CQNg2fZXIIClKM3I8uF",
"title": "Grizl CF SL 7"
},
"query": {
"id": "qry_031CQSmQyxphdXPSkx2QxP",
"text": "meilleur vélo gravel carbone à moins de 3000 €"
},
"competitor": null,
"model": "chatgpt",
"models": [
{
"model": "chatgpt",
"occurrences": 2
},
{
"model": "gemini",
"occurrences": 1
}
],
"occurrences": 3,
"claimed": {
"price": 2199,
"price_max": null,
"price_kind": "exact",
"period": null,
"unit": null,
"scope": "offer",
"currency": "EUR",
"min": 2199,
"max": 2199,
"gap": 0.12,
"runs": 3
},
"truth": {
"price": 2499,
"min": 2499,
"max": 2499,
"currency": "EUR",
"period": null,
"unit": null,
"annual_min": null,
"annual_max": null,
"max_with_addons": 2499,
"open_ended": false,
"addons": [],
"scope": "offer",
"variants": 4,
"checked_at": "2026-09-21T02:40:00Z"
},
"persisted": false,
"verifications": 0,
"first_seen_at": "2026-09-21T02:40:00Z",
"last_seen_at": "2026-09-21T02:40:00Z",
"treated_at": null,
"dismissed_at": null,
"close_reason": null,
"last_verification_at": null,
"resolved_at": null,
"livemode": true,
"created": 1790000000
}
}
}Types of events
Every event type Skoup sends, grouped by category.
Alerts
alert.created
An alert was opened: a price hallucination, a wrong availability, a visibility drop, a new competitor, an invented spec, wrong establishment facts or an SEO regression. Object: alert.
Show an example payload
{
"id": "evt_0kR3vWm8Qb1xYz2A4c6E8g",
"object": "event",
"type": "alert.created",
"api_version": "v1",
"created": 1790000000,
"livemode": true,
"brand": "br_0kQ1s9Xw3Yb5Zc7Ad9Ef1G",
"data": {
"object": {
"id": "alrt_031CQlTxUKUOFYaHSd3kBY",
"object": "alert",
"brand": "br_031CQGx2DNM4mxT2CO7BL3",
"market": "FR",
"kind": "price_hallucination",
"severity": "critical",
"status": "new",
"product": {
"id": "prod_031CQNg2fZXIIClKM3I8uF",
"title": "Grizl CF SL 7"
},
"query": {
"id": "qry_031CQSmQyxphdXPSkx2QxP",
"text": "meilleur vélo gravel carbone à moins de 3000 €"
},
"competitor": null,
"model": "chatgpt",
"models": [
{
"model": "chatgpt",
"occurrences": 2
},
{
"model": "gemini",
"occurrences": 1
}
],
"occurrences": 3,
"claimed": {
"price": 2199,
"price_max": null,
"price_kind": "exact",
"period": null,
"unit": null,
"scope": "offer",
"currency": "EUR",
"min": 2199,
"max": 2199,
"gap": 0.12,
"runs": 3
},
"truth": {
"price": 2499,
"min": 2499,
"max": 2499,
"currency": "EUR",
"period": null,
"unit": null,
"annual_min": null,
"annual_max": null,
"max_with_addons": 2499,
"open_ended": false,
"addons": [],
"scope": "offer",
"variants": 4,
"checked_at": "2026-09-21T02:40:00Z"
},
"persisted": false,
"verifications": 0,
"first_seen_at": "2026-09-21T02:40:00Z",
"last_seen_at": "2026-09-21T02:40:00Z",
"treated_at": null,
"dismissed_at": null,
"close_reason": null,
"last_verification_at": null,
"resolved_at": null,
"livemode": true,
"created": 1790000000
}
}
}alert.resolved
A verification re-sampling found the claim gone (or, for an SEO regression, the next crawl found the pages healthy): the alert is resolved. Object: alert.
Show an example payload
{
"id": "evt_0kR3vWm8Qb1xYz2A4c6E8g",
"object": "event",
"type": "alert.resolved",
"api_version": "v1",
"created": 1790000000,
"livemode": true,
"brand": "br_0kQ1s9Xw3Yb5Zc7Ad9Ef1G",
"data": {
"object": {
"id": "alrt_031CQlTxUKUOFYaHSd3kBY",
"object": "alert",
"brand": "br_031CQGx2DNM4mxT2CO7BL3",
"market": "FR",
"kind": "price_hallucination",
"severity": "critical",
"status": "new",
"product": {
"id": "prod_031CQNg2fZXIIClKM3I8uF",
"title": "Grizl CF SL 7"
},
"query": {
"id": "qry_031CQSmQyxphdXPSkx2QxP",
"text": "meilleur vélo gravel carbone à moins de 3000 €"
},
"competitor": null,
"model": "chatgpt",
"models": [
{
"model": "chatgpt",
"occurrences": 2
},
{
"model": "gemini",
"occurrences": 1
}
],
"occurrences": 3,
"claimed": {
"price": 2199,
"price_max": null,
"price_kind": "exact",
"period": null,
"unit": null,
"scope": "offer",
"currency": "EUR",
"min": 2199,
"max": 2199,
"gap": 0.12,
"runs": 3
},
"truth": {
"price": 2499,
"min": 2499,
"max": 2499,
"currency": "EUR",
"period": null,
"unit": null,
"annual_min": null,
"annual_max": null,
"max_with_addons": 2499,
"open_ended": false,
"addons": [],
"scope": "offer",
"variants": 4,
"checked_at": "2026-09-21T02:40:00Z"
},
"persisted": false,
"verifications": 0,
"first_seen_at": "2026-09-21T02:40:00Z",
"last_seen_at": "2026-09-21T02:40:00Z",
"treated_at": null,
"dismissed_at": null,
"close_reason": null,
"last_verification_at": null,
"resolved_at": null,
"livemode": true,
"created": 1790000000
}
}
}alert.updated
An alert changed status (seen, treated, ignored) or gathered new occurrences. Object: alert.
Show an example payload
{
"id": "evt_0kR3vWm8Qb1xYz2A4c6E8g",
"object": "event",
"type": "alert.updated",
"api_version": "v1",
"created": 1790000000,
"livemode": true,
"brand": "br_0kQ1s9Xw3Yb5Zc7Ad9Ef1G",
"data": {
"object": {
"id": "alrt_031CQlTxUKUOFYaHSd3kBY",
"object": "alert",
"brand": "br_031CQGx2DNM4mxT2CO7BL3",
"market": "FR",
"kind": "price_hallucination",
"severity": "critical",
"status": "new",
"product": {
"id": "prod_031CQNg2fZXIIClKM3I8uF",
"title": "Grizl CF SL 7"
},
"query": {
"id": "qry_031CQSmQyxphdXPSkx2QxP",
"text": "meilleur vélo gravel carbone à moins de 3000 €"
},
"competitor": null,
"model": "chatgpt",
"models": [
{
"model": "chatgpt",
"occurrences": 2
},
{
"model": "gemini",
"occurrences": 1
}
],
"occurrences": 3,
"claimed": {
"price": 2199,
"price_max": null,
"price_kind": "exact",
"period": null,
"unit": null,
"scope": "offer",
"currency": "EUR",
"min": 2199,
"max": 2199,
"gap": 0.12,
"runs": 3
},
"truth": {
"price": 2499,
"min": 2499,
"max": 2499,
"currency": "EUR",
"period": null,
"unit": null,
"annual_min": null,
"annual_max": null,
"max_with_addons": 2499,
"open_ended": false,
"addons": [],
"scope": "offer",
"variants": 4,
"checked_at": "2026-09-21T02:40:00Z"
},
"persisted": false,
"verifications": 0,
"first_seen_at": "2026-09-21T02:40:00Z",
"last_seen_at": "2026-09-21T02:40:00Z",
"treated_at": null,
"dismissed_at": null,
"close_reason": null,
"last_verification_at": null,
"resolved_at": null,
"livemode": true,
"created": 1790000000
}
}
}Catalog
catalog.sync.completed
A catalogue synchronization finished (store, feed). Object: catalog_sync.
Show an example payload
{
"id": "evt_0kR3vWm8Qb1xYz2A4c6E8g",
"object": "event",
"type": "catalog.sync.completed",
"api_version": "v1",
"created": 1790000000,
"livemode": true,
"brand": "br_0kQ1s9Xw3Yb5Zc7Ad9Ef1G",
"data": {
"object": {
"id": "csync_031CRAJfSt7R2knG4Y5HDB",
"object": "catalog_sync",
"brand": "br_031CQGx2DNM4mxT2CO7BL3",
"source": "shopify",
"trigger": "scheduled",
"status": "completed",
"products_total": 342,
"products_synced": 342,
"products_created": 3,
"products_removed": 1,
"error": null,
"started_at": "2026-09-21T03:00:02Z",
"finished_at": "2026-09-21T03:01:40Z",
"livemode": true,
"created": 1790000000
}
}
}catalog.sync.failed
A catalogue synchronization failed. Object: catalog_sync.
Show an example payload
{
"id": "evt_0kR3vWm8Qb1xYz2A4c6E8g",
"object": "event",
"type": "catalog.sync.failed",
"api_version": "v1",
"created": 1790000000,
"livemode": true,
"brand": "br_0kQ1s9Xw3Yb5Zc7Ad9Ef1G",
"data": {
"object": {
"id": "csync_031CRAJfSt7R2knG4Y5HDB",
"object": "catalog_sync",
"brand": "br_031CQGx2DNM4mxT2CO7BL3",
"source": "shopify",
"trigger": "scheduled",
"status": "failed",
"products_total": null,
"products_synced": 342,
"products_created": 3,
"products_removed": 1,
"error": "The store rejected the access token.",
"started_at": "2026-09-21T03:00:02Z",
"finished_at": "2026-09-21T03:01:40Z",
"livemode": true,
"created": 1790000000
}
}
}product.created
A product appeared in the catalogue (store, feed or manual). Object: product.
Show an example payload
{
"id": "evt_0kR3vWm8Qb1xYz2A4c6E8g",
"object": "event",
"type": "product.created",
"api_version": "v1",
"created": 1790000000,
"livemode": true,
"brand": "br_0kQ1s9Xw3Yb5Zc7Ad9Ef1G",
"data": {
"object": {
"id": "prod_031CQNg2fZXIIClKM3I8uF",
"object": "product",
"brand": "br_031CQGx2DNM4mxT2CO7BL3",
"source": "shopify",
"read_only": true,
"external_id": "gid://shopify/Product/8123456789012",
"handle": "grizl-cf-sl-7",
"title": "Grizl CF SL 7",
"description": "Gravel carbone, transmission Shimano GRX 2x12.",
"vendor": "Nordvelo",
"category": "Vélos gravel",
"sku": "GRZ-CF-SL7",
"gtin": "4251234567890",
"price": "2499.00",
"currency": "EUR",
"price_period": null,
"price_annual": null,
"price_unit": null,
"addons": [],
"url": "https://nordvelo.fr/products/grizl-cf-sl-7",
"image_url": "https://cdn.shopify.com/s/files/grizl-cf-sl-7.jpg",
"status": "active",
"tags": [
"gravel",
"carbone"
],
"options": [
{
"name": "Taille",
"values": [
"S",
"M",
"L"
]
}
],
"variants": [
{
"id": "var_031CQNtmS3W4oi14CtkFvn",
"object": "variant",
"title": "M",
"sku": "GRZ-CF-SL7-M",
"gtin": "4251234567891",
"price": "2499.00",
"compare_at_price": null,
"inventory_quantity": 7,
"options": [
{
"name": "Taille",
"value": "M"
}
]
}
],
"synced_at": "2026-09-21T03:00:12Z",
"livemode": true,
"created": 1790000000,
"updated": 1790003600
}
}
}product.deleted
A product left the catalogue. Object: product.
Show an example payload
{
"id": "evt_0kR3vWm8Qb1xYz2A4c6E8g",
"object": "event",
"type": "product.deleted",
"api_version": "v1",
"created": 1790000000,
"livemode": true,
"brand": "br_0kQ1s9Xw3Yb5Zc7Ad9Ef1G",
"data": {
"object": {
"id": "prod_031CQNg2fZXIIClKM3I8uF",
"object": "product",
"brand": "br_031CQGx2DNM4mxT2CO7BL3",
"source": "shopify",
"read_only": true,
"external_id": "gid://shopify/Product/8123456789012",
"handle": "grizl-cf-sl-7",
"title": "Grizl CF SL 7",
"description": "Gravel carbone, transmission Shimano GRX 2x12.",
"vendor": "Nordvelo",
"category": "Vélos gravel",
"sku": "GRZ-CF-SL7",
"gtin": "4251234567890",
"price": "2499.00",
"currency": "EUR",
"price_period": null,
"price_annual": null,
"price_unit": null,
"addons": [],
"url": "https://nordvelo.fr/products/grizl-cf-sl-7",
"image_url": "https://cdn.shopify.com/s/files/grizl-cf-sl-7.jpg",
"status": "active",
"tags": [
"gravel",
"carbone"
],
"options": [
{
"name": "Taille",
"values": [
"S",
"M",
"L"
]
}
],
"variants": [
{
"id": "var_031CQNtmS3W4oi14CtkFvn",
"object": "variant",
"title": "M",
"sku": "GRZ-CF-SL7-M",
"gtin": "4251234567891",
"price": "2499.00",
"compare_at_price": null,
"inventory_quantity": 7,
"options": [
{
"name": "Taille",
"value": "M"
}
]
}
],
"synced_at": "2026-09-21T03:00:12Z",
"livemode": true,
"created": 1790000000,
"updated": 1790003600
}
}
}product.updated
A product changed. Object: product.
Show an example payload
{
"id": "evt_0kR3vWm8Qb1xYz2A4c6E8g",
"object": "event",
"type": "product.updated",
"api_version": "v1",
"created": 1790000000,
"livemode": true,
"brand": "br_0kQ1s9Xw3Yb5Zc7Ad9Ef1G",
"data": {
"object": {
"id": "prod_031CQNg2fZXIIClKM3I8uF",
"object": "product",
"brand": "br_031CQGx2DNM4mxT2CO7BL3",
"source": "shopify",
"read_only": true,
"external_id": "gid://shopify/Product/8123456789012",
"handle": "grizl-cf-sl-7",
"title": "Grizl CF SL 7",
"description": "Gravel carbone, transmission Shimano GRX 2x12.",
"vendor": "Nordvelo",
"category": "Vélos gravel",
"sku": "GRZ-CF-SL7",
"gtin": "4251234567890",
"price": "2499.00",
"currency": "EUR",
"price_period": null,
"price_annual": null,
"price_unit": null,
"addons": [],
"url": "https://nordvelo.fr/products/grizl-cf-sl-7",
"image_url": "https://cdn.shopify.com/s/files/grizl-cf-sl-7.jpg",
"status": "active",
"tags": [
"gravel",
"carbone"
],
"options": [
{
"name": "Taille",
"values": [
"S",
"M",
"L"
]
}
],
"variants": [
{
"id": "var_031CQNtmS3W4oi14CtkFvn",
"object": "variant",
"title": "M",
"sku": "GRZ-CF-SL7-M",
"gtin": "4251234567891",
"price": "2499.00",
"compare_at_price": null,
"inventory_quantity": 7,
"options": [
{
"name": "Taille",
"value": "M"
}
]
}
],
"synced_at": "2026-09-21T03:00:12Z",
"livemode": true,
"created": 1790000000,
"updated": 1790003600
}
}
}write_back.applied
Skoup wrote a product’s copy or barcodes in the store (reviewed by a person in the app), with the values it replaced. Object: write_back.
Show an example payload
{
"id": "evt_0kR3vWm8Qb1xYz2A4c6E8g",
"object": "event",
"type": "write_back.applied",
"api_version": "v1",
"created": 1790000000,
"livemode": true,
"brand": "br_0kQ1s9Xw3Yb5Zc7Ad9Ef1G",
"data": {
"object": {
"id": "wb_031CQjcAH6UqepovbzUK6t",
"object": "write_back",
"brand": "br_031CQGx2DNM4mxT2CO7BL3",
"product": "prod_031CQNg2fZXIIClKM3I8uF",
"task": "task_031CQg4La2D4FtcCN87OUU",
"status": "applied",
"changes": [
{
"field": "seo_description",
"variant_external_id": null,
"variant_title": null,
"before": "",
"after": "Gravel carbone Shimano GRX 2x12, cadre garanti à vie."
},
{
"field": "barcode",
"variant_external_id": "gid://shopify/ProductVariant/44123456789",
"variant_title": "M",
"before": "",
"after": "4006381333931"
}
],
"error": null,
"applied_at": "2026-09-22T14:05:31Z",
"rollback_until": "2026-10-22T14:05:31Z",
"rolled_back_at": null,
"livemode": true,
"created": 1790085931
}
}
}write_back.rolled_back
A write-back was undone: the store holds the previous values again. Object: write_back.
Show an example payload
{
"id": "evt_0kR3vWm8Qb1xYz2A4c6E8g",
"object": "event",
"type": "write_back.rolled_back",
"api_version": "v1",
"created": 1790000000,
"livemode": true,
"brand": "br_0kQ1s9Xw3Yb5Zc7Ad9Ef1G",
"data": {
"object": {
"id": "wb_031CQjcAH6UqepovbzUK6t",
"object": "write_back",
"brand": "br_031CQGx2DNM4mxT2CO7BL3",
"product": "prod_031CQNg2fZXIIClKM3I8uF",
"task": "task_031CQg4La2D4FtcCN87OUU",
"status": "applied",
"changes": [
{
"field": "seo_description",
"variant_external_id": null,
"variant_title": null,
"before": "",
"after": "Gravel carbone Shimano GRX 2x12, cadre garanti à vie."
},
{
"field": "barcode",
"variant_external_id": "gid://shopify/ProductVariant/44123456789",
"variant_title": "M",
"before": "",
"after": "4006381333931"
}
],
"error": null,
"applied_at": "2026-09-22T14:05:31Z",
"rollback_until": "2026-10-22T14:05:31Z",
"rolled_back_at": null,
"livemode": true,
"created": 1790085931
}
}
}Competitors
competitor.removed
A competitor brand is no longer tracked. Object: competitor.
Show an example payload
{
"id": "evt_0kR3vWm8Qb1xYz2A4c6E8g",
"object": "event",
"type": "competitor.removed",
"api_version": "v1",
"created": 1790000000,
"livemode": true,
"brand": "br_0kQ1s9Xw3Yb5Zc7Ad9Ef1G",
"data": {
"object": {
"id": "comp_031DIivuBKog78mwjgnch7",
"object": "competitor",
"name": "Canyon",
"key": "canyon",
"domain": "canyon.com",
"market": "FR",
"origin": "detected",
"tracked": false,
"tracked_at": "2026-09-22T10:04:11Z",
"removed_at": "2026-09-23T08:30:00Z",
"livemode": true,
"created": 1790071451
}
}
}competitor.tracked
A competitor brand is now tracked. Object: competitor.
Show an example payload
{
"id": "evt_0kR3vWm8Qb1xYz2A4c6E8g",
"object": "event",
"type": "competitor.tracked",
"api_version": "v1",
"created": 1790000000,
"livemode": true,
"brand": "br_0kQ1s9Xw3Yb5Zc7Ad9Ef1G",
"data": {
"object": {
"id": "comp_031DIivuBKog78mwjgnch7",
"object": "competitor",
"name": "Canyon",
"key": "canyon",
"domain": "canyon.com",
"market": "FR",
"origin": "detected",
"tracked": true,
"tracked_at": "2026-09-22T10:04:11Z",
"removed_at": null,
"livemode": true,
"created": 1790071451
}
}
}Integrations
integration.disconnected
An integration was disconnected. Object: integration.
Show an example payload
{
"id": "evt_0kR3vWm8Qb1xYz2A4c6E8g",
"object": "event",
"type": "integration.disconnected",
"api_version": "v1",
"created": 1790000000,
"livemode": true,
"brand": "br_0kQ1s9Xw3Yb5Zc7Ad9Ef1G",
"data": {
"object": {
"object": "integration",
"brand": "br_031DIivuBKog78mwjgnYQr",
"provider": "shopify",
"status": "disconnected",
"external_property": "nordvelo.myshopify.com",
"last_error": null,
"last_synced_at": "2026-09-23T03:00:12Z",
"livemode": true
}
}
}integration.needs_reauth
An integration (Shopify, Search Console) needs to be connected again. Object: integration.
Show an example payload
{
"id": "evt_0kR3vWm8Qb1xYz2A4c6E8g",
"object": "event",
"type": "integration.needs_reauth",
"api_version": "v1",
"created": 1790000000,
"livemode": true,
"brand": "br_0kQ1s9Xw3Yb5Zc7Ad9Ef1G",
"data": {
"object": {
"object": "integration",
"brand": "br_031DIivuBKog78mwjgnYQr",
"provider": "shopify",
"status": "needs_reauth",
"external_property": "nordvelo.myshopify.com",
"last_error": "The app was uninstalled from the store.",
"last_synced_at": "2026-09-23T03:00:12Z",
"livemode": true
}
}
}Perception
perception.judged
The claims of the latest answers were judged against the product identity sheets. Object: perception_judgement.
Show an example payload
{
"id": "evt_0kR3vWm8Qb1xYz2A4c6E8g",
"object": "event",
"type": "perception.judged",
"api_version": "v1",
"created": 1790000000,
"livemode": true,
"brand": "br_0kQ1s9Xw3Yb5Zc7Ad9Ef1G",
"data": {
"object": {
"object": "perception_judgement",
"brand": "br_031DIivuBKog78mwjgnYQr",
"market": "FR",
"sampling": "smp_031DIivuBKog78mwjgnZUv",
"claims": 214,
"score": 71.4,
"by_model": [
{
"model": "chatgpt",
"runs": 58,
"conforming": 44,
"absent": 9,
"distorted": 6,
"false": 2
},
{
"model": "claude",
"runs": 51,
"conforming": 39,
"absent": 7,
"distorted": 3,
"false": 1
}
],
"livemode": true
}
}
}Product sheets
sheet.validated
A product identity sheet was validated by a person. Object: sheet.
Show an example payload
{
"id": "evt_0kR3vWm8Qb1xYz2A4c6E8g",
"object": "event",
"type": "sheet.validated",
"api_version": "v1",
"created": 1790000000,
"livemode": true,
"brand": "br_0kQ1s9Xw3Yb5Zc7Ad9Ef1G",
"data": {
"object": {
"id": "sheet_031DIivuBKog78mwjgnXQv",
"object": "sheet",
"product": "prod_031DIivuBKog78mwjgnbd3",
"status": "validated",
"version": 3,
"promise": "Le gravel carbone le plus léger de sa catégorie, garanti à vie.",
"attributes": [
{
"id": "attr_weight",
"label": "Cadre carbone 890 g"
},
{
"id": "attr_warranty",
"label": "Garantie à vie"
},
{
"id": "attr_fit",
"label": "Géométrie endurance"
}
],
"price_positioning": "premium",
"audience": "Cyclistes gravel exigeants, longues distances",
"specs": [
{
"key": "Poids cadre",
"value": "890 g"
}
],
"validated_at": "2026-09-22T15:40:00Z",
"livemode": true,
"created": 1790000000
}
}
}Readiness
readiness.score.updated
The AI readiness score of a market was computed again (with the previous score). Object: readiness_score.
Show an example payload
{
"id": "evt_0kR3vWm8Qb1xYz2A4c6E8g",
"object": "event",
"type": "readiness.score.updated",
"api_version": "v1",
"created": 1790000000,
"livemode": true,
"brand": "br_0kQ1s9Xw3Yb5Zc7Ad9Ef1G",
"data": {
"object": {
"object": "readiness_score",
"brand": "br_031DIivuBKog78mwjgnYQr",
"market": "FR",
"score": 68,
"previous_score": 64,
"trigger": "crawl",
"blocks": [
{
"block": "crawlability",
"weight": 30,
"score": 82,
"measured": true,
"checks": [
{
"check": "robots_ai_bots",
"status": "ok",
"value": "7/7",
"impact": 0
},
{
"check": "llms_txt",
"status": "err",
"value": null,
"impact": 4
}
]
}
],
"computed_at": "2026-09-23T04:19:10Z",
"livemode": true
}
}
}Revenue
order.attributed
A store order was attributed to an AI surface (ChatGPT, Claude, Gemini, Perplexity…). Object: order.
Show an example payload
{
"id": "evt_0kR3vWm8Qb1xYz2A4c6E8g",
"object": "event",
"type": "order.attributed",
"api_version": "v1",
"created": 1790000000,
"livemode": true,
"brand": "br_0kQ1s9Xw3Yb5Zc7Ad9Ef1G",
"data": {
"object": {
"id": "ord_031DIivuBKog78mwjgnaYz",
"object": "order",
"source": "shopify",
"order_number": "#1042",
"ordered_at": "2026-09-23T09:12:44Z",
"currency": "EUR",
"subtotal": "2399.00",
"total": "2399.00",
"items_count": 1,
"country": "FR",
"ai_surface": "chatgpt",
"attribution_signal": "referrer",
"referrer_host": "chatgpt.com",
"landing_path": "/products/strade-7",
"landing_product": "prod_031DIivuBKog78mwjgnbd3",
"utm_source": null,
"utm_medium": null,
"utm_campaign": null,
"lines": [
{
"product": "prod_031DIivuBKog78mwjgnbd3",
"title": "Strade 7",
"sku": "STR7-M",
"quantity": 1,
"unit_price": "2399.00",
"total": "2399.00"
}
],
"livemode": true,
"created": 1790154764
}
}
}SEO
seo.crawl.completed
An SEO crawl of a market finished, with its score. Object: seo_crawl.
Show an example payload
{
"id": "evt_0kR3vWm8Qb1xYz2A4c6E8g",
"object": "event",
"type": "seo.crawl.completed",
"api_version": "v1",
"created": 1790000000,
"livemode": true,
"brand": "br_0kQ1s9Xw3Yb5Zc7Ad9Ef1G",
"data": {
"object": {
"object": "seo_crawl",
"brand": "br_031DIivuBKog78mwjgnYQr",
"market": "FR",
"status": "completed",
"trigger": "scheduled",
"score": 78,
"pages_crawled": 412,
"checks": {
"ok": 41,
"warn": 7,
"err": 3
},
"started_at": "2026-09-23T04:00:02Z",
"finished_at": "2026-09-23T04:18:45Z",
"livemode": true
}
}
}Tasks
task.created
A task was added to the backlog, by hand or from an alert, a check or an opportunity. Object: task.
Show an example payload
{
"id": "evt_0kR3vWm8Qb1xYz2A4c6E8g",
"object": "event",
"type": "task.created",
"api_version": "v1",
"created": 1790000000,
"livemode": true,
"brand": "br_0kQ1s9Xw3Yb5Zc7Ad9Ef1G",
"data": {
"object": {
"id": "task_031CQmvL2QQbe3t38Gyo91",
"object": "task",
"brand": "br_031CQGx2DNM4mxT2CO7BL3",
"title": "Corriger le prix affiché de la Grizl CF SL 7",
"description": "ChatGPT annonce 2 199 € alors que le catalogue affiche 2 499 €.",
"status": "in_progress",
"kind": "content",
"effort": "s",
"source": "alert",
"source_label": "Alerte · hallucination de prix",
"alert": "alrt_031CQlTxUKUOFYaHSd3kBY",
"product": "Grizl CF SL 7",
"impact": "Critique",
"gain": null,
"guide": {
"topic": "price_source",
"platform": "shopify",
"steps": [
"Open the alert and its answers: note the sources cited next to the wrong price.",
"Old promotion page still online: Online Store → Pages, hide it, then create a URL redirect (search « URL redirects » in the admin) to the current product page.",
"Check the variant's price and « compare-at price » in Products; update Google Merchant Center and the comparison sites.",
"Click « Verify » on the alert: a targeted re-sampling confirms the fix."
]
},
"assignee": {
"name": "Camille Martin"
},
"started_at": "2026-09-21T09:12:00Z",
"published_at": null,
"verify_at": null,
"verified_at": null,
"livemode": true,
"created": 1790000000,
"updated": 1790003600
}
}
}task.updated
A task changed: fields, assignee or kanban status. Object: task.
Show an example payload
{
"id": "evt_0kR3vWm8Qb1xYz2A4c6E8g",
"object": "event",
"type": "task.updated",
"api_version": "v1",
"created": 1790000000,
"livemode": true,
"brand": "br_0kQ1s9Xw3Yb5Zc7Ad9Ef1G",
"data": {
"object": {
"id": "task_031CQmvL2QQbe3t38Gyo91",
"object": "task",
"brand": "br_031CQGx2DNM4mxT2CO7BL3",
"title": "Corriger le prix affiché de la Grizl CF SL 7",
"description": "ChatGPT annonce 2 199 € alors que le catalogue affiche 2 499 €.",
"status": "in_progress",
"kind": "content",
"effort": "s",
"source": "alert",
"source_label": "Alerte · hallucination de prix",
"alert": "alrt_031CQlTxUKUOFYaHSd3kBY",
"product": "Grizl CF SL 7",
"impact": "Critique",
"gain": null,
"guide": {
"topic": "price_source",
"platform": "shopify",
"steps": [
"Open the alert and its answers: note the sources cited next to the wrong price.",
"Old promotion page still online: Online Store → Pages, hide it, then create a URL redirect (search « URL redirects » in the admin) to the current product page.",
"Check the variant's price and « compare-at price » in Products; update Google Merchant Center and the comparison sites.",
"Click « Verify » on the alert: a targeted re-sampling confirms the fix."
]
},
"assignee": {
"name": "Camille Martin"
},
"started_at": "2026-09-21T09:12:00Z",
"published_at": null,
"verify_at": null,
"verified_at": null,
"livemode": true,
"created": 1790000000,
"updated": 1790003600
}
}
}task.verified
A task reached “Verified”, by hand or because its alert was resolved. Object: task.
Show an example payload
{
"id": "evt_0kR3vWm8Qb1xYz2A4c6E8g",
"object": "event",
"type": "task.verified",
"api_version": "v1",
"created": 1790000000,
"livemode": true,
"brand": "br_0kQ1s9Xw3Yb5Zc7Ad9Ef1G",
"data": {
"object": {
"id": "task_031CQmvL2QQbe3t38Gyo91",
"object": "task",
"brand": "br_031CQGx2DNM4mxT2CO7BL3",
"title": "Corriger le prix affiché de la Grizl CF SL 7",
"description": "ChatGPT annonce 2 199 € alors que le catalogue affiche 2 499 €.",
"status": "in_progress",
"kind": "content",
"effort": "s",
"source": "alert",
"source_label": "Alerte · hallucination de prix",
"alert": "alrt_031CQlTxUKUOFYaHSd3kBY",
"product": "Grizl CF SL 7",
"impact": "Critique",
"gain": null,
"guide": {
"topic": "price_source",
"platform": "shopify",
"steps": [
"Open the alert and its answers: note the sources cited next to the wrong price.",
"Old promotion page still online: Online Store → Pages, hide it, then create a URL redirect (search « URL redirects » in the admin) to the current product page.",
"Check the variant's price and « compare-at price » in Products; update Google Merchant Center and the comparison sites.",
"Click « Verify » on the alert: a targeted re-sampling confirms the fix."
]
},
"assignee": {
"name": "Camille Martin"
},
"started_at": "2026-09-21T09:12:00Z",
"published_at": null,
"verify_at": null,
"verified_at": null,
"livemode": true,
"created": 1790000000,
"updated": 1790003600
}
}
}Visibility
sampling.completed
A sampling finished: every query was asked to every model. Targeted re-samplings carry their query. Object: sampling.
Show an example payload
{
"id": "evt_0kR3vWm8Qb1xYz2A4c6E8g",
"object": "event",
"type": "sampling.completed",
"api_version": "v1",
"created": 1790000000,
"livemode": true,
"brand": "br_0kQ1s9Xw3Yb5Zc7Ad9Ef1G",
"data": {
"object": {
"id": "smp_031DIivuBKog78mwjgnZUv",
"object": "sampling",
"market": "FR",
"trigger": "scheduled",
"status": "completed",
"query": null,
"week_starts_on": "2026-09-21",
"models": [
"chatgpt",
"claude",
"gemini",
"perplexity"
],
"queries_count": 40,
"runs_total": 640,
"runs_completed": 635,
"runs_failed": 5,
"brand_share": 31.9,
"by_model": [
{
"model": "chatgpt",
"runs": 160,
"hits": 61,
"avg_position": 2.4
},
{
"model": "claude",
"runs": 158,
"hits": 49,
"avg_position": 2.9
},
{
"model": "gemini",
"runs": 157,
"hits": 38,
"avg_position": 3.1
},
{
"model": "perplexity",
"runs": 160,
"hits": 55,
"avg_position": 2.2
}
],
"error": null,
"started_at": "2026-09-21T02:00:04Z",
"finished_at": "2026-09-21T02:41:37Z",
"livemode": true,
"created": 1790042400
}
}
}sampling.failed
A sampling failed before its end. Object: sampling.
Show an example payload
{
"id": "evt_0kR3vWm8Qb1xYz2A4c6E8g",
"object": "event",
"type": "sampling.failed",
"api_version": "v1",
"created": 1790000000,
"livemode": true,
"brand": "br_0kQ1s9Xw3Yb5Zc7Ad9Ef1G",
"data": {
"object": {
"id": "smp_031DIivuBKog78mwjgnZUv",
"object": "sampling",
"market": "FR",
"trigger": "scheduled",
"status": "failed",
"query": null,
"week_starts_on": "2026-09-21",
"models": [
"chatgpt",
"claude",
"gemini",
"perplexity"
],
"queries_count": 40,
"runs_total": 640,
"runs_completed": 0,
"runs_failed": 640,
"brand_share": null,
"by_model": [],
"error": "Every run failed.",
"started_at": "2026-09-21T02:00:04Z",
"finished_at": "2026-09-21T02:41:37Z",
"livemode": true,
"created": 1790042400
}
}
}