openapi: 3.2.0 info: title: Reference Non Insurance Payer Refunds 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: Non Insurance Payer Refunds paths: /api/non-insurance-payer-refunds/v1: get: operationId: get_multi summary: Get non-insurance payer refunds refunds description: Returns all non-insurance payer refunds satisfying the search criteria tags: - Non Insurance Payer Refunds 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: non_insurance_payer_id in: query required: false schema: $ref: '#/components/schemas/type_non-insurance-payers_v1_NonInsurancePayerId' - name: check_number in: query required: false schema: type: string - name: invoice_id in: query required: false schema: $ref: '#/components/schemas/type_commons_InvoiceId' - name: sort in: query description: Defaults to refund_timestamp required: false schema: $ref: '#/components/schemas/type_non-insurance-payer-refunds_v1_NonInsurancePayerRefundSortField' - 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_non-insurance-payer-refunds_v1_NonInsurancePayerRefundsPage' '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 non-insurance payer refund description: 'Creates a new non-insurance payer refund record and returns the newly created `NonInsurancePayerRefund` object. The allocations can describe whether the refund is being applied toward a specific service line, claim, or billing provider.' tags: - Non Insurance Payer Refunds 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_non-insurance-payer-refunds_v1_NonInsurancePayerRefund' '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: $ref: '#/components/schemas/type_non-insurance-payer-refunds_v1_NonInsurancePayerRefundCreate' /api/non-insurance-payer-refunds/v1/{non_insurance_payer_refund_id}: get: operationId: get summary: Get non-insurance payer refund description: Retrieves a previously created non-insurance payer refund by its `non_insurance_payer_refund_id`. tags: - Non Insurance Payer Refunds parameters: - name: non_insurance_payer_refund_id in: path required: true schema: $ref: '#/components/schemas/type_non-insurance-payer-refunds_v1_NonInsurancePayerRefundId' - 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_non-insurance-payer-refunds_v1_NonInsurancePayerRefund' '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 non-insurance payer refund record matching the provided non_insurance_payer_refund_id. If updating the refund amount, then the allocations must be appropriately updated as well.' tags: - Non Insurance Payer Refunds parameters: - name: non_insurance_payer_refund_id in: path required: true schema: $ref: '#/components/schemas/type_non-insurance-payer-refunds_v1_NonInsurancePayerRefundId' - 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_non-insurance-payer-refunds_v1_NonInsurancePayerRefund' '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: refund_timestamp: type: string format: date-time refund_note: $ref: '#/components/schemas/type_financials_NoteUpdate' refund_reason: $ref: '#/components/schemas/type_financials_RefundReasonUpdate' invoice_id: $ref: '#/components/schemas/type_financials_InvoiceUpdate' delete: operationId: delete summary: Delete non-insurance payer refund description: Deletes the non-insurance payer refund record matching the provided `non_insurance_payer_refund_id`. tags: - Non Insurance Payer Refunds parameters: - name: non_insurance_payer_refund_id in: path required: true schema: $ref: '#/components/schemas/type_non-insurance-payer-refunds_v1_NonInsurancePayerRefundId' - name: Authorization in: header description: OAuth authentication required: true schema: type: string responses: '200': description: Successful response '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_RefundReasonUpdate: oneOf: - type: object properties: type: type: string enum: - set description: 'Discriminator value: set' value: $ref: '#/components/schemas/type_financials_RefundReason' required: - type - value - type: object properties: type: type: string enum: - remove description: 'Discriminator value: remove' required: - type discriminator: propertyName: type title: RefundReasonUpdate type_commons_EncounterExternalId: type: string title: EncounterExternalId type_non-insurance-payers_v1_NonInsurancePayer: type: object properties: non_insurance_payer_id: $ref: '#/components/schemas/type_non-insurance-payers_v1_NonInsurancePayerId' name: type: string description: type: string category: type: string enabled: type: boolean address: $ref: '#/components/schemas/type_commons_StreetAddressShortZip' clinical_trials: type: array items: $ref: '#/components/schemas/type_clinical-trials_v1_ClinicalTrial' required: - non_insurance_payer_id - name - enabled - clinical_trials title: NonInsurancePayer type_non-insurance-payer-refunds_v1_NonInsurancePayerRefund: type: object properties: non_insurance_payer_refund_id: $ref: '#/components/schemas/type_non-insurance-payer-refunds_v1_NonInsurancePayerRefundId' non_insurance_payer: $ref: '#/components/schemas/type_non-insurance-payers_v1_NonInsurancePayer' amount_cents: type: integer refund_timestamp: type: string format: date-time refund_note: type: string check_number: type: string allocations: type: array items: $ref: '#/components/schemas/type_financials_Allocation' refund_reason: $ref: '#/components/schemas/type_financials_RefundReason' invoice_id: $ref: '#/components/schemas/type_commons_InvoiceId' required: - non_insurance_payer_refund_id - non_insurance_payer - amount_cents - allocations title: NonInsurancePayerRefund type_commons_AllocationId: type: string format: uuid title: AllocationId type_commons_Date: type: string description: ISO 8601 date; formatted YYYY-MM-DD (i.e. 2012-02-01) title: Date type_clinical-trials_v1_ClinicalTrial: type: object properties: name: type: string clinical_trial_number: type: string description: Must be 8 characters long clinical_trial_phase: $ref: '#/components/schemas/type_clinical-trials_v1_ClinicalTrialPhase' clinical_trial_id: $ref: '#/components/schemas/type_commons_ClinicalTrialId' non_insurance_payer_id: $ref: '#/components/schemas/type_non-insurance-payers_v1_NonInsurancePayerId' is_active: type: boolean required: - name - clinical_trial_number - clinical_trial_id - non_insurance_payer_id - is_active title: ClinicalTrial type_commons_InvoiceId: type: string format: uuid title: InvoiceId type_financials_Allocation: type: object properties: allocation_id: $ref: '#/components/schemas/type_commons_AllocationId' amount_cents: type: integer target: $ref: '#/components/schemas/type_financials_AllocationTarget' earmark: $ref: '#/components/schemas/type_financials_BalanceEarmark' description: The active earmark created by this allocation, if any. Only present when this allocation created an earmark for future auto-allocation and the earmark has not been deleted. allocated_on: type: string format: date-time required: - amount_cents - target title: Allocation type_commons_State: type: string enum: - AA - AE - AP - AL - AK - AS - AZ - AR - CA - CO - CT - DC - DE - FL - FM - GA - GU - HI - ID - IL - IN - IA - KS - KY - LA - ME - MD - MA - MH - MI - MN - MP - MS - MO - MT - NE - NV - NH - NJ - NM - NY - NC - ND - OH - OK - OR - PA - PR - PW - RI - SC - SD - TN - TX - UT - VI - VT - VA - WA - WV - WI - WY title: State type_commons_StreetAddressShortZip: type: object properties: address1: type: string address2: type: string city: type: string state: $ref: '#/components/schemas/type_commons_State' zip_code: type: string description: 5-digit zip code zip_plus_four_code: type: string description: 4-digit zip add-on code https://en.wikipedia.org/wiki/ZIP_Code#ZIP+4 required: - address1 - city - state - zip_code title: StreetAddressShortZip type_commons_PatientExternalId: type: string title: PatientExternalId type_financials_BalanceEarmark: type: object properties: id: type: string format: uuid target: $ref: '#/components/schemas/type_financials_AllocationEarmarkType' description: The target for this earmark (date of service or external encounter ID) amount_earmarked_cents: type: integer description: The amount earmarked in cents for future allocation created_by_allocation_id: $ref: '#/components/schemas/type_commons_AllocationId' description: The ID of the allocation that created this earmark required: - id - target description: 'Represents an active balance earmarking record that holds allocated funds for future auto-allocation. Earmarks are created when funds are allocated but should be held for a specific encounter or date of service. Only active (non-deleted) earmarks are returned.' title: BalanceEarmark type_commons_ProviderId: type: string format: uuid title: ProviderId type_commons_SortDirection: type: string enum: - asc - desc title: SortDirection type_commons_EncounterId: type: string format: uuid title: EncounterId 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_non-insurance-payer-refunds_v1_NonInsurancePayerRefundCreate: type: object properties: non_insurance_payer_id: $ref: '#/components/schemas/type_non-insurance-payers_v1_NonInsurancePayerId' invoice_id: $ref: '#/components/schemas/type_commons_InvoiceId' amount_cents: type: integer refund_timestamp: type: string format: date-time refund_note: type: string check_number: type: string allocations: type: array items: $ref: '#/components/schemas/type_financials_AllocationCreate' refund_reason: $ref: '#/components/schemas/type_financials_RefundReason' required: - non_insurance_payer_id - amount_cents - allocations title: NonInsurancePayerRefundCreate type_non-insurance-payers_v1_NonInsurancePayerId: type: string format: uuid title: NonInsurancePayerId 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_ServiceLineId: type: string format: uuid title: ServiceLineId type_commons_PageToken: type: string title: PageToken type_financials_RefundReason: type: string enum: - OVERCHARGED - ENTERED_IN_ERROR - TRANSFER title: RefundReason type_non-insurance-payer-refunds_v1_NonInsurancePayerRefundSortField: type: string enum: - amount_cents - refund_timestamp title: NonInsurancePayerRefundSortField 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_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_financials_AllocationTarget: oneOf: - type: object properties: type: type: string enum: - service_line description: 'Discriminator value: service_line' service_line_id: $ref: '#/components/schemas/type_commons_ServiceLineId' claim_id: $ref: '#/components/schemas/type_commons_ClaimId' encounter_id: $ref: '#/components/schemas/type_commons_EncounterId' required: - type - service_line_id - claim_id - encounter_id - type: object properties: type: type: string enum: - claim description: 'Discriminator value: claim' claim_id: $ref: '#/components/schemas/type_commons_ClaimId' encounter_id: $ref: '#/components/schemas/type_commons_EncounterId' required: - type - claim_id - encounter_id - type: object properties: type: type: string enum: - billing_provider_id description: 'Discriminator value: billing_provider_id' billing_provider_id: $ref: '#/components/schemas/type_commons_ProviderId' required: - type - billing_provider_id - type: object properties: type: type: string enum: - appointment description: 'Discriminator value: appointment' 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: AllocationTarget type_commons_EntityNotFoundErrorMessage: type: object properties: id: type: string required: - id title: EntityNotFoundErrorMessage type_non-insurance-payer-refunds_v1_NonInsurancePayerRefundsPage: type: object properties: prev_page_token: $ref: '#/components/schemas/type_commons_PageToken' next_page_token: $ref: '#/components/schemas/type_commons_PageToken' items: type: array items: $ref: '#/components/schemas/type_non-insurance-payer-refunds_v1_NonInsurancePayerRefund' required: - items title: NonInsurancePayerRefundsPage type_commons_UnprocessableEntityErrorMessage: type: object properties: message: type: string title: UnprocessableEntityErrorMessage 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_ClinicalTrialId: type: string format: uuid title: ClinicalTrialId type_non-insurance-payer-refunds_v1_NonInsurancePayerRefundId: type: string format: uuid title: NonInsurancePayerRefundId type_commons_ClaimId: type: string format: uuid title: ClaimId type_clinical-trials_v1_ClinicalTrialPhase: type: string enum: - Phase 1 - Phase 2 - Phase 3 title: ClinicalTrialPhase securitySchemes: OAuthScheme: type: http scheme: bearer description: OAuth 2.0 authentication