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

# Create Patient Liability

> Record a payment the practice already collected outside Elation. Creates a paid liability with its completed payment; no patient receipt is sent.



## OpenAPI

````yaml post /api/2.0/patient_liabilities/
openapi: 3.1.0
info:
  contact:
    name: Elation Health
    url: https://www.elationhealth.com/
  description: Elation Health API v2.0
  title: Elation Health API
  version: 2.0.0
servers:
  - description: Sandbox Server
    url: https://sandbox.elationemr.com
  - description: Production Server
    url: https://api.app.elationemr.com
security: []
paths:
  /api/2.0/patient_liabilities/:
    post:
      tags:
        - Patient Liabilities
      summary: Create Patient Liability
      description: >-
        Record a payment the practice already collected outside Elation. Creates
        a paid liability with its completed payment; no patient receipt is sent.
      operationId: patient_liabilities_create
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreatePatientLiability'
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PatientLiability'
          description: ''
        '400':
          description: Validation error
        '401':
          description: Missing or invalid token
        '403':
          description: Practice not accessible to the token, or missing write scope
      security:
        - oauth2: []
components:
  schemas:
    CreatePatientLiability:
      properties:
        external_memo:
          maxLength: 2000
          type:
            - string
            - 'null'
        internal_memo:
          maxLength: 500
          type:
            - string
            - 'null'
        invoice_number:
          maxLength: 50
          type: string
        patient_id:
          type: integer
        payment:
          $ref: '#/components/schemas/RecordedPayment'
        practice_id:
          type: integer
        reasons:
          description: >-
            Elation Billing practices accept exactly one reason: copay or
            outstanding_balance.
          items:
            $ref: '#/components/schemas/ReasonsEnum'
          type: array
        total_amount_usd:
          format: decimal
          pattern: ^-?\d{0,6}(?:\.\d{0,2})?$
          type: string
      required:
        - invoice_number
        - patient_id
        - payment
        - practice_id
        - reasons
        - total_amount_usd
      type: object
    PatientLiability:
      properties:
        date_of_service:
          format: date-time
          readOnly: true
          type:
            - string
            - 'null'
        external_memo:
          maxLength: 2000
          type:
            - string
            - 'null'
        id:
          format: int64
          type: integer
        internal_memo:
          maxLength: 500
          type: string
        invoice_number:
          maxLength: 50
          type: string
        legal_entity_id:
          maximum: 2147483647
          minimum: -2147483648
          type:
            - integer
            - 'null'
        paid_at:
          format: date-time
          readOnly: true
          type:
            - string
            - 'null'
        patient_id:
          format: int64
          readOnly: true
          type:
            - integer
            - 'null'
        payment_charges:
          items:
            $ref: '#/components/schemas/PaymentCharge'
          readOnly: true
          type: array
        payment_requests:
          items:
            $ref: '#/components/schemas/PaymentRequest'
          readOnly: true
          type: array
        practice_id:
          format: int64
          readOnly: true
          type: integer
        practice_stripe_account_id:
          format: int64
          readOnly: true
          type:
            - integer
            - 'null'
        reasons:
          items:
            type: string
          type: array
        total_amount_usd:
          format: decimal
          pattern: ^-?\d{0,6}(?:\.\d{0,2})?$
          type: string
        voided_at:
          format: date-time
          readOnly: true
          type:
            - string
            - 'null'
      required:
        - id
        - reasons
        - total_amount_usd
      type: object
    RecordedPayment:
      properties:
        amount_usd:
          description: Must equal total_amount_usd; only full payment can be recorded.
          format: decimal
          pattern: ^-?\d{0,6}(?:\.\d{0,2})?$
          type: string
        paid_at:
          description: >-
            When the payment was received; defaults to now and cannot be in the
            future.
          format: date-time
          type: string
        payment_type:
          allOf:
            - $ref: '#/components/schemas/PaymentTypeEnum'
          description: >-
            How the practice collected the payment outside Elation: `cash`,
            `check`, or `card` (external card terminal).


            * `cash` - cash

            * `check` - check

            * `card` - card
        reference_number:
          maxLength: 50
          type:
            - string
            - 'null'
      required:
        - amount_usd
        - payment_type
      type: object
    ReasonsEnum:
      description: |-
        * `coinsurance` - coinsurance
        * `copay` - copay
        * `deductible` - deductible
        * `direct_payment` - direct_payment
        * `injection_shot` - injection_shot
        * `lab_imaging` - lab_imaging
        * `medications` - medications
        * `membership_fee` - membership_fee
        * `other` - other
        * `outstanding_balance` - outstanding_balance
        * `payment_installment` - payment_installment
        * `supplements` - supplements
      enum:
        - coinsurance
        - copay
        - deductible
        - direct_payment
        - injection_shot
        - lab_imaging
        - medications
        - membership_fee
        - other
        - outstanding_balance
        - payment_installment
        - supplements
      type: string
    PaymentCharge:
      properties:
        amount_refunded_usd:
          format: decimal
          pattern: ^-?\d{0,6}(?:\.\d{0,2})?$
          type: string
        amount_usd:
          format: decimal
          pattern: ^-?\d{0,6}(?:\.\d{0,2})?$
          type: string
        completed_at:
          format: date-time
          readOnly: true
          type: string
        id:
          readOnly: true
          type: integer
        last_status_change_at:
          format: date-time
          readOnly: true
          type: string
        payment_method_description:
          maxLength: 100
          type: string
        reference_number:
          maxLength: 50
          type:
            - string
            - 'null'
        refunded_at:
          format: date-time
          readOnly: true
          type: string
      required:
        - amount_usd
      type: object
    PaymentRequest:
      properties:
        amount_usd:
          format: decimal
          pattern: ^-?\d{0,6}(?:\.\d{0,2})?$
          type: string
        collected_at:
          format: date-time
          type: string
        id:
          readOnly: true
          type: integer
        last_reminder_sent_at:
          format: date-time
          type: string
        last_status_change_at:
          format: date-time
          readOnly: true
          type: string
        status:
          $ref: '#/components/schemas/PaymentRequestStatusEnum'
      required:
        - amount_usd
        - status
      type: object
    PaymentTypeEnum:
      description: |-
        * `cash` - cash
        * `check` - check
        * `card` - card
      enum:
        - cash
        - check
        - card
      type: string
    PaymentRequestStatusEnum:
      enum:
        - Attempting to collect payment
        - Not attempting to collect
        - Payment collected
      type: string
  securitySchemes:
    oauth2:
      flows:
        clientCredentials:
          scopes:
            act_as_user: >-
              Impersonate a provider via X-On-Behalf-Of (combinable with apiv2
              or system scopes)
            apiv2: Full access to the API
            system/{resource_name}.read: Read access to a specific resource
            system/{resource_name}.write: Write access to a specific resource
          tokenUrl: /api/2.0/oauth2/token/
      type: oauth2

````