REST — Representational State Transfer
The web's long-standing API style: one URL per resource, fixed response shapes, a handful of verbs. Simple and universal — and frozen on Shopify: the REST Admin API no longer receives new commerce features, so anything built against it reads yesterday's platform.
SOAP — Simple Object Access Protocol
The enterprise API protocol of the 2000s: XML envelopes, rigid contracts, heavyweight tooling. It survives in legacy integrations — Rithum still documents a V7 SOAP API — and its presence usually marks the oldest, least movable joint in a stack.
GraphQL
An API query language where the client names exactly the nested structure it wants — a product with its variants, metafields, and categories in one request, returned in one shape. It is how Shopify now exposes its full model, and the shape AI agents consume natively.
JSON / NDJSON
JavaScript Object Notation: the data format of the modern web — objects inside objects, the graph shape. NDJSON is newline-delimited JSON, a stream of one-object rows: JSON syntax with a flat-file soul.
CSV / TSV
Comma- or tab-separated values: flat rows and columns, a spreadsheet as a text file. Ideal for a human auditing one table; structurally unable to carry nesting, so product relationships must be faked with conventions.
XML — eXtensible Markup Language
The pre-JSON structured format: tagged documents with attributes. Still the substrate of SOAP and of many channel feed templates.
item_group_id
The channel-file convention that fakes product structure in a flat file: every variant becomes its own row, and a shared item_group_id string tells the channel which rows belong to one parent. A workaround, not a data model — the wrong-shape thesis in a single field.
Idempotent / Idempotency key
An operation is idempotent when repeating it changes nothing after the first time: send the same order twice and you get one order, not two. Retries are normal — networks time out, queues redeliver, an ERP on a 15-minute cycle re-sends a batch it already sent — so the receiver needs a way to recognise a repeat. That way is an idempotency key: a unique id the sender generates and attaches to the request, which the receiver records and checks before acting. Same key seen twice, second one ignored. The QA test is exact: send the identical request twice and assert the second one produces no new row, no second charge, no second email, no second webhook. If it does, the operation is not idempotent, and every retry in production is silently creating duplicates. This is the property agentic checkout depends on — an agent that retries a payment must not pay twice.
Monotonic sequence
A counter that only ever moves in one direction and never repeats — 1, 2, 3, and never back to 2. Stamping a monotonic sequence number on each record is what lets you prove order and detect trouble without guessing: receive 7 then 9 and you know 8 is missing; receive 7 then 7 and you know something was replayed. Timestamps are not a substitute — clocks drift, two events share a millisecond, and time zones lie. The QA test: pull a day of records, sort by sequence, and assert no gaps and no repeats. Without this, a batch that arrives out of order or twice is undetectable after the fact, and any reconstruction of what happened is inference rather than evidence. Idempotency stops the duplicate; monotonicity proves the ordering — you need both, and they are separate mechanisms. Two different faults hide here. A gap or a repeat is a numbering fault, found by sorting. Two records both claiming to follow the same predecessor is a fork — a history that split in two — and sorting will never show it, because both records are correctly numbered. Checking position and checking lineage are separate assertions, and a record that enforces only one is half-checked.
CAS — Compare-and-swap
A write that lands only if what it is replacing is still what the writer last saw. Two systems editing one record at the same moment: without it the second silently overwrites the first and nobody ever learns a change was lost. With it the second write is refused, and the writer re-reads and decides again. The refusal is the feature — a lost update is invisible, a rejected one is not. Applied to an append-only history the same idea keeps the line single-threaded: each entry names the entry it follows, so two entries claiming the same predecessor cannot both exist. No locks, no coordinator, no queue — the constraint itself does the arbitrating, which means a writer cannot opt out of it by being careless.
Ordering key
A label attached to a message so everything sharing that label is delivered in the order it was sent. Deliberately per-label rather than global, because global ordering does not scale and is rarely what anyone wants — you need one customer’s events in sequence, not every customer’s interleaved. Not the same as compare-and-swap. An ordering key sequences and refuses nothing, so two conflicting writes both land — tidily, in order. And the guarantee ends the moment the message leaves the bus: an order held by the transport cannot be proved afterwards, where an order held by the records themselves can. It also costs head-of-line blocking — one message that cannot be processed stops everything behind it sharing its label.
Dead-letter queue
Where a message goes once delivery has failed too many times, instead of being retried forever or quietly expiring. The value is not the retry limit — it is that a failure becomes something you can read, contents intact, rather than an absence you infer from a row that never appeared. Two cautions worth more than the mechanism. A dead-letter store with nothing reading it is a bin nobody empties: the failure is kept for a retention window and then lost anyway. And it only earns its place where the failed work cannot be recomputed — anything rebuildable from an authoritative record already has a recovery path, and giving it a second one creates two answers that can disagree.
Merchant AI
Shorthand for the AI surfaces that read and transact against merchant catalogs: Google's Shopping Graph and agentic checkout, answer engines citing product data, autonomous buying agents. They consume structured objects; none of them read your spreadsheet.
UCP — Universal Commerce Protocol
The emerging protocol layer that lets AI agents discover a merchant's catalog, build a cart, and check out directly — commerce as an API conversation between agent and merchant rather than a human on a website.
GPC — Google Product Category
Google's product taxonomy for Merchant Center: the classification every product maps to for Shopping surfaces. One of the schema maps in the intro deck — Shopify GraphQL to GPC to Merchant feed.
RAG — Retrieval-Augmented Generation
How AI systems answer from your content: retrieve the relevant records, then generate the reply from them. Every RAG query against a catalog is a machine read — one reason egress pricing matters in the AI era.
PIM — Product Information Management
The system that owns product truth — attributes, relationships, variants, media — and feeds every channel from it. The thesis's question for any PIM: does it store the graph, or flatten it at the front door?
WMS — Warehouse Management System
The software that runs the physical warehouse: inventory, picking, movement. The lights-out warehouse is a WMS operating on event-driven, machine-speed data — which a nightly flat file structurally cannot feed.
BI — Business Intelligence
The analytics estate: dashboards, warehouses, BigQuery. Downstream of everything — and when the pipeline is flat files, BI receives yet another un-joined copy.
SOC 2
The audit standard for how a vendor handles customer data — security, availability, confidentiality — verified by an independent auditor. Table stakes for enterprise procurement.
JWE — JSON Web Encryption
An encrypted, verifiable token format. In this stack: the timestamped ledger entries a security or privacy officer can actually verify — consent, mandates, and deploys as evidence, not policy PDFs.
Egress
Cloud pricing for data leaving a provider's network. The AI era multiplies reads — feeds fetched, catalogs crawled, RAG answered — and on an egress-billed cloud every read is a metered event. R2 charges zero.
CISO / DPO
Chief Information Security Officer / Data Protection Officer — the people who sign off on how data is secured and governed, and the audience the governance ledger is written for.
CRA — Cyber Resilience Act (#CRA · #CyberResilienceAct)
Regulation (EU) 2024/2847: the EU law that makes cybersecurity a market-access requirement for products with digital elements — firmware included. Two clocks run: from 11 September 2026, Article 14 obliges manufacturers to report actively exploited vulnerabilities and severe incidents to ENISA and national CSIRTs, including for products already on the EU market; full obligations — secure updates, conformity assessment, CE marking — apply 11 December 2027. Read the September date carefully: you cannot report exploitation you cannot see, so the reporting deadline is quietly an evidence-ledger mandate.
Firmware (#Firmware)
The software shipped inside devices — delivered, in the incumbent model, as expanding EXEs and vendor bundles carrying embedded endpoints, credentials, and unlock logic. Under the bundle rule, anything shipped into a device image is public on arrival: masters stay in the asset system, devices receive scoped, revocable, mandate-authorized updates — the architecture the CRA's reporting clock requires in practice.
The right shape, shipped: PIM Sync for UCP Data — the GraphQL, AI-shaped PIM. Tailored for GraphQL-era Shopify, built for Google feed managers, BigQuery-ready.