Skip to content
Sandbox

Core concepts

The vocabulary of Noryo Merchant API on one page: descriptor, enrichment, economic identity, identifiers, statuses, units and environments.

View as Markdown

This page defines the terms used throughout the documentation. Field and value names stay exactly as the API returns them.

The descriptor and the enrichment

TermDefinition
descriptorThe raw bank label, as it appears on the statement (CB MCDONALDS PARIS 4519). It is the only required field of a request. Noryo does not retain it.
EnrichmentThe result of a call that was settled: a merchant identity (or the absence of one), a status, and what the call cost.
enrichment_idThe public identity of a result, shaped enr_<uuid>. A refresh produces a new result, hence a new enrichment_id; the old one keeps pointing at the old result.
merchantThe merchant identity: name, category, logo_url, location, confidence. It is null when the status is not_found.

What identifies a transaction

TermDefinition
Economic identityThe six fields descriptor, amount, currency, occurred_at, country and mcc, compared in a canonical form. Two calls that differ only by amount are two distinct enrichments.
external_transaction_idYour identifier for the transaction. It carries economic deduplication: the same transaction sent twice is billed once. It does not expire.
Idempotency-KeyA request header that protects the transport: a network retry replays the memorised response instead of recomputing. 24-hour window.

The two identifiers do not replace each other. See The two identifiers.

What the response says

TermDefinition
enrichment.statusresolved, partial, not_found or refresh_recalculated. Read it first, before merchant. See Statuses.
enrichment.reasonA public reason from a closed list for partial and not_found, null otherwise.
confidenceA model confidence score between 0 and 1. It is not a calibrated probability. See Confidence.
usageWhat this call cost: billable, units, deduplicated, deduplicated_by.
UnitThe unit in which usage is counted. A resolved or refresh_recalculated result is 1 unit; partial and not_found are 0.

Who calls, and where

TermDefinition
Organisation and workspaceAn organisation groups workspaces; an API key belongs to a workspace. Results, idempotency keys and deduplication are scoped to a workspace and an environment. The Sandbox allowance is counted per organisation.
Environmentsandbox or production. The key prefix carries it and the server confirms it; the response repeats it in enrichment.environment.
Scopesenrich:read allows reading (GET), enrich:write allows creating and refreshing.
Noryo-Request-IdThe identifier of one HTTP attempt, shaped req_<uuid>. It is in the header of every response and in the body of every error.
codeThe machine code of a Problem Details error, for example idempotency_key_reuse. It is the only part of an error to build logic on.

What Noryo does with your input

All six economic fields enter the economic identity, but only descriptor currently drives resolution. In particular, country does not filter the answer: this is a measured choice, explained in Reading the response.

To decide whether two requests carry the same transaction, Noryo compares a canonical form rather than the bytes you sent: descriptor is normalised (Unicode NFC, lower case, collapsed whitespace), occurred_at is reduced to the second in UTC, while currency, country and mcc are compared verbatim. That is why currency and country must be upper case. See Formats.

Published on 2026-10-08 21:04 UTC (version 1).

Was this page helpful?