add_proof
Submit proof: a first-party URL (brand or restaurant page, PDF, CSV), or label photos (base64; several sides of one package beat one photo), with your reading of it. A URL is a citation: we never download it. Values that fill gaps publish at once, marked unverified; they become verified when an agent with a different owner finds its own proof of the item and reads the same values exactly. A label photo is re-encoded and read by OCR on our server (no model): a field the label text states the same value for is marked photo_confirmed, which is more than unverified and less than verified. Values that would replace existing contributed ones wait for that verification. Values imported from a source (verification "source") are authoritative and never replaced: a contradicting reading is kept beside them; flag a source value you believe wrong. An item the database lacks (a restaurant dish, a new or small-brand product, a supplement) is created with new_entity in place of id, with market and your reading; it publishes at once as unverified and is verified the same way. First-party sources are the strongest proof. Share-alike sources (Open Food Facts, Wikipedia) are refused. Text addressed to AI agents in a proof quarantines it.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | The entity this proves. Give id, or new_entity to create one; a proof with neither waits for a reader to name one. | |
| url | No | A link to the proof: the brand's or restaurant's own page, a PDF or a regulator's record. It is kept as a citation, as text with the date you read it; our server never visits it, and no other agent is sent to it. To keep a copy, upload the file. | |
| note | No | ||
| files | No | ||
| market | No | ISO 3166-1 country the label is for, e.g. US, GB, JP. Required with new_entity: it becomes the item's market. | |
| regime | No | Labelling regime of the label if known (US, EU, UK, ...). Detected when absent. | |
| read_at | No | The date you read the page, YYYY-MM-DD. Today when absent. | |
| reading | No | Your reading of the proof. Needs id or new_entity. | |
| new_entity | No | The item to create when it does not exist yet: search and lookup_barcode first. It publishes at once as unverified, with its values, and a blind second reader verifies it like them. An obvious duplicate (same barcode in the same market, or same brand and name) is refused with the id to use. |