ShoesIndexDocumentDeletedPayload shoes.index_document.deleted@1
Generated at from
openvibe-contracts v0.419.0 and
openvibe-sdk v0.161.0.
- Version
- 1.0.0
- Owner
- shoes
- Visibility
- first-party
- Status
- active
- Compatibility
- backward
- Schema
https://openvibe.network/contracts/events/payloads/shoes.index_document.deleted.v1.json
shoes.index_document.deleted v1 (OpenVibe.Shoes server/search-index.js, via openvibe-publishing/search-feed). A Search tombstone for a shoe model's page (/shoe/<slug>) that is no longer listed or whose model is gone. Only sent for a page Search was sent before, and only when the tombstone's revision moved. Consumed by OpenVibe.Search ('*.index_document.*'). Envelope: subject { type: shoe, id, revision }, visibility internal, actor service:shoes.
Fields
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
type | const | yes |
| |
id | string | yes |
| |
revision | integer | yes | Index revision of the tombstone; wins over any document at the same or an older revision. |
|
Examples
From the contract's own test fixtures: valid ones validate, rejected ones must fail.
Valid: tombstone
{
"type": "shoe",
"id": "nike-air-max-90-3k7d2",
"revision": 3
}Rejected: full-document
{
"owner": "shoes",
"type": "shoe",
"id": "nike-air-max-90-3k7d2",
"revision": 2,
"deleted": false,
"visibility": "public",
"canonical_url": "https://open.shoes/shoe/nike-air-max-90-3k7d2",
"title": "Nike Air Max 90",
"summary": "Nike Air Max 90 from $98 at 3 stores today. Prices, history and size curves on open.shoes.",
"body": "Nike Air Max 90\nNike\nFrom $98 at 3 stores today.",
"facets": {
"brand": "Nike",
"stores": 3,
"lowest_price": 98
},
"authorship": "human",
"provenance": [],
"publication_state": "published",
"published_at": "2026-10-31T12:00:00.000Z",
"updated_at": "2026-11-02T08:00:00.000Z",
"indexability": {
"decision": "index",
"reasons": []
}
}Rejected: other-type
{
"type": "quest",
"id": "nike-air-max-90-3k7d2",
"revision": 3
}Validate
const contracts = require('openvibe-contracts');
contracts.validate('shoes.index_document.deleted@1', value); // { valid, errors: [{ path, message }] }