naftiko: 1.0.0-alpha2 info: label: Core API — simulate description: 'Core API — simulate. 10 operations. Lead operation: Simulates an authorization. Self-contained Naftiko capability covering one Marqeta business surface.' tags: - Marqeta - simulate created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: MARQETA_API_KEY: MARQETA_API_KEY capability: consumes: - type: http namespace: core-simulate baseUri: '' description: Core API — simulate business capability. Self-contained, no shared references. resources: - name: simulate-authorization path: /simulate/authorization operations: - name: postsimulateauthorization method: POST description: Simulates an authorization outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: false - name: simulate-authorization-advice path: /simulate/authorization/advice operations: - name: postsimulateauthorizationadvice method: POST description: Simulates an authorization advice transaction outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: false - name: simulate-clearing path: /simulate/clearing operations: - name: postsimulateclearing method: POST description: Simulates a clearing/settlement transaction outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: false - name: simulate-directdeposits path: /simulate/directdeposits operations: - name: postsimulatedirectdeposits method: POST description: Simulates the creation of direct deposit outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: simulate-financial path: /simulate/financial operations: - name: postsimulatefinancial method: POST description: Simulates a financial request (PIN debit) transaction with optional cash back outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: simulate-financial-advice path: /simulate/financial/advice operations: - name: postsimulatefinancialadvice method: POST description: Simulates a financial advice transaction outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: simulate-financial-balanceinquiry path: /simulate/financial/balanceinquiry operations: - name: postsimulatefinancialbalanceinquiry method: POST description: Simulates a balance inquiry outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: simulate-financial-originalcredit path: /simulate/financial/originalcredit operations: - name: postsimulatefinancialoriginalcredit method: POST description: Simulates an orignal credit transaction outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: simulate-financial-withdrawal path: /simulate/financial/withdrawal operations: - name: postsimulatefinancialwithdrawal method: POST description: Simulates an ATM withdrawal transaction outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: simulate-reversal path: /simulate/reversal operations: - name: postsimulatereversal method: POST description: Simulates a reversal transaction outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: false authentication: type: basic username: '{{env.MARQETA_USER}}' password: '{{env.MARQETA_PASS}}' exposes: - type: rest namespace: core-simulate-rest port: 8080 description: REST adapter for Core API — simulate. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/simulate/authorization name: simulate-authorization description: REST surface for simulate-authorization. operations: - method: POST name: postsimulateauthorization description: Simulates an authorization call: core-simulate.postsimulateauthorization with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/simulate/authorization/advice name: simulate-authorization-advice description: REST surface for simulate-authorization-advice. operations: - method: POST name: postsimulateauthorizationadvice description: Simulates an authorization advice transaction call: core-simulate.postsimulateauthorizationadvice with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/simulate/clearing name: simulate-clearing description: REST surface for simulate-clearing. operations: - method: POST name: postsimulateclearing description: Simulates a clearing/settlement transaction call: core-simulate.postsimulateclearing with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/simulate/directdeposits name: simulate-directdeposits description: REST surface for simulate-directdeposits. operations: - method: POST name: postsimulatedirectdeposits description: Simulates the creation of direct deposit call: core-simulate.postsimulatedirectdeposits with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/simulate/financial name: simulate-financial description: REST surface for simulate-financial. operations: - method: POST name: postsimulatefinancial description: Simulates a financial request (PIN debit) transaction with optional cash back call: core-simulate.postsimulatefinancial with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/simulate/financial/advice name: simulate-financial-advice description: REST surface for simulate-financial-advice. operations: - method: POST name: postsimulatefinancialadvice description: Simulates a financial advice transaction call: core-simulate.postsimulatefinancialadvice with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/simulate/financial/balanceinquiry name: simulate-financial-balanceinquiry description: REST surface for simulate-financial-balanceinquiry. operations: - method: POST name: postsimulatefinancialbalanceinquiry description: Simulates a balance inquiry call: core-simulate.postsimulatefinancialbalanceinquiry with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/simulate/financial/originalcredit name: simulate-financial-originalcredit description: REST surface for simulate-financial-originalcredit. operations: - method: POST name: postsimulatefinancialoriginalcredit description: Simulates an orignal credit transaction call: core-simulate.postsimulatefinancialoriginalcredit with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/simulate/financial/withdrawal name: simulate-financial-withdrawal description: REST surface for simulate-financial-withdrawal. operations: - method: POST name: postsimulatefinancialwithdrawal description: Simulates an ATM withdrawal transaction call: core-simulate.postsimulatefinancialwithdrawal with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/simulate/reversal name: simulate-reversal description: REST surface for simulate-reversal. operations: - method: POST name: postsimulatereversal description: Simulates a reversal transaction call: core-simulate.postsimulatereversal with: body: rest.body outputParameters: - type: object mapping: $. - type: mcp namespace: core-simulate-mcp port: 9090 transport: http description: MCP adapter for Core API — simulate. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: simulates-authorization description: Simulates an authorization hints: readOnly: false destructive: false idempotent: false call: core-simulate.postsimulateauthorization with: body: tools.body outputParameters: - type: object mapping: $. - name: simulates-authorization-advice-transaction description: Simulates an authorization advice transaction hints: readOnly: false destructive: false idempotent: false call: core-simulate.postsimulateauthorizationadvice with: body: tools.body outputParameters: - type: object mapping: $. - name: simulates-clearing-settlement-transaction description: Simulates a clearing/settlement transaction hints: readOnly: false destructive: false idempotent: false call: core-simulate.postsimulateclearing with: body: tools.body outputParameters: - type: object mapping: $. - name: simulates-creation-direct-deposit description: Simulates the creation of direct deposit hints: readOnly: false destructive: false idempotent: false call: core-simulate.postsimulatedirectdeposits with: body: tools.body outputParameters: - type: object mapping: $. - name: simulates-financial-request-pin-debit description: Simulates a financial request (PIN debit) transaction with optional cash back hints: readOnly: false destructive: false idempotent: false call: core-simulate.postsimulatefinancial with: body: tools.body outputParameters: - type: object mapping: $. - name: simulates-financial-advice-transaction description: Simulates a financial advice transaction hints: readOnly: false destructive: false idempotent: false call: core-simulate.postsimulatefinancialadvice with: body: tools.body outputParameters: - type: object mapping: $. - name: simulates-balance-inquiry description: Simulates a balance inquiry hints: readOnly: false destructive: false idempotent: false call: core-simulate.postsimulatefinancialbalanceinquiry with: body: tools.body outputParameters: - type: object mapping: $. - name: simulates-orignal-credit-transaction description: Simulates an orignal credit transaction hints: readOnly: false destructive: false idempotent: false call: core-simulate.postsimulatefinancialoriginalcredit with: body: tools.body outputParameters: - type: object mapping: $. - name: simulates-atm-withdrawal-transaction description: Simulates an ATM withdrawal transaction hints: readOnly: false destructive: false idempotent: false call: core-simulate.postsimulatefinancialwithdrawal with: body: tools.body outputParameters: - type: object mapping: $. - name: simulates-reversal-transaction description: Simulates a reversal transaction hints: readOnly: false destructive: false idempotent: false call: core-simulate.postsimulatereversal with: body: tools.body outputParameters: - type: object mapping: $.