---
title: "vision.receipt.read · OpenVibe.Services"
canonical: "https://openvibe.services/docs/capabilities/vision.receipt.read"
updated: null
---

# vision.receipt.read · OpenVibe.Services

HTML: [vision.receipt.read · OpenVibe.Services](https://openvibe.services/docs/capabilities/vision.receipt.read)

# `vision.receipt.read`

Generated at 2026-11-13 06:25:48 UTC from [`openvibe-contracts v0.419.0`](https://github.com/OpenVibers/OpenVibe.Contracts/tree/v0.419.0) and [`openvibe-sdk v0.161.0`](https://github.com/OpenVibers/OpenVibe.SDK/tree/v0.161.0).

Not grantable to apps (active, first-party).

Read a receipt on OpenVibe.Vision: POST /api/v1/receipt returns the store, line items and total the local OCR reader extracted; \`fallback\` asks OpenVibe.AI only when the local pass could not produce both. OpenVibe.Food decides what enters a pantry.

- Owner: vision (token audience `openvibe.vision`)
- Version: 1.0
- Status: active
- Visibility: first-party
- Resource constraints: none
- Quota class: vision-receipt
- Permissions: vision:receipt
- Input: [vision.receipt-request@1](/docs/contracts/vision.receipt-request)
- Output: vision.receipt-result@1
- Events: vision.result.ready
- Implemented by: - `POST /api/v1/receipt`

[These routes in the API explorer](/docs/api/vision#cap-vision.receipt.read)
