naftiko: 1.0.0-alpha2 info: label: Pin Payments API description: A complete payments solution, built for speed and simplicity. The Pin Payments API enables you to charge cards, manage customers, issue refunds, store cards, and run subscriptions. tags: - Pin - Payments - API created: '2026-05-06' modified: '2026-05-06' capability: consumes: - type: http namespace: pin-payments baseUri: https://api.pinpayments.com/1 description: Pin Payments API HTTP API. authentication: type: basic username: '{{PIN_PAYMENTS_USERNAME}}' password: '{{PIN_PAYMENTS_PASSWORD}}' resources: - name: charges path: /charges operations: - name: post-charges method: POST description: Create a charge outputRawFormat: json outputParameters: - name: result type: object value: $. - name: get-charges method: GET description: List charges outputRawFormat: json outputParameters: - name: result type: object value: $. - name: charges-search path: /charges/search operations: - name: get-charges-search method: GET description: Search charges inputParameters: - name: query in: query type: string - name: start_date in: query type: string - name: end_date in: query type: string - name: sort in: query type: string - name: direction in: query type: integer outputRawFormat: json outputParameters: - name: result type: object value: $. - name: charges-charge-token path: /charges/{charge_token} operations: - name: get-charges-charge-token method: GET description: Retrieve a charge outputRawFormat: json outputParameters: - name: result type: object value: $. - name: charges-charge-token-void path: /charges/{charge_token}/void operations: - name: put-charges-charge-token-void method: PUT description: Void an authorized charge outputRawFormat: json outputParameters: - name: result type: object value: $. - name: charges-charge-token-capture path: /charges/{charge_token}/capture operations: - name: put-charges-charge-token-capture method: PUT description: Capture a previously authorized charge outputRawFormat: json outputParameters: - name: result type: object value: $. - name: charges-verify path: /charges/verify operations: - name: get-charges-verify method: GET description: Verify a 3D Secure result inputParameters: - name: session_token in: query type: string required: true outputRawFormat: json outputParameters: - name: result type: object value: $. - name: charges-charge-token-refunds path: /charges/{charge_token}/refunds operations: - name: get-charges-charge-token-refunds method: GET description: List refunds for a charge outputRawFormat: json outputParameters: - name: result type: object value: $. - name: post-charges-charge-token-refunds method: POST description: Create a refund outputRawFormat: json outputParameters: - name: result type: object value: $. - name: refunds path: /refunds operations: - name: get-refunds method: GET description: List refunds outputRawFormat: json outputParameters: - name: result type: object value: $. - name: refunds-refund-token path: /refunds/{refund_token} operations: - name: get-refunds-refund-token method: GET description: Retrieve a refund inputParameters: - name: refund_token in: path type: string required: true outputRawFormat: json outputParameters: - name: result type: object value: $. - name: customers path: /customers operations: - name: post-customers method: POST description: Create a customer outputRawFormat: json outputParameters: - name: result type: object value: $. - name: get-customers method: GET description: List customers outputRawFormat: json outputParameters: - name: result type: object value: $. - name: customers-customer-token path: /customers/{customer_token} operations: - name: get-customers-customer-token method: GET description: Retrieve a customer outputRawFormat: json outputParameters: - name: result type: object value: $. - name: put-customers-customer-token method: PUT description: Update a customer outputRawFormat: json outputParameters: - name: result type: object value: $. - name: delete-customers-customer-token method: DELETE description: Delete a customer outputRawFormat: json outputParameters: - name: result type: object value: $. - name: customers-customer-token-charges path: /customers/{customer_token}/charges operations: - name: get-customers-customer-token-charges method: GET description: List charges for a customer outputRawFormat: json outputParameters: - name: result type: object value: $. - name: customers-customer-token-cards path: /customers/{customer_token}/cards operations: - name: get-customers-customer-token-cards method: GET description: List cards for a customer outputRawFormat: json outputParameters: - name: result type: object value: $. - name: post-customers-customer-token-cards method: POST description: Add a card to a customer outputRawFormat: json outputParameters: - name: result type: object value: $. - name: customers-customer-token-cards-card-token path: /customers/{customer_token}/cards/{card_token} operations: - name: delete-customers-customer-token-cards-card-token method: DELETE description: Remove a non-primary card from a customer inputParameters: - name: card_token in: path type: string required: true outputRawFormat: json outputParameters: - name: result type: object value: $. - name: customers-customer-token-subscriptions path: /customers/{customer_token}/subscriptions operations: - name: get-customers-customer-token-subscriptions method: GET description: List subscriptions for a customer outputRawFormat: json outputParameters: - name: result type: object value: $. - name: customers-customer-token-subscriptions-sub-token path: /customers/{customer_token}/subscriptions/{sub_token} operations: - name: delete-customers-customer-token-subscriptions-su method: DELETE description: Cancel a customer subscription inputParameters: - name: sub_token in: path type: string required: true outputRawFormat: json outputParameters: - name: result type: object value: $. - name: cards path: /cards operations: - name: post-cards method: POST description: Tokenize a card outputRawFormat: json outputParameters: - name: result type: object value: $. - name: cards-card-token path: /cards/{card_token} operations: - name: get-cards-card-token method: GET description: Retrieve a card inputParameters: - name: card_token in: path type: string required: true outputRawFormat: json outputParameters: - name: result type: object value: $. exposes: - type: rest port: 8080 namespace: pin-payments-rest description: REST adapter for Pin Payments API. resources: - path: /charges name: post-charges operations: - method: POST name: post-charges description: Create a charge call: pin-payments.post-charges outputParameters: - type: object mapping: $. - path: /charges name: get-charges operations: - method: GET name: get-charges description: List charges call: pin-payments.get-charges outputParameters: - type: object mapping: $. - path: /charges/search name: get-charges-search operations: - method: GET name: get-charges-search description: Search charges call: pin-payments.get-charges-search outputParameters: - type: object mapping: $. - path: /charges/{charge_token} name: get-charges-charge-token operations: - method: GET name: get-charges-charge-token description: Retrieve a charge call: pin-payments.get-charges-charge-token outputParameters: - type: object mapping: $. - path: /charges/{charge_token}/void name: put-charges-charge-token-void operations: - method: PUT name: put-charges-charge-token-void description: Void an authorized charge call: pin-payments.put-charges-charge-token-void outputParameters: - type: object mapping: $. - path: /charges/{charge_token}/capture name: put-charges-charge-token-capture operations: - method: PUT name: put-charges-charge-token-capture description: Capture a previously authorized charge call: pin-payments.put-charges-charge-token-capture outputParameters: - type: object mapping: $. - path: /charges/verify name: get-charges-verify operations: - method: GET name: get-charges-verify description: Verify a 3D Secure result call: pin-payments.get-charges-verify outputParameters: - type: object mapping: $. - path: /charges/{charge_token}/refunds name: get-charges-charge-token-refunds operations: - method: GET name: get-charges-charge-token-refunds description: List refunds for a charge call: pin-payments.get-charges-charge-token-refunds outputParameters: - type: object mapping: $. - path: /charges/{charge_token}/refunds name: post-charges-charge-token-refunds operations: - method: POST name: post-charges-charge-token-refunds description: Create a refund call: pin-payments.post-charges-charge-token-refunds outputParameters: - type: object mapping: $. - path: /refunds name: get-refunds operations: - method: GET name: get-refunds description: List refunds call: pin-payments.get-refunds outputParameters: - type: object mapping: $. - path: /refunds/{refund_token} name: get-refunds-refund-token operations: - method: GET name: get-refunds-refund-token description: Retrieve a refund call: pin-payments.get-refunds-refund-token with: refund_token: rest.refund_token outputParameters: - type: object mapping: $. - path: /customers name: post-customers operations: - method: POST name: post-customers description: Create a customer call: pin-payments.post-customers outputParameters: - type: object mapping: $. - path: /customers name: get-customers operations: - method: GET name: get-customers description: List customers call: pin-payments.get-customers outputParameters: - type: object mapping: $. - path: /customers/{customer_token} name: get-customers-customer-token operations: - method: GET name: get-customers-customer-token description: Retrieve a customer call: pin-payments.get-customers-customer-token outputParameters: - type: object mapping: $. - path: /customers/{customer_token} name: put-customers-customer-token operations: - method: PUT name: put-customers-customer-token description: Update a customer call: pin-payments.put-customers-customer-token outputParameters: - type: object mapping: $. - path: /customers/{customer_token} name: delete-customers-customer-token operations: - method: DELETE name: delete-customers-customer-token description: Delete a customer call: pin-payments.delete-customers-customer-token outputParameters: - type: object mapping: $. - path: /customers/{customer_token}/charges name: get-customers-customer-token-charges operations: - method: GET name: get-customers-customer-token-charges description: List charges for a customer call: pin-payments.get-customers-customer-token-charges outputParameters: - type: object mapping: $. - path: /customers/{customer_token}/cards name: get-customers-customer-token-cards operations: - method: GET name: get-customers-customer-token-cards description: List cards for a customer call: pin-payments.get-customers-customer-token-cards outputParameters: - type: object mapping: $. - path: /customers/{customer_token}/cards name: post-customers-customer-token-cards operations: - method: POST name: post-customers-customer-token-cards description: Add a card to a customer call: pin-payments.post-customers-customer-token-cards outputParameters: - type: object mapping: $. - path: /customers/{customer_token}/cards/{card_token} name: delete-customers-customer-token-cards-card-token operations: - method: DELETE name: delete-customers-customer-token-cards-card-token description: Remove a non-primary card from a customer call: pin-payments.delete-customers-customer-token-cards-card-token with: card_token: rest.card_token outputParameters: - type: object mapping: $. - path: /customers/{customer_token}/subscriptions name: get-customers-customer-token-subscriptions operations: - method: GET name: get-customers-customer-token-subscriptions description: List subscriptions for a customer call: pin-payments.get-customers-customer-token-subscriptions outputParameters: - type: object mapping: $. - path: /customers/{customer_token}/subscriptions/{sub_token} name: delete-customers-customer-token-subscriptions-su operations: - method: DELETE name: delete-customers-customer-token-subscriptions-su description: Cancel a customer subscription call: pin-payments.delete-customers-customer-token-subscriptions-su with: sub_token: rest.sub_token outputParameters: - type: object mapping: $. - path: /cards name: post-cards operations: - method: POST name: post-cards description: Tokenize a card call: pin-payments.post-cards outputParameters: - type: object mapping: $. - path: /cards/{card_token} name: get-cards-card-token operations: - method: GET name: get-cards-card-token description: Retrieve a card call: pin-payments.get-cards-card-token with: card_token: rest.card_token outputParameters: - type: object mapping: $. - type: mcp port: 9090 namespace: pin-payments-mcp transport: http description: MCP adapter for Pin Payments API for AI agent use. tools: - name: post-charges description: Create a charge hints: readOnly: false destructive: false idempotent: false call: pin-payments.post-charges outputParameters: - type: object mapping: $. - name: get-charges description: List charges hints: readOnly: true destructive: false idempotent: true call: pin-payments.get-charges outputParameters: - type: object mapping: $. - name: get-charges-search description: Search charges hints: readOnly: true destructive: false idempotent: true call: pin-payments.get-charges-search with: query: tools.query start_date: tools.start_date end_date: tools.end_date sort: tools.sort direction: tools.direction inputParameters: - name: query type: string description: query - name: start_date type: string description: start_date - name: end_date type: string description: end_date - name: sort type: string description: sort - name: direction type: integer description: direction outputParameters: - type: object mapping: $. - name: get-charges-charge-token description: Retrieve a charge hints: readOnly: true destructive: false idempotent: true call: pin-payments.get-charges-charge-token outputParameters: - type: object mapping: $. - name: put-charges-charge-token-void description: Void an authorized charge hints: readOnly: false destructive: false idempotent: true call: pin-payments.put-charges-charge-token-void outputParameters: - type: object mapping: $. - name: put-charges-charge-token-capture description: Capture a previously authorized charge hints: readOnly: false destructive: false idempotent: true call: pin-payments.put-charges-charge-token-capture outputParameters: - type: object mapping: $. - name: get-charges-verify description: Verify a 3D Secure result hints: readOnly: true destructive: false idempotent: true call: pin-payments.get-charges-verify with: session_token: tools.session_token inputParameters: - name: session_token type: string description: session_token required: true outputParameters: - type: object mapping: $. - name: get-charges-charge-token-refunds description: List refunds for a charge hints: readOnly: true destructive: false idempotent: true call: pin-payments.get-charges-charge-token-refunds outputParameters: - type: object mapping: $. - name: post-charges-charge-token-refunds description: Create a refund hints: readOnly: false destructive: false idempotent: false call: pin-payments.post-charges-charge-token-refunds outputParameters: - type: object mapping: $. - name: get-refunds description: List refunds hints: readOnly: true destructive: false idempotent: true call: pin-payments.get-refunds outputParameters: - type: object mapping: $. - name: get-refunds-refund-token description: Retrieve a refund hints: readOnly: true destructive: false idempotent: true call: pin-payments.get-refunds-refund-token with: refund_token: tools.refund_token inputParameters: - name: refund_token type: string description: refund_token required: true outputParameters: - type: object mapping: $. - name: post-customers description: Create a customer hints: readOnly: false destructive: false idempotent: false call: pin-payments.post-customers outputParameters: - type: object mapping: $. - name: get-customers description: List customers hints: readOnly: true destructive: false idempotent: true call: pin-payments.get-customers outputParameters: - type: object mapping: $. - name: get-customers-customer-token description: Retrieve a customer hints: readOnly: true destructive: false idempotent: true call: pin-payments.get-customers-customer-token outputParameters: - type: object mapping: $. - name: put-customers-customer-token description: Update a customer hints: readOnly: false destructive: false idempotent: true call: pin-payments.put-customers-customer-token outputParameters: - type: object mapping: $. - name: delete-customers-customer-token description: Delete a customer hints: readOnly: false destructive: true idempotent: true call: pin-payments.delete-customers-customer-token outputParameters: - type: object mapping: $. - name: get-customers-customer-token-charges description: List charges for a customer hints: readOnly: true destructive: false idempotent: true call: pin-payments.get-customers-customer-token-charges outputParameters: - type: object mapping: $. - name: get-customers-customer-token-cards description: List cards for a customer hints: readOnly: true destructive: false idempotent: true call: pin-payments.get-customers-customer-token-cards outputParameters: - type: object mapping: $. - name: post-customers-customer-token-cards description: Add a card to a customer hints: readOnly: false destructive: false idempotent: false call: pin-payments.post-customers-customer-token-cards outputParameters: - type: object mapping: $. - name: delete-customers-customer-token-cards-card-token description: Remove a non-primary card from a customer hints: readOnly: false destructive: true idempotent: true call: pin-payments.delete-customers-customer-token-cards-card-token with: card_token: tools.card_token inputParameters: - name: card_token type: string description: card_token required: true outputParameters: - type: object mapping: $. - name: get-customers-customer-token-subscriptions description: List subscriptions for a customer hints: readOnly: true destructive: false idempotent: true call: pin-payments.get-customers-customer-token-subscriptions outputParameters: - type: object mapping: $. - name: delete-customers-customer-token-subscriptions-su description: Cancel a customer subscription hints: readOnly: false destructive: true idempotent: true call: pin-payments.delete-customers-customer-token-subscriptions-su with: sub_token: tools.sub_token inputParameters: - name: sub_token type: string description: sub_token required: true outputParameters: - type: object mapping: $. - name: post-cards description: Tokenize a card hints: readOnly: false destructive: false idempotent: false call: pin-payments.post-cards outputParameters: - type: object mapping: $. - name: get-cards-card-token description: Retrieve a card hints: readOnly: true destructive: false idempotent: true call: pin-payments.get-cards-card-token with: card_token: tools.card_token inputParameters: - name: card_token type: string description: card_token required: true outputParameters: - type: object mapping: $. binds: - namespace: env keys: PIN_PAYMENTS_USERNAME: PIN_PAYMENTS_USERNAME PIN_PAYMENTS_PASSWORD: PIN_PAYMENTS_PASSWORD