From 641518431dfabbb6648b0446d4761cd2293fa9ae Mon Sep 17 00:00:00 2001 From: Mae Evans Date: Thu, 27 Aug 2026 13:45:09 -0600 Subject: [PATCH] No batch post requests for US street, zip, or extract that use embedded keys --- CLAUDE.md | 1 + src/main/java/examples/UsExtractExample.java | 4 ++-- src/main/java/examples/UsStreetMultipleAddressesExample.java | 4 ++-- src/main/java/examples/UsZipCodeMultipleLookupsExample.java | 4 ++-- 4 files changed, 7 insertions(+), 6 deletions(-) diff --git a/CLAUDE.md b/CLAUDE.md index 22c8c84..007712d 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -72,6 +72,7 @@ Single lookups are sent as GET with query parameters. Batch (2+) lookups use POS - `StaticCredentials`: Auth ID + Auth Token (server-to-server) - `SharedCredentials`: Web Token + Referer (browser/mobile) +- Embedded/website keys are GET-only — not valid for batch (POST) requests or the US Extract API (POST-only): https://www.smarty.com/docs/cloud/authentication ### Test Mocks diff --git a/src/main/java/examples/UsExtractExample.java b/src/main/java/examples/UsExtractExample.java index 4a2afc9..f8694a0 100644 --- a/src/main/java/examples/UsExtractExample.java +++ b/src/main/java/examples/UsExtractExample.java @@ -12,8 +12,8 @@ public class UsExtractExample { public static void main(String[] args) { // We recommend storing your authentication credentials in environment variables. - // for client-side requests (browser/mobile), use this code: - // SharedCredentials credentials = new SharedCredentials(System.getenv("SMARTY_AUTH_WEB"), System.getenv("SMARTY_AUTH_REFERER")); + // The US Extract API is POST-only and embedded keys are restricted to GET, so this + // API requires secret keys: https://www.smarty.com/docs/cloud/authentication BasicAuthCredentials credentials = new BasicAuthCredentials(System.getenv("SMARTY_AUTH_ID"), System.getenv("SMARTY_AUTH_TOKEN")); try (Client client = new ClientBuilder(credentials).buildUsExtractApiClient()) { diff --git a/src/main/java/examples/UsStreetMultipleAddressesExample.java b/src/main/java/examples/UsStreetMultipleAddressesExample.java index 93aed19..506dda3 100644 --- a/src/main/java/examples/UsStreetMultipleAddressesExample.java +++ b/src/main/java/examples/UsStreetMultipleAddressesExample.java @@ -12,8 +12,8 @@ public class UsStreetMultipleAddressesExample { public static void main(String[] args) { // We recommend storing your authentication credentials in environment variables. - // for client-side requests (browser/mobile), use this code: - // SharedCredentials credentials = new SharedCredentials(System.getenv("SMARTY_AUTH_WEB"), System.getenv("SMARTY_AUTH_REFERER")); + // Batch requests are sent via HTTP POST. Embedded keys are restricted to GET, so + // batches require secret keys: https://www.smarty.com/docs/cloud/authentication BasicAuthCredentials credentials = new BasicAuthCredentials(System.getenv("SMARTY_AUTH_ID"), System.getenv("SMARTY_AUTH_TOKEN")); try (Client client = new ClientBuilder(credentials) diff --git a/src/main/java/examples/UsZipCodeMultipleLookupsExample.java b/src/main/java/examples/UsZipCodeMultipleLookupsExample.java index ed60639..260d28d 100644 --- a/src/main/java/examples/UsZipCodeMultipleLookupsExample.java +++ b/src/main/java/examples/UsZipCodeMultipleLookupsExample.java @@ -12,8 +12,8 @@ public class UsZipCodeMultipleLookupsExample { public static void main(String[] args) { // We recommend storing your authentication credentials in environment variables. - // for client-side requests (browser/mobile), use this code: - // SharedCredentials credentials = new SharedCredentials(System.getenv("SMARTY_AUTH_WEB"), System.getenv("SMARTY_AUTH_REFERER")); + // Batch requests are sent via HTTP POST. Embedded keys are restricted to GET, so + // batches require secret keys: https://www.smarty.com/docs/cloud/authentication BasicAuthCredentials credentials = new BasicAuthCredentials(System.getenv("SMARTY_AUTH_ID"), System.getenv("SMARTY_AUTH_TOKEN")); try (Client client = new ClientBuilder(credentials).buildUsZipCodeApiClient()) {