---
title: "Add an illustration to an existing client case"
url: "https://developers.zinnia.com/apis/illustration-client-cases/versions/a31534b3-f446-4f8d-8b26-1106d7bdfb11/paths/client-case-manager-v1-client-case-caseId--illustrations/post"
---

> Full API specification: https://developers.zinnia.com/apis/illustration-client-cases/versions/a31534b3-f446-4f8d-8b26-1106d7bdfb11.md

# Add an illustration to an existing client case

`POST` `/client-case-manager/v1/client-case/{caseId}/illustrations`

## Path parameters

- `caseId` (string, uuid, required)

## Request body

Content types: `application/json`, `text/json`, `application/*+json`

## Responses

- `200` - Illustration added successfully
- `400` - Illustration already exists in the client case or the client case already has the maximum number of illustrations
- `404` - Client case does not exist

## OpenAPI definition

```yaml
openapi: 3.0.4
info:
  title: Zinnia Illustration Client Cases Api
  version: v1
servers:
  - url: https://uat.api.zinnia.io
    description: Main server address for this environment
paths:
  /client-case-manager/v1/client-case/{caseId}/illustrations:
    post:
      tags:
        - ClientCase
      summary: Add an illustration to an existing client case
      parameters:
        - name: caseId
          in: path
          required: true
          schema:
            type: string
            format: uuid
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/IllustrationCreationInputDto"
          text/json:
            schema:
              $ref: "#/components/schemas/IllustrationCreationInputDto"
          application/*+json:
            schema:
              $ref: "#/components/schemas/IllustrationCreationInputDto"
      responses:
        "200":
          description: Illustration added successfully
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClientCaseDto"
        "400":
          description: Illustration already exists in the client case or the client case
            already has the maximum number of illustrations
        "404":
          description: Client case does not exist
      security:
        - Auth0: []
security:
  - Auth0: []
components:
  schemas:
    IllustrationCreationInputDto:
      required:
        - id
        - productId
        - productType
      type: object
      properties:
        id:
          type: string
          format: uuid
        productType:
          $ref: "#/components/schemas/ProductType"
        productId:
          minLength: 1
          type: string
        carrierCode:
          type: string
          nullable: true
        title:
          type: string
          nullable: true
        inputs:
          type: string
          nullable: true
      additionalProperties: false
    ClientCaseDto:
      type: object
      properties:
        agencyId:
          type: string
          nullable: true
        agencyName:
          type: string
          nullable: true
        id:
          type: string
          format: uuid
        carrierCode:
          type: array
          items:
            type: string
          nullable: true
        submitted:
          type: boolean
        title:
          type: string
          nullable: true
        caseManagementCaseId:
          type: string
          nullable: true
        eAppId:
          type: string
          nullable: true
        planCode:
          type: array
          items:
            type: string
          nullable: true
        allowAgentEdit:
          type: boolean
        agentDetails:
          $ref: "#/components/schemas/AgentDetails"
        insuredDetails:
          $ref: "#/components/schemas/InsuredDetailsDto"
        transactionType:
          $ref: "#/components/schemas/TransactionType"
        isMec:
          type: boolean
        originalFaceAmount:
          type: number
          format: double
          nullable: true
        illustrations:
          type: array
          items:
            $ref: "#/components/schemas/Illustration"
          nullable: true
        lastModified:
          type: string
          format: date-time
        lastModifiedBy:
          type: string
          nullable: true
        createdBy:
          type: string
          nullable: true
        creatorName:
          type: string
          nullable: true
      additionalProperties: false
    ProductType:
      enum:
        - TERM
        - UNIVERSAL_LIFE
        - INDEX_UNIVERSAL_LIFE
      type: string
    AgentDetails:
      type: object
      properties:
        sellingCode:
          type: string
          nullable: true
        npn:
          type: string
          nullable: true
        email:
          type: string
          nullable: true
        firstName:
          type: string
          nullable: true
        lastName:
          type: string
          nullable: true
      additionalProperties: false
    InsuredDetailsDto:
      type: object
      properties:
        firstName:
          type: string
          nullable: true
        lastName:
          type: string
          nullable: true
        sexAtBirth:
          $ref: "#/components/schemas/SexAtBirth"
        dateOfBirth:
          type: string
          format: date-time
        nicotineUser:
          type: boolean
        state:
          type: string
          nullable: true
        illustrateAtOlderAge:
          type: boolean
          nullable: true
        issueAge:
          type: integer
          format: int32
          nullable: true
        underwritingClass:
          $ref: "#/components/schemas/UnderwritingClass"
        underwritingClassCode:
          type: integer
          format: int32
          nullable: true
          readOnly: true
      additionalProperties: false
    TransactionType:
      enum:
        - REPLACEMENT
        - NONREPLACEMENT
        - CONVERSION
      type: string
    Illustration:
      type: object
      properties:
        id:
          type: string
          format: uuid
        productType:
          $ref: "#/components/schemas/ProductType"
        productId:
          type: string
          nullable: true
        carrierCode:
          type: string
          nullable: true
        status:
          $ref: "#/components/schemas/IllustrationStatus"
        title:
          type: string
          nullable: true
        inputs:
          type: string
          nullable: true
        dateAdded:
          type: string
          format: date-time
      additionalProperties: false
    SexAtBirth:
      enum:
        - MALE
        - FEMALE
      type: string
    UnderwritingClass:
      enum:
        - ULTRANONTOBACCO
        - ELITENONTOBACCO
        - PREFERREDNONTOBACCO
        - STANDARDNONTOBACCO
        - STANDARDTOBACCO
        - STANDARDAGGREGATE
        - SUBSTANDARDNONTOBACCO
        - SUBSTANDARDTOBACCO
        - STANDARDPLUSNONTOBACCO
        - PREFERREDTOBACCO
        - STANDARDCONVERSIONNONTOBACCO
        - STANDARDCONVERSIONTOBACCO
        - STANDARDPLUSBLEND
        - STANDARDPLUSTOBACCO
        - STANDARDBLEND
        - SUBSTANDARDBLEND
        - PREFERREDSELECTNONTOBACCO
        - PREFERREDSELECTBLEND
        - PREFERREDSELECTTOBACCO
        - PREFERREDBLEND
      type: string
    IllustrationStatus:
      enum:
        - SUBMITTED
        - ARCHIVED
        - EXPIRED
        - ACTIVE
        - SELECTED
      type: string
  securitySchemes:
    Auth0:
      type: openIdConnect
      openIdConnectUrl: https://login.uat.zinnia.com/
      x-kong-security-openid-connect:
        config:
          run_on_preflight: true
          audience_claim:
            - aud
          audience_required:
            - https://uat.api.zinnia.io
          auth_methods:
            - bearer
          scopes: []
        enabled: true
        protocols:
          - http
          - https
```
