DealHub Payments API

The Payments API from DealHub — 17 operation(s) for payments.

Operations 21

GET /payments/bank-account/{id} Get a payment bank account by id #
DELETE /payments/bank-account/{id} Get a payment bank account by id #
POST /payments/{paymentId}/retry/manual Manually retries a payment #
GET /payments/payment-gateways Gets the list of payment integrations #
GET /payments/bank-account/accounts/ledger Gets cash and expense ledger accounts for bank account creation #
POST /payments/processPaymentForInvoice/{invoiceNumber} Processes one time payment for an invoice if there is an automatic payment set up for the account #
GET /payments/retry/config Gets a payment retry configuration #
POST /payments/retry/config Creates or updates a payment retry configuration #
DELETE /payments/retry/config/{id} Deletes a payment retry configuration #
GET /payments/{id} Get payment details #
DELETE /payments/{id} Delete payment by payment id #
GET /payments/account/{id} Get payments #
GET /payments/configuration Get payment configuration #
POST /payments/configuration Update payment configuration #
POST /payments/bank-account Adds a new payment bank account #
GET /payments Get all payments #
GET /payments/{id}/canDelete Check if the payment object can be deleted #
GET /payments/{id}/balance Get payment balance #
PUT /payments/{id}/void Voids a payment #
POST /stripe-import/payment-method/csv Import Stripe payment method via CSV #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/dealhub-payments-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

dealhub-payments-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  version: 1.0.0
  title: Subskribe Payments API
servers:
- url: https://api.app.subskribe.com
security:
- ApiKeyAuth: []
tags:
- name: Payments
paths:
  /payments/bank-account/{id}:
    get:
      tags:
      - Payments
      summary: Get a payment bank account by id
      description: ''
      operationId: getBankAccount
      parameters:
      - name: id
        in: path
        description: Payment bank account id
        required: true
        schema:
          type: string
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaymentBankAccountJson'
    delete:
      tags:
      - Payments
      summary: Get a payment bank account by id
      description: ''
      operationId: deleteBankAccount
      parameters:
      - name: id
        in: path
        description: Payment bank account id
        required: true
        schema:
          type: string
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaymentBankAccountJson'
  /payments/{paymentId}/retry/manual:
    post:
      tags:
      - Payments
      summary: Manually retries a payment
      description: Manually retries a payment based on the provided payment ID and last attempt ID
      operationId: manualPaymentRetry
      parameters:
      - name: paymentId
        in: path
        description: Payment id
        required: true
        schema:
          type: string
      - name: lastPaymentAttemptId
        in: query
        description: Last payment attempt id
        required: false
        schema:
          type: string
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaymentRetryResult'
  /payments/payment-gateways:
    get:
      tags:
      - Payments
      summary: Gets the list of payment integrations
      description: Gets the list of all active and completed payment integrations for the tenant
      operationId: getPaymentIntegrations
      responses:
        default:
          description: successful operation
  /payments/bank-account/accounts/ledger:
    get:
      tags:
      - Payments
      summary: Gets cash and expense ledger accounts for bank account creation
      description: The bank account would be mapped to a cash and an expense ledger account from this list
      operationId: getLedgerAccountsForPaymentBankAccount
      parameters:
      - name: id
        in: query
        required: false
        schema:
          type: string
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/LedgerAccount'
  /payments/processPaymentForInvoice/{invoiceNumber}:
    post:
      tags:
      - Payments
      summary: Processes one time payment for an invoice if there is an automatic payment set up for the account
      description: The automatic payment is processed via Stripe for this invoice
      operationId: processPaymentForInvoice
      parameters:
      - name: invoiceNumber
        in: path
        required: true
        schema:
          type: string
      responses:
        default:
          description: successful operation
  /payments/retry/config:
    get:
      tags:
      - Payments
      summary: Gets a payment retry configuration
      description: Gets the latest payment retry configuration for the tenant, or by the grouping id if specified
      operationId: getPaymentRetryConfig
      parameters:
      - name: groupingId
        in: query
        description: groupingId of the payment retry configuration
        required: false
        schema:
          type: string
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaymentRetryConfigOutput'
    post:
      tags:
      - Payments
      summary: Creates or updates a payment retry configuration
      description: Creates or updates a payment retry configuration for the tenant
      operationId: upsertPaymentRetryConfig
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PaymentRetryConfigInput'
        description: Payment retry configuration to be created or updated
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaymentRetryConfigOutput'
  /payments/retry/config/{id}:
    delete:
      tags:
      - Payments
      summary: Deletes a payment retry configuration
      description: Deletes a payment retry configuration for the tenant
      operationId: deletePaymentRetryConfig
      parameters:
      - name: id
        in: path
        description: ID of the payment retry configuration to be deleted
        required: true
        schema:
          type: string
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaymentRetryConfigOutput'
  /payments/{id}:
    get:
      tags:
      - Payments
      summary: Get payment details
      description: Gets the details of the specified payment
      operationId: getPayment
      parameters:
      - name: id
        in: path
        description: id of the payment
        required: true
        schema:
          type: string
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaymentJson'
    delete:
      tags:
      - Payments
      summary: Delete payment by payment id
      description: Deletes the specified payment if the payment has been voided. This operation also deletes any applications of this payment
      operationId: deletePayment
      parameters:
      - name: id
        in: path
        description: Payment bank account id
        required: true
        schema:
          type: string
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaymentJson'
  /payments/account/{id}:
    get:
      tags:
      - Payments
      summary: Get payments
      description: Returns the payments for the specified account
      operationId: getAccountPayment
      parameters:
      - name: id
        in: path
        description: id of the account
        required: true
        schema:
          type: string
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/PaymentJson'
  /payments/configuration:
    get:
      tags:
      - Payments
      summary: Get payment configuration
      description: Returns the payment configuration for your tenant
      operationId: getPaymentConfiguration
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaymentConfiguration'
    post:
      tags:
      - Payments
      summary: Update payment configuration
      description: Updates the payment configuration for your tenant.
      operationId: updatePaymentConfiguration
      requestBody:
        content:
          application/json:
            schema:
              type: array
              items:
                type: string
                enum:
                - ACH
                - CARD
                - CHECK
                - WIRE
                - INVOICE
                - DEPOSIT
                - EXTERNAL
        description: Payment types to set. Options can be one or more of the allowable values
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaymentConfiguration'
  /payments/account-payment/{id}:
    get:
      tags:
      - Payments
      summary: Get account payment management link
      description: Returns a payment management link for an account
      operationId: getAccountPaymentManagementLink
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                type: string
  /payments/bank-account:
    post:
      tags:
      - Payments
      summary: Adds a new payment bank account
      description: The bank account would be mapped to a cash and an expense ledger account
      operationId: upsertBankAccount
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PaymentBankAccountJson'
        description: Payment bank account to be added
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaymentBankAccountJson'
  /payments:
    get:
      tags:
      - Payments
      summary: Get all payments
      description: Returns all payments for you tenant. The results are paginated. To fetch all take the cursor returned from a call and pass it to a subsequent call.
      operationId: getPayments
      parameters:
      - name: cursor
        in: query
        description: cursor returned from previous call
        required: false
        schema:
          type: string
          format: uuid
      - name: limit
        in: query
        description: number of results per page
        required: false
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaymentJsonPaginationResponse'
  /payments/{id}/canDelete:
    get:
      tags:
      - Payments
      summary: Check if the payment object can be deleted
      description: Payment can be deleted if it has been voided and does not have journal entries associated
      operationId: canDeletePayment
      parameters:
      - name: id
        in: path
        description: id of the payment
        required: true
        schema:
          type: string
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaymentDeletableResponse'
  /payments/{id}/balance:
    get:
      tags:
      - Payments
      summary: Get payment balance
      description: Gets the balance of a payment
      operationId: getPaymentBalance
      parameters:
      - name: id
        in: path
        description: id of the payment
        required: true
        schema:
          type: string
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaymentBalanceJson'
  /payments/{id}/void:
    put:
      tags:
      - Payments
      summary: Voids a payment
      description: Voids the specified payment per the specified parameters
      operationId: voidPayment
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/VoidPaymentJson'
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaymentJson'
  /stripe-import/payment-method/csv:
    post:
      tags:
      - Payments
      summary: Import Stripe payment method via CSV
      description: Associate an existing Stripe payment method with an account
      operationId: importStripePaymentMethodCSV
      requestBody:
        $ref: '#/components/requestBodies/uploadApprovalMatrixCSV'
      responses:
        default:
          description: successful operation
components:
  requestBodies:
    uploadApprovalMatrixCSV:
      content:
        multipart/form-data:
          schema:
            type: object
            properties:
              file:
                type: string
                format: binary
  schemas:
    PaymentBankAccountJson:
      type: object
      required:
      - currencyCode
      - entityIds
      - status
      properties:
        id:
          type: string
          readOnly: true
        entityIds:
          type: array
          items:
            type: string
        externalId:
          type: string
        name:
          type: string
        description:
          type: string
        currencyCode:
          type: string
        cashLedgerAccountId:
          type: string
        expenseLedgerAccountId:
          type: string
        status:
          type: string
          enum:
          - DRAFT
          - ACTIVE
          - DEPRECATED
        hasExistingPayments:
          type: boolean
        createdOn:
          type: integer
          format: int64
          readOnly: true
        updatedOn:
          type: integer
          format: int64
          readOnly: true
    PaymentRetryPolicy:
      type: object
      required:
      - type
      discriminator:
        propertyName: type
      properties:
        version:
          type: integer
          format: int32
        totalAttempts:
          type: integer
          format: int32
        type:
          type: string
          enum:
          - INTERVAL_BASED
    PaymentRetryConfigOutput:
      type: object
      required:
      - groupingId
      - policy
      properties:
        groupingId:
          type: string
          readOnly: true
        policy:
          $ref: '#/components/schemas/PaymentRetryPolicy'
    PaymentRetryResult:
      type: object
      properties:
        retryAction:
          type: string
          enum:
          - RETRIED
          - SKIPPED
          - RETRIED_AFTER_MANUAL_ATTEMPT
        detail:
          type: string
        manualPaymentAttemptId:
          type: string
    VoidPaymentJson:
      type: object
      required:
      - invoiceBalance
      - invoiceNumber
      - voidDate
      properties:
        paymentId:
          type: string
        voidDate:
          type: integer
          format: int64
        invoiceBalance:
          type: number
        invoiceNumber:
          type: string
        note:
          type: string
    PaymentDeletableResponse:
      type: object
      properties:
        deletable:
          type: boolean
          readOnly: true
        message:
          type: string
          readOnly: true
    LedgerAccount:
      type: object
      properties:
        entityIds:
          type: array
          uniqueItems: true
          items:
            type: string
        name:
          type: string
        accountCode:
          type: string
        description:
          type: string
          minLength: 0
          maxLength: 65535
        accountType:
          type: string
          enum:
          - ACCOUNTS_RECEIVABLE
          - TAX_LIABILITY
          - CASH
          - DEFERRED_REVENUE
          - RECOGNIZED_REVENUE
          - CONTRACT_ASSET
          - REALIZED_GAIN_LOSS
          - EXPENSE
          - REFUND
        isDefault:
          type: boolean
        inUse:
          type: boolean
        default:
          type: boolean
        id:
          type: string
    PaymentBalanceJson:
      type: object
      properties:
        accountId:
          type: string
        paymentId:
          type: string
        balance:
          type: number
        updatedOn:
          type: integer
          format: int64
    PaymentConfiguration:
      type: object
      properties:
        supportedPaymentTypes:
          type: array
          uniqueItems: true
          items:
            type: string
            enum:
            - ACH
            - CARD
            - CHECK
            - WIRE
            - INVOICE
            - DEPOSIT
            - EXTERNAL
    PaymentJsonPaginationResponse:
      type: object
      properties:
        data:
          type: array
          readOnly: true
          items:
            $ref: '#/components/schemas/PaymentJson'
        numElements:
          type: integer
          format: int32
          readOnly: true
        nextCursor:
          type: string
          format: uuid
          readOnly: true
    PaymentRetryConfigInput:
      type: object
      required:
      - policy
      properties:
        groupingId:
          type: string
          readOnly: true
        policy:
          $ref: '#/components/schemas/PaymentRetryPolicy'
    PaymentJson:
      type: object
      required:
      - accountId
      - paymentMethodId
      properties:
        id:
          type: string
          format: uuid
          readOnly: true
        paymentId:
          type: string
        accountId:
          type: string
        paymentMethodId:
          type: string
          format: uuid
        currencyCode:
          type: string
        state:
          type: string
          enum:
          - CREATED
          - CONFIRMED
          - CAPTURED
          - PROCESSING
          - CARD_DECLINED
          - ACH_TRANSFER_FAILED
          - RECONCILED
          - INITIATED
          - FAILED
          - SUCCEED
          - VOIDED
        status:
          type: string
          readOnly: true
        amount:
          type: number
        paymentDate:
          type: integer
          format: int64
        exchangeRateId:
          type: string
        exchangeRate:
          type: number
        exchangeRateDate:
          type: integer
          format: int64
        functionalAmount:
          type: number
        functionalAmountCaptured:
          type: number
        functionalBankFee:
          type: number
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: X-API-Key