Marqeta · Capability

Core API — direct deposit accounts

Core API — direct deposit accounts. 10 operations. Lead operation: Creates new direct deposit account for cardholder.. Self-contained Naftiko capability covering one Marqeta business surface.

Run with Naftiko Marqetadirect deposit accounts

What You Can Do

POST
Createaccount — Creates new direct deposit account for cardholder.
/v1/depositaccounts
GET
Getuserfordirectdepositaccount — Get User for Plain Text Account Number
/v1/depositaccounts/account/{account-number}/user
POST
Createtransition — Creates new transition for a direct deposit account.
/v1/depositaccounts/transitions
GET
Getdirectdepositaccounttransition — Get direct deposit account transition.
/v1/depositaccounts/transitions/{token}
GET
Getuserdirectdepositaccounts — List all specific direct deposit accounts.
/v1/depositaccounts/user/{token}
GET
Getdirectdepositaccount — Get direct deposit account.
/v1/depositaccounts/{token}
PUT
Update — Update direct deposit account.
/v1/depositaccounts/{token}
GET
Getcddinfo — Get direct deposit account transition list for card holder.
/v1/depositaccounts/{token}/cdd
PUT
Updatecddinfo — Update CDD answers for Direct Deposit Account
/v1/depositaccounts/{token}/cdd/{cddtoken}
GET
Gettransitionlist — Get direct deposit account transition list for card holder.
/v1/depositaccounts/{user-token}/transitions

MCP Tools

creates-new-direct-deposit-account

Creates new direct deposit account for cardholder.

get-user-plain-text-account

Get User for Plain Text Account Number

read-only idempotent
creates-new-transition-direct-deposit

Creates new transition for a direct deposit account.

get-direct-deposit-account-transition

Get direct deposit account transition.

read-only idempotent
list-all-specific-direct-deposit

List all specific direct deposit accounts.

read-only idempotent
get-direct-deposit-account

Get direct deposit account.

read-only idempotent
update-direct-deposit-account

Update direct deposit account.

idempotent
get-direct-deposit-account-transition-2

Get direct deposit account transition list for card holder.

read-only idempotent
update-cdd-answers-direct-deposit

Update CDD answers for Direct Deposit Account

idempotent
get-direct-deposit-account-transition-3

Get direct deposit account transition list for card holder.

read-only idempotent

Capability Spec

core-direct-deposit-accounts.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Core API — direct deposit accounts
  description: 'Core API — direct deposit accounts. 10 operations. Lead operation: Creates new direct deposit account for
    cardholder.. Self-contained Naftiko capability covering one Marqeta business surface.'
  tags:
  - Marqeta
  - direct deposit accounts
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    MARQETA_API_KEY: MARQETA_API_KEY
capability:
  consumes:
  - type: http
    namespace: core-direct-deposit-accounts
    baseUri: ''
    description: Core API — direct deposit accounts business capability. Self-contained, no shared references.
    resources:
    - name: depositaccounts
      path: /depositaccounts
      operations:
      - name: createaccount
        method: POST
        description: Creates new direct deposit account for cardholder.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: depositaccounts-account-account_number-user
      path: /depositaccounts/account/{account_number}/user
      operations:
      - name: getuserfordirectdepositaccount
        method: GET
        description: Get User for Plain Text Account Number
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: account_number
          in: path
          type: string
          description: Get user associated with direct deposit account number
          required: true
    - name: depositaccounts-transitions
      path: /depositaccounts/transitions
      operations:
      - name: createtransition
        method: POST
        description: Creates new transition for a direct deposit account.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: depositaccounts-transitions-token
      path: /depositaccounts/transitions/{token}
      operations:
      - name: getdirectdepositaccounttransition
        method: GET
        description: Get direct deposit account transition.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: token
          in: path
          type: string
          description: Get specific direct deposit account transition
          required: true
    - name: depositaccounts-user-token
      path: /depositaccounts/user/{token}
      operations:
      - name: getuserdirectdepositaccounts
        method: GET
        description: List all specific direct deposit accounts.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: count
          in: query
          type: integer
          description: Number of users to retrieve
        - name: start_index
          in: query
          type: integer
          description: Start index
        - name: sort_by
          in: query
          type: string
          description: Sort order
        - name: state
          in: query
          type: string
          description: Direct deposit account status
        - name: token
          in: path
          type: string
          description: Get specific direct deposit account
          required: true
    - name: depositaccounts-token
      path: /depositaccounts/{token}
      operations:
      - name: getdirectdepositaccount
        method: GET
        description: Get direct deposit account.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: token
          in: path
          type: string
          description: Get specific direct deposit account
          required: true
      - name: update
        method: PUT
        description: Update direct deposit account.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: token
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: depositaccounts-token-cdd
      path: /depositaccounts/{token}/cdd
      operations:
      - name: getcddinfo
        method: GET
        description: Get direct deposit account transition list for card holder.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: token
          in: path
          type: string
          description: Get CDD info for a specific DDA token
          required: true
    - name: depositaccounts-token-cdd-cddtoken
      path: /depositaccounts/{token}/cdd/{cddtoken}
      operations:
      - name: updatecddinfo
        method: PUT
        description: Update CDD answers for Direct Deposit Account
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: token
          in: path
          type: string
          required: true
        - name: cddtoken
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: depositaccounts-user_token-transitions
      path: /depositaccounts/{user_token}/transitions
      operations:
      - name: gettransitionlist
        method: GET
        description: Get direct deposit account transition list for card holder.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: count
          in: query
          type: integer
          description: Number of users to retrieve
        - name: start_index
          in: query
          type: integer
          description: Start index
        - name: sort_by
          in: query
          type: string
          description: Sort order
        - name: user_token
          in: path
          type: string
          description: Get direct deposit account transition list for user
          required: true
    authentication:
      type: basic
      username: '{{env.MARQETA_USER}}'
      password: '{{env.MARQETA_PASS}}'
  exposes:
  - type: rest
    namespace: core-direct-deposit-accounts-rest
    port: 8080
    description: REST adapter for Core API — direct deposit accounts. One Spectral-compliant resource per consumed operation,
      prefixed with /v1.
    resources:
    - path: /v1/depositaccounts
      name: depositaccounts
      description: REST surface for depositaccounts.
      operations:
      - method: POST
        name: createaccount
        description: Creates new direct deposit account for cardholder.
        call: core-direct-deposit-accounts.createaccount
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/depositaccounts/account/{account-number}/user
      name: depositaccounts-account-account-number-user
      description: REST surface for depositaccounts-account-account_number-user.
      operations:
      - method: GET
        name: getuserfordirectdepositaccount
        description: Get User for Plain Text Account Number
        call: core-direct-deposit-accounts.getuserfordirectdepositaccount
        with:
          account_number: rest.account_number
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/depositaccounts/transitions
      name: depositaccounts-transitions
      description: REST surface for depositaccounts-transitions.
      operations:
      - method: POST
        name: createtransition
        description: Creates new transition for a direct deposit account.
        call: core-direct-deposit-accounts.createtransition
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/depositaccounts/transitions/{token}
      name: depositaccounts-transitions-token
      description: REST surface for depositaccounts-transitions-token.
      operations:
      - method: GET
        name: getdirectdepositaccounttransition
        description: Get direct deposit account transition.
        call: core-direct-deposit-accounts.getdirectdepositaccounttransition
        with:
          token: rest.token
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/depositaccounts/user/{token}
      name: depositaccounts-user-token
      description: REST surface for depositaccounts-user-token.
      operations:
      - method: GET
        name: getuserdirectdepositaccounts
        description: List all specific direct deposit accounts.
        call: core-direct-deposit-accounts.getuserdirectdepositaccounts
        with:
          count: rest.count
          start_index: rest.start_index
          sort_by: rest.sort_by
          state: rest.state
          token: rest.token
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/depositaccounts/{token}
      name: depositaccounts-token
      description: REST surface for depositaccounts-token.
      operations:
      - method: GET
        name: getdirectdepositaccount
        description: Get direct deposit account.
        call: core-direct-deposit-accounts.getdirectdepositaccount
        with:
          token: rest.token
        outputParameters:
        - type: object
          mapping: $.
      - method: PUT
        name: update
        description: Update direct deposit account.
        call: core-direct-deposit-accounts.update
        with:
          token: rest.token
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/depositaccounts/{token}/cdd
      name: depositaccounts-token-cdd
      description: REST surface for depositaccounts-token-cdd.
      operations:
      - method: GET
        name: getcddinfo
        description: Get direct deposit account transition list for card holder.
        call: core-direct-deposit-accounts.getcddinfo
        with:
          token: rest.token
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/depositaccounts/{token}/cdd/{cddtoken}
      name: depositaccounts-token-cdd-cddtoken
      description: REST surface for depositaccounts-token-cdd-cddtoken.
      operations:
      - method: PUT
        name: updatecddinfo
        description: Update CDD answers for Direct Deposit Account
        call: core-direct-deposit-accounts.updatecddinfo
        with:
          token: rest.token
          cddtoken: rest.cddtoken
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/depositaccounts/{user-token}/transitions
      name: depositaccounts-user-token-transitions
      description: REST surface for depositaccounts-user_token-transitions.
      operations:
      - method: GET
        name: gettransitionlist
        description: Get direct deposit account transition list for card holder.
        call: core-direct-deposit-accounts.gettransitionlist
        with:
          count: rest.count
          start_index: rest.start_index
          sort_by: rest.sort_by
          user_token: rest.user_token
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: core-direct-deposit-accounts-mcp
    port: 9090
    transport: http
    description: MCP adapter for Core API — direct deposit accounts. One tool per consumed operation, routed inline through
      this capability's consumes block.
    tools:
    - name: creates-new-direct-deposit-account
      description: Creates new direct deposit account for cardholder.
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: core-direct-deposit-accounts.createaccount
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: get-user-plain-text-account
      description: Get User for Plain Text Account Number
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: core-direct-deposit-accounts.getuserfordirectdepositaccount
      with:
        account_number: tools.account_number
      outputParameters:
      - type: object
        mapping: $.
    - name: creates-new-transition-direct-deposit
      description: Creates new transition for a direct deposit account.
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: core-direct-deposit-accounts.createtransition
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: get-direct-deposit-account-transition
      description: Get direct deposit account transition.
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: core-direct-deposit-accounts.getdirectdepositaccounttransition
      with:
        token: tools.token
      outputParameters:
      - type: object
        mapping: $.
    - name: list-all-specific-direct-deposit
      description: List all specific direct deposit accounts.
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: core-direct-deposit-accounts.getuserdirectdepositaccounts
      with:
        count: tools.count
        start_index: tools.start_index
        sort_by: tools.sort_by
        state: tools.state
        token: tools.token
      outputParameters:
      - type: object
        mapping: $.
    - name: get-direct-deposit-account
      description: Get direct deposit account.
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: core-direct-deposit-accounts.getdirectdepositaccount
      with:
        token: tools.token
      outputParameters:
      - type: object
        mapping: $.
    - name: update-direct-deposit-account
      description: Update direct deposit account.
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: core-direct-deposit-accounts.update
      with:
        token: tools.token
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: get-direct-deposit-account-transition-2
      description: Get direct deposit account transition list for card holder.
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: core-direct-deposit-accounts.getcddinfo
      with:
        token: tools.token
      outputParameters:
      - type: object
        mapping: $.
    - name: update-cdd-answers-direct-deposit
      description: Update CDD answers for Direct Deposit Account
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: core-direct-deposit-accounts.updatecddinfo
      with:
        token: tools.token
        cddtoken: tools.cddtoken
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: get-direct-deposit-account-transition-3
      description: Get direct deposit account transition list for card holder.
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: core-direct-deposit-accounts.gettransitionlist
      with:
        count: tools.count
        start_index: tools.start_index
        sort_by: tools.sort_by
        user_token: tools.user_token
      outputParameters:
      - type: object
        mapping: $.