> ## Documentation Index
> Fetch the complete documentation index at: https://api.monument.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Charge a rental record's current balance to a saved payment profile

> Charges the rental record's current outstanding balance (computed server-side at charge time, in cents) to a stored payment profile. The caller cannot set the amount. Optionally pass expectedAmountInPennies as a stale-balance guard — a mismatch is rejected with 409 and nothing is charged.



## OpenAPI

````yaml /openapi/integration-openapi.json post /api/{portfolio}/portfolios/v1/facilities/{facilityUuid}/rentalRecords/{unitRentalRecordUuid}/payments
openapi: 3.0.0
info:
  title: Monument Integration API
  description: Monument Integration API
  version: '1.0'
  contact: {}
servers:
  - url: https://public-api.prd.monument.io
    description: Production
  - url: https://public-api.stg.monument.io
    description: Staging
security: []
tags:
  - name: Portfolios
    description: List portfolios accessible to the API key
  - name: Facilities
    description: Facility retrieval and coverage-option configuration
  - name: Units
    description: Unit listing and MORA execution
  - name: Unit Groups
    description: Unit group listing, rate management, and unit assignment
  - name: Rental Records
    description: Rental record listing, coverage, fees, autopay, and payment links
  - name: Ledger Entries
    description: Ledger entry retrieval at facility and rental-record level
  - name: Leads
    description: Lead listing and lease sending
  - name: Tasks
    description: Task creation and listing for integrations
  - name: Tenants
    description: Tenant listing and person updates
  - name: People
    description: Person listing
  - name: Notes
    description: Note listing and creation for tenants and leads
  - name: Auctions
    description: Auction listing
  - name: Coverage
    description: Portfolio-level coverage CRUD and coverage history
  - name: Summary
    description: Portfolio-level aggregate summaries (insurance enrollment/occupancy)
  - name: Promotions
    description: Promotion listing
  - name: ECRI
    description: Effective Current Rent Increase scheduling
  - name: Item Types
    description: Item type listing per facility
  - name: Delinquencies
    description: Delinquency listing per facility
  - name: Physical Locks
    description: Physical lock assignment and unassignment
  - name: Lead Source Options
    description: Lead source option listing
  - name: Webhooks
    description: Webhook subscription management
  - name: Payments
    description: Payment profile creation
paths:
  /api/{portfolio}/portfolios/v1/facilities/{facilityUuid}/rentalRecords/{unitRentalRecordUuid}/payments:
    post:
      tags:
        - Rental Records
      summary: Charge a rental record's current balance to a saved payment profile
      description: >-
        Charges the rental record's current outstanding balance (computed
        server-side at charge time, in cents) to a stored payment profile. The
        caller cannot set the amount. Optionally pass expectedAmountInPennies as
        a stale-balance guard — a mismatch is rejected with 409 and nothing is
        charged.
      operationId: FacilityRentalRecordsController_chargeRentalRecordBalance
      parameters:
        - name: facilityUuid
          required: true
          in: path
          schema:
            type: string
        - name: unitRentalRecordUuid
          required: true
          in: path
          schema:
            type: string
        - name: portfolio
          required: true
          in: path
          schema:
            type: string
        - in: header
          required: true
          name: x-api-key
          schema:
            example: monument-2230012-2312321
            description: >-
              Api key required to authenticate your request. Please reach out to
              monument for a key.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ChargeRentalRecordBalanceRequestDto'
      responses:
        '201':
          description: Payment charged successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ChargeRentalRecordBalanceResponseDto'
        '400':
          description: >-
            Zero/negative balance, the unit is in a blocking auction stage, or
            the payment profile is invalid, archived, or not on this account
        '402':
          description: >-
            The payment was declined by the processor (the decline reason is
            included)
        '404':
          description: Facility or rental record not found
        '409':
          description: >-
            expectedAmountInPennies does not match the current balance, a charge
            for this rental record completed moments ago, or an earlier charge
            is still in flight with an unknown outcome — the response names that
            payment UUID so it can be quoted to support for reconciliation
            instead of being retried
components:
  schemas:
    ChargeRentalRecordBalanceRequestDto:
      type: object
      properties:
        paymentProfileUuid:
          type: string
          format: uuid
          description: >-
            Stored payment profile (saved card / ACH) to charge. Must belong to
            the rental record account and not be archived.
        expectedAmountInPennies:
          type: integer
          minimum: 1
          description: >-
            Optional stale-balance guard, in cents. When provided, it must equal
            the rental record's current outstanding balance computed server-side
            at charge time; otherwise the request is rejected with 409 and
            nothing is charged. It never sets the charged amount — the server
            always charges the full current balance.
      required:
        - paymentProfileUuid
    ChargeRentalRecordBalanceResponseDto:
      type: object
      properties:
        paymentUuid:
          type: string
          nullable: true
          format: uuid
          description: UUID of the payment recorded in Monument for this charge.
        status:
          $ref: '#/components/schemas/PaymentStatus'
        amountChargedInPennies:
          type: integer
          description: >-
            Total amount charged to the card/account, in cents, including any
            credit-card surcharge added by the processor.
        lastFour:
          type: string
          nullable: true
          description: Last four digits of the charged card/account, when available.
        paymentType:
          $ref: '#/components/schemas/ProcessorPaymentType'
      required:
        - paymentUuid
        - status
        - amountChargedInPennies
        - lastFour
        - paymentType
    PaymentStatus:
      type: string
      description: Final status of the payment (COMPLETED on a successful charge).
      enum:
        - READY
        - PROCESSING
        - COMPLETED
        - REFUNDED
        - FAILURE
        - REVERSED
        - VOIDED
        - RECONCILIATION_FAILED
        - CHARGEBACK
        - PARTIALLY_REFUNDED
    ProcessorPaymentType:
      type: string
      enum:
        - CREDIT/DEBIT
        - ACH

````