Candid Health subpackage_patient-payments.subpackage_patient-payments/v4 API

The subpackage_patient-payments.subpackage_patient-payments/v4 API from Candid Health — 2 operation(s) for subpackage_patient-payments.subpackage_patient-payments/v4.

OpenAPI Specification

candid-health-subpackage-patient-payments-subpackage-patient-payments-v4-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: API Reference subpackage_auth.subpackage_auth/default subpackage_patient-payments.subpackage_patient-payments/v4 API
  version: 1.0.0
servers:
- url: https://pre-api.joincandidhealth.com
  description: Production
- url: https://pre-api-staging.joincandidhealth.com
  description: Staging
- url: https://sandbox-pre-api.joincandidhealth.com
  description: CandidSandbox
- url: https://staging-pre-api.joincandidhealth.com
  description: CandidStaging
- url: http://localhost:4000
  description: Local
- url: https://api.joincandidhealth.com
  description: Production
- url: https://api-staging.joincandidhealth.com
  description: Staging
- url: https://sandbox-api.joincandidhealth.com
  description: CandidSandbox
- url: https://staging-api.joincandidhealth.com
  description: CandidStaging
- url: http://localhost:5050
  description: Local
tags:
- name: subpackage_patient-payments.subpackage_patient-payments/v4
paths:
  /api/patient-payments/v4:
    get:
      operationId: get-multi
      summary: Get patient payments
      description: 'Returns all patient payments satisfying the search criteria AND whose organization_id matches

        the current organization_id of the authenticated user.'
      tags:
      - subpackage_patient-payments.subpackage_patient-payments/v4
      parameters:
      - name: limit
        in: query
        description: Defaults to 100. The value must be greater than 0 and less than 1000.
        required: false
        schema:
          type: integer
      - name: patient_external_id
        in: query
        required: false
        schema:
          $ref: '#/components/schemas/type_commons:PatientExternalId'
      - name: claim_id
        in: query
        required: false
        schema:
          $ref: '#/components/schemas/type_commons:ClaimId'
      - name: service_line_id
        in: query
        required: false
        schema:
          $ref: '#/components/schemas/type_commons:ServiceLineId'
      - name: billing_provider_id
        in: query
        required: false
        schema:
          $ref: '#/components/schemas/type_commons:ProviderId'
      - name: unattributed
        in: query
        description: returns payments with unattributed allocations if set to true
        required: false
        schema:
          type: boolean
      - name: invoice_id
        in: query
        required: false
        schema:
          $ref: '#/components/schemas/type_commons:InvoiceId'
      - name: sources
        in: query
        required: false
        schema:
          $ref: '#/components/schemas/type_financials:PatientTransactionSource'
      - name: source_internal_id
        in: query
        required: false
        schema:
          type: string
      - name: sort
        in: query
        description: Defaults to payment_timestamp
        required: false
        schema:
          $ref: '#/components/schemas/type_patient-payments/v4:PatientPaymentSortField'
      - name: sort_direction
        in: query
        description: Sort direction. Defaults to descending order if not provided.
        required: false
        schema:
          $ref: '#/components/schemas/type_commons:SortDirection'
      - name: page_token
        in: query
        required: false
        schema:
          $ref: '#/components/schemas/type_commons:PageToken'
      - name: Authorization
        in: header
        description: OAuth authentication
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Response with status 200
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/type_patient-payments/v4:PatientPaymentsPage'
        '403':
          description: Error response with status 403
          content:
            application/json:
              schema:
                type: object
                properties:
                  errorName:
                    type: string
                    enum:
                    - UnauthorizedError
                  content:
                    $ref: '#/components/schemas/type_commons:UnauthorizedErrorMessage'
                required:
                - errorName
                - content
        '422':
          description: Error response with status 422
          content:
            application/json:
              schema:
                type: object
                properties:
                  errorName:
                    type: string
                    enum:
                    - UnprocessableEntityError
                  content:
                    $ref: '#/components/schemas/type_commons:UnprocessableEntityErrorMessage'
                required:
                - errorName
                - content
    post:
      operationId: create
      summary: Create patient payment
      description: 'Creates a new patient payment record and returns the newly created PatientPayment object.

        The allocations can describe whether the payment is being applied toward a specific service line,

        claim, or billing provider.'
      tags:
      - subpackage_patient-payments.subpackage_patient-payments/v4
      parameters:
      - name: Authorization
        in: header
        description: OAuth authentication
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Response with status 200
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/type_patient-payments/v4:PatientPayment'
        '403':
          description: Error response with status 403
          content:
            application/json:
              schema:
                type: object
                properties:
                  errorName:
                    type: string
                    enum:
                    - UnauthorizedError
                  content:
                    $ref: '#/components/schemas/type_commons:UnauthorizedErrorMessage'
                required:
                - errorName
                - content
        '404':
          description: Error response with status 404
          content:
            application/json:
              schema:
                type: object
                properties:
                  errorName:
                    type: string
                    enum:
                    - EntityNotFoundError
                  content:
                    $ref: '#/components/schemas/type_commons:EntityNotFoundErrorMessage'
                required:
                - errorName
                - content
        '422':
          description: Error response with status 422
          content:
            application/json:
              schema:
                type: object
                properties:
                  errorName:
                    type: string
                    enum:
                    - UnprocessableEntityError
                  content:
                    $ref: '#/components/schemas/type_commons:UnprocessableEntityErrorMessage'
                required:
                - errorName
                - content
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                amount_cents:
                  type: integer
                payment_timestamp:
                  type: string
                  format: date-time
                payment_note:
                  type: string
                patient_external_id:
                  $ref: '#/components/schemas/type_commons:PatientExternalId'
                allocations:
                  type: array
                  items:
                    $ref: '#/components/schemas/type_financials:AllocationCreate'
                invoice:
                  $ref: '#/components/schemas/type_commons:InvoiceId'
                payment_method_detail:
                  $ref: '#/components/schemas/type_patient-payments/v4:PaymentMethodDetailCreate'
                payment_source:
                  $ref: '#/components/schemas/type_financials:PatientPaymentCreateSource'
                source_internal_id:
                  type: string
              required:
              - amount_cents
              - patient_external_id
              - allocations
  /api/patient-payments/v4/{patient_payment_id}:
    get:
      operationId: get
      summary: Get patient payment
      description: Retrieves a previously created patient payment by its `patient_payment_id`.
      tags:
      - subpackage_patient-payments.subpackage_patient-payments/v4
      parameters:
      - name: patient_payment_id
        in: path
        required: true
        schema:
          $ref: '#/components/schemas/type_patient-payments/v4:PatientPaymentId'
      - name: Authorization
        in: header
        description: OAuth authentication
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Response with status 200
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/type_patient-payments/v4:PatientPayment'
        '403':
          description: Error response with status 403
          content:
            application/json:
              schema:
                type: object
                properties:
                  errorName:
                    type: string
                    enum:
                    - UnauthorizedError
                  content:
                    $ref: '#/components/schemas/type_commons:UnauthorizedErrorMessage'
                required:
                - errorName
                - content
        '404':
          description: Error response with status 404
          content:
            application/json:
              schema:
                type: object
                properties:
                  errorName:
                    type: string
                    enum:
                    - EntityNotFoundError
                  content:
                    $ref: '#/components/schemas/type_commons:EntityNotFoundErrorMessage'
                required:
                - errorName
                - content
    patch:
      operationId: update
      summary: Update
      description: Updates the patient payment record matching the provided patient_payment_id.
      tags:
      - subpackage_patient-payments.subpackage_patient-payments/v4
      parameters:
      - name: patient_payment_id
        in: path
        required: true
        schema:
          $ref: '#/components/schemas/type_patient-payments/v4:PatientPaymentId'
      - name: Authorization
        in: header
        description: OAuth authentication
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Response with status 200
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/type_patient-payments/v4:PatientPayment'
        '403':
          description: Error response with status 403
          content:
            application/json:
              schema:
                type: object
                properties:
                  errorName:
                    type: string
                    enum:
                    - UnauthorizedError
                  content:
                    $ref: '#/components/schemas/type_commons:UnauthorizedErrorMessage'
                required:
                - errorName
                - content
        '404':
          description: Error response with status 404
          content:
            application/json:
              schema:
                type: object
                properties:
                  errorName:
                    type: string
                    enum:
                    - EntityNotFoundError
                  content:
                    $ref: '#/components/schemas/type_commons:EntityNotFoundErrorMessage'
                required:
                - errorName
                - content
        '422':
          description: Error response with status 422
          content:
            application/json:
              schema:
                type: object
                properties:
                  errorName:
                    type: string
                    enum:
                    - UnprocessableEntityError
                  content:
                    $ref: '#/components/schemas/type_commons:UnprocessableEntityErrorMessage'
                required:
                - errorName
                - content
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                payment_timestamp:
                  type: string
                  format: date-time
                payment_note:
                  $ref: '#/components/schemas/type_financials:NoteUpdate'
                invoice:
                  $ref: '#/components/schemas/type_financials:InvoiceUpdate'
    delete:
      operationId: delete
      summary: Delete patient payment
      description: Deletes the patient payment record matching the provided patient_payment_id.
      tags:
      - subpackage_patient-payments.subpackage_patient-payments/v4
      parameters:
      - name: patient_payment_id
        in: path
        required: true
        schema:
          $ref: '#/components/schemas/type_patient-payments/v4:PatientPaymentId'
      - name: Authorization
        in: header
        description: OAuth authentication
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Successful response
        '403':
          description: Error response with status 403
          content:
            application/json:
              schema:
                type: object
                properties:
                  errorName:
                    type: string
                    enum:
                    - UnauthorizedError
                  content:
                    $ref: '#/components/schemas/type_commons:UnauthorizedErrorMessage'
                required:
                - errorName
                - content
        '404':
          description: Error response with status 404
          content:
            application/json:
              schema:
                type: object
                properties:
                  errorName:
                    type: string
                    enum:
                    - EntityNotFoundError
                  content:
                    $ref: '#/components/schemas/type_commons:EntityNotFoundErrorMessage'
                required:
                - errorName
                - content
        '422':
          description: Error response with status 422
          content:
            application/json:
              schema:
                type: object
                properties:
                  errorName:
                    type: string
                    enum:
                    - UnprocessableEntityError
                  content:
                    $ref: '#/components/schemas/type_commons:UnprocessableEntityErrorMessage'
                required:
                - errorName
                - content
components:
  schemas:
    type_financials:InvoiceUpdate:
      oneOf:
      - type: object
        properties:
          type:
            type: string
            enum:
            - set
            description: 'Discriminator value: set'
          value:
            $ref: '#/components/schemas/type_commons:InvoiceId'
        required:
        - type
        - value
      - type: object
        properties:
          type:
            type: string
            enum:
            - remove
            description: 'Discriminator value: remove'
        required:
        - type
      discriminator:
        propertyName: type
      title: InvoiceUpdate
    type_commons:EntityNotFoundErrorMessage:
      type: object
      properties:
        id:
          type: string
      required:
      - id
      title: EntityNotFoundErrorMessage
    type_commons:ClaimId:
      type: string
      format: uuid
      title: ClaimId
    type_commons:ProviderId:
      type: string
      format: uuid
      title: ProviderId
    type_commons:EncounterExternalId:
      type: string
      title: EncounterExternalId
    type_commons:UnauthorizedErrorMessage:
      type: object
      properties:
        message:
          type: string
      title: UnauthorizedErrorMessage
    type_financials:NoteUpdate:
      oneOf:
      - type: object
        properties:
          type:
            type: string
            enum:
            - set
            description: 'Discriminator value: set'
          value:
            type: string
        required:
        - type
        - value
      - type: object
        properties:
          type:
            type: string
            enum:
            - remove
            description: 'Discriminator value: remove'
        required:
        - type
      discriminator:
        propertyName: type
      title: NoteUpdate
    type_commons:AppointmentId:
      type: string
      title: AppointmentId
    type_commons:PatientExternalId:
      type: string
      title: PatientExternalId
    type_financials:AllocationTargetCreate:
      oneOf:
      - type: object
        properties:
          type:
            type: string
            enum:
            - service_line_by_id
            description: 'Discriminator value: service_line_by_id'
          value:
            $ref: '#/components/schemas/type_commons:ServiceLineId'
        required:
        - type
        - value
      - type: object
        properties:
          type:
            type: string
            enum:
            - claim_by_id
            description: 'Discriminator value: claim_by_id'
          value:
            $ref: '#/components/schemas/type_commons:ClaimId'
        required:
        - type
        - value
      - type: object
        properties:
          type:
            type: string
            enum:
            - claim_by_encounter_external_id
            description: 'Discriminator value: claim_by_encounter_external_id'
          value:
            $ref: '#/components/schemas/type_commons:EncounterExternalId'
        required:
        - type
        - value
      - type: object
        properties:
          type:
            type: string
            enum:
            - billing_provider_by_id
            description: 'Discriminator value: billing_provider_by_id'
          value:
            $ref: '#/components/schemas/type_commons:ProviderId'
        required:
        - type
        - value
      - type: object
        properties:
          type:
            type: string
            enum:
            - appointment_by_id_and_patient_external_id
            description: 'Discriminator value: appointment_by_id_and_patient_external_id'
          appointment_id:
            $ref: '#/components/schemas/type_commons:AppointmentId'
          patient_external_id:
            $ref: '#/components/schemas/type_commons:PatientExternalId'
        required:
        - type
        - appointment_id
        - patient_external_id
      - type: object
        properties:
          type:
            type: string
            enum:
            - unattributed
            description: 'Discriminator value: unattributed'
        required:
        - type
      discriminator:
        propertyName: type
      description: 'Allocation targets describe whether the portion of a payment is being applied toward a specific service line,

        claim, billing provider, or is unallocated.'
      title: AllocationTargetCreate
    type_commons:UnprocessableEntityErrorMessage:
      type: object
      properties:
        message:
          type: string
      title: UnprocessableEntityErrorMessage
    type_commons:SortDirection:
      type: string
      enum:
      - asc
      - desc
      title: SortDirection
    type_financials:PatientPaymentCreateSource:
      type: string
      enum:
      - MANUAL_ENTRY
      - PHREESIA
      - SHERPA_HEALTH
      description: Allowed payment sources when creating a patient payment via the API.
      title: PatientPaymentCreateSource
    type_commons:Date:
      type: string
      description: ISO 8601 date; formatted YYYY-MM-DD (i.e. 2012-02-01)
      title: Date
    type_commons:InvoiceId:
      type: string
      format: uuid
      title: InvoiceId
    type_financials:AllocationEarmarkType:
      oneOf:
      - type: object
        properties:
          type:
            type: string
            enum:
            - date_of_service
            description: 'Discriminator value: date_of_service'
          value:
            $ref: '#/components/schemas/type_commons:Date'
        required:
        - type
        - value
        description: Earmark for auto-allocation to an encounter with this specific date of service
      - type: object
        properties:
          type:
            type: string
            enum:
            - external_encounter_id
            description: 'Discriminator value: external_encounter_id'
          value:
            $ref: '#/components/schemas/type_commons:EncounterExternalId'
        required:
        - type
        - value
        description: Earmark for auto-allocation to an encounter with this specific external ID (more specific than date of service)
      discriminator:
        propertyName: type
      description: 'If enabled for your organization, defines how a patient prepayment allocation should be earmarked for future auto-allocation.

        Earmarks hold the allocation until a matching encounter is created, then attempt to allocate to that encounter.

        Only applicable for unattributed allocations.'
      title: AllocationEarmarkType
    type_commons:PageToken:
      type: string
      title: PageToken
    type_financials:PatientTransactionSource:
      type: string
      enum:
      - MANUAL_ENTRY
      - CHARGEBEE
      - SQUARE
      - STRIPE
      - ELATION
      - CEDAR
      - HEALTHIE
      - REALLOCATION
      - PHREESIA
      - INSTAMED
      - SHERPA_HEALTH
      title: PatientTransactionSource
    type_financials:AllocationCreate:
      type: object
      properties:
        amount_cents:
          type: integer
        target:
          $ref: '#/components/schemas/type_financials:AllocationTargetCreate'
        earmark:
          $ref: '#/components/schemas/type_financials:AllocationEarmarkType'
          description: 'If enabled for your organization, optional earmarking configuration for patient prepayments.

            When provided on unattributed allocations, holds the payment for future auto-allocation to matching encounters.'
      required:
      - amount_cents
      - target
      description: 'Allocations are portions of payments that are applied to specific resources, known as targets. Each allocation has

        and amount, defined in cents, and a target.'
      title: AllocationCreate
    type_commons:ServiceLineId:
      type: string
      format: uuid
      title: ServiceLineId
  securitySchemes:
    OAuthScheme:
      type: http
      scheme: bearer
      description: OAuth 2.0 authentication