Spade · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Spade Card Enrichment API

11 actions 11 updates phrasing extends openapi/spade-card-enrichment-api-openapi.yml
Generated by API Evangelist Written by API Evangelist tooling for Spade's API. It is a proposal applied on top of the contract, not a document Spade publishes.
View Overlay File View on GitHub Overlay Specification

What the actions change

x-apievangelist-phrasing

Targets 11

$.info
$.paths['/transactions/cards/enrich'].post
$.paths['/transactions/cards/enrich/parse'].post
$.paths['/batches/transactions/cards/enrich'].post
$.paths['/batches/transactions/cards/enrich'].options
$.paths['/batches/transactions/cards/enrich/parse'].post
$.paths['/batches/transactions/cards/enrich/parse'].options
$.paths['/batches/{cardEnrichmentBatchId}/results'].get
$.paths['/batches/{cardEnrichmentBatchId}'].get
$.paths['/transactions/enrich'].post
$.paths['/transactions/enrich/parse'].post

OpenAPI Overlay

Raw ↑
# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand.
overlay: 1.0.0
info:
  title: API Evangelist conversational phrasing for Spade Card Enrichment API
  version: 1.0.0
extends: openapi/spade-card-enrichment-api-openapi.yml
actions:
- target: $.info
  update:
    x-apievangelist-phrasing:
      method: generated
      generated: '2026-10-01'
      generator: build-phrasing.py
      label: Generated by API Evangelist
      operations: 10
- target: $.paths['/transactions/cards/enrich'].post
  update:
    x-apievangelist-phrasing:
      intent: Enrich a single card transaction
      effect: write
      questions:
      - How do I turn a raw card swipe into a clean merchant name, logo and category with Spade?
      - Which optional fields like acquirer ID or card BIN improve the match on one card transaction?
      - Can I get my own custom attributes echoed back when I enrich a card purchase?
      instructions:
      - text: Enrich the card transaction from user {userId} for {amount} {currencyCode} at merchant {merchantName}, MCC {categoryCode}, on {occurredAt}.
        slots:
          userId: requestBody.userId
          amount: requestBody.amount
          currencyCode: requestBody.currencyCode
          merchantName: requestBody.merchantName
          categoryCode: requestBody.categoryCode
          occurredAt: requestBody.occurredAt
      - text: Enrich card purchase {transactionId} made at {location} and tag it with program {programId}.
        slots:
          transactionId: requestBody.transactionId
          location: requestBody.location
          programId: requestBody.programId
      - text: Identify the merchant behind card swipe {merchantName} using acquirer ID {acquirerId}.
        slots:
          merchantName: requestBody.merchantName
          acquirerId: requestBody.acquirerId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/transactions/cards/enrich/parse'].post
  update:
    x-apievangelist-phrasing:
      intent: Enrich a card transaction from a raw DE43 field
      effect: write
      questions:
      - Can I send the unparsed DE43 field instead of splitting out merchant name and city myself?
      - What happens when the DE43 string conflicts with the merchant name I also pass in?
      - Is there a card enrichment call that parses a DE43 message for one transaction?
      instructions:
      - text: Parse DE43 message {de43} and enrich that card transaction for user {userId}, {amount} {currencyCode} on {occurredAt}.
        slots:
          de43: requestBody.de43
          userId: requestBody.userId
          amount: requestBody.amount
          currencyCode: requestBody.currencyCode
          occurredAt: requestBody.occurredAt
      - text: Enrich the card swipe with raw DE43 {de43} and MCC {categoryCode} at {location}.
        slots:
          de43: requestBody.de43
          categoryCode: requestBody.categoryCode
          location: requestBody.location
      method: generated
      generated: '2026-10-01'
- target: $.paths['/batches/transactions/cards/enrich'].post
  update:
    x-apievangelist-phrasing:
      intent: Submit a batch of card transactions for enrichment
      effect: write
      questions:
      - How do I enrich thousands of card transactions in one job instead of one at a time?
      - Can a card enrichment batch call my URL when the job finishes?
      - What is the maximum number of card transactions in a single batch submission?
      - Can I get a small set of card transactions enriched inline without waiting on a batch job?
      instructions:
      - text: Submit these card transactions {transactions} as an enrichment batch and notify {callbackUrl} when done.
        slots:
          transactions: requestBody.transactions
          callbackUrl: requestBody.callbackUrl
      - text: Enrich this microbatch of card transactions {transactions} synchronously ({synchronous}).
        slots:
          transactions: requestBody.transactions
          synchronous: query.synchronous
      method: generated
      generated: '2026-10-01'
- target: $.paths['/batches/transactions/cards/enrich'].options
  update:
    x-apievangelist-phrasing:
      intent: Check the synchronous cap for card batch enrichment
      effect: read
      questions:
      - What is the current synchronousMax for enriching card transaction batches inline?
      - How many card transactions can I send in one synchronous microbatch right now?
      instructions:
      - text: Fetch the current synchronous item cap for the card batch enrichment endpoint.
      - text: Look up the metadata for card transaction batch enrichment.
      method: generated
      generated: '2026-10-01'
- target: $.paths['/batches/transactions/cards/enrich/parse'].post
  update:
    x-apievangelist-phrasing:
      intent: Submit a batch of DE43 card transactions
      effect: write
      questions:
      - Can I batch-enrich card transactions that only carry raw DE43 strings?
      - Do batched DE43 card transactions still need merchant name and city fields?
      instructions:
      - text: Submit the DE43 card transactions {transactions} as a parse-and-enrich batch, calling {callbackUrl} on completion.
        slots:
          transactions: requestBody.transactions
          callbackUrl: requestBody.callbackUrl
      - text: Parse and enrich this small set of DE43 card swipes {transactions} inline with synchronous={synchronous}.
        slots:
          transactions: requestBody.transactions
          synchronous: query.synchronous
      method: generated
      generated: '2026-10-01'
- target: $.paths['/batches/transactions/cards/enrich/parse'].options
  update:
    x-apievangelist-phrasing:
      intent: Check the synchronous cap for DE43 batch enrichment
      effect: read
      questions:
      - What is the inline item limit for batch DE43 parse enrichment of card transactions?
      - Where can I fetch the synchronousMax for the card parse batch endpoint?
      instructions:
      - text: Get the current synchronous cap for the DE43 card parse batch endpoint.
      - text: Read the metadata for batch card enrichment with DE43 parsing.
      method: generated
      generated: '2026-10-01'
- target: $.paths['/batches/{cardEnrichmentBatchId}/results'].get
  update:
    x-apievangelist-phrasing:
      intent: Get results of a card enrichment batch
      effect: read
      questions:
      - How do I download the enriched transactions once my card batch job is finished?
      - Where do the results of a batch card enrichment job come back?
      instructions:
      - text: Fetch the enriched results of card batch {cardEnrichmentBatchId}.
        slots:
          cardEnrichmentBatchId: path.cardEnrichmentBatchId
      - text: Pull the output of card enrichment job {cardEnrichmentBatchId}.
        slots:
          cardEnrichmentBatchId: path.cardEnrichmentBatchId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/batches/{cardEnrichmentBatchId}'].get
  update:
    x-apievangelist-phrasing:
      intent: Check the status of a card enrichment batch
      effect: read
      questions:
      - Is my batch card enrichment job still running or has it completed?
      - How can I poll progress on a card transaction batch I submitted?
      instructions:
      - text: Check whether card batch {cardEnrichmentBatchId} has finished.
        slots:
          cardEnrichmentBatchId: path.cardEnrichmentBatchId
      - text: Show the job status for card enrichment batch {cardEnrichmentBatchId}.
        slots:
          cardEnrichmentBatchId: path.cardEnrichmentBatchId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/transactions/enrich'].post
  update:
    x-apievangelist-phrasing:
      intent: Enrich a card transaction via the legacy endpoint
      effect: write
      questions:
      - Does the old /transactions/enrich card endpoint still work?
      - My integration calls the legacy transaction enrich path; what does it map to now?
      instructions:
      - text: Enrich a card transaction through the deprecated /transactions/enrich alias.
      - text: Send this card transaction to the legacy enrich endpoint my old integration uses.
      method: generated
      generated: '2026-10-01'
- target: $.paths['/transactions/enrich/parse'].post
  update:
    x-apievangelist-phrasing:
      intent: Enrich a DE43 card transaction via the legacy endpoint
      effect: write
      questions:
      - Is the legacy /transactions/enrich/parse DE43 endpoint still supported?
      - What replaced the old DE43 parse path for card enrichment?
      instructions:
      - text: Enrich a DE43 card transaction through the deprecated /transactions/enrich/parse alias.
      - text: Send this raw DE43 swipe to the legacy parse endpoint my old code still calls.
      method: generated
      generated: '2026-10-01'