naftiko: 1.0.0-alpha2 info: label: Core API — peer transfers description: 'Core API — peer transfers. 5 operations. Lead operation: Performs a peer transfer from one user to another. Self-contained Naftiko capability covering one Marqeta business surface.' tags: - Marqeta - peer transfers created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: MARQETA_API_KEY: MARQETA_API_KEY capability: consumes: - type: http namespace: core-peer-transfers baseUri: '' description: Core API — peer transfers business capability. Self-contained, no shared references. resources: - name: peertransfers path: /peertransfers operations: - name: postpeertransfers method: POST description: Performs a peer transfer from one user to another outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: false - name: peertransfers-user-user_or_business_token path: /peertransfers/user/{user_or_business_token} operations: - name: getpeertransfersuseruserorbusinesstoken method: GET description: Returns all peer transfers for a user 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: count in: query type: integer description: Number of transfers to retrieve - name: start_index in: query type: integer description: Start index - name: fields in: query type: string description: Comma-delimited list of fields to return (e.g. field_1,field_2,..). Leave blank to return all fields. - name: peertransfers-user-user_or_business_token-recipient path: /peertransfers/user/{user_or_business_token}/recipient operations: - name: getpeertransfersuseruserorbusinesstokenrecipient method: GET description: Returns received peer transfers for a user 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: count in: query type: integer description: Number of transfers to retrieve - name: start_index in: query type: integer description: Start index - name: fields in: query type: string description: Comma-delimited list of fields to return (e.g. field_1,field_2,..). Leave blank to return all fields. - name: peertransfers-user-user_or_business_token-sender path: /peertransfers/user/{user_or_business_token}/sender operations: - name: getpeertransfersuseruserorbusinesstokensender method: GET description: Returns sent peer transfers for a user 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: count in: query type: integer description: Number of transfers to retrieve - name: start_index in: query type: integer description: Start index - name: fields in: query type: string description: Comma-delimited list of fields to return (e.g. field_1,field_2,..). Leave blank to return all fields. - name: peertransfers-token path: /peertransfers/{token} operations: - name: getpeertransferstoken method: GET description: Returns details of a previous transfer 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-peer-transfers-rest port: 8080 description: REST adapter for Core API — peer transfers. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/peertransfers name: peertransfers description: REST surface for peertransfers. operations: - method: POST name: postpeertransfers description: Performs a peer transfer from one user to another call: core-peer-transfers.postpeertransfers with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/peertransfers/user/{user-or-business-token} name: peertransfers-user-user-or-business-token description: REST surface for peertransfers-user-user_or_business_token. operations: - method: GET name: getpeertransfersuseruserorbusinesstoken description: Returns all peer transfers for a user call: core-peer-transfers.getpeertransfersuseruserorbusinesstoken with: user_or_business_token: rest.user_or_business_token count: rest.count start_index: rest.start_index fields: rest.fields outputParameters: - type: object mapping: $. - path: /v1/peertransfers/user/{user-or-business-token}/recipient name: peertransfers-user-user-or-business-token-recipient description: REST surface for peertransfers-user-user_or_business_token-recipient. operations: - method: GET name: getpeertransfersuseruserorbusinesstokenrecipient description: Returns received peer transfers for a user call: core-peer-transfers.getpeertransfersuseruserorbusinesstokenrecipient with: user_or_business_token: rest.user_or_business_token count: rest.count start_index: rest.start_index fields: rest.fields outputParameters: - type: object mapping: $. - path: /v1/peertransfers/user/{user-or-business-token}/sender name: peertransfers-user-user-or-business-token-sender description: REST surface for peertransfers-user-user_or_business_token-sender. operations: - method: GET name: getpeertransfersuseruserorbusinesstokensender description: Returns sent peer transfers for a user call: core-peer-transfers.getpeertransfersuseruserorbusinesstokensender with: user_or_business_token: rest.user_or_business_token count: rest.count start_index: rest.start_index fields: rest.fields outputParameters: - type: object mapping: $. - path: /v1/peertransfers/{token} name: peertransfers-token description: REST surface for peertransfers-token. operations: - method: GET name: getpeertransferstoken description: Returns details of a previous transfer call: core-peer-transfers.getpeertransferstoken with: token: rest.token outputParameters: - type: object mapping: $. - type: mcp namespace: core-peer-transfers-mcp port: 9090 transport: http description: MCP adapter for Core API — peer transfers. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: performs-peer-transfer-one-user description: Performs a peer transfer from one user to another hints: readOnly: false destructive: false idempotent: false call: core-peer-transfers.postpeertransfers with: body: tools.body outputParameters: - type: object mapping: $. - name: returns-all-peer-transfers-user description: Returns all peer transfers for a user hints: readOnly: true destructive: false idempotent: true call: core-peer-transfers.getpeertransfersuseruserorbusinesstoken with: user_or_business_token: tools.user_or_business_token count: tools.count start_index: tools.start_index fields: tools.fields outputParameters: - type: object mapping: $. - name: returns-received-peer-transfers-user description: Returns received peer transfers for a user hints: readOnly: true destructive: false idempotent: true call: core-peer-transfers.getpeertransfersuseruserorbusinesstokenrecipient with: user_or_business_token: tools.user_or_business_token count: tools.count start_index: tools.start_index fields: tools.fields outputParameters: - type: object mapping: $. - name: returns-sent-peer-transfers-user description: Returns sent peer transfers for a user hints: readOnly: true destructive: false idempotent: true call: core-peer-transfers.getpeertransfersuseruserorbusinesstokensender with: user_or_business_token: tools.user_or_business_token count: tools.count start_index: tools.start_index fields: tools.fields outputParameters: - type: object mapping: $. - name: returns-details-previous-transfer description: Returns details of a previous transfer hints: readOnly: true destructive: false idempotent: true call: core-peer-transfers.getpeertransferstoken with: token: tools.token outputParameters: - type: object mapping: $.