Total System Services · Capability

TSYS Issuing Platform — Cards

TSYS Issuing Platform — Cards. 8 operations. Lead operation: List Account Cards. Self-contained Naftiko capability covering one Total System Services business surface.

Run with Naftiko Total System ServicesCards

What You Can Do

GET
Listaccountcards — List Account Cards
/v1/accounts/{accountid}/cards
POST
Issuecard — Issue Card
/v1/accounts/{accountid}/cards
GET
Getcard — Get Card
/v1/cards/{cardid}
POST
Activatecard — Activate Card
/v1/cards/{cardid}/activate
GET
Getcardcontrols — Get Card Controls
/v1/cards/{cardid}/controls
PUT
Updatecardcontrols — Update Card Controls
/v1/cards/{cardid}/controls
POST
Suspendcard — Suspend Card
/v1/cards/{cardid}/suspend
GET
Listcardtransactions — List Card Transactions
/v1/cards/{cardid}/transactions

MCP Tools

list-account-cards

List Account Cards

read-only idempotent
issue-card

Issue Card

get-card

Get Card

read-only idempotent
activate-card

Activate Card

get-card-controls

Get Card Controls

read-only idempotent
update-card-controls

Update Card Controls

idempotent
suspend-card

Suspend Card

list-card-transactions

List Card Transactions

read-only idempotent

Capability Spec

tsys-issuing-cards.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: TSYS Issuing Platform — Cards
  description: 'TSYS Issuing Platform — Cards. 8 operations. Lead operation: List Account Cards. Self-contained Naftiko capability
    covering one Total System Services business surface.'
  tags:
  - Total System Services
  - Cards
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    TOTAL_SYSTEM_SERVICES_API_KEY: TOTAL_SYSTEM_SERVICES_API_KEY
capability:
  consumes:
  - type: http
    namespace: tsys-issuing-cards
    baseUri: https://issuing.api.tsys.com/v1
    description: TSYS Issuing Platform — Cards business capability. Self-contained, no shared references.
    resources:
    - name: accounts-accountId-cards
      path: /accounts/{accountId}/cards
      operations:
      - name: listaccountcards
        method: GET
        description: List Account Cards
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: accountId
          in: path
          type: string
          required: true
      - name: issuecard
        method: POST
        description: Issue Card
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: accountId
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: cards-cardId
      path: /cards/{cardId}
      operations:
      - name: getcard
        method: GET
        description: Get Card
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: cardId
          in: path
          type: string
          required: true
    - name: cards-cardId-activate
      path: /cards/{cardId}/activate
      operations:
      - name: activatecard
        method: POST
        description: Activate Card
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: cardId
          in: path
          type: string
          required: true
    - name: cards-cardId-controls
      path: /cards/{cardId}/controls
      operations:
      - name: getcardcontrols
        method: GET
        description: Get Card Controls
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: cardId
          in: path
          type: string
          required: true
      - name: updatecardcontrols
        method: PUT
        description: Update Card Controls
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: cardId
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: cards-cardId-suspend
      path: /cards/{cardId}/suspend
      operations:
      - name: suspendcard
        method: POST
        description: Suspend Card
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: cardId
          in: path
          type: string
          required: true
    - name: cards-cardId-transactions
      path: /cards/{cardId}/transactions
      operations:
      - name: listcardtransactions
        method: GET
        description: List Card Transactions
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: cardId
          in: path
          type: string
          required: true
        - name: startDate
          in: query
          type: string
          description: Start of date range
        - name: endDate
          in: query
          type: string
          description: End of date range
        - name: page
          in: query
          type: integer
        - name: limit
          in: query
          type: integer
    authentication:
      type: bearer
      token: '{{env.TOTAL_SYSTEM_SERVICES_API_KEY}}'
  exposes:
  - type: rest
    namespace: tsys-issuing-cards-rest
    port: 8080
    description: REST adapter for TSYS Issuing Platform — Cards. One Spectral-compliant resource per consumed operation, prefixed
      with /v1.
    resources:
    - path: /v1/accounts/{accountid}/cards
      name: accounts-accountid-cards
      description: REST surface for accounts-accountId-cards.
      operations:
      - method: GET
        name: listaccountcards
        description: List Account Cards
        call: tsys-issuing-cards.listaccountcards
        with:
          accountId: rest.accountId
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: issuecard
        description: Issue Card
        call: tsys-issuing-cards.issuecard
        with:
          accountId: rest.accountId
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/cards/{cardid}
      name: cards-cardid
      description: REST surface for cards-cardId.
      operations:
      - method: GET
        name: getcard
        description: Get Card
        call: tsys-issuing-cards.getcard
        with:
          cardId: rest.cardId
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/cards/{cardid}/activate
      name: cards-cardid-activate
      description: REST surface for cards-cardId-activate.
      operations:
      - method: POST
        name: activatecard
        description: Activate Card
        call: tsys-issuing-cards.activatecard
        with:
          cardId: rest.cardId
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/cards/{cardid}/controls
      name: cards-cardid-controls
      description: REST surface for cards-cardId-controls.
      operations:
      - method: GET
        name: getcardcontrols
        description: Get Card Controls
        call: tsys-issuing-cards.getcardcontrols
        with:
          cardId: rest.cardId
        outputParameters:
        - type: object
          mapping: $.
      - method: PUT
        name: updatecardcontrols
        description: Update Card Controls
        call: tsys-issuing-cards.updatecardcontrols
        with:
          cardId: rest.cardId
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/cards/{cardid}/suspend
      name: cards-cardid-suspend
      description: REST surface for cards-cardId-suspend.
      operations:
      - method: POST
        name: suspendcard
        description: Suspend Card
        call: tsys-issuing-cards.suspendcard
        with:
          cardId: rest.cardId
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/cards/{cardid}/transactions
      name: cards-cardid-transactions
      description: REST surface for cards-cardId-transactions.
      operations:
      - method: GET
        name: listcardtransactions
        description: List Card Transactions
        call: tsys-issuing-cards.listcardtransactions
        with:
          cardId: rest.cardId
          startDate: rest.startDate
          endDate: rest.endDate
          page: rest.page
          limit: rest.limit
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: tsys-issuing-cards-mcp
    port: 9090
    transport: http
    description: MCP adapter for TSYS Issuing Platform — Cards. One tool per consumed operation, routed inline through this
      capability's consumes block.
    tools:
    - name: list-account-cards
      description: List Account Cards
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: tsys-issuing-cards.listaccountcards
      with:
        accountId: tools.accountId
      outputParameters:
      - type: object
        mapping: $.
    - name: issue-card
      description: Issue Card
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: tsys-issuing-cards.issuecard
      with:
        accountId: tools.accountId
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: get-card
      description: Get Card
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: tsys-issuing-cards.getcard
      with:
        cardId: tools.cardId
      outputParameters:
      - type: object
        mapping: $.
    - name: activate-card
      description: Activate Card
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: tsys-issuing-cards.activatecard
      with:
        cardId: tools.cardId
      outputParameters:
      - type: object
        mapping: $.
    - name: get-card-controls
      description: Get Card Controls
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: tsys-issuing-cards.getcardcontrols
      with:
        cardId: tools.cardId
      outputParameters:
      - type: object
        mapping: $.
    - name: update-card-controls
      description: Update Card Controls
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: tsys-issuing-cards.updatecardcontrols
      with:
        cardId: tools.cardId
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: suspend-card
      description: Suspend Card
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: tsys-issuing-cards.suspendcard
      with:
        cardId: tools.cardId
      outputParameters:
      - type: object
        mapping: $.
    - name: list-card-transactions
      description: List Card Transactions
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: tsys-issuing-cards.listcardtransactions
      with:
        cardId: tools.cardId
        startDate: tools.startDate
        endDate: tools.endDate
        page: tools.page
        limit: tools.limit
      outputParameters:
      - type: object
        mapping: $.