Validate receipts against rules supplied inline with each request.
What Receipt Validation Does
Receipt validation checks a submitted receipt against validation rules — dates, merchants, and other criteria — and returns a pass/fail result with the reasons. The endpoints in this category take those rules inline with each request: you send the receipt and a validation rule set together. This suits one-off checks, short promotions, and integrations that manage their own rules.
BetaReceipt Validation is in beta: request and response details may change, and the feature must be enabled on your account. Contact [email protected] to discuss enabling it or to give feedback.
Endpoints in This Category
| Endpoint | Method and path |
|---|---|
| Upload File | POST /api/validation/v1/receipt-validation/file |
| URL | POST /api/validation/v1/receipt-validation/url |
Upload File sends the receipt as multipart/form-data with the rules as a JSON string; URL sends a JSON body pointing at a public HTTPS receipt URL with the rules as a JSON object.
Typical Workflow
- Build the
validationrule set for this request — for example a date window and an allowed merchant list. - Submit the receipt with the rules to Upload File or URL.
- Read the result — pass/fail with the reasons each rule matched or failed, so your application can tell the end user why.
Related Guides
- Receipt Validation Fundamentals — concepts behind validation.
- SmartValidate — receipt-visible yes/no criteria.
- Validating Receipts — the validation flow end to end.
- Setting Up Validation Campaigns — when stored campaigns fit better.
Parameters
Every endpoint here authenticates with your API key. validation carries the rules; the input field depends on the endpoint.
| Parameter | Type | Where | Description |
|---|---|---|---|
apikey | header | required, both endpoints | Your API key. See Authentication. |
validation | string / object | required | The validation rule set for this request — a JSON string on Upload File (multipart fields carry text), a JSON object on URL. |
file | file | required on Upload File | Supported receipt or invoice file per Document Types & File Requirements. |
url | string | required on URL | HTTPS URL of the receipt, reachable by Taggun; private-network targets are rejected. |
headers | object | optional on URL | HTTP headers to forward when fetching a protected HTTPS resource. |
additionalExtractionFields | array | optional | Additional fields to expose on extracted objects. Currently supports ["modelNumber"]. |
containerId | string | optional, ≤50 | Namespaces similarity checks across related submissions (e.g. one promotion or event) when no campaign is used. |
language | string | optional | Language hint; leave empty for automatic detection (same examples as extraction — not an allowlist). |
near | string | optional | A location (city, state, country) to help search for the merchant. |
ipAddress | string | optional, ≤100 | End user's IP address, used for GeoIP lookup. |
incognito | boolean | optional, default false | Per-request storage opt-out. See Security, Privacy & Data Residency. |
userId | string | optional, ≤50 | End-user identifier returned with matched receipts, when available. |
subAccountId | string | optional, ≤100 | Attribute usage to a client or subdivision of your account for reporting. |
referenceId | string | optional, ≤50 | Caller-supplied identifier. See Duplicate & Similarity Detection. |