openapi: 3.0.0 info: version: '1.176' title: API Documentation appointments insurance-reference API description: Endpoints for booking, cancelling, and rescheduling appointments, including retrieving current appointment statuses and updated information. servers: - url: https://api-developer-sandbox.zocdoc.com description: Sandbox - url: https://api-developer.zocdoc.com description: Production tags: - name: insurance-reference description: Endpoints to retrieve insurance plans supported by Zocdoc. x-displayName: Insurance paths: /v1/insurance_plans: get: tags: - insurance-reference summary: Get insurance plans description: Get insurance plans security: - ClientCredentialsFlow: [] - AuthorizationCodeFlow: [] operationId: getInsurancePlans parameters: - name: page in: query description: The zero indexed page of results. schema: type: integer minimum: 0 maximum: 200 - name: page_size in: query description: The number of results to return per page. Default is 100. schema: type: integer minimum: 1 maximum: 500 - name: status in: query description: The status of the insurance plan. Default is active. schema: $ref: '#/components/schemas/InsuranceStatus' - name: state in: query description: The two letter State code where the insurance plan has coverage. schema: type: string example: NY - name: network_type in: query description: The network type of the insurance plan. schema: $ref: '#/components/schemas/InsuranceNetworkType' - name: program_type in: query description: The program type of the insurance plan. schema: $ref: '#/components/schemas/InsuranceProgramType' - name: care_category in: query description: The care type of the insurance plan. schema: $ref: '#/components/schemas/CareCategory' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/InsurancePlansResponse' '400': description: Invalid request parameters. content: application/json: schema: $ref: '#/components/schemas/ErrorResult' '401': description: Unauthorized '403': description: Forbidden '404': description: Not found /v1/insurance_plans/{insurance_plan_id}: get: tags: - insurance-reference summary: Get insurance plan by id description: Get insurance plan by id. security: - ClientCredentialsFlow: [] - AuthorizationCodeFlow: [] operationId: getInsurancePlan parameters: - name: insurance_plan_id in: path required: true description: Zocdoc insurance plan id schema: type: string example: ip_2224 responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/InsurancePlanByIdResponse' '400': description: Invalid request parameters. content: application/json: schema: $ref: '#/components/schemas/ErrorResult' '401': description: Unauthorized '403': description: Forbidden '404': description: Not found components: schemas: ErrorType: type: string enum: - api_error - invalid_request InsurancePlan: type: object required: - id - name - carrier - network_type - program_type - care_categories - status - coverage_area - ref_metadata properties: id: type: string description: Zocdoc id for insurance plan name: type: string carrier: $ref: '#/components/schemas/InsuranceCarrier' network_type: $ref: '#/components/schemas/InsuranceNetworkType' program_type: $ref: '#/components/schemas/InsuranceProgramType' status: $ref: '#/components/schemas/InsuranceStatus' care_categories: type: array items: $ref: '#/components/schemas/CareCategory' coverage_area: $ref: '#/components/schemas/CoverageArea' ref_metadata: $ref: '#/components/schemas/ReferenceMetadata' BaseResult: required: - request_id type: object properties: request_id: type: string description: Unique request identifier for tracing PaginatedBaseResult: allOf: - $ref: '#/components/schemas/BaseResult' - type: object required: - page - page_size - total_count - next_url properties: page: description: The zero based index of the current page. type: integer page_size: description: The size of the current page. type: integer total_count: description: The total number of result items. type: integer next_url: description: A link to the next page of results; null if this is the last page of results. type: string InsuranceCarrier: type: object description: The insurance carrier for the insurance plan required: - id - name properties: id: type: string description: Zocdoc id for insurance carrier name: type: string InsurancePlanByIdResponse: type: object allOf: - $ref: '#/components/schemas/BaseResult' - type: object required: - data properties: data: $ref: '#/components/schemas/InsurancePlan' InsuranceProgramType: type: string enum: - commercial - commercial_exchange - medicare - medicaid - workers_compensation - uncategorized - medicare_advantage - medicaid_managed_care - federal description: "We've categorized plan types offered by each carrier into their associated programs:\n * Commercial: The most common plans offered by private companies. Providers contract directly with the private insurance company.\n * ACA Marketplace (Commercial exchange): Plans available for patients to buy on online marketplaces under the Affordable Care Act. Providers contract with the insurance carrier offering the plan, not the marketplace itself.\n * Medicare: Medicare advantage plans, sometimes called “Part C” or “MA Plans,” are offered by private companies approved by Medicare. They provide coverage to individuals, families, and employer groups, typically through employer-sponsored plans.\n * Medicaid: Medicaid Managed Care plans provide Medicaid benefits through contracted arrangements between state Medicaid agencies and a managed care organization (MCOs).\n * Worker's Compensation: State-mandated programs for work-related injuries and illnesses. Providers contract with the employer or a state-designated agency.\n * Uncategorized: Uncategorized insurance plans\n" CoverageArea: type: object required: - is_national properties: is_national: type: boolean states: type: array description: The two letter state codes where the insurance plan has coverage. Will be null when is_national true. items: type: string ErrorResult: allOf: - $ref: '#/components/schemas/BaseResult' - type: object required: - error_type - errors properties: error_type: $ref: '#/components/schemas/ErrorType' errors: type: array items: $ref: '#/components/schemas/Error' CareCategory: type: string description: "The category of care for an insurance plan\n * Health: Health and Mental Health Care\n * Dental: Dental Care\n * Vision: Vision Care\n" enum: - health - dental - vision Error: required: - message type: object properties: field: type: string message: type: string ReferenceMetadata: type: object properties: created_timestamp_utc: type: string format: date-time description: Date & time of when the reference data was made in ISO-8601 format with a timezone offset representing UTC example: '2022-04-27T09:00:00-00:00' last_updated_timestamp_utc: type: string format: date-time description: Date & time of when the reference data was last updated in ISO-8601 format with a timezone offset representing UTC example: '2022-04-27T09:00:00-00:00' InsuranceNetworkType: type: string description: "The type of insurance plan\n * HMO: Health Maintenance Organization\n * PPO: Preferred Provider Organization\n * POS: Point-of-Service\n * EPO: Exclusive Provider Organization\n * Indemnity: Traditional fee-for-service plans\n * ASO: Administrative Services Only\n * ACO: Accountable Care Organizations\n * ACP: Accountable Care Program\n * Medicare: Medicare Advantage plans\n * Medicaid: Medicaid Managed Care plans\n * Other\n * Uncategorized: Uncategorized insurance plans\n" enum: - hmo - ppo - pos - epo - indemnity - aso - aco - acp - medicare - medicaid - other - uncategorized - hmo_pos InsurancePlansResponse: type: object allOf: - $ref: '#/components/schemas/PaginatedBaseResult' - type: object required: - data properties: data: type: array items: $ref: '#/components/schemas/InsurancePlan' InsuranceStatus: type: string description: Status of the insurance plan enum: - inactive - active - deleted securitySchemes: ClientCredentialsFlow: type: oauth2 description: 'Machine to machine authentication (for use from client server to Zocdoc). Production: `https://auth.zocdoc.com/oauth/token` Sandbox: `https://auth-api-developer-sandbox.zocdoc.com/oauth/token` ' flows: clientCredentials: tokenUrl: https://auth.zocdoc.com/oauth/token scopes: external.credential.rotate: Rotate the authenticated client secret. external.appointment.write: Book and modify appointments. external.appointment.read: Read basic details of your appointments. external.anonymous_token.write: Create anonymous tokens used for discovery endpoints. external.provider_insurance.write: Update the insurance accepted by a provider. external.schedulable_entity.read: Read schedulable entities. AuthorizationCodeFlow: type: oauth2 description: 'Log in as a user. Client Secret is not necessary for this login flow. Production: `https://auth.zocdoc.com` Sandbox: `https://auth-api-developer-sandbox.zocdoc.com` ' flows: authorizationCode: x-usePkce: true tokenUrl: https://auth.zocdoc.com/oauth/token authorizationUrl: https://auth.zocdoc.com/authorize scopes: external.appointment.write: Book and modify appointments. external.appointment.read: Read basic details of your appointments. external.schedulable_entity.read: Read schedulable entities.