feat(inventory): add Inventory endpoint family - #672
Conversation
Implements the new agentic:inventory OAuth-scoped endpoints: stock adjustments, atomic multi-variant reservations (create/get/commit/release), stock levels (get/set), and beta product knowledge (get/set/delete). Error responses (404/409/422) surface through the SDK's existing generic CheckoutApiException map, documented in Javadoc rather than a dedicated per-domain error class, consistent with the rest of the SDK.
🟡 Risk Classification: MINORApproval route: AI Review + Human Approval Classification reasons
Operational gates
Files analysed: 26 wall-e 2026.06.19-02 · policy |
🔬 Debug — why this classification?Each reason code emitted by the classifier, its source clause in the AI in SDLC Control Framework, and what it means.
Kinds:
See issue #3 for the proposal to formalise this map as Appendix A of the standards doc. wall-e 2026.06.19-02 · debug |
🟠 Advisory review: Concerns worth a lookThis PR needs a human approval. Before you give it, these are the things I'd want resolved. This PR adds a new Inventory client family with 10 endpoints, wiring, request/response types, and tests. The implementation is generally well-structured, but there are two concrete problems: a missing Concerns
This is not an approval. wall-e cannot auto-approve this PR — it is an opinion to help whoever does. Advisory review · us.anthropic.claude-sonnet-4-6 · wall-e 2026.06.19-02 |
|



Summary
Implements the new Inventory product added to the API on 2026-09-10: stock adjustments,
atomic multi-variant reservations (create/get/commit/release), stock levels (get/set), and
beta product knowledge (get/set/delete). All 10 endpoints require the OAuth scope
agentic:inventory, no secret/public key support, reusing this SDK's existingSdkAuthorizationType.OAUTHclient pattern.Also verified the same swagger diff's
PaymentSessionCaptureFlag/PaymentSessionCaptureOnand
PaymentInterfacesPanPreference/PaymentInterfacesProvisionNetworkTokenschemaextraction: confirmed no-op for this SDK.
Changes
com/checkout/inventory/— newInventoryClient/InventoryClientImpl, request classes(InventoryAdjustmentRequest, InventoryReservationRequest, InventorySetLevelsRequest,
InventorySetProductRequest, InventoryLevelsQueryFilter), response classes
(InventoryLevels, InventoryReservation, InventoryProductKnowledge), shared types
(InventoryHalLink, InventoryMoney, InventoryReservationItem) and enums
com/checkout/inventory/InventoryClient.java— Javadoc documents the 404/409/422 errorshape surfaced through the SDK's existing generic
CheckoutApiException, no dedicatedper-domain error class (none exists elsewhere in this SDK)
CheckoutApi.java/CheckoutApiImpl.java— wired the new client insrc/test/java/com/checkout/inventory/— serialization and client tests, 40 passingAPI Reference
POST /inventory/adjustmentsPOST /inventory/reservationsGET /inventory/reservations/{id}POST /inventory/reservations/{id}/commitPOST /inventory/reservations/{id}/releaseGET /inventory/{variant_id}PUT /inventory/{variant_id}GET /inventory/{variant_id}/product(Beta)PUT /inventory/{variant_id}/product(Beta)DELETE /inventory/{variant_id}/product(Beta)Breaking changes
None. Purely additive.
README
No README changes needed.