H1

H1 Reference Endpoints API

The Reference Endpoints API from H1 — 13 operation(s) for reference endpoints.

OpenAPI Specification

h1-reference-endpoints-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Ribbon Health Reference Endpoints API
  version: 1.0.0
  description: 'An API for interacting with the data provided by Ribbon Health, including information about healthcare providers, locations, insurances, and more.

    '
servers:
- url: https://api.ribbonhealth.com/v1
security:
- BearerAuth: []
tags:
- name: Reference Endpoints
paths:
  /custom/insurances:
    get:
      summary: Search Insurances
      description: 'Search and list insurances that exist within the Ribbon API.

        '
      operationId: getInsurances
      tags:
      - Reference Endpoints
      parameters:
      - name: Insurance Search Parameters
        in: query
        required: false
        description: Search parameters for the insurances reference endpoint.
        explode: true
        schema:
          type: object
          properties:
            search:
              type: string
              description: 'String input that fuzzy searches across `display_name`, `carrier_name`, and `uuid`.

                '
              example: Aetna
            carrier_association:
              type: string
              description: 'Comma separated list of the carrier association of insurances you are searching for.


                Note: This input must be an exact string match to work

                '
              example: BCBS Association
            carrier_brand:
              type: string
              description: 'Comma separated list of the carrier brand of insurances you are searching for.


                Note: This input must be an exact string match to work

                '
              example: BCBS
            carrier_name:
              type: string
              description: 'Comma separated list of the carrier name of insurances you are searching for.


                Note: This input must be an exact string match to work

                '
              example: Blue Cross Blue Shield of Illinois
            state:
              type: string
              description: Two letter abbreviated state code of insurances you are searching for.
              example: NY
            plan_name:
              type: string
              description: Exact string input of the plan name of insurances you are searching for.
              example: BlueCare Direct
            plan_type:
              type: string
              description: Exact string input of the plan type of insurances you are searching for.
              example: PPO
            display_name:
              type: string
              description: Exact string input of the display name of insurances you are searching for.
              example: Blue Cross Blue Shield of Illinois - BlueCare Direct - HMO
            category:
              type: string
              description: 'Comma separated list of the category of insurances you are searching for.


                Note: This input must be an exact string match to work

                '
              example: Medicare Advantage
            _excl_category:
              type: string
              description: 'Comma separated list of the category of insurances you wish to exclude.


                Note: This input must be an exact string match to work

                '
              example: Medicare Advantage
            codes:
              type: string
              description: Single code input to search for plans with an exact string match within the codes field.
              example: H9572-001
            partial_codes:
              type: string
              description: 'Partial string input to match to the codes field.

                For Medicare Advantage plans this is a contract ID (i.e. H9572). For Federal or State Exchange plans this is the first 10 digits of the HIOS ID (i.e. 36096il100)


                Note: This parameter can only be used if the `category` param is also utilized with a single category value.

                '
              example: H9572
      responses:
        '200':
          description: Insurances returned from a valid request
          content:
            application/json:
              schema:
                type: object
                required:
                - count
                - next
                - previous
                - results
                properties:
                  count:
                    type: integer
                    description: The total number of results matched, across all pages.
                    example: 141
                  next:
                    type:
                    - string
                    - 'null'
                    example: https://api.ribbonhealth.com/v1/custom/insurances?search=aetna&page=3
                  previous:
                    type:
                    - string
                    - 'null'
                    example: https://api.ribbonhealth.com/v1/custom/insurances?search=aetna&page=1
                  results:
                    type: array
                    items:
                      $ref: '#/paths/~1custom~1insurances/post/requestBody/content/application~1json/schema'
        '400':
          description: A failure due to a malformed request
          content:
            application/json:
              schema:
                $ref: '#/paths/~1network_analysis/get/responses/400/content/application~1json/schema'
    post:
      summary: Create Insurance
      description: 'Create a insurance with desired field values.

        '
      operationId: postCustomInsurance
      tags:
      - Reference Endpoints
      requestBody:
        required: true
        description: A JSON object mapping the name of the field to update to its new value
        content:
          application/json:
            schema:
              type: object
              properties:
                uuid:
                  type: string
                  format: uuid
                  example: d8addf29-1054-4ccb-b179-dda65f7fefdd
                  description: A UUID uniquely identifying this insurance
                carrier_association:
                  type:
                  - string
                  - 'null'
                  example: Aetna
                carrier_brand:
                  type:
                  - string
                  - 'null'
                  example: Aetna
                carrier_name:
                  type:
                  - string
                  - 'null'
                  example: Aetna
                state:
                  type:
                  - string
                  - 'null'
                  example: NY
                plan_name:
                  type:
                  - string
                  - 'null'
                  example: Aetna HealthFund Open Choice
                plan_type:
                  type:
                  - string
                  - 'null'
                  example: PPO
                metal_level:
                  type:
                  - string
                  - 'null'
                display_name:
                  type: string
                  example: Aetna - HealthFund Open Choice - PPO
                network:
                  type:
                  - string
                  - 'null'
                confidence:
                  type:
                  - integer
                  - 'null'
                  example: 4
                category:
                  type:
                  - string
                  - 'null'
                codes:
                  type:
                  - array
                  items:
                    type: string
      responses:
        '201':
          description: Insurance was successfully created.
          content:
            application/json:
              schema:
                type: object
                required:
                - data
                properties:
                  data:
                    $ref: '#/paths/~1custom~1insurances/post/requestBody/content/application~1json/schema'
        '400':
          description: This request attempted to update with invalid schema or was missing required fields.
          content:
            application/json:
              schema:
                $ref: '#/paths/~1network_analysis/get/responses/400/content/application~1json/schema'
        '409':
          description: Insurance object with given fields already exists.
          content:
            application/json:
              schema:
                $ref: '#/paths/~1custom~1locations/post/responses/409/content/application~1json/schema'
  /custom/insurances/{insurance_uuid}:
    get:
      summary: Get Insurance
      description: 'Retrieve data on a specific insurance.

        '
      operationId: getCustomInsurance
      tags:
      - Reference Endpoints
      parameters:
      - name: insurance_uuid
        in: path
        required: true
        description: The UUID of the target insurance.
        schema:
          type: string
          format: uuid
          example: 12403618-49d5-43ee-99ad-5e99194fe05c
      responses:
        '200':
          description: Returns a single insurance
          content:
            application/json:
              schema:
                $ref: '#/paths/~1custom~1insurances/post/requestBody/content/application~1json/schema'
        '404':
          description: The given insurance UUID cannot be found
          content:
            application/json:
              schema:
                $ref: '#/paths/~1custom~1tin~1%7Btin_id%7D/get/responses/404/content/application~1json/schema'
    put:
      summary: Edit Insurance Fields
      description: 'Edit fields of a custom created insurance or a Ribbon created insurance.

        '
      operationId: putCustomInsurance
      tags:
      - Reference Endpoints
      parameters:
      - $ref: '#/paths/~1custom~1insurances~1%7Binsurance_uuid%7D/get/parameters/0'
      requestBody:
        required: true
        description: A JSON object mapping the name of the field to update to its new value
        content:
          application/json:
            schema:
              $ref: '#/paths/~1custom~1insurances/post/requestBody/content/application~1json/schema'
      responses:
        '200':
          description: The insurance object was successfully updated.
          content:
            application/json:
              schema:
                type: object
                required:
                - data
                properties:
                  data:
                    $ref: '#/paths/~1custom~1insurances/post/requestBody/content/application~1json/schema'
        '400':
          description: This request attempted to update with invalid schema or was missing required fields.
          content:
            application/json:
              schema:
                $ref: '#/paths/~1network_analysis/get/responses/400/content/application~1json/schema'
        '404':
          description: The given insurance UUID cannot be found
          content:
            application/json:
              schema:
                $ref: '#/paths/~1custom~1tin~1%7Btin_id%7D/get/responses/404/content/application~1json/schema'
        '409':
          description: Insurance object with given fields already exists.
          content:
            application/json:
              schema:
                $ref: '#/paths/~1custom~1locations/post/responses/409/content/application~1json/schema'
    delete:
      summary: Delete Insurance
      description: 'Delete an insurance.


        Note: If you''ve added this insurance to doctors, you are deleting all instances of this UUID, and Ribbon will not be able to regenerate them.

        '
      operationId: deleteCustomInsurance
      tags:
      - Reference Endpoints
      parameters:
      - $ref: '#/paths/~1custom~1insurances~1%7Binsurance_uuid%7D/get/parameters/0'
      responses:
        '204':
          description: Insurance was successfully deleted
        '404':
          description: The given insurance UUID cannot be found
          content:
            application/json:
              schema:
                $ref: '#/paths/~1custom~1tin~1%7Btin_id%7D/get/responses/404/content/application~1json/schema'
  /custom/specialties:
    get:
      summary: Search Specialties
      description: 'Search and list specialties that exist within the Ribbon API.

        '
      operationId: getSpecialties
      tags:
      - Reference Endpoints
      parameters:
      - name: Specialty Search Parameters
        in: query
        required: false
        description: Search parameters for the specialty reference endpoint.
        explode: true
        schema:
          type: object
          properties:
            page:
              type: integer
              example: 1
              description: The page of the results which was returned.
            page_size:
              type: integer
              example: 25
              description: How many results are in each page.
            search:
              type: string
              description: 'String input that fuzzy searches against key fields within each specialties object to return the most relevant options.

                '
              example: Gastroenterology
            provider_type:
              type: string
              description: '''Type'' of provider specialty to filter results on. Here are a few key provider types:

                - Doctor

                - Nursing

                - Dental Providers

                '
              example: Doctor
      responses:
        '200':
          description: Specialties returned from a valid request
          content:
            application/json:
              schema:
                type: object
                required:
                - count
                - next
                - previous
                - results
                properties:
                  count:
                    type: integer
                    description: The total number of results matched, across all pages.
                    example: 141
                  next:
                    type:
                    - string
                    - 'null'
                    example: https://api.ribbonhealth.com/v1/custom/specialties?page=3
                  previous:
                    type:
                    - string
                    - 'null'
                    example: https://api.ribbonhealth.com/v1/custom/specialties?page=1
                  results:
                    type: array
                    items:
                      $ref: '#/paths/~1custom~1specialties~1%7Bspecialty_uuid%7D/get/responses/200/content/application~1json/schema'
        '403':
          description: Trial accounts do not have access to custom specialties
          content:
            application/json:
              schema:
                $ref: '#/paths/~1custom~1tin/get/responses/403/content/application~1json/schema'
    post:
      summary: Create Specialty
      description: 'Create a custom specialty with desired field values.

        '
      operationId: postCustomSpecialty
      tags:
      - Reference Endpoints
      requestBody:
        required: true
        description: A JSON object mapping the name of the field to update to its new value
        content:
          application/json:
            schema:
              allOf:
              - $ref: '#/paths/~1custom~1specialties~1%7Bspecialty_uuid%7D/get/responses/200/content/application~1json/schema'
              required:
              - display
              - board_specialty
              - board_sub_specialty
              - non_md_specialty
              - non_md_sub_specialty
              - provider_name
              - colloquial
              - provider_type
      responses:
        '201':
          description: Specialty was successfully created.
          content:
            application/json:
              schema:
                type: object
                required:
                - data
                properties:
                  data:
                    $ref: '#/paths/~1custom~1specialties~1%7Bspecialty_uuid%7D/get/responses/200/content/application~1json/schema'
        '400':
          description: This request attempted to update with invalid schema or was missing required fields.
          content:
            application/json:
              schema:
                $ref: '#/paths/~1network_analysis/get/responses/400/content/application~1json/schema'
        '409':
          description: Specialty object with given fields already exists.
          content:
            application/json:
              schema:
                $ref: '#/paths/~1custom~1locations/post/responses/409/content/application~1json/schema'
  /custom/specialties/{specialty_uuid}:
    get:
      summary: Get Specialty
      description: 'Retrieve data on a specific specialty.

        '
      operationId: getCustomSpecialty
      tags:
      - Reference Endpoints
      parameters:
      - name: specialty_uuid
        in: path
        required: true
        description: The UUID of the target specialty.
        schema:
          type: string
          format: uuid
          example: a77d23ba-29f1-4afd-a0c4-62d2f0444cf7
      responses:
        '200':
          description: Returns a single specialty
          content:
            application/json:
              schema:
                type: object
                properties:
                  uuid:
                    type: string
                    format: uuid
                    example: 18d8ad26-7e5f-44ac-9afa-966efb375344
                    description: A UUID uniquely identifying this specialty
                  taxonomy_code:
                    type:
                    - string
                    example: 207Q00000X
                  board_specialty:
                    type:
                    - string
                    - 'null'
                    example: Family Medicine
                  board_sub_specialty:
                    type:
                    - string
                    - 'null'
                  non_md_specialty:
                    type:
                    - string
                    - 'null'
                  non_md_sub_specialty:
                    type:
                    - string
                    - 'null'
                    example: None
                  provider_name:
                    type:
                    - string
                    - 'null'
                    example: Family Medicine Doctor
                  colloquial:
                    type:
                    - string
                    - 'null'
                  taxonomy_1:
                    type:
                    - string
                    - 'null'
                    example: Allopathic & Osteopathic Physicians
                  taxonomy_2:
                    type:
                    - string
                    - 'null'
                    example: Family Medicine
                  taxonomy_3:
                    type:
                    - string
                    - 'null'
                  display:
                    type: string
                    example: Family Medicine
                  provider_type:
                    type: string
                    example: Doctor
                  is_primary:
                    type: boolean
                    example: true
                    description: Whether or not a specialty is a provider's primary specialty
        '404':
          description: The given specialty UUID cannot be found
          content:
            application/json:
              schema:
                $ref: '#/paths/~1custom~1tin~1%7Btin_id%7D/get/responses/404/content/application~1json/schema'
    put:
      summary: Edit Specialty Fields
      description: 'Edit fields of a custom created specialty.


        Note: You cannot edit a Ribbon created specialty.

        '
      operationId: putCustomSpecialty
      tags:
      - Reference Endpoints
      parameters:
      - $ref: '#/paths/~1custom~1specialties~1%7Bspecialty_uuid%7D/get/parameters/0'
      requestBody:
        required: true
        description: A JSON object mapping the name of the field to update to its new value
        content:
          application/json:
            schema:
              $ref: '#/paths/~1custom~1specialties/post/requestBody/content/application~1json/schema'
      responses:
        '200':
          description: The specialty object was successfully updated.
          content:
            application/json:
              schema:
                type: object
                required:
                - data
                properties:
                  data:
                    $ref: '#/paths/~1custom~1specialties~1%7Bspecialty_uuid%7D/get/responses/200/content/application~1json/schema'
        '400':
          description: This request attempted to update with invalid schema or was missing required fields.
          content:
            application/json:
              schema:
                $ref: '#/paths/~1network_analysis/get/responses/400/content/application~1json/schema'
        '404':
          description: The given specialty UUID cannot be found
          content:
            application/json:
              schema:
                $ref: '#/paths/~1custom~1tin~1%7Btin_id%7D/get/responses/404/content/application~1json/schema'
        '409':
          description: Specialty object with given fields already exists.
          content:
            application/json:
              schema:
                $ref: '#/paths/~1custom~1locations/post/responses/409/content/application~1json/schema'
    delete:
      summary: Delete Specialty
      description: 'Delete a specialty.


        Note: You cannot delete a Ribbon created specialty.

        '
      operationId: deleteCustomSpecialty
      tags:
      - Reference Endpoints
      parameters:
      - $ref: '#/paths/~1custom~1specialties~1%7Bspecialty_uuid%7D/get/parameters/0'
      responses:
        '204':
          description: Specialty was successfully deleted
        '404':
          description: The given specialty UUID cannot be found
          content:
            application/json:
              schema:
                $ref: '#/paths/~1custom~1tin~1%7Btin_id%7D/get/responses/404/content/application~1json/schema'
  /provider_types:
    get:
      summary: Search Provider Types
      description: 'Search and list provider types that exist within the Ribbon API.

        '
      operationId: getCustomProviderTypes
      tags:
      - Reference Endpoints
      parameters:
      - $ref: '#/paths/~1languages/get/parameters/0'
      responses:
        '200':
          description: Provider types returned from a valid request
          content:
            application/json:
              schema:
                type: object
                required:
                - count
                - data
                properties:
                  count:
                    type: integer
                    description: The total number of results matched, across all pages.
                    example: 23
                  results:
                    type: array
                    items:
                      $ref: '#/paths/~1custom~1provider_types~1%7Bprovider_type_uuid%7D/get/responses/200/content/application~1json/schema'
  /custom/provider_types:
    post:
      summary: Create Provider Type
      description: 'Create a custom provider type with desired field values.

        '
      operationId: postCustomProviderType
      tags:
      - Reference Endpoints
      requestBody:
        required: true
        description: A JSON object mapping the name of the field to update to its new value
        content:
          application/json:
            schema:
              type: object
              properties:
                display_name:
                  type: string
                  example: Certified Nurse Midwife
      responses:
        '201':
          description: Provider type was successfully created.
          content:
            application/json:
              schema:
                type: object
                required:
                - data
                properties:
                  data:
                    $ref: '#/paths/~1custom~1provider_types~1%7Bprovider_type_uuid%7D/get/responses/200/content/application~1json/schema'
        '400':
          description: This request attempted to create with invalid schema or was missing required fields.
          content:
            application/json:
              schema:
                $ref: '#/paths/~1network_analysis/get/responses/400/content/application~1json/schema'
        '409':
          description: Provider type object with given display_name already exists.
          content:
            application/json:
              schema:
                $ref: '#/paths/~1custom~1locations/post/responses/409/content/application~1json/schema'
  /custom/provider_types/{provider_type_uuid}:
    get:
      summary: Get Provider Type
      description: 'Retrieve data on a specific provider type.

        '
      operationId: getCustomProviderType
      tags:
      - Reference Endpoints
      parameters:
      - name: provider_type_uuid
        in: path
        required: true
        description: The UUID of the target provider type.
        schema:
          type: string
          format: uuid
          example: edeb875a-494a-4907-babb-5377ef1f49f9
      responses:
        '200':
          description: Returns a single provider type
          content:
            application/json:
              schema:
                type: object
                properties:
                  uuid:
                    type: string
                    format: uuid
                    example: 854a242b-9fa6-4427-b36f-ae7ba858e2c8
                    description: A UUID uniquely identifying this provider type
                  display_name:
                    type: string
                    example: Pediatrician
        '404':
          description: The given provider type UUID cannot be found
          content:
            application/json:
              schema:
                $ref: '#/paths/~1custom~1tin~1%7Btin_id%7D/get/responses/404/content/application~1json/schema'
    put:
      summary: Edit Provider Type Fields
      description: 'Edit fields of a custom created provider type.


        Note: You cannot edit a Ribbon created provider type.

        '
      operationId: putCustomProviderType
      tags:
      - Reference Endpoints
      parameters:
      - $ref: '#/paths/~1custom~1provider_types~1%7Bprovider_type_uuid%7D/get/parameters/0'
      requestBody:
        required: true
        description: A JSON object mapping the name of the field to update to its new value
        content:
          application/json:
            schema:
              $ref: '#/paths/~1custom~1provider_types/post/requestBody/content/application~1json/schema'
      responses:
        '200':
          description: The provider type object was successfully updated.
          content:
            application/json:
              schema:
                type: object
                required:
                - data
                properties:
                  data:
                    $ref: '#/paths/~1custom~1provider_types~1%7Bprovider_type_uuid%7D/get/responses/200/content/application~1json/schema'
        '400':
          description: This request attempted to update with invalid schema or was missing required fields.
          content:
            application/json:
              schema:
                $ref: '#/paths/~1network_analysis/get/responses/400/content/application~1json/schema'
        '403':
          description: This resource is managed by Ribbon and cannot be modified.
          content:
            application/json:
              schema:
                $ref: '#/paths/~1custom~1tin/get/responses/403/content/application~1json/schema'
        '404':
          description: The given provider type UUID cannot be found.
          content:
            application/json:
              schema:
                $ref: '#/paths/~1custom~1tin~1%7Btin_id%7D/get/responses/404/content/application~1json/schema'
        '409':
          description: Provider Type object with given display_name already exists.
          content:
            application/json:
              schema:
                $ref: '#/paths/~1custom~1locations/post/responses/409/content/application~1json/schema'
    delete:
      summary: Delete Provider Type
      description: 'Delete a provider type.


        Note: You cannot edit a Ribbon created provider type.

        '
      operationId: deleteCustomProviderType
      tags:
      - Reference Endpoints
      parameters:
      - $ref: '#/paths/~1custom~1provider_types~1%7Bprovider_type_uuid%7D/get/parameters/0'
      responses:
        '204':
          description: Provider type was successfully deleted
        '403':
          description: This resource is managed by Ribbon and cannot be deleted.
          content:
            application/json:
              schema:
                $ref: '#/paths/~1custom~1tin/get/responses/403/content/application~1json/schema'
        '404':
          description: The given provider type UUID cannot be found
          content:
            application/json:
              schema:
                $ref: '#/paths/~1custom~1tin~1%7Btin_id%7D/get/responses/404/content/application~1json/schema'
  /location_types:
    get:
      summary: Search Location Types
      description: 'Search and list location types that exist within the Ribbon API.

        '
      operationId: getCustomLocationTypes
      tags:
      - Reference Endpoints
      parameters:
      - $ref: '#/paths/~1languages/get/parameters/0'
      responses:
        '200':
          description: Location types returned from a valid request
          content:
            application/json:
              schema:
                type: object
                required:
                - count
                - data
                properties:
                  count:
                    type: integer
                    description: The total number of results matched, across all pages.
                    example: 7
                  results:
                    type: array
                    items:
                      $ref: '#/paths/~1custom~1location_types~1%7Blocation_type_uuid%7D/get/responses/200/content/application~1json/schema'
  /custom/location_types:
    post:
      summary: Create Location Type
      description: 'Create a location type with desired field values.

        '
      operationId: postCustomLocationType
      tags:
      - Reference Endpoints
      requestBody:
        required: true
        description: A JSON object mapping the name of the field to update to its new value
        content:
          application/json:
            schema:
              $ref: '#/paths/~1custom~1provider_types/post/requestBody/content/application~1json/schema'
      responses:
        '201':
          description: Location type was successfully created.
          content:
            application/json:
              schema:
                type: object
                required:
                - data
                properties:
                  data:
                    $ref: '#/paths/~1custom~1location_types~1%7Blocation_type_uuid%7D/get/responses/200/content/application~1json/schema'
        '400':
          description: This request attempted to create with invalid schema or was missing required fields.
          content:
            application/json:
              schema:
                $ref: '#/paths/~1network_analysis/get/responses/400/content/application~1json/schema'
        '409':
          description: Location type object with given display_name already exists.
          content:
            application/json:
              schema:
                $ref: '#/paths/~1custom~1locations/post/responses/409/content/application~1json/schema'
  /custom/location_types/{location_type_uuid}:
    get:
      summary: Get Location Type
      description: 'Retrieve data on a specific location type.

        '
      operationId: getCustomLocationType
      tags:
      - Reference Endpoints
      parameters:
      - name: location_type_uuid
        in: path
        required: true
        description: The UUID of the target location type.
        schema:
          type: string
          format: uuid
          example: b5458763-968e-4690-bc70-f29d3a7459a9
      responses:
        '200':
          description: Returns a single location type
          content:
    

# --- truncated at 32 KB (41 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/h1/refs/heads/main/openapi/h1-reference-endpoints-api-openapi.yml