Candid Health subpackage_encounters.subpackage_encounters/v4 API
The subpackage_encounters.subpackage_encounters/v4 API from Candid Health — 6 operation(s) for subpackage_encounters.subpackage_encounters/v4.
The subpackage_encounters.subpackage_encounters/v4 API from Candid Health — 6 operation(s) for subpackage_encounters.subpackage_encounters/v4.
openapi: 3.1.0
info:
title: API Reference subpackage_auth.subpackage_auth/default subpackage_encounters.subpackage_encounters/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_encounters.subpackage_encounters/v4
paths:
/api/encounters/v4:
get:
operationId: get-all
summary: Get all encounters
tags:
- subpackage_encounters.subpackage_encounters/v4
parameters:
- name: limit
in: query
description: Maximum number of entities per page, defaults to 100.
required: false
schema:
type: integer
- name: claim_status
in: query
description: Indicates the current status of an insurance claim within the billing process.
required: false
schema:
$ref: '#/components/schemas/type_claims:ClaimStatus'
- name: sort
in: query
description: Defaults to created_at:desc.
required: false
schema:
$ref: '#/components/schemas/type_encounters/v4:EncounterSortOptions'
- name: page_token
in: query
required: false
schema:
$ref: '#/components/schemas/type_commons:PageToken'
- name: date_of_service_min
in: query
description: 'Date formatted as YYYY-MM-DD; eg: 2019-08-25.'
required: false
schema:
type: string
format: date
- name: date_of_service_max
in: query
description: 'Date formatted as YYYY-MM-DD; eg: 2019-08-25.'
required: false
schema:
type: string
format: date
- name: primary_payer_names
in: query
description: Comma delimited string.
required: false
schema:
type: string
- name: search_term
in: query
description: 'Filter by any of the following fields: encounter_id, claim_id, patient external_id,
patient date of birth, patient first name, patient last name,
or encounter external id.'
required: false
schema:
type: string
- name: external_id
in: query
description: Filter to an exact match on encounter external_id, if one exists.
required: false
schema:
$ref: '#/components/schemas/type_commons:EncounterExternalId'
- name: diagnoses_updated_since
in: query
description: 'ISO 8601 timestamp; ideally in UTC (although not required): 2019-08-24T14:15:22Z.'
required: false
schema:
type: string
format: date-time
- name: tag_ids
in: query
description: Filter by name of tags on encounters.
required: false
schema:
$ref: '#/components/schemas/type_tags:TagId'
- name: work_queue_id
in: query
required: false
schema:
$ref: '#/components/schemas/type_commons:WorkQueueId'
- name: billable_status
in: query
description: Defines if the Encounter is to be billed by Candid to the responsible_party. Examples for when this should be set to NOT_BILLABLE include if the Encounter has not occurred yet or if there is no intention of ever billing the responsible_party.
required: false
schema:
$ref: '#/components/schemas/type_encounters/v4:BillableStatusType'
- name: responsible_party
in: query
description: Defines the party to be billed with the initial balance owed on the claim. Use SELF_PAY if you intend to bill self pay/cash pay.
required: false
schema:
$ref: '#/components/schemas/type_encounters/v4:ResponsiblePartyType'
- name: owner_of_next_action
in: query
description: The party who is responsible for taking the next action on an Encounter, as defined by ownership of open Tasks.
required: false
schema:
$ref: '#/components/schemas/type_encounters/v4:EncounterOwnerOfNextActionType'
- name: patient_external_id
in: query
description: The patient ID from the external EMR platform for the patient
required: false
schema:
type: string
- name: include_merged_patient_data
in: query
description: If true and patient_external_id is set, then also include the encounters of all alternative patients.
required: false
schema:
type: boolean
- 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_encounters/v4:EncounterPage'
'422':
description: Error response with status 422
content:
application/json:
schema:
type: object
properties:
errorName:
type: string
enum:
- HttpRequestValidationsError
content:
type: array
items:
$ref: '#/components/schemas/type_commons:RequestValidationError'
required:
- errorName
- content
'500':
description: Error response with status 500
content:
application/json:
schema:
type: object
properties:
errorName:
type: string
enum:
- InternalError
content:
$ref: '#/components/schemas/type_commons:InternalErrorMessage'
required:
- errorName
- content
post:
operationId: create
summary: Create professional encounter
tags:
- subpackage_encounters.subpackage_encounters/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_encounters/v4:Encounter'
'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: Raised for universal claims that fail to provider either an attending_provider or rendering_provider value
content:
application/json:
schema:
type: object
properties:
errorName:
type: string
enum:
- EncounterRenderingOrAttendingProviderRequired
description: Raised for universal claims that fail to provider either an attending_provider or rendering_provider value
content:
$ref: '#/components/schemas/type_encounters/v4:EncounterRenderingOrAttendingProviderRequiredError'
description: Raised for universal claims that fail to provider either an attending_provider or rendering_provider value
required:
- errorName
- content
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/type_encounters/v4:EncounterCreate'
/api/encounters/v4/{encounter_id}:
get:
operationId: get
summary: Get encounter
tags:
- subpackage_encounters.subpackage_encounters/v4
parameters:
- name: encounter_id
in: path
required: true
schema:
$ref: '#/components/schemas/type_commons:EncounterId'
- 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_encounters/v4:Encounter'
patch:
operationId: update
summary: Update professional encounter
tags:
- subpackage_encounters.subpackage_encounters/v4
parameters:
- name: encounter_id
in: path
required: true
schema:
$ref: '#/components/schemas/type_commons:EncounterId'
- 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_encounters/v4:Encounter'
'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:
- PayerPlanGroupPayerDoesNotMatchInsuranceCardHttpError
content:
$ref: '#/components/schemas/type_encounters/v4:PayerPlanGroupPayerDoesNotMatchInsuranceCardError'
required:
- errorName
- content
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/type_encounters/v4:EncounterUpdate'
/api/encounters/v4/universal:
post:
operationId: create-universal
summary: Create institutional or professional encounter
description: 'Notice: The UB-04 Data File, 2025, is copyrighted by American Hospital Association (AHA), Chicago, Illinois.
No portion of the THE UB-04 Data File, may be reproduced, stored in a retrieval system, or transmitted,
in any form or by any means, electronic, mechanical, photocopying, recording, or otherwise, without prior
express, written consent of AHA.'
tags:
- subpackage_encounters.subpackage_encounters/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_encounters/v4:Encounter'
'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: Raised for universal claims that fail to provider either an attending_provider or rendering_provider value
content:
application/json:
schema:
type: object
properties:
errorName:
type: string
enum:
- EncounterRenderingOrAttendingProviderRequired
description: Raised for universal claims that fail to provider either an attending_provider or rendering_provider value
content:
$ref: '#/components/schemas/type_encounters/v4:EncounterRenderingOrAttendingProviderRequiredError'
description: Raised for universal claims that fail to provider either an attending_provider or rendering_provider value
required:
- errorName
- content
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/type_encounters-universal:UniversalEncounterCreate'
/api/encounters/v4/create-from-pre-encounter/universal:
post:
operationId: create-from-pre-encounter-patient-universal
summary: Create institutional or professional encounter from pre-encounter patient and appointment
description: "Create an encounter from a pre-encounter patient and appointment. This endpoint is intended to be used by consumers who are managing\npatients and appointments in the pre-encounter service and is currently under development. Consumers who are not taking advantage\nof the pre-encounter service should use the standard create endpoint.\n\nThe endpoint will create an encounter from the provided fields, pulling information from the provided patient and appointment objects\nwhere applicable. In particular, the following fields are populated from the patient and appointment objects:\n - Patient\n - Referring Provider\n - Subscriber Primary\n - Subscriber Secondary\n - Referral Number\n - Responsible Party\n - Guarantor\n\nUtilizing this endpoint opts you into automatic updating of the encounter when the patient or appointment is updated, assuming the\nencounter has not already been submitted or adjudicated.\n\nNotice: The UB-04 Data File, 2025, is copyrighted by American Hospital Association (AHA), Chicago, Illinois.\nNo portion of the THE UB-04 Data File, may be reproduced, stored in a retrieval system, or transmitted,\nin any form or by any means, electronic, mechanical, photocopying, recording, or otherwise, without prior\nexpress, written consent of AHA."
tags:
- subpackage_encounters.subpackage_encounters/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_encounters/v4:Encounter'
'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:
- PayerPlanGroupPayerDoesNotMatchInsuranceCardHttpError
content:
$ref: '#/components/schemas/type_encounters/v4:PayerPlanGroupPayerDoesNotMatchInsuranceCardError'
required:
- errorName
- content
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/type_encounters-universal:UniversalEncounterCreateFromPreEncounter'
/api/encounters/v4/create-from-pre-encounter:
post:
operationId: create-from-pre-encounter-patient
summary: Create professional encounter from pre-encounter patient and appointment
description: "Create an encounter from a pre-encounter patient and appointment. This endpoint is intended to be used by consumers who are managing\npatients and appointments in the pre-encounter service and is currently under development. Consumers who are not taking advantage\nof the pre-encounter service should use the standard create endpoint.\n\nThe endpoint will create an encounter from the provided fields, pulling information from the provided patient and appointment objects\nwhere applicable. In particular, the following fields are populated from the patient and appointment objects:\n - Patient\n - Referring Provider\n - Subscriber Primary\n - Subscriber Secondary\n - Referral Number\n - Responsible Party\n - Guarantor\n\nUtilizing this endpoint opts you into automatic updating of the encounter when the patient or appointment is updated, assuming the\nencounter has not already been submitted or adjudicated."
tags:
- subpackage_encounters.subpackage_encounters/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_encounters/v4:Encounter'
'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:
- PayerPlanGroupPayerDoesNotMatchInsuranceCardHttpError
content:
$ref: '#/components/schemas/type_encounters/v4:PayerPlanGroupPayerDoesNotMatchInsuranceCardError'
required:
- errorName
- content
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/type_encounters/v4:EncounterCreateFromPreEncounter'
/api/encounters/v4/{encounter_id}/universal:
patch:
operationId: update-universal
summary: Update institutional or professional encounter
description: 'Notice: The UB-04 Data File, 2025, is copyrighted by American Hospital Association (AHA), Chicago, Illinois.
No portion of the THE UB-04 Data File, may be reproduced, stored in a retrieval system, or transmitted,
in any form or by any means, electronic, mechanical, photocopying, recording, or otherwise, without prior
express, written consent of AHA.'
tags:
- subpackage_encounters.subpackage_encounters/v4
parameters:
- name: encounter_id
in: path
required: true
schema:
$ref: '#/components/schemas/type_commons:EncounterId'
- 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_encounters/v4:Encounter'
'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:
- PayerPlanGroupPayerDoesNotMatchInsuranceCardHttpError
content:
$ref: '#/components/schemas/type_encounters/v4:PayerPlanGroupPayerDoesNotMatchInsuranceCardError'
required:
- errorName
- content
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/type_encounters-universal:UniversalEncounterUpdate'
components:
schemas:
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:EntityNotFoundErrorMessage:
type: object
properties:
id:
type: string
required:
- id
title: EntityNotFoundErrorMessage
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:DelayReasonCode:
type: string
enum:
- '1'
- '2'
- '3'
- '4'
- '5'
- '6'
- '7'
- '8'
- '9'
- '10'
- '11'
- '15'
- '16'
- '17'
description: Code indicating the reason why a request was delayed
title: DelayReasonCode
type_commons:EncounterExternalId:
type: string
title: EncounterExternalId
type_commons:UnauthorizedErrorMessage:
type: object
properties:
message:
type: string
title: UnauthorizedErrorMessage
type_commons:FacilityTypeCode:
type: string
enum:
- '01'
- '02'
- '03'
- '04'
- '05'
- '06'
- '07'
- 08
- 09
- '10'
- '11'
- '12'
- '13'
- '14'
- '15'
- '16'
- '17'
- '18'
- '19'
- '20'
- '21'
- '22'
- '23'
- '24'
- '25'
- '26'
- '31'
- '32'
- '33'
- '34'
- '41'
- '42'
- '49'
- '50'
- '51'
- '52'
- '53'
- '54'
- '55'
- '56'
- '57'
- '58'
- '60'
- '61'
- '62'
- '65'
- '71'
- '72'
- '81'
- '99'
description: 'Box 24B on the CMS-1500 claim form. Line-level place of service is not currently supported.
02 for telemedicine, 11 for in-person. Full list here:
https://www.cms.gov/Medicare/Coding/place-of-service-codes/Place_of_Service_Code_Set'
title: FacilityTypeCode
type_individual:SubscriberCreate:
type: object
properties:
first_name:
type: string
last_name:
type: string
gender:
$ref: '#/components/schemas/type_individual:Gender'
patient_relationship_to_subscriber_code:
$ref: '#/components/schemas/type_commons:PatientRelationshipToInsuredCodeAll'
date_of_birth:
type: string
format: date
address:
$ref: '#/components/schemas/type_commons:StreetAddressShortZip'
insurance_card:
$ref: '#/components/schemas/type_insurance-cards/v2:InsuranceCardCreate'
description: Please reference our [Payer Information](https://docs.joincandidhealth.com/introduction/payer-information) documentation for more details on how to populate the `insurance_card` fields.
required:
- first_name
- last_name
- gender
- patient_relationship_to_subscriber_code
- insurance_card
title: SubscriberCreate
type_encounters-universal:UniversalEncounterUpdate:
type: object
properties:
benefits_assigned_to_provider:
type: boolean
description: Whether this patient has authorized insurance payments to be made to you, not them. If false, patient may receive reimbursement. Box 13 on the CMS-1500 claim form or Form Locator 53 on a UB-04 claim form.
prior_authorization_number:
$ref: '#/components/schemas/type_encounters/v4:PriorAuthorizationNumber'
description: Box 23 on the CMS-1500 claim form or Form Locator 63 on a UB-04 claim form.
external_id:
$ref: '#/components/schemas/type_commons:EncounterExternalId'
description: 'A client-specified unique ID to associate with this encounter;
for example, your internal encounter ID or a Dr. Chrono encounter ID.
This field should not contain PHI.'
date_of_service:
type: string
format: date
description: 'Date formatted as YYYY-MM-DD; eg: 2019-08-24.
This date must be the local date in the timezone where the service occurred.
Box 24a on the CMS-1500 claim form or Form Locator 45 on the UB-04 claim form.
If service occurred over a range of dates, this should be the start date.
If service lines have distinct date_of_service values, updating the encounter''s date_of_service will fail. If all service line date_of_service values are the same, updating the encounter''s date_of_service will update all service line date_of_service values.'
tag_ids:
type: array
items:
$ref: '#/components/schemas/type_tags:TagId'
description: Names of tags that should be on the encounter. Note all tags on encounter will be overridden with this list.
billable_status:
$ref: '#/components/schemas/type_encounters/v4:BillableStatusType'
description: Defines if the Encounter is to be billed by Candid to the responsible_party. Examples for when this should be set to NOT_BILLABLE include if the Encounter has not occurred yet or if there is no intention of ever billing the responsible_party.
responsible_party:
$ref: '#/components/schemas/type_encounters/v4:ResponsiblePartyType'
description: Defines the party to be billed with the initial balance owed on the claim. Use SELF_PAY if you intend to bill self pay/cash pay.
provider_accepts_assignment:
type: boolean
description: Whether you have accepted the patient's authorization for insurance payments to be made to you, not them. Box 27 on the CMS-1500 claim form. There is no exact equivalent of this field on a UB-04 claim,
# --- truncated at 32 KB (95 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/candid-health/refs/heads/main/openapi/candid-health-subpackage-encounters-subpackage-encounters-v4-api-openapi.yml