naftiko: 1.0.0-alpha2 info: label: Lithic Developer API — Card description: 'Lithic Developer API — Card. 18 operations. Lead operation: List card programs. Self-contained Naftiko capability covering one Lithic business surface.' tags: - Lithic - Card created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: LITHIC_API_KEY: LITHIC_API_KEY capability: consumes: - type: http namespace: lithic-card baseUri: https://sandbox.lithic.com description: Lithic Developer API — Card business capability. Self-contained, no shared references. resources: - name: v1-card_programs path: /v1/card_programs operations: - name: getcardprograms method: GET description: List card programs outputRawFormat: json outputParameters: - name: result type: object value: $. - name: v1-card_programs-card_program_token path: /v1/card_programs/{card_program_token} operations: - name: getcardprogram method: GET description: Get card program outputRawFormat: json outputParameters: - name: result type: object value: $. - name: v1-cards path: /v1/cards operations: - name: getcards method: GET description: List cards outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: account_token in: query type: string description: Returns cards associated with the specified account. - name: state in: query type: string description: Returns cards with the specified state. - name: memo in: query type: string description: Returns cards containing the specified partial or full memo text. - name: postcards method: POST description: Create card outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: v1-cards-search_by_pan path: /v1/cards/search_by_pan operations: - name: searchcardbypan method: POST description: Search for card by PAN outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: false - name: v1-cards-card_token path: /v1/cards/{card_token} operations: - name: getcardbytoken method: GET description: Get card outputRawFormat: json outputParameters: - name: result type: object value: $. - name: patchcardbytoken method: PATCH description: Update card outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: v1-cards-card_token-balances path: /v1/cards/{card_token}/balances operations: - name: getcardbalance method: GET description: Get card balances outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: balance_date in: query type: string description: UTC date of the balance to retrieve. Defaults to latest available balance - name: last_transaction_event_token in: query type: string description: Balance after a given financial event occured. - name: v1-cards-card_token-convert_physical path: /v1/cards/{card_token}/convert_physical operations: - name: postconvertphysical method: POST description: Convert virtual to physical card outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: v1-cards-card_token-financial_transactions path: /v1/cards/{card_token}/financial_transactions operations: - name: getcardfinancialtransactions method: GET description: List card financial transactions outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: category in: query type: string description: Financial Transaction category to be returned. - name: result in: query type: string description: Financial Transaction result to be returned. - name: status in: query type: string description: Financial Transaction status to be returned. - name: v1-cards-card_token-financial_transactions-financial_transaction_token path: /v1/cards/{card_token}/financial_transactions/{financial_transaction_token} operations: - name: getcardfinancialtransactionbytoken method: GET description: Get card financial transaction outputRawFormat: json outputParameters: - name: result type: object value: $. - name: v1-cards-card_token-provision path: /v1/cards/{card_token}/provision operations: - name: postcardprovision method: POST description: Provision card (Digital Wallet) outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: v1-cards-card_token-reissue path: /v1/cards/{card_token}/reissue operations: - name: postcardreissue method: POST description: Reissue physical card outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: v1-cards-card_token-renew path: /v1/cards/{card_token}/renew operations: - name: postcardrenew method: POST description: Renew a card outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: v1-cards-card_token-signals path: /v1/cards/{card_token}/signals operations: - name: getcardsignals method: GET description: Fetch card signals outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: card_token in: path type: string description: The token of the card to fetch signals for. required: true - name: v1-cards-card_token-spend_limits path: /v1/cards/{card_token}/spend_limits operations: - name: getcardspendlimits method: GET description: Get card's available spend limit outputRawFormat: json outputParameters: - name: result type: object value: $. - name: v1-cards-card_token-web_provision path: /v1/cards/{card_token}/web_provision operations: - name: postcardwebprovision method: POST description: Web Push Provision card (Digital Wallet) outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: v1-embed-card path: /v1/embed/card operations: - name: getembedcard method: GET description: Embedded card UI outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: embed_request in: query type: string description: A base64 encoded JSON string of an EmbedRequest to specify which card to load. required: true - name: hmac in: query type: string description: SHA256 HMAC of the embed_request JSON string with base64 digest. required: true authentication: type: apikey key: Authorization value: '{{env.LITHIC_API_KEY}}' placement: header exposes: - type: rest namespace: lithic-card-rest port: 8080 description: REST adapter for Lithic Developer API — Card. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/v1/card-programs name: v1-card-programs description: REST surface for v1-card_programs. operations: - method: GET name: getcardprograms description: List card programs call: lithic-card.getcardprograms outputParameters: - type: object mapping: $. - path: /v1/v1/card-programs/{card-program-token} name: v1-card-programs-card-program-token description: REST surface for v1-card_programs-card_program_token. operations: - method: GET name: getcardprogram description: Get card program call: lithic-card.getcardprogram outputParameters: - type: object mapping: $. - path: /v1/v1/cards name: v1-cards description: REST surface for v1-cards. operations: - method: GET name: getcards description: List cards call: lithic-card.getcards with: account_token: rest.account_token state: rest.state memo: rest.memo outputParameters: - type: object mapping: $. - method: POST name: postcards description: Create card call: lithic-card.postcards with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/v1/cards/search-by-pan name: v1-cards-search-by-pan description: REST surface for v1-cards-search_by_pan. operations: - method: POST name: searchcardbypan description: Search for card by PAN call: lithic-card.searchcardbypan with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/v1/cards/{card-token} name: v1-cards-card-token description: REST surface for v1-cards-card_token. operations: - method: GET name: getcardbytoken description: Get card call: lithic-card.getcardbytoken outputParameters: - type: object mapping: $. - method: PATCH name: patchcardbytoken description: Update card call: lithic-card.patchcardbytoken with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/v1/cards/{card-token}/balances name: v1-cards-card-token-balances description: REST surface for v1-cards-card_token-balances. operations: - method: GET name: getcardbalance description: Get card balances call: lithic-card.getcardbalance with: balance_date: rest.balance_date last_transaction_event_token: rest.last_transaction_event_token outputParameters: - type: object mapping: $. - path: /v1/v1/cards/{card-token}/convert-physical name: v1-cards-card-token-convert-physical description: REST surface for v1-cards-card_token-convert_physical. operations: - method: POST name: postconvertphysical description: Convert virtual to physical card call: lithic-card.postconvertphysical with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/v1/cards/{card-token}/financial-transactions name: v1-cards-card-token-financial-transactions description: REST surface for v1-cards-card_token-financial_transactions. operations: - method: GET name: getcardfinancialtransactions description: List card financial transactions call: lithic-card.getcardfinancialtransactions with: category: rest.category result: rest.result status: rest.status outputParameters: - type: object mapping: $. - path: /v1/v1/cards/{card-token}/financial-transactions/{financial-transaction-token} name: v1-cards-card-token-financial-transactions-financial-transaction-token description: REST surface for v1-cards-card_token-financial_transactions-financial_transaction_token. operations: - method: GET name: getcardfinancialtransactionbytoken description: Get card financial transaction call: lithic-card.getcardfinancialtransactionbytoken outputParameters: - type: object mapping: $. - path: /v1/v1/cards/{card-token}/provision name: v1-cards-card-token-provision description: REST surface for v1-cards-card_token-provision. operations: - method: POST name: postcardprovision description: Provision card (Digital Wallet) call: lithic-card.postcardprovision with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/v1/cards/{card-token}/reissue name: v1-cards-card-token-reissue description: REST surface for v1-cards-card_token-reissue. operations: - method: POST name: postcardreissue description: Reissue physical card call: lithic-card.postcardreissue with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/v1/cards/{card-token}/renew name: v1-cards-card-token-renew description: REST surface for v1-cards-card_token-renew. operations: - method: POST name: postcardrenew description: Renew a card call: lithic-card.postcardrenew with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/v1/cards/{card-token}/signals name: v1-cards-card-token-signals description: REST surface for v1-cards-card_token-signals. operations: - method: GET name: getcardsignals description: Fetch card signals call: lithic-card.getcardsignals with: card_token: rest.card_token outputParameters: - type: object mapping: $. - path: /v1/v1/cards/{card-token}/spend-limits name: v1-cards-card-token-spend-limits description: REST surface for v1-cards-card_token-spend_limits. operations: - method: GET name: getcardspendlimits description: Get card's available spend limit call: lithic-card.getcardspendlimits outputParameters: - type: object mapping: $. - path: /v1/v1/cards/{card-token}/web-provision name: v1-cards-card-token-web-provision description: REST surface for v1-cards-card_token-web_provision. operations: - method: POST name: postcardwebprovision description: Web Push Provision card (Digital Wallet) call: lithic-card.postcardwebprovision with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/v1/embed/card name: v1-embed-card description: REST surface for v1-embed-card. operations: - method: GET name: getembedcard description: Embedded card UI call: lithic-card.getembedcard with: embed_request: rest.embed_request hmac: rest.hmac outputParameters: - type: object mapping: $. - type: mcp namespace: lithic-card-mcp port: 9090 transport: http description: MCP adapter for Lithic Developer API — Card. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: list-card-programs description: List card programs hints: readOnly: true destructive: false idempotent: true call: lithic-card.getcardprograms outputParameters: - type: object mapping: $. - name: get-card-program description: Get card program hints: readOnly: true destructive: false idempotent: true call: lithic-card.getcardprogram outputParameters: - type: object mapping: $. - name: list-cards description: List cards hints: readOnly: true destructive: false idempotent: true call: lithic-card.getcards with: account_token: tools.account_token state: tools.state memo: tools.memo outputParameters: - type: object mapping: $. - name: create-card description: Create card hints: readOnly: false destructive: false idempotent: false call: lithic-card.postcards with: body: tools.body outputParameters: - type: object mapping: $. - name: search-card-pan description: Search for card by PAN hints: readOnly: true destructive: false idempotent: false call: lithic-card.searchcardbypan with: body: tools.body outputParameters: - type: object mapping: $. - name: get-card description: Get card hints: readOnly: true destructive: false idempotent: true call: lithic-card.getcardbytoken outputParameters: - type: object mapping: $. - name: update-card description: Update card hints: readOnly: false destructive: false idempotent: true call: lithic-card.patchcardbytoken with: body: tools.body outputParameters: - type: object mapping: $. - name: get-card-balances description: Get card balances hints: readOnly: true destructive: false idempotent: true call: lithic-card.getcardbalance with: balance_date: tools.balance_date last_transaction_event_token: tools.last_transaction_event_token outputParameters: - type: object mapping: $. - name: convert-virtual-physical-card description: Convert virtual to physical card hints: readOnly: false destructive: false idempotent: false call: lithic-card.postconvertphysical with: body: tools.body outputParameters: - type: object mapping: $. - name: list-card-financial-transactions description: List card financial transactions hints: readOnly: true destructive: false idempotent: true call: lithic-card.getcardfinancialtransactions with: category: tools.category result: tools.result status: tools.status outputParameters: - type: object mapping: $. - name: get-card-financial-transaction description: Get card financial transaction hints: readOnly: true destructive: false idempotent: true call: lithic-card.getcardfinancialtransactionbytoken outputParameters: - type: object mapping: $. - name: provision-card-digital-wallet description: Provision card (Digital Wallet) hints: readOnly: false destructive: false idempotent: false call: lithic-card.postcardprovision with: body: tools.body outputParameters: - type: object mapping: $. - name: reissue-physical-card description: Reissue physical card hints: readOnly: false destructive: false idempotent: false call: lithic-card.postcardreissue with: body: tools.body outputParameters: - type: object mapping: $. - name: renew-card description: Renew a card hints: readOnly: false destructive: false idempotent: false call: lithic-card.postcardrenew with: body: tools.body outputParameters: - type: object mapping: $. - name: fetch-card-signals description: Fetch card signals hints: readOnly: true destructive: false idempotent: true call: lithic-card.getcardsignals with: card_token: tools.card_token outputParameters: - type: object mapping: $. - name: get-card-s-available-spend-limit description: Get card's available spend limit hints: readOnly: true destructive: false idempotent: true call: lithic-card.getcardspendlimits outputParameters: - type: object mapping: $. - name: web-push-provision-card-digital description: Web Push Provision card (Digital Wallet) hints: readOnly: false destructive: false idempotent: false call: lithic-card.postcardwebprovision with: body: tools.body outputParameters: - type: object mapping: $. - name: embedded-card-ui description: Embedded card UI hints: readOnly: true destructive: false idempotent: true call: lithic-card.getembedcard with: embed_request: tools.embed_request hmac: tools.hmac outputParameters: - type: object mapping: $.