Moov · Capability

Moov API — Cards

Moov API — Cards. 5 operations. Lead operation: Link a card. Self-contained Naftiko capability covering one Moov business surface.

Run with Naftiko MoovCards

What You Can Do

POST
Linkcard — Link a card
/v1/accounts/{accountid}/cards
GET
Listcards — List cards
/v1/accounts/{accountid}/cards
GET
Getcard — Retrieve a card
/v1/accounts/{accountid}/cards/{cardid}
PATCH
Updatecard — Update a card
/v1/accounts/{accountid}/cards/{cardid}
DELETE
Disablecard — Disable a card
/v1/accounts/{accountid}/cards/{cardid}

MCP Tools

link-card

Link a card

list-cards

List cards

read-only idempotent
retrieve-card

Retrieve a card

read-only idempotent
update-card

Update a card

idempotent
disable-card

Disable a card

idempotent

Capability Spec

moov-cards.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Moov API — Cards
  description: 'Moov API — Cards. 5 operations. Lead operation: Link a card. Self-contained Naftiko capability covering one
    Moov business surface.'
  tags:
  - Moov
  - Cards
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    MOOV_API_KEY: MOOV_API_KEY
capability:
  consumes:
  - type: http
    namespace: moov-cards
    baseUri: https://api.moov.io
    description: Moov API — Cards business capability. Self-contained, no shared references.
    resources:
    - name: accounts-accountID-cards
      path: /accounts/{accountID}/cards
      operations:
      - name: linkcard
        method: POST
        description: Link a card
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
      - name: listcards
        method: GET
        description: List cards
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: accounts-accountID-cards-cardID
      path: /accounts/{accountID}/cards/{cardID}
      operations:
      - name: getcard
        method: GET
        description: Retrieve a card
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: updatecard
        method: PATCH
        description: Update a card
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
      - name: disablecard
        method: DELETE
        description: Disable a card
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    authentication:
      type: bearer
      token: '{{env.MOOV_API_KEY}}'
  exposes:
  - type: rest
    namespace: moov-cards-rest
    port: 8080
    description: REST adapter for Moov API — 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: POST
        name: linkcard
        description: Link a card
        call: moov-cards.linkcard
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: GET
        name: listcards
        description: List cards
        call: moov-cards.listcards
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/accounts/{accountid}/cards/{cardid}
      name: accounts-accountid-cards-cardid
      description: REST surface for accounts-accountID-cards-cardID.
      operations:
      - method: GET
        name: getcard
        description: Retrieve a card
        call: moov-cards.getcard
        outputParameters:
        - type: object
          mapping: $.
      - method: PATCH
        name: updatecard
        description: Update a card
        call: moov-cards.updatecard
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: disablecard
        description: Disable a card
        call: moov-cards.disablecard
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: moov-cards-mcp
    port: 9090
    transport: http
    description: MCP adapter for Moov API — Cards. One tool per consumed operation, routed inline through this capability's
      consumes block.
    tools:
    - name: link-card
      description: Link a card
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: moov-cards.linkcard
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: list-cards
      description: List cards
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: moov-cards.listcards
      outputParameters:
      - type: object
        mapping: $.
    - name: retrieve-card
      description: Retrieve a card
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: moov-cards.getcard
      outputParameters:
      - type: object
        mapping: $.
    - name: update-card
      description: Update a card
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: moov-cards.updatecard
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: disable-card
      description: Disable a card
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: moov-cards.disablecard
      outputParameters:
      - type: object
        mapping: $.