For AI agents: a documentation index is available at the root level at /llms.txt. Append /llms.txt to any URL for a page-level index, or .md for the markdown version of any page.
BatchActivationSlotRelationships). The included field on PlacementResource
and PlacementListResponse now carries the new discriminated-union type
IncludedResource instead of ContentStrategyResponse[]. Slot creation and
update inputs replace contentStrategyId with placementId.
Key changes:
BREAKINGBatchActivationPlacementAttributes.slots field removed; slot data now lives in relationships.slots on BatchActivationPlacementData
BREAKINGBatchActivationSlot interface deleted; replaced by BatchActivationSlotInclusion, BatchActivationSlotAttributes, and BatchActivationSlotRelationships
BREAKINGPlacementResource.included and PlacementListResponse.included type changed from ContentStrategyResponse[] to IncludedResource[]
BREAKINGCreateBatchActivationSlot.contentStrategyId and UpdateBatchActivationSlot.contentStrategyId renamed to placementId
BaseClientOptions — refactored to compose auth credentials via OAuthAuthProvider.AuthOptions instead of top-level clientId and clientSecret fields; update options objects to conform to the new intersection type.
Added
KardApiClient.fetch() — passthrough method for making arbitrary HTTP requests that automatically inherit the client’s configured authentication, retry, logging, and timeout settings.
OAuthTokenOverrideAuthProvider — new auth provider that accepts a pre-issued bearer token directly as an alternative to the client-credentials flow.
OAuthAuthProvider.createInstance() — factory method that automatically selects the appropriate auth provider based on supplied options, along with new exported types OAuthAuthProvider.ClientCredentials, OAuthAuthProvider.TokenOverride, and OAuthAuthProvider.AuthOptions.
makePassthroughRequest function and PassthroughRequest namespace — exported from the SDK core to allow arbitrary HTTP requests that inherit the client’s auth, base URL, retry logic, and logging.
KardApiError and KardApiTimeoutError — now expose an optional cause property and correctly capture stack traces for easier root-cause tracing.
Fetcher.TimeoutError and Fetcher.UnknownError — now include an optional cause field exposing the underlying error for improved debugging and error chaining.
Fixed
UploadPartMultiStatus — now correctly sets its prototype chain using new.target.prototype and captures a proper stack trace, ensuring instanceof checks and stack traces work reliably in transpiled environments.
BasicAuth — credentials are now optional; encoding is skipped when both username and password are empty strings, preventing malformed Authorization headers.
The getEarnedRewards method now accepts an optional include parameter, allowing callers to request related resources such as merchant and offer data in a single response. Pass a comma-separated string (e.g. "merchant,offer") via the include field on GetEarnedRewardsRequest.
The SDK now exports two new types, AttributionFilter and AttributionState, to represent placement context for attribution events. The NotificationAttributionAttributes and OfferAttributionAttributes interfaces gain a new optional state field of type AttributionState, which carries the rank position and active filters present when a user viewed an offer.
The SDK now exports a FileUploadType enum (IncomingTransactionsFile, HistoricalTransactionsFile) to represent the category of transaction file being uploaded. The type field on CreateFileUploadData and FileUploadUrlData has been widened to accept any FileUploadType value, enabling uploads of historical/back-filled transaction data in addition to real-time incoming transactions.
The offer, merchant, location, and userOffer notification types have been removed from the SDK. The NotificationType enum no longer includes Offer, Merchant, Location, or UserOffer values, and the corresponding variants have been removed from NotificationDataUnion. All associated exported types — including WebhookOfferData, WebhookMerchantData, WebhookLocationsData, WebhookUserOfferData, BrokerAmount, BrokerAsset, BrokerReward, LocationAddress, LocationCoordinates, TimePeriod, OfferStatus, OfferType, UserOfferStatus, MerchantSource, LocationStatus, and related enums — have also been removed. Update any code that references these types or handles these notification variants.
The financialInstitutionName field in CoreTransactionAttributes is now optional (string | undefined), down from a previously required string. This reflects its deprecation in favor of financialInstitutionId. Existing code that accesses financialInstitutionName without an undefined check will need to be updated — for example, replace attrs.financialInstitutionName.toUpperCase() with attrs.financialInstitutionName?.toUpperCase().
The CoreTransactionAttributes type now includes an optional financialInstitutionId field, providing a unique identifier for the financial institution associated with a transaction. The financialInstitutionName field has been deprecated in favor of financialInstitutionId.
The cardLastFour property in CoreTransactionAttributes has been replaced with cardLastFours as an array of strings. Existing code accessing cardLastFour will need to be updated to use cardLastFours[0] for the first card number, or handle the array appropriately when multiple candidate cards are provided.
The X-Kard-Target-Issuer header configuration has been moved from client initialization options to a request-specific field. For token requests, pass the X-Kard-Target-Issuer value directly in the GetTokenRequest object instead of the client options or request options.
The CoreTransactionAttributes interface now includes an optional cardLastFour property that provides the last four digits of the card used for transactions.