naftiko: 1.0.0-alpha2 info: label: Core API — direct deposits description: 'Core API — direct deposits. 7 operations. Lead operation: Lists all direct deposits. Self-contained Naftiko capability covering one Marqeta business surface.' tags: - Marqeta - direct deposits 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-deposits baseUri: '' description: Core API — direct deposits business capability. Self-contained, no shared references. resources: - name: directdeposits path: /directdeposits operations: - name: getdirectdeposits method: GET description: Lists all direct deposits outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: count in: query type: integer description: Number of direct deposits to retrieve - name: start_index in: query type: integer description: Start index - name: reversed_after_grace_period in: query type: boolean description: Reversed after grace period - name: user_token in: query type: string description: User token - name: business_token in: query type: string description: Business token - name: direct_deposit_state in: query type: string description: Direct deposit state - name: start_settlement_date in: query type: string description: Start settlement date - name: end_settlement_date in: query type: string description: End settlement date - name: sort_by in: query type: string description: Sort order - name: directdeposits-accounts-user_or_business_token path: /directdeposits/accounts/{user_or_business_token} operations: - name: getdirectdepositsaccountsuserorbusinesstoken method: GET description: Returns an account and routing number which can be used for direct deposit outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: user_or_business_token in: path type: string required: true - name: putdirectdepositsaccountsuserorbusinesstoken method: PUT description: Updates a specific direct deposit account outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: user_or_business_token in: path type: string description: User or business token required: true - name: body in: body type: object description: Request body (JSON). required: true - name: directdeposits-transitions path: /directdeposits/transitions operations: - name: getdirectdepositstransitions method: GET description: Returns a list of direct deposit transitions outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: count in: query type: integer description: Number of direct deposit transitions to retrieve - name: user_token in: query type: string description: User token - name: business_token in: query type: string description: Business token - name: direct_deposit_token in: query type: string description: Direct deposit token - name: start_index in: query type: integer description: Start index - name: sort_by in: query type: string description: Sort order - name: states in: query type: string description: Comma-delimited list of direct deposit states to display e.g. PENDING | REVERSED | APPLIED | REJECTED - name: postdirectdepositstransitions method: POST description: Creates a direct deposit transition outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: false - name: directdeposits-transitions-token path: /directdeposits/transitions/{token} operations: - name: getdirectdepositstransitionstoken method: GET description: Returns a direct deposit transition outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: token in: path type: string required: true - name: directdeposits-token path: /directdeposits/{token} operations: - name: getdirectdepositstoken method: GET description: Returns a direct deposit entry outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: token in: path type: string required: true authentication: type: basic username: '{{env.MARQETA_USER}}' password: '{{env.MARQETA_PASS}}' exposes: - type: rest namespace: core-direct-deposits-rest port: 8080 description: REST adapter for Core API — direct deposits. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/directdeposits name: directdeposits description: REST surface for directdeposits. operations: - method: GET name: getdirectdeposits description: Lists all direct deposits call: core-direct-deposits.getdirectdeposits with: count: rest.count start_index: rest.start_index reversed_after_grace_period: rest.reversed_after_grace_period user_token: rest.user_token business_token: rest.business_token direct_deposit_state: rest.direct_deposit_state start_settlement_date: rest.start_settlement_date end_settlement_date: rest.end_settlement_date sort_by: rest.sort_by outputParameters: - type: object mapping: $. - path: /v1/directdeposits/accounts/{user-or-business-token} name: directdeposits-accounts-user-or-business-token description: REST surface for directdeposits-accounts-user_or_business_token. operations: - method: GET name: getdirectdepositsaccountsuserorbusinesstoken description: Returns an account and routing number which can be used for direct deposit call: core-direct-deposits.getdirectdepositsaccountsuserorbusinesstoken with: user_or_business_token: rest.user_or_business_token outputParameters: - type: object mapping: $. - method: PUT name: putdirectdepositsaccountsuserorbusinesstoken description: Updates a specific direct deposit account call: core-direct-deposits.putdirectdepositsaccountsuserorbusinesstoken with: user_or_business_token: rest.user_or_business_token body: rest.body outputParameters: - type: object mapping: $. - path: /v1/directdeposits/transitions name: directdeposits-transitions description: REST surface for directdeposits-transitions. operations: - method: GET name: getdirectdepositstransitions description: Returns a list of direct deposit transitions call: core-direct-deposits.getdirectdepositstransitions with: count: rest.count user_token: rest.user_token business_token: rest.business_token direct_deposit_token: rest.direct_deposit_token start_index: rest.start_index sort_by: rest.sort_by states: rest.states outputParameters: - type: object mapping: $. - method: POST name: postdirectdepositstransitions description: Creates a direct deposit transition call: core-direct-deposits.postdirectdepositstransitions with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/directdeposits/transitions/{token} name: directdeposits-transitions-token description: REST surface for directdeposits-transitions-token. operations: - method: GET name: getdirectdepositstransitionstoken description: Returns a direct deposit transition call: core-direct-deposits.getdirectdepositstransitionstoken with: token: rest.token outputParameters: - type: object mapping: $. - path: /v1/directdeposits/{token} name: directdeposits-token description: REST surface for directdeposits-token. operations: - method: GET name: getdirectdepositstoken description: Returns a direct deposit entry call: core-direct-deposits.getdirectdepositstoken with: token: rest.token outputParameters: - type: object mapping: $. - type: mcp namespace: core-direct-deposits-mcp port: 9090 transport: http description: MCP adapter for Core API — direct deposits. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: lists-all-direct-deposits description: Lists all direct deposits hints: readOnly: true destructive: false idempotent: true call: core-direct-deposits.getdirectdeposits with: count: tools.count start_index: tools.start_index reversed_after_grace_period: tools.reversed_after_grace_period user_token: tools.user_token business_token: tools.business_token direct_deposit_state: tools.direct_deposit_state start_settlement_date: tools.start_settlement_date end_settlement_date: tools.end_settlement_date sort_by: tools.sort_by outputParameters: - type: object mapping: $. - name: returns-account-and-routing-number description: Returns an account and routing number which can be used for direct deposit hints: readOnly: true destructive: false idempotent: true call: core-direct-deposits.getdirectdepositsaccountsuserorbusinesstoken with: user_or_business_token: tools.user_or_business_token outputParameters: - type: object mapping: $. - name: updates-specific-direct-deposit-account description: Updates a specific direct deposit account hints: readOnly: false destructive: false idempotent: true call: core-direct-deposits.putdirectdepositsaccountsuserorbusinesstoken with: user_or_business_token: tools.user_or_business_token body: tools.body outputParameters: - type: object mapping: $. - name: returns-list-direct-deposit-transitions description: Returns a list of direct deposit transitions hints: readOnly: true destructive: false idempotent: true call: core-direct-deposits.getdirectdepositstransitions with: count: tools.count user_token: tools.user_token business_token: tools.business_token direct_deposit_token: tools.direct_deposit_token start_index: tools.start_index sort_by: tools.sort_by states: tools.states outputParameters: - type: object mapping: $. - name: creates-direct-deposit-transition description: Creates a direct deposit transition hints: readOnly: false destructive: false idempotent: false call: core-direct-deposits.postdirectdepositstransitions with: body: tools.body outputParameters: - type: object mapping: $. - name: returns-direct-deposit-transition description: Returns a direct deposit transition hints: readOnly: true destructive: false idempotent: true call: core-direct-deposits.getdirectdepositstransitionstoken with: token: tools.token outputParameters: - type: object mapping: $. - name: returns-direct-deposit-entry description: Returns a direct deposit entry hints: readOnly: true destructive: false idempotent: true call: core-direct-deposits.getdirectdepositstoken with: token: tools.token outputParameters: - type: object mapping: $.