12.2.2 - 2026-06-23

  • SDK regeneration
  • Unable to analyze changes with AI, incrementing PATCH version.

12.2.1 - 2026-06-23

  • SDK regeneration
  • Unable to analyze changes with AI, incrementing PATCH version.

7.0.1 - 2026-05-28

  • chore: update child organization name validation docs
  • Refresh Javadoc across all child organization clients and types to
  • reflect the updated name validation rule: names must now contain at
  • least one letter and may contain only letters and spaces, replacing
  • the previous “uppercase, no spaces” constraint.
  • Key changes:
  • Update create() Javadoc in ChildrenClient, AsyncChildrenClient, RawChildrenClient, and AsyncRawChildrenClient
  • Update getName() and NameStage.name() Javadoc in ChildOrganizationAttributes and CreateChildAttributes
  • Update getName() and Builder.name() Javadoc in UpdateChildAttributes
  • 🌿 Generated with Fern

6.4.1 - 2026-05-27

  • chore: update Javadoc links in uploads clients to versioned API paths
  • Correct stale documentation hyperlinks across all four uploads client
  • classes (UploadsClient, AsyncUploadsClient, RawUploadsClient,
  • AsyncRawUploadsClient). The old unversioned paths have been replaced
  • with their canonical versioned equivalents under /2024-10-01/.
  • Key changes:
  • Replace /api/uploads/create-upload-part with /2024-10-01/api/transactions/uploads/create-part in create() Javadoc
  • Replace /api/uploads/create-upload with /2024-10-01/api/transactions/uploads/create in addPart() Javadoc
  • Fix line-break in “Add Upload Part” anchor text so it renders as a single inline link
  • 🌿 Generated with Fern

1.5.2 - 2026-05-07

  • chore: update required scope for createBulkTransactionsUploadUrl to files:write
  • Correct the documented OAuth scope required to call createBulkTransactionsUploadUrl
  • across all four transaction client variants. The Javadoc previously stated
  • transaction:write as the required scope; the correct scope is files:write.
  • No public API signatures, return types, or runtime behavior are changed.
  • Key changes:
  • Update Javadoc in TransactionsClient.createBulkTransactionsUploadUrl() to reflect files:write scope
  • Update Javadoc in AsyncTransactionsClient.createBulkTransactionsUploadUrl() to reflect files:write scope
  • Update Javadoc in RawTransactionsClient.createBulkTransactionsUploadUrl() to reflect files:write scope
  • Update Javadoc in AsyncRawTransactionsClient.createBulkTransactionsUploadUrl() to reflect files:write scope
  • 🌿 Generated with Fern

17.1.1 - 2026-04-30

  • chore: update Javadoc for bulk upload and uploads client deprecation
  • Refresh documentation across all transaction and uploads client variants
  • to reflect expanded bulk upload support and mark the legacy uploads API
  • as deprecated.
  • Key changes:
  • Update createBulkTransactionsUploadUrl Javadoc to document support for both incomingTransactionsFile and historicalTransactionsFile types (sync, async, raw, and async-raw clients)
  • Mark UploadsClient.create(), createPart(), and update() (and all async/raw variants) as deprecated in favor of the bulk transactions upload URL endpoint
  • Add deprecation notice pointing consumers to the Historical Transaction Uploads integration guide
  • 🌿 Generated with Fern

13.2.0 - 2026-04-14

  • [ADDED] Configurable SDK logging via the new LogConfig, LogLevel, ILogger, Logger, and ConsoleLogger types in com.kard.api.core. Pass a LogConfig to KardApiClientBuilder.logging(LogConfig) or AsyncKardApiClientBuilder.logging(LogConfig) to capture HTTP request/response activity at your desired level (DEBUG, INFO, WARN, ERROR). Logging is silent by default — no output is produced unless explicitly enabled. Supply a custom ILogger implementation to redirect output to any logging framework.
  • [FIXED] Query-parameter getters on several request types (GetFilesMetadataRequest, GetEarnedRewardsRequest, GetLocationsByUserRequest, GetOffersByUserRequest, GetSubscriptionsRequest, ActivateOfferRequest, BoostOfferRequest) were annotated with @JsonProperty instead of @JsonIgnore. They are now correctly marked @JsonIgnore, preventing these fields from being unintentionally serialized into a request body.

13.1.0 - 2026-04-10

  • GetEarnedRewardsRequest now supports an optional include parameter that accepts a comma-separated list of related resources (merchant, offer) to embed in the earned-rewards response. Pass the value via the builder with .include("merchant,offer") — existing builder chains require no changes.

13.0.0 - 2026-04-10

  • The CardNetwork class has been moved from com.kard.api.resources.transactions.types to com.kard.api.resources.commons.types. Existing code that imports CardNetwork from the old package will fail to compile. Update all import statements from import com.kard.api.resources.transactions.types.CardNetwork; to import com.kard.api.resources.commons.types.CardNetwork;.

12.1.0 - 2026-04-07

  • Two new types — AttributionState and AttributionFilter — are now available in the com.kard.api.resources.users.attributions.types package. NotificationAttributionAttributes and OfferAttributionAttributes each expose a new optional getState() method that returns placement context (offer rank and active filters) recorded at the time of the attribution event. Existing builder chains require no changes.

12.0.0 - 2026-04-07

  • The getType() method on CreateFileUploadData and FileUploadUrlData now returns a FileUploadType enum instead of a hardcoded String. The new FileUploadType enum exposes constants INCOMING_TRANSACTIONS_FILE and HISTORICAL_TRANSACTIONS_FILE and a Visitor<T> interface for exhaustive handling. Additionally, type is now a required first step in both classes’ staged builders — code that calls CreateFileUploadData.builder().attributes(...) or FileUploadUrlData.builder().id(...) directly will fail to compile and must be updated to call .type(FileUploadType.INCOMING_TRANSACTIONS_FILE) (or the appropriate variant) first.

11.0.0 - 2026-04-06

  • Four NotificationType constants — LOCATION, USER_OFFER, OFFER, and MERCHANT — have been removed, along with their corresponding Value enum entries and Visitor interface methods (visitLocation(), visitUserOffer(), visitOffer(), visitMerchant()). Any exhaustive visitor implementations or switch statements referencing these values must be updated. Additionally, the following public classes have been deleted: BrokerAmount, BrokerAmountType, BrokerAsset, BrokerAssetType, BrokerOperationHours, BrokerOperationPeriod, BrokerPurchaseChannel, and BrokerReward. Code that references any of these removed types will fail to compile and must be migrated accordingly.
  • The offer, merchant, location, and userOffer variants have been removed from NotificationDataUnion. The corresponding factory methods (offer(), merchant(), location(), userOffer()), accessors (getOffer(), getMerchant(), getLocation(), getUserOffer()), type-check methods (isOffer(), isMerchant(), isLocation(), isUserOffer()), and Visitor interface methods (visitOffer(), visitMerchant(), visitLocation(), visitUserOffer()) have all been removed. Additionally, the public classes BrokerRewardType, LocationAddress, LocationCoordinates, LocationStatus, MerchantSource, OfferStatus, OfferType, and TimePeriod have been deleted. Existing code that references any of these APIs will fail to compile and must be updated.
  • The UserOfferStatus, WebhookLocationsAttributes, WebhookLocationsData, and WebhookLocationsRelationships classes have been removed from the com.kard.api.resources.notifications.types package. Existing code that references any of these types will fail to compile and must be updated — remove all usages and consult the updated API documentation for any replacement types.
  • The WebhookMerchantAttributes, WebhookMerchantData, and WebhookMerchantRelationships classes have been removed from the com.kard.api.resources.notifications.types package. Existing code that references these classes or their builder stage interfaces (such as MerchantIdStage, NameStage, AttributesStage, etc.) will fail to compile and must be updated. Review the updated API definition for replacement types to handle webhook merchant payloads.
  • The WebhookOfferAttributes and WebhookOfferData classes have been removed from the SDK. Code that references either class — including their staged builder interfaces and getter methods — will fail to compile. Remove all usages of these types; replacement types may be introduced in a future release.
  • The following public classes have been removed from the com.kard.api.resources.notifications.types package: WebhookOfferRelationships, WebhookUserOfferAttributes, WebhookUserOfferData, and WebhookUserOfferRelationships, along with all of their associated builder interfaces and getter methods. Existing code that references any of these types will fail to compile and must be updated to remove or replace those usages.

10.0.0 - 2026-04-03

  • The getFinancialInstitutionName() method on CoreTransactionAttributes now returns Optional<String> instead of String. Existing code that calls this method without unwrapping the Optional will fail to compile and must be updated. Additionally, the FinancialInstitutionNameStage builder interface has been removed — financialInstitutionName is no longer a required builder step and is instead set via optional overloaded methods on _FinalStage. Builder chains that previously passed through FinancialInstitutionNameStage must be updated accordingly.

9.1.0 - 2026-04-02

  • The CoreTransactionAttributes class now includes an optional financialInstitutionId field that provides a unique identifier for the financial institution. The existing financialInstitutionName field has been deprecated — consumers should migrate to financialInstitutionId going forward.

9.0.0 - 2026-03-30

  • The cardLastFour field in CoreTransactionAttributes has been renamed to cardLastFours and changed from Optional<String> to Optional<List<String>>. This supports cases where multiple card candidates may be provided when the issuer cannot determine which specific card was used. Existing code accessing getCardLastFour() must be updated to use getCardLastFours() and handle the list type.

8.0.0 - 2026-03-27

  • The xKardTargetIssuer configuration method has been moved from the main client builders (KardApiClientBuilder and AsyncKardApiClientBuilder) to the authentication builders. When using credential-based authentication, call xKardTargetIssuer() on the credentials builder returned by .credentials() instead of on the main client builder.

7.1.0 - 2026-03-25

  • The CoreTransactionAttributes class now includes an optional cardLastFour field that provides the last four digits of the card used for the transaction.

7.0.0 - 2026-03-18

  • Breaking Changes

  • User operations now return UserResponseObject instead of UpdateUserObject. Update your variable types and field access patterns.
  • Added

  • UpdateUserRequestDataUnion type for enhanced user data operations.
  • historicalTransactionsSent optional field when updating user attributes.

6.0.0 - 2026-03-18

  • The ProgressBar API has been restructured with breaking changes. The segmentIcon field has been replaced with a segments configuration object. The ProgressBarLabel class has been renamed to ProgressBarSegment, and ProgressBarLabels now uses ProgressBarLabelPair objects instead of ProgressBarLabel. Update your code to use the new type names and field structures when working with progress bar configurations.

5.0.0 - 2026-03-17

  • The ProgressBar class now includes a new required ‘labels’ field that enables configurable label placement for different layout views. Three new types are available: ProgressBarLabels (containing details and default view configurations), ProgressBarLabel (with text and position properties), and ProgressBarLabelPosition enum (supporting LEFT and RIGHT positions).