Skip to main content
April 2026

Incremental Updates for Merchant Action Triggers

You can now add and remove individual merchants from an action trigger registration without replacing your entire list. Previously, any change required re-submitting all triggers through PUT, which meant minutes of batch processing for large registrations.The new PATCH endpoint supports two operations:
  • add: Register new merchants or update existing ones. Existing merchants that aren’t in the request are left untouched. Submitting a trigger ID that already exists replaces that registration (upsert).
  • remove: Remove merchants by trigger ID. Completes in under 100ms regardless of registration size.
// Add merchants
{
  "operation": "add",
  "merchantTriggers": [
    { "id": "trigger-123", "merchantName": "Starbucks", "action": { "type": "REWARD", "points": 100 } }
  ]
}

// Remove merchants
{
  "operation": "remove",
  "triggerIds": ["trigger-123", "trigger-456"]
}
The GET endpoint now also returns the full list of active merchant triggers (merchantTriggers and totalCount) alongside the registration status and version.PATCH is available at all four scopes (account, program, user, card). Read the Realtime Action Triggers Guide for details.
March 2026

Program-Scoped Merchant Action Triggers

Merchant action triggers now support a program scope, allowing you to register triggers that apply to all transactions where the enrichment request includes a matching programId.The new endpoints follow the same PUT/PATCH/GET/DELETE pattern as the existing account, user, and card scopes:
GET    /programs/{programId}/merchant-action-triggers
PUT    /programs/{programId}/merchant-action-triggers
PATCH  /programs/{programId}/merchant-action-triggers
DELETE /programs/{programId}/merchant-action-triggers
Program-scoped triggers are applied in addition to account-scoped triggers when programId is present in the enrichment request. Read the Realtime Action Triggers Guide for details on scope inheritance.
February 2026

Merchant Action Triggers

You can now register custom actions to be returned when a transaction matches a specific merchant. Merchant action triggers let you attach arbitrary data to a set of merchants — rewards, block/allow rules, custom metadata — and have that data returned automatically in enrichment responses when a transaction matches.Use the PUT endpoint to register a list of merchant triggers at a given scope (account, user, or card). Spade matches each submitted merchant against our database and returns your action data in the enrichment response when a transaction matches.
// Register triggers at account scope
PUT /merchant-action-triggers
{
  "merchantTriggers": [
    {
      "id": "trigger-123",
      "merchantName": "Starbucks",
      "action": { "type": "REWARD", "points": 100 }
    }
  ]
}
// Matched trigger in enrichment response
"triggeredActions": [
  {
    "id": "trigger-123",
    "type": "merchant_trigger",
    "action": { "type": "REWARD", "points": 100 },
    "scope": "account"
  }
]
Registrations with more than 100 merchants at the account scope are processed asynchronously — poll the GET endpoint to monitor completion. User and card scopes are limited to 100 merchants per request.Two special action types are also supported: BLOCK and ALLOW_ONLY, which populate an authRecommendation field in the enrichment response for use in authorization decisioning.Read the Realtime Action Triggers Guide to get started.
January 2026

New Category: Mortgage

New year, new category! We now support classifying transactions as Mortgage transactions. This is a new Tier 3 category that falls underBanking and Finance:
001-008-001-000 = Banking and Finance -> Lending -> Mortgage Example: United Wholesale Mortgage will be categorized as Mortgage moving forward.
Our full industry list can be accessed via API (details here).
October 2025

New Category: AI Services

We’re excited to share an update to our merchant categorization system! We have added a Tier 3 industry AI Services under Technology -> Software:
013-009-013-000 = Technology -> Software -> AI Services Example: OpenAI will be categorized as AI Services moving forward.
Our full industry list can be accessed via API (details here).
September 2025

Mobile App Data

We’ve added an exciting new premium field to card transaction enrichment! We now support matching to mobile apps purchased through the Google Play Store and to in-app purchases made in these apps.If mobile app matching is part of your product package, you’ll now have access to the mobileAppInfo object in your card enrichment responses when a transaction matches to a Google Play Store app.
"mobileAppInfo": {
  "id": "0d1ef10f-2652-39bd-98f1-af34ae03a4a7",
  "name": "Artificial Life",
  "url": "https://play.google.com/store/apps/details?id=com.mooncoder.alife",
  "logo": null,
  "developerName": "Mooncoder",
  "developerId": "f6fdc9b1-f0ea-3dda-8e15-ead6fe5755fe",
  "category": "Education and Parenting",
  "hasGamblingOrRewards": false,
  "hasSimulatedGambling": false,
  "ageRating": "Children"
},
Learn more about mobile app data by reading our Mobile App Data Guide.
August 2025

Third Party Websites

Going forward, enrichments will include third party websites.
"thirdParties": [
    {
        "id": "9063bc0f-0a3f-4b1f-bf64-4f9862e17002",
        "name": "PayPal",
        "type": "platform",
        "logo": "https://static.v2.spadeapi.com/logos/9063bc0f0a3f4b1fbf644f9862e17002/light.png",
        "website": "http://www.paypal.com/"
    }
],
March 2025

New Category: Golf Courses ⛳

We’re excited to share another improvement to our merchant categorization system! We have added a Tier 3 industry ‘Golf Courses’ under Entertainment -> Recreation:
004-002-013-000 = Entertainment -> Recreation -> Golf Courses Example: Canyon Springs Golf Club will be categorized as ‘Golf Courses’ moving forward.
Our full industry list can be accessed via API (details here).
January 2025

Spade Categorization Update

We’re excited to share updates on improvements to our merchant categorization system! These changes focus on adding granularity to our category tree and enhancing differentiation for risky and ambiguous categories. Here’s what’s new:
  1. New categories and naming updates: Please note that all newly added categories are tier 3 or tier 4 categories that fall under our existing category tree, ensuring compatibility with your integration. Contact support@spade.com for the full file instead
  • Cannabis:
    • Renamed 011-013-001-000 Retail -> Specialty Retail -> Cannabis Dispensary to Retail -> Specialty Retail -> Cannabis (Category code stays the same)
    • New tier 4 categories under Cannabis:
      • 011-013-001-001 Retail -> Specialty Retail -> Cannabis -> Dispensary (Example: Food4Thought, Houston, TX)
      • 011-013-001-002 Retail -> Specialty Retail -> Cannabis -> CBD and Unscheduled Cannabis Products (Example: Drink Brez)
  • Firearms:
    • New tier 3 category Firearms under Retail -> Specialty Retail, and two new tier 4 categories under that:
      • 011-013-022-000 Retail -> Specialty Retail -> Firearms (Example: Kroll International)
      • 011-013-022-001 Retail -> Specialty Retail -> Firearms -> Guns (Example: Primary Arms)
      • 011-013-022-002 Retail -> Specialty Retail -> Firearms -> Ammo and Accessories (Example: Lucky Gunner)
  • Vitamins and Supplements:
    • New tier 3 category Vitamins and Supplements under Retail -> Specialty Retail:
      • 011-013-023-000 Retail -> Specialty Retail -> Vitamins and Supplements (Example: GNC)
  • Firing Ranges and Clubs:
    • New tier 3 category Firing Ranges and Clubs under Entertainment -> Recreation:
      • 004-002-012-000 Entertainment -> Recreation -> Firing Ranges and Clubs (Example: Guntry Club Of Maryland)
  1. Categorization Improvements: in addition to adding new categories, we are rolling out improvements to existing categorizations:
  • Adult Entertainment: Enhanced categorization for merchants without a dedicated MCC, including online platforms (e.g., Chaturbate) and physical clubs (e.g., The Box NYC).
  • Casinos and Gambling: Better classification of online gambling games and sports betting merchants (e.g., Underdog Sports, Modo).
  • Convenience Stores vs. Bodegas: Improved differentiation between convenience stores and specialty food retailers (e.g., Chelsea Gourmet Deli categorized as Specialty Food).
  • Cafes vs. Restaurants/Fast Food: Refined categorization for cafes that often share MCCs with restaurants or fast food (e.g., Bluestone Lane categorized as Cafes, while Lisbon Cafe remains a Restaurant).
We’re confident these updates will provide more precise categorization for your use cases. Let us know if you have any questions or feedback!
December 2024

Address Line 1 and 2

Going forward, enrichments will include two new fields: addressLine1 and addressLine2. This change will hopefully improve usability of our location data.The existing address field will continue to exist unchanged.
"location": [
  {
    ...
    "address": "1234 W 5th Ave Suite 100",
    "addressLine1": "1234 W 5th Ave",
    "addressLine2": "Suite 100",
    ...
  }
]