Yuzu Health PublicApiV2 API

The PublicApiV2 API from Yuzu Health — 14 operation(s) for publicapiv2.

OpenAPI Specification

yuzu-health-publicapiv2-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  title: Yuzu Accumulator (Experimental) Accumulator (Experimental) PublicApiV2 API
  description: Yuzu's Public API
  version: '0.5'
  contact: {}
servers: []
tags:
- name: PublicApiV2
paths:
  /v2/groups:
    post:
      description: Create a new group with the provided data.
      operationId: PublicApiV2Controller_createGroup
      parameters: []
      requestBody:
        required: true
        description: Group to Create
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GroupCreationDto'
      responses:
        '200':
          description: Group Policy
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GroupPolicyDto'
      security:
      - public-api-auth: []
      summary: Create a group
      tags:
      - PublicApiV2
    get:
      description: Fetch a paginated list of all group policies with optional filters.
      operationId: PublicApiV2Controller_listAllGroups
      parameters:
      - name: startAfter
        required: false
        in: query
        description: Pagination cursor
        schema:
          type: string
      responses:
        '200':
          description: Paginated Group Policies
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedGroupPolicyDto'
      security:
      - public-api-auth: []
      summary: List all group policies
      tags:
      - PublicApiV2
  /v2/groups/{groupPolicyId}:
    get:
      description: Fetch details for a specific group policy by its ID.
      operationId: PublicApiV2Controller_getGroup
      parameters:
      - name: groupPolicyId
        required: true
        in: path
        schema:
          type: string
      responses:
        '200':
          description: Group Policy
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GroupPolicyDto'
      security:
      - public-api-auth: []
      summary: Retrieve a group policy
      tags:
      - PublicApiV2
  /v2/groups/{groupPolicyId}/enroll/initial-enrollment:
    post:
      description: Create an initial enrollment for a group policy with the provided data.
      operationId: PublicApiV2Controller_createInitialEnrollment
      parameters:
      - name: groupPolicyId
        required: true
        in: path
        schema:
          type: string
      requestBody:
        required: true
        description: Initial Enrollment
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/InitialEnrollmentDto'
      responses:
        '200':
          description: Enrollment Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EnrollmentRequestDto'
      security:
      - public-api-auth: []
      summary: Create an initial enrollment
      tags:
      - PublicApiV2
  /v2/groups/{groupPolicyId}/enroll/new-subscribers:
    post:
      description: Append new employees/subscribers to an existing plan. This is an append (it never terminates omitted members); each subscriber's coverage start is derived from their hire date and the plan's waiting-period rules.
      operationId: PublicApiV2Controller_createNewSubscribersEnrollment
      parameters:
      - name: groupPolicyId
        required: true
        in: path
        schema:
          type: string
      requestBody:
        required: true
        description: New Subscribers Enrollment
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/NewSubscribersEnrollmentDto'
      responses:
        '200':
          description: Enrollment Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EnrollmentRequestDto'
      security:
      - public-api-auth: []
      summary: Add new subscribers to an existing plan
      tags:
      - PublicApiV2
  /v2/enroll/{enrollmentRequestId}/status:
    post:
      description: Get the status of an enrollment request for a group policy.
      operationId: PublicApiV2Controller_getEnrollmentRequestStatus
      parameters:
      - name: enrollmentRequestId
        required: true
        in: path
        schema:
          type: string
      responses:
        '200':
          description: Enrollment Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EnrollmentRequestDto'
      security:
      - public-api-auth: []
      summary: Get enrollment request status
      tags:
      - PublicApiV2
  /v2/groups/{groupPolicyId}/members:
    get:
      description: Fetch a paginated list of members for a specific group policy.
      operationId: PublicApiV2Controller_listGroupMembers
      parameters:
      - name: groupPolicyId
        required: true
        in: path
        schema:
          type: string
      - name: startAfter
        required: false
        in: query
        description: Pagination cursor
        schema:
          type: string
      responses:
        '200':
          description: Paginated Members
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedMemberDto'
      security:
      - public-api-auth: []
      summary: List group members
      tags:
      - PublicApiV2
  /v2/groups/{groupPolicyId}/plans/remove/{planIdToRemove}:
    delete:
      description: Remove a specific plan from a group policy by its ID.
      operationId: PublicApiV2Controller_removePlanFromGroup
      parameters:
      - name: groupPolicyId
        required: true
        in: path
        schema:
          type: string
      - name: planIdToRemove
        required: true
        in: path
        schema:
          type: string
      responses:
        '200':
          description: Group Policy
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GroupPolicyDto'
      security:
      - public-api-auth: []
      summary: Remove a plan from a group
      tags:
      - PublicApiV2
  /v2/groups/{groupPolicyId}/plans/add:
    post:
      description: Add a new plan to a specific group policy with the provided data.
      operationId: PublicApiV2Controller_addPlanToGroup
      parameters:
      - name: groupPolicyId
        required: true
        in: path
        schema:
          type: string
      requestBody:
        required: true
        description: Plan to Create
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PlanCreationDto'
      responses:
        '200':
          description: Group Policy
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GroupPolicyDto'
      security:
      - public-api-auth: []
      summary: Add a plan to a group
      tags:
      - PublicApiV2
  /v2/plans/{planId}/spd:
    get:
      description: Fetch a specific plan's Summary Plan Description (SPD) as a PDF file. If one is not found, it will not be generated.
      operationId: PublicApiV2Controller_getSpd
      parameters:
      - name: planId
        required: true
        in: path
        schema:
          type: string
      responses:
        '200':
          description: Plan SPD as PDF
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Uint8Array'
      security:
      - public-api-auth: []
      summary: Retrieve plan SPD
      tags:
      - PublicApiV2
  /v2/designs:
    get:
      description: Fetch a list of plan designs. By default only active designs are returned. Set includeAll=true to include all statuses (draft, inReview, active, archived).
      operationId: PublicApiV2Controller_getDesigns
      parameters:
      - name: includeAll
        required: false
        in: query
        description: When true, returns plan designs in all statuses. Defaults to false (active only).
        schema:
          type: boolean
      responses:
        '200':
          description: Array of Plan Designs
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PlanDesignArrayDto'
      security:
      - public-api-auth: []
      summary: List all plan designs
      tags:
      - PublicApiV2
  /v2/coverages/{coverageId}/care-events:
    post:
      description: Create a new care event for a specific coverage. Care events can pend claims, reprice claims, or set a benefit tier for matching claims.
      operationId: PublicApiV2Controller_createCareEvent
      parameters:
      - name: coverageId
        required: true
        in: path
        schema:
          type: string
      requestBody:
        required: true
        description: Care Event to Create
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CareEventCreationDto'
      responses:
        '200':
          description: Care Event
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CareEventDto'
      security:
      - public-api-auth: []
      summary: Create a care event
      tags:
      - PublicApiV2
    get:
      description: Fetch all care events for a specific coverage, including archived ones. Archived events no longer apply to claims.
      operationId: PublicApiV2Controller_listCareEvents
      parameters:
      - name: coverageId
        required: true
        in: path
        schema:
          type: string
      responses:
        '200':
          description: Care Events
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CareEventArrayDto'
      security:
      - public-api-auth: []
      summary: List care events
      tags:
      - PublicApiV2
  /v2/coverages/{coverageId}/care-events/{careEventId}/replacement:
    post:
      description: Archive the existing care event and create a replacement with the provided data
      operationId: PublicApiV2Controller_replaceCareEvent
      parameters:
      - name: coverageId
        required: true
        in: path
        schema:
          type: string
      - name: careEventId
        required: true
        in: path
        schema:
          type: string
      requestBody:
        required: true
        description: Care Event Replacement
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CareEventCreationDto'
      responses:
        '200':
          description: Care Event
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CareEventDto'
      security:
      - public-api-auth: []
      summary: Replace a care event
      tags:
      - PublicApiV2
  /v2/coverages/{coverageId}/care-events/{careEventId}:
    delete:
      description: Archive a care event so it no longer applies to the coverage. Returns the archived care event.
      operationId: PublicApiV2Controller_deleteCareEvent
      parameters:
      - name: coverageId
        required: true
        in: path
        schema:
          type: string
      - name: careEventId
        required: true
        in: path
        schema:
          type: string
      responses:
        '200':
          description: Care Event
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CareEventDto'
      security:
      - public-api-auth: []
      summary: Delete a care event
      tags:
      - PublicApiV2
  /v2/designs/{planDesignId}/benefits:
    get:
      description: Fetch details for a specific plan design's benefits.
      operationId: PublicApiV2Controller_getDesignBenefits
      parameters:
      - name: planDesignId
        required: true
        in: path
        schema:
          type: string
      responses:
        '200':
          description: Plan Benefits
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BenefitsDto'
      security:
      - public-api-auth: []
      summary: Retrieve plan design benefits
      tags:
      - PublicApiV2
components:
  schemas:
    GroupPolicyDto:
      type: object
      properties:
        id:
          type: string
        startDate:
          type: string
        endDate:
          type: string
        groupId:
          type: string
        plans:
          type: array
          items:
            type: object
            properties:
              id:
                type: string
              planNumber:
                type: string
              nickname:
                type: string
              type:
                type: string
                enum:
                - RBP
                - PPO
                - PPO_RBP
                - Cash
                - Dental
                - Vision
                - MEC
                - EPO
                - Supplemental
              brokerVendorId:
                type: string
              basePlanDesignId:
                anyOf:
                - type: string
                - type: 'null'
                description: The plan design ID used to create this plan (maps to the planDesignId passed on group creation).
              vendorRelationships:
                type: array
                items:
                  type: object
                  properties:
                    id:
                      type: string
                    vendor:
                      type: object
                      properties:
                        id:
                          type: string
                        name:
                          type: string
                        ein:
                          type: string
                      required:
                      - id
                      - name
                    planFees:
                      type: array
                      items:
                        type: object
                        properties:
                          id:
                            type: string
                          name:
                            type: string
                          isVariable:
                            default: false
                            type: boolean
                          isReserve:
                            default: false
                            type: boolean
                          eeCents:
                            default: 0
                            type: integer
                            minimum: -9007199254740991
                            maximum: 9007199254740991
                          esCents:
                            default: 0
                            type: integer
                            minimum: -9007199254740991
                            maximum: 9007199254740991
                          ecCents:
                            default: 0
                            type: integer
                            minimum: -9007199254740991
                            maximum: 9007199254740991
                          efCents:
                            default: 0
                            type: integer
                            minimum: -9007199254740991
                            maximum: 9007199254740991
                          adultCents:
                            default: 0
                            type: integer
                            minimum: -9007199254740991
                            maximum: 9007199254740991
                          minorCents:
                            default: 0
                            type: integer
                            minimum: -9007199254740991
                            maximum: 9007199254740991
                          flatCents:
                            default: 0
                            type: integer
                            minimum: -9007199254740991
                            maximum: 9007199254740991
                        required:
                        - id
                        - name
                        - eeCents
                        - esCents
                        - ecCents
                        - efCents
                        - adultCents
                        - minorCents
                        - flatCents
                    stoplossContract:
                      type: object
                      properties:
                        type:
                          type: string
                          enum:
                          - specific
                          - aggregate
                          - specAndAgg
                        policyNumber:
                          type: string
                        specAttachmentCents:
                          type: number
                        aggAccommodationDeductibleCents:
                          type: number
                        aggregatingSpecDeductibleCents:
                          type: number
                        minAggAttachmentCents:
                          type: string
                          pattern: ^\d+$
                        incurredMonths:
                          type: number
                        paidMonths:
                          type: number
                        aggEeCents:
                          default: 0
                          type: integer
                          minimum: 0
                          maximum: 9007199254740991
                        aggEsCents:
                          default: 0
                          type: integer
                          minimum: 0
                          maximum: 9007199254740991
                        aggEcCents:
                          default: 0
                          type: integer
                          minimum: 0
                          maximum: 9007199254740991
                        aggEfCents:
                          default: 0
                          type: integer
                          minimum: 0
                          maximum: 9007199254740991
                      required:
                      - aggEeCents
                      - aggEsCents
                      - aggEcCents
                      - aggEfCents
                  required:
                  - id
                  - vendor
                  - planFees
              cobraVendorId:
                anyOf:
                - type: string
                - type: 'null'
            required:
            - id
            - planNumber
            - nickname
            - type
            - basePlanDesignId
            - vendorRelationships
            - cobraVendorId
        sponsor:
          type: object
          properties:
            id:
              type: string
            namespace:
              type: string
            name:
              type: string
            website:
              type: string
              format: uri
            description:
              type: string
            phoneNumber:
              type: string
              example: '+12125551234'
            address:
              type: object
              properties:
                address1:
                  type: string
                address2:
                  type: string
                city:
                  type: string
                state:
                  type: string
                  enum:
                  - AL
                  - AK
                  - AZ
                  - AR
                  - CA
                  - CO
                  - CT
                  - DE
                  - FL
                  - GA
                  - HI
                  - ID
                  - IL
                  - IN
                  - IA
                  - KS
                  - KY
                  - LA
                  - ME
                  - MD
                  - MA
                  - MI
                  - MN
                  - MS
                  - MO
                  - MT
                  - NE
                  - NV
                  - NH
                  - NJ
                  - NM
                  - NY
                  - NC
                  - ND
                  - OH
                  - OK
                  - OR
                  - PA
                  - RI
                  - SC
                  - SD
                  - TN
                  - TX
                  - UT
                  - VT
                  - VA
                  - WA
                  - WV
                  - WI
                  - WY
                  - DC
                  - AS
                  - GU
                  - MP
                  - PR
                  - VI
                postalCode:
                  type: string
                  pattern: ^\d{5}(?:[ -]?\d{4})?$
              required:
              - address1
              - city
              - state
              - postalCode
            bankingVerified:
              type: boolean
            brokerVendor:
              type: object
              properties:
                id:
                  type: string
                name:
                  type: string
                ein:
                  type: string
              required:
              - id
              - name
            ein:
              type: string
              pattern: ^(\d{2}-\d{7}|\d{9})$
              example: '123456789'
            structure:
              type: string
              enum:
              - C_Corporation
              - LLC
              - LLP
              - Nonprofit_Organization
              - Partnership
              - Professional_Association
              - Professional_Corporation
              - S_Corporation
              - General_Partnership
              - Limited_Partnership
              - Sole_Proprietorship
              - Government_Entity
            businessType:
              type: string
              enum:
              - company
              - government_entity
              - non_profit
            invoicingEmails:
              type: array
              items:
                type: string
                format: email
                pattern: ^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$
            contractEmails:
              type: array
              items:
                type: string
                format: email
                pattern: ^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$
          required:
          - id
          - namespace
          - name
          - invoicingEmails
          - contractEmails
        rules:
          type: object
          properties:
            accumulatorPeriod:
              type: string
              enum:
              - planYear
              - calendarYear
            runIn:
              type: boolean
            loadAccumulators:
              type: boolean
            cobraExempt:
              type: boolean
            erisaExempt:
              type: boolean
            enrollmentWaitingPeriodType:
              type: string
              enum:
              - months
              - days
            enrollmentWaitingPeriod:
              type: integer
              minimum: 0
              maximum: 9007199254740991
              example: 1
            waitingPeriodRules:
              default: []
              type: array
              items:
                type: object
                properties:
                  employeeClassTagName:
                    type: string
                    minLength: 1
                  days:
                    type: integer
                    minimum: 0
                    maximum: 9007199254740991
                  rounding:
                    type: string
                    enum:
                    - none
                    - firstOfMonth
                    - firstOfCalendarMonth
                required:
                - employeeClassTagName
                - days
                - rounding
            externalCobraVendorId:
              type: string
            externalCobraVendor:
              type: object
              properties:
                name:
                  type: string
                phoneNumber:
                  type: string
                  example: '+12125551234'
              required:
              - name
              - phoneNumber
            isCobraManagedByYuzu:
              type: boolean
          required:
          - accumulatorPeriod
          - runIn
          - loadAccumulators
          - cobraExempt
          - erisaExempt
          - enrollmentWaitingPeriodType
          - enrollmentWaitingPeriod
      required:
      - id
      - startDate
      - endDate
      - groupId
      - plans
      - sponsor
    PaginatedGroupPolicyDto:
      type: object
      properties:
        results:
          type: array
          items:
            type: object
            properties:
              id:
                type: string
              startDate:
                type: string
              endDate:
                type: string
              groupId:
                type: string
              plans:
                type: array
                items:
                  type: object
                  properties:
                    id:
                      type: string
                    planNumber:
                      type: string
                    nickname:
                      type: string
                    type:
                      type: string
                      enum:
                      - RBP
                      - PPO
                      - PPO_RBP
                      - Cash
                      - Dental
                      - Vision
                      - MEC
                      - EPO
                      - Supplemental
                    brokerVendorId:
                      type: string
                    basePlanDesignId:
                      anyOf:
                      - type: string
                      - type: 'null'
                      description: The plan design ID used to create this plan (maps to the planDesignId passed on group creation).
                    vendorRelationships:
                      type: array
                      items:
                        type: object
                        properties:
                          id:
                            type: string
                          vendor:
                            type: object
                            properties:
                              id:
                                type: string
                              name:
                                type: string
                              ein:
                                type: string
                            required:
                            - id
                            - name
                          planFees:
                            type: array
                            items:
                              type: object
                              properties:
                                id:
                                  type: string
                                name:
                                  type: string
                                isVariable:
                                  default: false
                                  type: boolean
                                isReserve:
                                  default: false
                                  type: boolean
                                eeCents:
                                  default: 0
                                  type: integer
                                  minimum: -9007199254740991
                                  maximum: 9007199254740991
                                esCents:
                                  default: 0
                                  type: integer
                                  minimum: -9007199254740991
                                  maximum: 9007199254740991
                                ecCents:
                                  default: 0
                                  type: integer
                                  minimum: -9007199254740991
                                  maximum: 9007199254740991
                                efCents:
                                  default: 0
                                  type: integer
                                  minimum: -9007199254740991
                                  maximum: 9007199254740991
                                adultCents:
                                  default: 0
                                  type: integer
                                  minimum: -9007199254740991
                                  maximum: 9007199254740991
                                minorCents:
                                  default: 0
                                  type: integer
                                  minimum: -9007199254740991
                                  maximum: 9007199254740991
                                flatCents:
                                  default: 0
                                  type: integer
                                  minimum: -9007199254740991
                                  maximum: 9007199254740991
                              required:
                              - id
                              - name
                              - eeCents
                              - esCents
                              - ecCents
                              - efCents
                              - adultCents
                              - minorCents
                              - flatCents
                          stoplossContract:
                            type: object
                            properties:
                              type:
                                type: string
                                enum:
                                - specific
                                - aggregate
                                - specAndAgg
                              policyNumber:
                                type: string
                              specAttachmentCents:
                                type: number
                              aggAccommodationDeductibleCents:
                                type: number
                              aggregatingSpecDeductibleCents:
                                type: number
                              minAggAttachmentCents:
                                type: string
                                pattern: ^\d+$
                              incurredMonths:
                                type: number
                              paidMonths:
                                type: number
                              aggEeCents:
                                default: 0
                                type: integer
                                minimum: 0
                                maximum: 9007199254740991
                              aggEsCents:
                                default: 0
                                type: integer
                                minimum: 0
                                maximum: 9007199254740991
                              aggEcCents:
                                default: 0
                                type: integer
                                minimum: 0
                                maximum: 9007199254740991
                              aggEfCents:
                                default: 0
                                type: integer
                                minimum: 0
                                maximum: 9007199254740991
                            required:
                            - aggEeCents
                            - aggEsCents
                            - aggEcCents
                            - aggEfCents
                        required:
                        - id
                        - vendor
                        - planFees
                    cobraVendorId:
                      anyOf:
                      - type: string
                      - type: 'null'
                  required:
                  - id
                  - planNumber
                  - nickname
                  - type
                  - basePlanDesignId
       

# --- truncated at 32 KB (119 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/yuzu-health/refs/heads/main/openapi/yuzu-health-publicapiv2-api-openapi.yml