Advicent.FactFinderService icon

Advicent.FactFinderService

An API for accessing the NaviPlan Fact Finder

COMMUNITYNO AUTH0 INSTALLS
OpenAPI Specificationv3.0
{
  "swagger": "2.0",
  "schemes": [
    "https",
    "http"
  ],
  "host": "demo.uat.naviplancentral.com",
  "basePath": "/factfinder",
  "info": {
    "contact": {
      "x-twitter": "AdvicentFP"
    },
    "description": "An API for accessing the NaviPlan Fact Finder.",
    "title": "Advicent.FactFinderService",
    "version": "v1",
    "x-apisguru-categories": [
      "financial"
    ],
    "x-logo": {
      "url": "https://api.apis.guru/v2/cache/logo/https_twitter.com_Advicent_profile_image.jpeg"
    },
    "x-origin": [
      {
        "format": "swagger",
        "url": "https://demo.uat.naviplancentral.com/factfinder/swagger/docs/v1",
        "version": "2.0"
      },
      {
        "format": "swagger",
        "url": "https://demo.uat.naviplancentral.com/factfinder/swagger/docs/v1",
        "version": "2.0"
      }
    ],
    "x-providerName": "naviplancentral.com",
    "x-serviceName": "factfinder"
  },
  "paths": {
    "/api/AccountTypes": {
      "get": {
        "consumes": [],
        "deprecated": false,
        "description": "Description: This operation retrieves all Account Types for the specified country.<br />\r\n              Purpose: Provides access to the Account Types including id and type description.",
        "operationId": "AccountTypes_GetByCountry",
        "parameters": [
          {
            "description": "The country used to filter Account Types",
            "enum": [
              "UnitedStates",
              "Canada"
            ],
            "in": "query",
            "name": "country",
            "required": true,
            "type": "string"
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/AccountTypesModel"
            }
          },
          "400": {
            "description": "The request is invalid."
          },
          "404": {
            "description": "Account Type not found"
          }
        },
        "tags": [
          "AccountTypes"
        ]
      }
    },
    "/api/AccountTypes/{id}": {
      "get": {
        "consumes": [],
        "deprecated": false,
        "description": "Description: This operation retrieves all Account Types for the specified id.<br />\r\n              Purpose: Provides access to the Account Types including id and type description.",
        "operationId": "AccountTypes_GetById",
        "parameters": [
          {
            "description": "The ID of Account Type used to retreive the Account Type information",
            "format": "int32",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "integer"
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/AccountTypeModel"
            }
          },
          "400": {
            "description": "The request is invalid."
          },
          "404": {
            "description": "Account Type not found"
          }
        },
        "tags": [
          "AccountTypes"
        ]
      }
    },
    "/api/Accounts": {
      "get": {
        "consumes": [],
        "deprecated": false,
        "description": "Description: This operation retrieves all Accounts for the specified Fact Finder ID and/or external source ID.<br />\r\n              Purpose: Provides access to the Account information including description and market value.",
        "operationId": "Accounts_GetAccountsByFactFinderIdByFactfinderidExternalsourceid",
        "parameters": [
          {
            "description": "The ID of the Fact Finder used to retrieve Accounts",
            "format": "int32",
            "in": "query",
            "name": "factFinderId",
            "required": true,
            "type": "integer"
          },
          {
            "description": "The external ID used to filter Accounts",
            "in": "query",
            "name": "externalSourceId",
            "required": false,
            "type": "string"
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/AccountsModel"
            }
          },
          "400": {
            "description": "The request is invalid."
          },
          "401": {
            "description": "Unauthorized for Account data access."
          },
          "403": {
            "description": "Request is restricted for access to Account."
          },
          "404": {
            "description": "Account not found."
          }
        },
        "tags": [
          "Accounts"
        ]
      },
      "post": {
        "consumes": [
          "application/json",
          "text/json"
        ],
        "deprecated": false,
        "description": "Description: The operation creates an Account.<br />\r\n              Purpose: Allows for creation of Accounts on a Fact Finder.",
        "operationId": "Accounts_PostByModel",
        "parameters": [
          {
            "description": "The Account to be added to the Fact Finder",
            "in": "body",
            "name": "model",
            "required": true,
            "schema": {
              "$ref": "#/definitions/AccountModel"
            }
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "201": {
            "description": "Created",
            "schema": {
              "$ref": "#/definitions/AccountWithIdModel"
            }
          },
          "400": {
            "description": "The request is invalid."
          },
          "401": {
            "description": "Unauthorized for Account data access."
          },
          "403": {
            "description": "Request is restricted for access to Account."
          },
          "404": {
            "description": "Account not found."
          }
        },
        "tags": [
          "Accounts"
        ]
      }
    },
    "/api/Accounts/{accountId}/Holdings": {
      "get": {
        "consumes": [],
        "deprecated": false,
        "description": "Retrieves all holdings in the specified Account.",
        "operationId": "Accounts_GetAccountHoldingsByAccountid",
        "parameters": [
          {
            "description": "The ID of the Account used to retrieve the Account Holding data",
            "format": "int32",
            "in": "path",
            "name": "accountId",
            "required": true,
            "type": "integer"
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/AccountHoldingsModel"
            }
          },
          "400": {
            "description": "The request is invalid."
          },
          "401": {
            "description": "Unauthorized for Account data access."
          },
          "403": {
            "description": "Request is restricted for access to Account."
          },
          "404": {
            "description": "Account not found."
          }
        },
        "tags": [
          "Accounts"
        ]
      },
      "post": {
        "consumes": [
          "application/json",
          "text/json"
        ],
        "deprecated": false,
        "description": "Creates a holding and adds it to an existing Account.",
        "operationId": "Accounts_PostAccountHoldingByAccountidModel",
        "parameters": [
          {
            "description": "The existing Account ID used to identify which Account to add the holding to",
            "format": "int32",
            "in": "path",
            "name": "accountId",
            "required": true,
            "type": "integer"
          },
          {
            "description": "The holding data",
            "in": "body",
            "name": "model",
            "required": true,
            "schema": {
              "$ref": "#/definitions/AccountHoldingModel"
            }
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "201": {
            "description": "Created",
            "schema": {
              "$ref": "#/definitions/AccountHoldingWithIdModel"
            }
          },
          "400": {
            "description": "The request is invalid."
          },
          "401": {
            "description": "Unauthorized for Account data access."
          },
          "403": {
            "description": "Request is restricted for access to Account."
          },
          "404": {
            "description": "Account not found."
          }
        },
        "tags": [
          "Accounts"
        ]
      },
      "put": {
        "consumes": [
          "application/json",
          "text/json"
        ],
        "deprecated": false,
        "description": "Updates all holdings associated with an account",
        "operationId": "Accounts_PutHoldingsByAccountidHoldings",
        "parameters": [
          {
            "description": "The account with the holding to be updated",
            "format": "int32",
            "in": "path",
            "name": "accountId",
            "required": true,
            "type": "integer"
          },
          {
            "description": "The list of holdings for an account",
            "in": "body",
            "name": "holdings",
            "required": true,
            "schema": {
              "$ref": "#/definitions/AccountHoldingsWithoutIdModel"
            }
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/AccountHoldingsModel"
            }
          },
          "400": {
            "description": "The request is invalid."
          },
          "401": {
            "description": "Unauthorized for Account data access."
          },
          "403": {
            "description": "Request is restricted for access to Account."
          },
          "404": {
            "description": "Account not found."
          }
        },
        "tags": [
          "Accounts"
        ]
      }
    },
    "/api/Accounts/{accountId}/Holdings/{id}": {
      "delete": {
        "consumes": [],
        "deprecated": false,
        "description": "Description: This operation deletes a single Account Holding for the specified Account Holding ID and Account ID.<br />\r\n              Purpose: Provides the ability to remove individual holdings from a specified Account.",
        "operationId": "Accounts_DeleteAccountHoldingByAccountidId",
        "parameters": [
          {
            "description": "The ID of the Account used to retrieve the Account data that the specified holding belongs to.",
            "format": "int32",
            "in": "path",
            "name": "accountId",
            "required": true,
            "type": "integer"
          },
          {
            "description": "The ID of the Account Holding used to delete the Account Holding",
            "format": "int32",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "integer"
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "204": {
            "description": "Deleted"
          },
          "400": {
            "description": "The request is invalid."
          },
          "401": {
            "description": "Unauthorized for Account data access."
          },
          "403": {
            "description": "Request is restricted for access to Account."
          },
          "404": {
            "description": "Account not found."
          }
        },
        "tags": [
          "Accounts"
        ]
      },
      "get": {
        "consumes": [],
        "deprecated": false,
        "description": "Description: This operation retrieves a single Account Holding for the specified Account Holding ID and Account ID.<br />\r\n              Purpose: Provides access to the Account Holding information including description and market value.",
        "operationId": "Accounts_GetAccountHoldingByAccountidId",
        "parameters": [
          {
            "description": "The ID of the Account used to retrieve the Account Holding data",
            "format": "int32",
            "in": "path",
            "name": "accountId",
            "required": true,
            "type": "integer"
          },
          {
            "description": "The ID of the Account Holding used to retrieve the Account Holding data",
            "format": "int32",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "integer"
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/AccountHoldingWithIdModel"
            }
          },
          "400": {
            "description": "The request is invalid."
          },
          "401": {
            "description": "Unauthorized for Account data access."
          },
          "403": {
            "description": "Request is restricted for access to Account."
          },
          "404": {
            "description": "Account not found."
          }
        },
        "tags": [
          "Accounts"
        ]
      },
      "put": {
        "consumes": [
          "application/json",
          "text/json"
        ],
        "deprecated": false,
        "description": "Updates a holding associated with an account",
        "operationId": "Accounts_PutByAccountidIdHolding",
        "parameters": [
          {
            "description": "The account with the holding to be updated",
            "format": "int32",
            "in": "path",
            "name": "accountId",
            "required": true,
            "type": "integer"
          },
          {
            "description": "The id of the holding to update",
            "format": "int32",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "integer"
          },
          {
            "description": "The holding values used to update the current holding",
            "in": "body",
            "name": "holding",
            "required": true,
            "schema": {
              "$ref": "#/definitions/AccountHoldingModel"
            }
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/AccountHoldingModel"
            }
          },
          "400": {
            "description": "The request is invalid."
          },
          "401": {
            "description": "Unauthorized for Account data access."
          },
          "403": {
            "description": "Request is restricted for access to Account."
          },
          "404": {
            "description": "Account not found."
          }
        },
        "tags": [
          "Accounts"
        ]
      }
    },
    "/api/Accounts/{accountId}/SavingsStrategies": {
      "delete": {
        "consumes": [],
        "deprecated": false,
        "description": "Deletes all savings strategies tied to an account",
        "operationId": "Accounts_DeleteSavingsStrategiesByAccountid",
        "parameters": [
          {
            "description": "Id of the account that holds the savings strategies",
            "format": "int32",
            "in": "path",
            "name": "accountId",
            "required": true,
            "type": "integer"
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "204": {
            "description": "Deleted"
          },
          "400": {
            "description": "The request is invalid."
          },
          "401": {
            "description": "Unauthorized for Account data access."
          },
          "403": {
            "description": "Request is restricted for access to Account."
          },
          "404": {
            "description": "Account not found."
          }
        },
        "tags": [
          "Accounts"
        ]
      },
      "get": {
        "consumes": [],
        "deprecated": false,
        "description": "Get all of the savings strategies for a specific account",
        "operationId": "Accounts_GetSavingsStrategiesByAccountIdByAccountid",
        "parameters": [
          {
            "description": "The id of the account to retrieve the savings strategies from",
            "format": "int32",
            "in": "path",
            "name": "accountId",
            "required": true,
            "type": "integer"
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/SavingsStrategiesModel"
            }
          },
          "400": {
            "description": "The request is invalid."
          },
          "401": {
            "description": "Unauthorized for Account data access."
          },
          "403": {
            "description": "Request is restricted for access to Account."
          },
          "404": {
            "description": "Account not found."
          }
        },
        "tags": [
          "Accounts"
        ]
      },
      "post": {
        "consumes": [
          "application/json",
          "text/json"
        ],
        "deprecated": false,
        "description": "Creates a savings strategy on a specific account",
        "operationId": "Accounts_PostSavingsStrategyByAccountidSavingsstrategy",
        "parameters": [
          {
            "description": "Id of the account to create a savings strategy for",
            "format": "int32",
            "in": "path",
            "name": "accountId",
            "required": true,
            "type": "integer"
          },
          {
            "description": "Values for the strategy to be created",
            "in": "body",
            "name": "savingsStrategy",
            "required": true,
            "schema": {
              "$ref": "#/definitions/SavingsStrategyModel"
            }
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "201": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/SavingsStrategyWithIdModel"
            }
          },
          "400": {
            "description": "The request is invalid."
          },
          "401": {
            "description": "Unauthorized for Account data access."
          },
          "403": {
            "description": "Request is restricted for access to Account."
          },
          "404": {
            "description": "Account not found."
          }
        },
        "tags": [
          "Accounts"
        ]
      }
    },
    "/api/Accounts/{accountId}/SavingsStrategies/{id}": {
      "delete": {
        "consumes": [],
        "deprecated": false,
        "description": "Deletes a specific savings strategy",
        "operationId": "Accounts_DeleteSavingsStrategyByAccountidId",
        "parameters": [
          {
            "description": "Id of the account that holds the savings strategy",
            "format": "int32",
            "in": "path",
            "name": "accountId",
            "required": true,
            "type": "integer"
          },
          {
            "description": "Id of the savings strategy to be deleted",
            "format": "int32",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "integer"
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "204": {
            "description": "Deleted"
          },
          "400": {
            "description": "The request is invalid."
          },
          "401": {
            "description": "Unauthorized for Account data access."
          },
          "403": {
            "description": "Request is restricted for access to Account."
          },
          "404": {
            "description": "Account not found."
          }
        },
        "tags": [
          "Accounts"
        ]
      },
      "get": {
        "consumes": [],
        "deprecated": false,
        "description": "Get a specific savings strategy for an account",
        "operationId": "Accounts_GetSavingsStrategiesByAccountIdAndSavingsStrategyIdByAccountidId",
        "parameters": [
          {
            "description": "The id of the account to retrieve the savings strategies from",
            "format": "int32",
            "in": "path",
            "name": "accountId",
            "required": true,
            "type": "integer"
          },
          {
            "description": "The id of the savings strategy to get",
            "format": "int32",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "integer"
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/SavingsStrategyWithIdModel"
            }
          },
          "400": {
            "description": "The request is invalid."
          },
          "401": {
            "description": "Unauthorized for Account data access."
          },
          "403": {
            "description": "Request is restricted for access to Account."
          },
          "404": {
            "description": "Account not found."
          }
        },
        "tags": [
          "Accounts"
        ]
      },
      "put": {
        "consumes": [
          "application/json",
          "text/json"
        ],
        "deprecated": false,
        "description": "Updates a specific savings strategy",
        "operationId": "Accounts_PutSavingsStrategyByAccountidIdSavingsstrategy",
        "parameters": [
          {
            "description": "Id of the account that holds the savings strategy",
            "format": "int32",
            "in": "path",
            "name": "accountId",
            "required": true,
            "type": "integer"
          },
          {
            "description": "Id of the savings strategy to update",
            "format": "int32",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "integer"
          },
          {
            "description": "The model with which to update the savings strategy with",
            "in": "body",
            "name": "savingsStrategy",
            "required": true,
            "schema": {
              "$ref": "#/definitions/SavingsStrategyModel"
            }
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/SavingsStrategyWithIdModel"
            }
          },
          "400": {
            "description": "The request is invalid."
          },
          "401": {
            "description": "Unauthorized for Account data access."
          },
          "403": {
            "description": "Request is restricted for access to Account."
          },
          "404": {
            "description": "Account not found."
          }
        },
        "tags": [
          "Accounts"
        ]
      }
    },
    "/api/Accounts/{id}": {
      "delete": {
        "consumes": [],
        "deprecated": false,
        "description": "Description: The operation removes an Account tied to a Fact Finder.<br />\r\n              Purpose: Allows for removal of an Account from a Fact Finder.",
        "operationId": "Accounts_DeleteAccountById",
        "parameters": [
          {
            "description": "The Account ID used to identify which Account to remove",
            "format": "int32",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "integer"
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "204": {
            "description": "Deleted"
          },
          "400": {
            "description": "The request is invalid."
          },
          "401": {
            "description": "Unauthorized for Account data access."
          },
          "403": {
            "description": "Request is restricted for access to Account."
          },
          "404": {
            "description": "Account not found."
          }
        },
        "tags": [
          "Accounts"
        ]
      },
      "get": {
        "consumes": [],
        "deprecated": false,
        "description": "Description: This operation retrieves a single Account for the specified Account ID.<br />\r\n              Purpose: Provides access to the Account information including description and market value.",
        "operationId": "Accounts_GetById",
        "parameters": [
          {
            "description": "The ID of the Account used to retrieve the Account data",
            "format": "int32",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "integer"
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/AccountWithIdModel"
            }
          },
          "400": {
            "description": "The request is invalid."
          },
          "401": {
            "description": "Unauthorized for Account data access."
          },
          "403": {
            "description": "Request is restricted for access to Account."
          },
          "404": {
            "description": "Account not found."
          }
        },
        "tags": [
          "Accounts"
        ]
      },
      "put": {
        "consumes": [
          "application/json",
          "text/json"
        ],
        "deprecated": false,
        "description": "Description: The operation updates an Account, deletes associated saving strategies if the account type changes.<br />\r\n              Purpose: Allows for complete replacement of an Account on a Fact Finder.",
        "operationId": "Accounts_PutByIdModel",
        "parameters": [
          {
            "description": "The existing Account ID used to identify which Account to update",
            "format": "int32",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "integer"
          },
          {
            "description": "The Account to be updated on a Fact Finder",
            "in": "body",
            "name": "model",
            "required": true,
            "schema": {
              "$ref": "#/definitions/AccountModel"
            }
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/AccountWithIdModel"
            }
          },
          "400": {
            "description": "The request is invalid."
          },
          "401": {
            "description": "Unauthorized for Account data access."
          },
          "403": {
            "description": "Request is restricted for access to Account."
          },
          "404": {
            "description": "Account not found."
          }
        },
        "tags": [
          "Accounts"
        ]
      }
    },
    "/api/Clients": {
      "post": {
        "consumes": [
          "application/json",
          "text/json"
        ],
        "deprecated": false,
        "description": "Description: This operation submits the Fact Finder data to an external system.<br />\r\n              Purpose: Allows Fact Finder data to be persisted in another system for that system's consumption and use.",
        "operationId": "Clients_PostByModel",
        "parameters": [
          {
            "in": "body",
            "name": "model",
            "required": true,
            "schema": {
              "$ref": "#/definitions/ClientsModel"
            }
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "201": {
            "description": "Created",
            "schema": {
              "$ref": "#/definitions/ClientModel"
            }
          },
          "400": {
            "description": "The request is invalid."
          },
          "401": {
            "description": "Unauthorized for Client data access."
          },
          "403": {
            "description": "Request is restricted for access to Client."
          }
        },
        "tags": [
          "Clients"
        ]
      }
    },
    "/api/CriticalIllnessInsurancePolicies": {
      "get": {
        "consumes": [],
        "deprecated": false,
        "description": "Description: This operation retrieves all Critical Illness Insurance Policies for the specified Fact Finder ID.<br />\r\n              Purpose: Provides access to the Critical Illness Insurance Policies including description and policy type.",
        "operationId": "CriticalIllnessInsurancePolicies_GetCriticalIllnessInsurancePoliciesByFactFinderIdByFactfinderid",
        "parameters": [
          {
            "description": "The ID of the Fact Finder used to retrieve Critical Illness Insurance Policies",
            "format": "int32",
            "in": "query",
            "name": "factFinderId",
            "required": true,
            "type": "integer"
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/CriticalIllnessInsurancePoliciesModel"
            }
          },
          "400": {
            "description": "The request is invalid."
          },
          "401": {
            "description": "Unauthorized for Critical Illness Insurance Policy data access."
          },
          "403": {
            "description": "Request is restricted for access to Critical Illness Insurance Policy."
          },
          "404": {
            "description": "Critical Illness Insurance Policy not found."
          }
        },
        "tags": [
          "CriticalIllnessInsurancePolicies"
        ]
      },
      "post": {
        "consumes": [
          "application/json",
          "text/json"
        ],
        "deprecated": false,
        "description": "Description: The operation creates a Critical Illness Insurance Policy.<br />\r\n              Purpose: Allows for creation of Critical Illness Insurance Policies on a Fact Finder.",
        "operationId": "CriticalIllnessInsurancePolicies_PostByModel",
        "parameters": [
          {
            "description": "The Critical Illness Insurance Policy to be added to the Fact Finder",
            "in": "body",
            "name": "model",
            "required": true,
            "schema": {
              "$ref": "#/definitions/CriticalIllnessInsurancePolicyModel"
            }
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "201": {
            "description": "Created",
            "schema": {
              "$ref": "#/definitions/CriticalIllnessInsurancePolicyWithIdModel"
            }
          },
          "400": {
            "description": "The request is invalid."
          },
          "401": {
            "description": "Unauthorized for Critical Illness Insurance Policy data access."
          },
          "403": {
            "description": "Request is restricted for access to Critical Illness Insurance Policy."
          },
          "404": {
            "description": "Critical Illness Insurance Policy not found."
          }
        },
        "tags": [
          "CriticalIllnessInsurancePolicies"
        ]
      }
    },
    "/api/CriticalIllnessInsurancePolicies/{id}": {
      "delete": {
        "consumes": [],
        "deprecated": false,
        "description": "Description: The operation removes a Critical Illness Insurance Policy tied to a Fact Finder.<br />\r\n              Purpose: Allows for removal of a Critical Illness Insurance Policy from a Fact Finder.",
        "operationId": "CriticalIllnessInsurancePolicies_DeleteById",
        "parameters": [
          {
            "description": "The Critical Illness Insurance Policy ID used to identify which Critical Illness Insurance Policy to remove",
            "format": "int32",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "integer"
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "204": {
            "description": "Deleted"
          },
          "400": {
            "description": "The request is invalid."
          },
          "401": {
            "description": "Unauthorized for Critical Illness Insurance Policy data access."
          },
          "403": {
            "description": "Request is restricted for access to Critical Illness Insurance Policy."
          },
          "404": {
            "description": "Critical Illness Insurance Policy not found."
          }
        },
        "tags": [
          "CriticalIllnessInsurancePolicies"
        ]
      },
      "get": {
        "consumes": [],
        "deprecated": false,
        "description": "Description: This operation retrieves a single Critical Illness Insurance Policy for the specified Critical Illness Insurance Policy ID.<br />\r\n              Purpose: Provides access to the Critical Illness Insurance Policy including description and policy type.",
        "operationId": "CriticalIllnessInsurancePolicies_GetById",
        "parameters": [
          {
            "description": "The ID of the Critical Illness Insurance Policy used to retreive the Critical Illness Insurance Policy",
            "format": "int32",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "integer"
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/CriticalIllnessInsurancePolicyWithIdModel"
            }
          },
          "400": {
            "description": "The request is invalid."
          },
          "401": {
            "description": "Unauthorized for Critical Illness Insurance Policy data access."
          },
          "403": {
            "description": "Request is restricted for access to Critical Illness Insurance Policy."
          },
          "404": {
            "description": "Critical Illness Insurance Policy not found."
          }
        },
        "tags": [
          "CriticalIllnessInsurancePolicies"
        ]
      },
      "put": {
        "consumes": [
          "application/json",
          "text/json"
        ],
        "deprecated": false,
        "description": "Description: The operation updates a Critical Illness Insurance Policy.<br />\r\n              Purpose: Allows for complete replacement of a Critical Illness Insurance Policy on a Fact Finder.",
        "operationId": "CriticalIllnessInsurancePolicies_PutByIdModel",
        "parameters": [
          {
            "description": "The existing Critical Illness Insurance Policy ID used to identify which Critical Illness Insurance Policy to update",
            "format": "int32",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "integer"
          },
          {
            "description": "The Critical Illness Insurance Policy to be updated on a Fact Finder",
            "in": "body",
            "name": "model",
            "required": true,
            "schema": {
              "$ref": "#/definitions/CriticalIllnessInsurancePolicyModel"
            }
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/CriticalIllnessInsurancePolicyWithIdModel"
            }
          },
          "400": {
            "description": "The request is invalid."
          },
          "401": {
            "description": "Unauthorized for Critical Illness Insurance Policy data access."
          },
          "403": {
            "description": "Request is restricted for access to Critical Illness Insurance Policy."
          },
          "404": {
            "description": "Critical Illness Insurance Policy not found."
          }
        },
        "tags": [
          "CriticalIllnessInsurancePolicies"
        ]
      }
    },
    "/api/CriticalIllnessInsurancePolicyTypes": {
      "get": {
        "consumes": [],
        "deprecated": false,
        "description": "Description: This operation retrieves all Critical Illness Insurance Policy Types for the specified country.<br />\r\n              Purpose: Provides access to the Critical Illness Insurance Policy Types including id and type description.",
        "operationId": "CriticalIllnessInsurancePolicyTypes_GetByCountry",
        "parameters": [
          {
            "description": "The country used to filter Critical Illness Insurance Policy Types",
            "enum": [
              "UnitedStates",
              "Canada"
            ],
            "in": "query",
            "name": "country",
            "required": true,
            "type": "string"
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/CriticalIllnessInsurancePolicyTypesModel"
            }
          },
          "400": {
            "description": "The request is invalid."
          },
          "404": {
            "description": "Critical Illness Insurance Policy Type not found."
          }
        },
        "tags": [
          "CriticalIllnessInsurancePolicyTypes"
        ]
      }
    },
    "/api/CriticalIllnessInsurancePolicyTypes/{id}": {
      "get": {
        "consumes": [],
        "deprecated": false,
        "description": "Description: This operation retrieves the Critical Illness Insurance Policy Type for the specified id.<br />\r\n              Purpose: Provides access to the Critical Illness Insurance Policy Types including id and type description.",
        "operationId": "CriticalIllnessInsurancePolicyTypes_GetById",
        "parameters": [
          {
            "description": "The ID of Critical Illness Insurance Policy Type used to retreive the Critical Illness Insurance Policy Type information",
            "format": "int32",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "integer"
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/CriticalIllnessInsurancePolicyTypeModel"
            }
          },
          "400": {
            "description": "The request is invalid."
          },
          "404": {
            "description": "Critical Illness Insurance Policy Type not found."
          }
        },
        "tags": [
          "CriticalIllnessInsurancePolicyTypes"
        ]
      }
    },
    "/api/DefinedBenefitPensions": {
      "get": {
        "consumes": [],
        "deprecated": false,
        "description": "Description: This operation retrieves all Defined Benefit Pensions for the specified Fact Finder ID.<br />\r\n              Purpose: Provides access to the Defined Benefit Pensions including description and start date.",
        "operationId": "DefinedBenefitPensions_GetDefinedBenefitPensionsByFactFinderIdByFactfinderid",
        "parameters": [
          {
            "description": "The ID of the Fact Finder used to retrieve Defined Benefit Pensions",
            "format": "int32",
            "in": "query",
            "name": "factFinderId",
            "required": true,
            "type": "integer"
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/DefinedBenefitPensionsModel"
            }
          },
          "400": {
            "description": "The request is invalid."
          },
          "401": {
            "description": "Unauthorized for Defined Benefit Pension data access."
          },
          "403": {
            "description": "Request is restricted for access to Defined Benefit Pension."
          },
          "404": {
            "description": "Defined Benefit Pension not found."
          }
        },
        "tags": [
          "DefinedBenefitPensions"
        ]
      },
      "post": {
        "consumes": [
          "application/json",
          "text/json"
        ],
        "deprecated": false,
        "description": "Description: The operation creates a Defined Benefit Pension.<br />\r\n              Purpose: Allows for creation of Defined Benefit Pensions on a Fact Finder.",
        "operationId": "DefinedBenefitPensions_PostByModel",
        "parameters": [
          {
            "description": "The Defined Benefit Pension to be added to the Fact Finder",
            "in": "body",
            "name": "model",
            "required": true,
            "schema": {
              "$ref": "#/definitions/DefinedBenefitPensionModel"
            }
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/Object"
            }
          },
          "201": {
            "description": "Created",
            "schema": {
              "$ref": "#/definitions/DefinedBenefitPensionWithIdModel"
            }
          },
          "400": {
            "description": "The request is invalid."
          },
          "401": {
            "description": "Unauthorized for Defined Benefit Pension data access."
          },
          "403": {
            "description": "Request is restricted for access to Defined Benefit Pension."
          },
          "404": {
            "description": "Defined Benefit Pension not found."
          }
        },
        "tags": [
          "DefinedBenefitPensions"
        ]
      }
    },
    "/api/DefinedBenefitPensions/{id}": {
      "delete": {
        "consumes": [],
        "deprecated": false,
        "description": "Description: The operation removes a Defined Benefit Pension tied to a Fact Finder.<br />\r\n              Purpose: Allows for removal of a Defined Benefit Pension from a Fact Finder.",
        "operationId": "DefinedBenefitPensions_DeleteDefinedBenefitPensionById",
        "parameters": [
          {
            "description": "The Defined Benefit Pension ID used to identify which Defined Benefit Pension to remove",
            "format": "int32",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "integer"
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/Object"
            }
          },
          "204": {
            "description": "Deleted"
          },
          "400": {
            "description": "The request is invalid."
          },
          "401": {
            "description": "Unauthorized for Defined Benefit Pension data access."
          },
          "403": {
            "description": "Request is restricted for access to Defined Benefit Pension."
          },
          "404": {
            "description": "Defined Benefit Pension not found."
          }
        },
        "tags": [
          "DefinedBenefitPensions"
        ]
      },
      "get": {
        "consumes": [],
        "deprecated": false,
        "description": "Description: This operation retrieves a single Defined Benefit Pension for the specified Defined Benefit Pension ID.<br />\r\n              Purpose: Provides access to the Defined Benefit Pension including description and start date.",
        "operationId": "DefinedBenefitPensions_GetById",
        "parameters": [
          {
            "description": "The ID of the Defined Benefit Pension used to retreive the Defined Benefit Pension",
            "format": "int32",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "integer"
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/DefinedBenefitPensionWithIdModel"
            }
          },
          "400": {
            "description": "The request is invalid."
          },
          "401": {
            "description": "Unauthorized for Defined Benefit Pension data access."
          },
          "403": {
            "description": "Request is restricted for access to Defined Benefit Pension."
          },
          "404": {
            "description": "Defined Benefit Pension not found."
          }
        },
        "tags": [
          "DefinedBenefitPensions"
        ]
      },
      "put": {
        "consumes": [
          "application/json",
          "text/json"
        ],
        "deprecated": false,
        "description": "Description: The operation updates a Defined Benefit Pension.<br />\r\n              Purpose: Allows for complete replacement of a Defined Benefit Pension on a Fact Finder.",
        "operationId": "DefinedBenefitPensions_PutDefinedBenefitPensionByIdModel",
        "parameters": [
          {
            "description": "The existing Defined Benefit Pension ID used to identify which Defined Benefit Pension to update",
            "format": "int32",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "integer"
          },
          {
            "description": "The Defined Benefit Pension to be updated on a Fact Finder",
            "in": "body",
            "name": "model",
            "required": true,
            "schema": {
              "$ref": "#/definitions/DefinedBenefitPensionModel"
            }
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/DefinedBenefitPensionModel"
            }
          },
          "400": {
            "description": "The request is invalid."
          },
          "401": {
            "description": "Unauthorized for Defined Benefit Pension data access."
          },
          "403": {
            "description": "Request is restricted for access to Defined Benefit Pension."
          },
          "404": {
            "description": "Defined Benefit Pension not found."
          }
        },
        "tags": [
          "DefinedBenefitPensions"
        ]
      }
    },
    "/api/Demographics": {
      "get": {
        "consumes": [],
        "deprecated": false,
        "description": "Description: This operation retrieves all Demographic information for the specified Fact Finder ID.<br />\r\n              Purpose: Provides access to the Demographic information including city and state.",
        "operationId": "Demographics_GetDemographicsByFactFinderIdByFactfinderid",
        "parameters": [
          {
            "description": "The ID of the Fact Finder used to retrieve Demographic information",
            "format": "int32",
            "in": "query",
            "name": "factFinderId",
            "required": true,
            "type": "integer"
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/DemographicsWithIdModel"
            }
          },
          "400": {
            "description": "The request is invalid."
          },
          "401": {
            "description": "Unauthorized for Demographic information data access."
          },
          "403": {
            "description": "Request is restricted for access to Demographic information."
          },
          "404": {
            "description": "Demographic information not found."
          }
        },
        "tags": [
          "Demographics"
        ]
      },
      "post": {
        "consumes": [
          "application/json",
          "text/json"
        ],
        "deprecated": false,
        "description": "Description: The operation creates Demographic information.<br />\r\n              Purpose: Allows for creation of Demographic information on a Fact Finder.",
        "operationId": "Demographics_PostByModel",
        "parameters": [
          {
            "description": "The Demographic information to be added to the Fact Finder",
            "in": "body",
            "name": "model",
            "required": true,
            "schema": {
              "$ref": "#/definitions/DemographicsModel"
            }
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "201": {
            "description": "Created",
            "schema": {
              "$ref": "#/definitions/DemographicsWithIdModel"
            }
          },
          "400": {
            "description": "The request is invalid."
          },
          "401": {
            "description": "Unauthorized for Demographic information data access."
          },
          "403": {
            "description": "Request is restricted for access to Demographic information."
          },
          "404": {
            "description": "Demographic information not found."
          }
        },
        "tags": [
          "Demographics"
        ]
      }
    },
    "/api/Demographics/{demographicId}/Dependents": {
      "get": {
        "consumes": [],
        "deprecated": false,
        "description": "Description: This operation retrieves all Dependents for the specified Demographic information ID.<br />\r\n              Purpose: Provides access to the Dependents including first and last name.",
        "operationId": "Demographics_GetDependentsByDemographicid",
        "parameters": [
          {
            "description": "The ID of the Demographic information used to retrieve Dependents",
            "format": "int32",
            "in": "path",
            "name": "demographicId",
            "required": true,
            "type": "integer"
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/DemographicsDependentsModel"
            }
          },
          "400": {
            "description": "The request is invalid."
          },
          "401": {
            "description": "Unauthorized for Demographic information data access."
          },
          "403": {
            "description": "Request is restricted for access to Demographic information."
          },
          "404": {
            "description": "Demographic information not found."
          }
        },
        "tags": [
          "Demographics"
        ]
      },
      "post": {
        "consumes": [
          "application/json",
          "text/json"
        ],
        "deprecated": false,
        "description": "Description: The operation creates a Dependent.<br />\r\n              Purpose: Allows for creation of Dependents on a Fact Finder.",
        "operationId": "Demographics_PostByDemographicidModel",
        "parameters": [
          {
            "description": "The ID of the Demographic information to add the Dependent to",
            "format": "int32",
            "in": "path",
            "name": "demographicId",
            "required": true,
            "type": "integer"
          },
          {
            "description": "The Dependent to be added to the Fact Finder",
            "in": "body",
            "name": "model",
            "required": true,
            "schema": {
              "$ref": "#/definitions/DemographicsDependentModel"
            }
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "201": {
            "description": "Created",
            "schema": {
              "$ref": "#/definitions/DemographicsDependentWithIdModel"
            }
          },
          "400": {
            "description": "The request is invalid."
          },
          "401": {
            "description": "Unauthorized for Dependent information data access."
          },
          "403": {
            "description": "Request is restricted for access to Dependent information."
          },
          "404": {
            "description": "Dependent information not found."
          },
          "409": {
            "description": "The request cannot be completed."
          }
        },
        "tags": [
          "Demographics"
        ]
      }
    },
    "/api/Demographics/{demographicId}/Dependents/{id}": {
      "delete": {
        "consumes": [],
        "deprecated": false,
        "description": "Description: The operation removes a Dependent tied to a Fact Finder.<br />\r\n              Purpose: Allows for removal of a Dependent from a Fact Finder.",
        "operationId": "Demographics_DeleteDependentByDemographicidId",
        "parameters": [
          {
            "description": "The ID of the Demographic information used to identify which Dependent to remove",
            "format": "int32",
            "in": "path",
            "name": "demographicId",
            "required": true,
            "type": "integer"
          },
          {
            "description": "The Dependent ID used to identify which Dependent to remove",
            "format": "int32",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "integer"
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "204": {
            "description": "Deleted"
          },
          "400": {
            "description": "The request is invalid."
          },
          "401": {
            "description": "Unauthorized for Dependent information data access."
          },
          "403": {
            "description": "Request is restricted for access to Dependent information."
          },
          "404": {
            "description": "Dependent information not found."
          }
        },
        "tags": [
          "Demographics"
        ]
      },
      "get": {
        "consumes": [],
        "deprecated": false,
        "description": "Description: This operation retrieves a single Dependent for the specified Dependent ID.<br />\r\n              Purpose: Provides access to the Dependent including first and last name.",
        "operationId": "Demographics_GetDependentByDemographicidId",
        "parameters": [
          {
            "description": "The ID of the Demographic information used to retrieve Dependents",
            "format": "int32",
            "in": "path",
            "name": "demographicId",
            "required": true,
            "type": "integer"
          },
          {
            "description": "The ID of the Dependent used to retreive the Dependent",
            "format": "int32",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "integer"
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/DemographicsDependentWithIdModel"
            }
          },
          "400": {
            "description": "The request is invalid."
          },
          "401": {
            "description": "Unauthorized for Demographic information data access."
          },
          "403": {
            "description": "Request is restricted for access to Demographic information."
          },
          "404": {
            "description": "Demographic information not found."
          }
        },
        "tags": [
          "Demographics"
        ]
      },
      "put": {
        "consumes": [
          "application/json",
          "text/json"
        ],
        "deprecated": false,
        "description": "Description: The operation updates a Dependent.<br />\r\n              Purpose: Allows for complete replacement of a Dependent on a Fact Finder.",
        "operationId": "Demographics_PutByDemographicidIdModel",
        "parameters": [
          {
            "description": "The ID of the Demographic information used to identify which Dependent to update",
            "format": "int32",
            "in": "path",
            "name": "demographicId",
            "required": true,
            "type": "integer"
          },
          {
            "description": "The existing Dependent ID used to identify which Dependent to update",
            "format": "int32",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "integer"
          },
          {
            "description": "The Dependent to be updated on a Fact Finder",
            "in": "body",
            "name": "model",
            "required": true,
            "schema": {
              "$ref": "#/definitions/DemographicsDependentModel"
            }
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/DemographicsDependentWithIdModel"
            }
          },
          "400": {
            "description": "The request is invalid."
          },
          "401": {
            "description": "Unauthorized for Dependent information data access."
          },
          "403": {
            "description": "Request is restricted for access to Dependent information."
          },
          "404": {
            "description": "Dependent information not found."
          }
        },
        "tags": [
          "Demographics"
        ]
      }
    },
    "/api/Demographics/{id}": {
      "get": {
        "consumes": [],
        "deprecated": false,
        "description": "Description: This operation retrieves Demographic information for the specified Demographic information ID.<br />\r\n              Purpose: Provides access to the Demographic information including city and state.",
        "operationId": "Demographics_GetById",
        "parameters": [
          {
            "description": "The ID of the Demographic information used to retreive the Demographic information",
            "format": "int32",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "integer"
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/DemographicsWithIdModel"
            }
          },
          "400": {
            "description": "The request is invalid."
          },
          "401": {
            "description": "Unauthorized for Demographic information data access."
          },
          "403": {
            "description": "Request is restricted for access to Demographic information."
          },
          "404": {
            "description": "Demographic information not found."
          }
        },
        "tags": [
          "Demographics"
        ]
      },
      "put": {
        "consumes": [
          "application/json",
          "text/json"
        ],
        "deprecated": false,
        "description": "Description: The operation updates Demographic information.<br />\r\n              Purpose: Allows for complete replacement of Demographic information on a Fact Finder.",
        "operationId": "Demographics_PutByIdModel",
        "parameters": [
          {
            "description": "The existing Demographic information ID used to identify which Demographic information to update",
            "format": "int32",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "integer"
          },
          {
            "description": "The Demographic information to be updated on a Fact Finder",
            "in": "body",
            "name": "model",
            "required": true,
            "schema": {
              "$ref": "#/definitions/DemographicsModel"
            }
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/DemographicsWithIdModel"
            }
          },
          "400": {
            "description": "The request is invalid."
          },
          "401": {
            "description": "Unauthorized for Demographic information data access."
          },
          "403": {
            "description": "Request is restricted for access to Demographic information."
          },
          "404": {
            "description": "Demographic information not found."
          },
          "409": {
            "description": "The request cannot be completed."
          }
        },
        "tags": [
          "Demographics"
        ]
      }
    },
    "/api/DisabilityInsurancePolicies": {
      "get": {
        "consumes": [],
        "deprecated": false,
        "description": "Description: This operation retrieves all Disability Insurance Policies for the specified Fact Finder ID.<br />\r\n              Purpose: Provides access to the Disability Insurance Policies including description and policy type.",
        "operationId": "DisabilityInsurancePolicies_GetDisabilityInsurancePoliciesByFactFinderIdByFactfinderid",
        "parameters": [
          {
            "description": "The ID of the Fact Finder used to retrieve Disability Insurance Policies",
            "format": "int32",
            "in": "query",
            "name": "factFinderId",
            "required": true,
            "type": "integer"
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/DisabilityInsurancePoliciesModel"
            }
          },
          "400": {
            "description": "The request is invalid."
          },
          "401": {
            "description": "Unauthorized for Disability Insurance Policy data access."
          },
          "403": {
            "description": "Request is restricted for access to Disability Insurance Policy."
          },
          "404": {
            "description": "Disability Insurance Policy not found."
          }
        },
        "tags": [
          "DisabilityInsurancePolicies"
        ]
      },
      "post": {
        "consumes": [
          "application/json",
          "text/json"
        ],
        "deprecated": false,
        "description": "Description: The operation creates a Disability Insurance Policy.<br />\r\n              Purpose: Allows for creation of Disability Insurance Policies on a Fact Finder.",
        "operationId": "DisabilityInsurancePolicies_PostByModel",
        "parameters": [
          {
            "description": "The Disability Insurance Policy to be added to the Fact Finder",
            "in": "body",
            "name": "model",
            "required": true,
            "schema": {
              "$ref": "#/definitions/DisabilityInsurancePolicyModel"
            }
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "201": {
            "description": "Created",
            "schema": {
              "$ref": "#/definitions/DisabilityInsurancePolicyWithIdModel"
            }
          },
          "400": {
            "description": "The request is invalid."
          },
          "401": {
            "description": "Unauthorized for Disability Insurance Policy data access."
          },
          "403": {
            "description": "Request is restricted for access to Disability Insurance Policy."
          },
          "404": {
            "description": "Disability Insurance Policy not found."
          }
        },
        "tags": [
          "DisabilityInsurancePolicies"
        ]
      }
    },
    "/api/DisabilityInsurancePolicies/{id}": {
      "delete": {
        "consumes": [],
        "deprecated": false,
        "description": "Description: The operation removes a Disability Insurance Policy tied to a Fact Finder.<br />\r\n              Purpose: Allows for removal of a Disability Insurance Policy from a Fact Finder.",
        "operationId": "DisabilityInsurancePolicies_DeleteById",
        "parameters": [
          {
            "description": "The Disability Insurance Policy ID used to identify which Disability Insurance Policy to remove",
            "format": "int32",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "integer"
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "204": {
            "description": "Deleted"
          },
          "400": {
            "description": "The request is invalid."
          },
          "401": {
            "description": "Unauthorized for Disability Insurance Policy data access."
          },
          "403": {
            "description": "Request is restricted for access to Disability Insurance Policy."
          },
          "404": {
            "description": "Disability Insurance Policy not found."
          }
        },
        "tags": [
          "DisabilityInsurancePolicies"
        ]
      },
      "get": {
        "consumes": [],
        "deprecated": false,
        "description": "Description: This operation retrieves a single Disability Insurance Policy for the specified Disability Insurance Policy ID.<br />\r\n              Purpose: Provides access to the Disability Insurance Policy including description and policy type.",
        "operationId": "DisabilityInsurancePolicies_GetById",
        "parameters": [
          {
            "description": "The ID of the Disability Insurance Policy used to retreive the Disability Insurance Policy",
            "format": "int32",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "integer"
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/DisabilityInsurancePolicyWithIdModel"
            }
          },
          "400": {
            "description": "The request is invalid."
          },
          "401": {
            "description": "Unauthorized for Disability Insurance Policy data access."
          },
          "403": {
            "description": "Request is restricted for access to Disability Insurance Policy."
          },
          "404": {
            "description": "Disability Insurance Policy not found."
          }
        },
        "tags": [
          "DisabilityInsurancePolicies"
        ]
      },
      "put": {
        "consumes": [
          "application/json",
          "text/json"
        ],
        "deprecated": false,
        "description": "Description: The operation updates a Disability Insurance Policy.<br />\r\n              Purpose: Allows for complete replacement of a Disability Insurance Policy on a Fact Finder.",
        "operationId": "DisabilityInsurancePolicies_PutByIdModel",
        "parameters": [
          {
            "description": "The existing Disability Insurance Policy ID used to identify which Disability Insurance Policy to update",
            "format": "int32",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "integer"
          },
          {
            "description": "The Disability Insurance Policy to be updated on a Fact Finder",
            "in": "body",
            "name": "model",
            "required": true,
            "schema": {
              "$ref": "#/definitions/DisabilityInsurancePolicyModel"
            }
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/DisabilityInsurancePolicyWithIdModel"
            }
          },
          "400": {
            "description": "The request is invalid."
          },
          "401": {
            "description": "Unauthorized for Disability Insurance Policy data access."
          },
          "403": {
            "description": "Request is restricted for access to Disability Insurance Policy."
          },
          "404": {
            "description": "Disability Insurance Policy not found."
          }
        },
        "tags": [
          "DisabilityInsurancePolicies"
        ]
      }
    },
    "/api/DisabilityInsurancePolicyTypes": {
      "get": {
        "consumes": [],
        "deprecated": false,
        "description": "Description: This operation retrieves all Disability Insurance Policy Types for the specified country.<br />\r\n              Purpose: Provides access to the Disability Insurance Policy Types including id and type description.",
        "operationId": "DisabilityInsurancePolicyTypes_GetByCountry",
        "parameters": [
          {
            "description": "The country used to filter Disability Insurance Policy Types",
            "enum": [
              "UnitedStates",
              "Canada"
            ],
            "in": "query",
            "name": "country",
            "required": true,
            "type": "string"
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/DisabilityInsurancePolicyTypesModel"
            }
          },
          "400": {
            "description": "The request is invalid."
          },
          "404": {
            "description": "Disability Insurance Policy Type not found."
          }
        },
        "tags": [
          "DisabilityInsurancePolicyTypes"
        ]
      }
    },
    "/api/DisabilityInsurancePolicyTypes/{id}": {
      "get": {
        "consumes": [],
        "deprecated": false,
        "description": "Description: This operation retrieves all Disability Insurance Policy Types for the specified id.<br />\r\n              Purpose: Provides access to the Disability Insurance Policy Types including id and type description.",
        "operationId": "DisabilityInsurancePolicyTypes_GetById",
        "parameters": [
          {
            "description": "The ID of Disability Insurance Policy Type used to retreive the Disability Insurance Policy Type information",
            "format": "int32",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "integer"
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/DisabilityInsurancePolicyTypeModel"
            }
          },
          "400": {
            "description": "The request is invalid."
          },
          "404": {
            "description": "Disability Insurance Policy Type not found."
          }
        },
        "tags": [
          "DisabilityInsurancePolicyTypes"
        ]
      }
    },
    "/api/EducationGoals": {
      "get": {
        "consumes": [],
        "deprecated": false,
        "description": "Description: This operation retrieves all Education Goals for the specified Fact Finder ID.<br />\r\n              Purpose: Provides access to the Education Goals including description and projected cost.",
        "operationId": "EducationGoals_GetEducationGoalsByFactFinderIdByFactfinderid",
        "parameters": [
          {
            "description": "The ID of the Fact Finder used to retrieve Education Goals",
            "format": "int32",
            "in": "query",
            "name": "factFinderId",
            "required": true,
            "type": "integer"
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/EducationGoalsModel"
            }
          },
          "400": {
            "description": "The request is invalid."
          },
          "401": {
            "description": "Unauthorized for Education Goal data access."
          },
          "403": {
            "description": "Request is restricted for access to Education Goal."
          },
          "404": {
            "description": "Education Goal not found."
          }
        },
        "tags": [
          "EducationGoals"
        ]
      },
      "post": {
        "consumes": [
          "application/json",
          "text/json"
        ],
        "deprecated": false,
        "description": "Description: The operation creates an Education Goal.<br />\r\n              Purpose: Allows for creation of Education Goals on a Fact Finder.",
        "operationId": "EducationGoals_PostByModel",
        "parameters": [
          {
            "description": "The Education Goal to be added to the Fact Finder",
            "in": "body",
            "name": "model",
            "required": true,
            "schema": {
              "$ref": "#/definitions/EducationGoalModel"
            }
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "201": {
            "description": "Created",
            "schema": {
              "$ref": "#/definitions/EducationGoalWithIdModel"
            }
          },
          "400": {
            "description": "The request is invalid."
          },
          "401": {
            "description": "Unauthorized for Education Goal data access."
          },
          "403": {
            "description": "Request is restricted for access to Education Goal."
          },
          "404": {
            "description": "Education Goal not found."
          }
        },
        "tags": [
          "EducationGoals"
        ]
      }
    },
    "/api/EducationGoals/{educationGoalId}/Expenses": {
      "get": {
        "consumes": [],
        "deprecated": false,
        "description": "Description: This operation retrieves all Education Goal Expenses for the specified Education Goal ID.<br />\r\n              Purpose: Provides access to the Education Goal Expenses including description and annual cost.",
        "operationId": "EducationGoals_GetEducationExpensesByEducationGoalIdByEducationgoalid",
        "parameters": [
          {
            "description": "The ID of the Education Goal used to retrieve Education Goal Expenses",
            "format": "int32",
            "in": "path",
            "name": "educationGoalId",
            "required": true,
            "type": "integer"
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/EducationExpensesModel"
            }
          },
          "400": {
            "description": "The request is invalid."
          },
          "401": {
            "description": "Unauthorized for Education Goal Expense data access."
          },
          "403": {
            "description": "Request is restricted for access to Education Goal Expense."
          },
          "404": {
            "description": "Education Goal Expense not found."
          }
        },
        "tags": [
          "EducationGoals"
        ]
      },
      "post": {
        "consumes": [
          "application/json",
          "text/json"
        ],
        "deprecated": false,
        "description": "Description: The operation creates an Education Goal Expense.<br />\r\n              Purpose: Allows for creation of Education Goal Expenses on a Fact Finder.",
        "operationId": "EducationGoals_PostByEducationgoalidModel",
        "parameters": [
          {
            "description": "The Education Goal ID used to locate the Goal to add the expense to",
            "format": "int32",
            "in": "path",
            "name": "educationGoalId",
            "required": true,
            "type": "integer"
          },
          {
            "description": "The Education Goal Expense to be added to the Fact Finder",
            "in": "body",
            "name": "model",
            "required": true,
            "schema": {
              "$ref": "#/definitions/EducationExpenseModel"
            }
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "201": {
            "description": "Created",
            "schema": {
              "$ref": "#/definitions/EducationExpenseWithIdModel"
            }
          },
          "400": {
            "description": "The request is invalid."
          },
          "401": {
            "description": "Unauthorized for Education Goal Expense data access."
          },
          "403": {
            "description": "Request is restricted for access to Education Goal Expense."
          },
          "404": {
            "description": "Education Goal Expense not found."
          }
        },
        "tags": [
          "EducationGoals"
        ]
      }
    },
    "/api/EducationGoals/{educationGoalId}/Expenses/{id}": {
      "delete": {
        "consumes": [],
        "deprecated": false,
        "description": "Description: The operation removes an Education Goal Expense tied to a Fact Finder.<br />\r\n              Purpose: Allows for removal of an Education Goal Expense from a Fact Finder.",
        "operationId": "EducationGoals_DeleteByEducationgoalidId",
        "parameters": [
          {
            "description": "The Education Goal ID used to locate the Goal to delete the Expense under",
            "format": "int32",
            "in": "path",
            "name": "educationGoalId",
            "required": true,
            "type": "integer"
          },
          {
            "description": "The Education Goal Expense ID used to identify which Education Goal Expense to remove",
            "format": "int32",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "integer"
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "204": {
            "description": "Deleted"
          },
          "400": {
            "description": "The request is invalid."
          },
          "401": {
            "description": "Unauthorized for Education Goal Expense data access."
          },
          "403": {
            "description": "Request is restricted for access to Education Goal Expense."
          },
          "404": {
            "description": "Education Goal Expense not found."
          }
        },
        "tags": [
          "EducationGoals"
        ]
      },
      "get": {
        "consumes": [],
        "deprecated": false,
        "description": "Description: This operation retrieves a single Education Goal Expense for the specified Education Goal Expense ID.<br />\r\n              Purpose: Provides access to the Education Goal Expense including description and annual cost.",
        "operationId": "EducationGoals_GetEducationExpenseByEducationgoalidId",
        "parameters": [
          {
            "description": "The ID of the Education Goal used to retrieve Education Goal Expenses",
            "format": "int32",
            "in": "path",
            "name": "educationGoalId",
            "required": true,
            "type": "integer"
          },
          {
            "description": "The ID of the Education Goal Expense used to retreive the Education Goal Expense",
            "format": "int32",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "integer"
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/EducationExpenseWithIdModel"
            }
          },
          "400": {
            "description": "The request is invalid."
          },
          "401": {
            "description": "Unauthorized for Education Goal Expense data access."
          },
          "403": {
            "description": "Request is restricted for access to Education Goal Expense."
          },
          "404": {
            "description": "Education Goal Expense not found."
          }
        },
        "tags": [
          "EducationGoals"
        ]
      },
      "put": {
        "consumes": [
          "application/json",
          "text/json"
        ],
        "deprecated": false,
        "description": "Description: The operation updates an Education Goal Expense.<br />\r\n              Purpose: Allows for complete replacement of an Education Goal Expense on a Fact Finder.",
        "operationId": "EducationGoals_PutByEducationgoalidIdModel",
        "parameters": [
          {
            "description": "The Education Goal ID used to locate the Goal to update the Expense under",
            "format": "int32",
            "in": "path",
            "name": "educationGoalId",
            "required": true,
            "type": "integer"
          },
          {
            "description": "The existing Education Goal Expense ID used to identify which Education Goal Expense to update",
            "format": "int32",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "integer"
          },
          {
            "description": "The Education Goal Expense to be added to the Fact Finder",
            "in": "body",
            "name": "model",
            "required": true,
            "schema": {
              "$ref": "#/definitions/EducationExpenseModel"
            }
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/EducationExpenseWithIdModel"
            }
          },
          "400": {
            "description": "The request is invalid."
          },
          "401": {
            "description": "Unauthorized for Education Goal Expense data access."
          },
          "403": {
            "description": "Request is restricted for access to Education Goal Expense."
          },
          "404": {
            "description": "Education Goal Expense not found."
          }
        },
        "tags": [
          "EducationGoals"
        ]
      }
    },
    "/api/EducationGoals/{id}": {
      "delete": {
        "consumes": [],
        "deprecated": false,
        "description": "Description: The operation removes an Education Goal tied to a Fact Finder.<br />\r\n              Purpose: Allows for removal of an Education Goal from a Fact Finder.",
        "operationId": "EducationGoals_DeleteById",
        "parameters": [
          {
            "description": "The Education Goal ID used to identify which Education Goal to remove",
            "format": "int32",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "integer"
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "204": {
            "description": "Deleted"
          },
          "400": {
            "description": "The request is invalid."
          },
          "401": {
            "description": "Unauthorized for Education Goal data access."
          },
          "403": {
            "description": "Request is restricted for access to Education Goal."
          },
          "404": {
            "description": "Education Goal not found."
          }
        },
        "tags": [
          "EducationGoals"
        ]
      },
      "get": {
        "consumes": [],
        "deprecated": false,
        "description": "Description: This operation retrieves a single Education Goal for the specified Education Goal ID.<br />\r\n              Purpose: Provides access to the Education Goal including description and projected cost.",
        "operationId": "EducationGoals_GetById",
        "parameters": [
          {
            "description": "The ID of the Education Goal used to retreive the Education Goal",
            "format": "int32",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "integer"
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/EducationGoalWithIdModel"
            }
          },
          "400": {
            "description": "The request is invalid."
          },
          "401": {
            "description": "Unauthorized for Education Goal data access."
          },
          "403": {
            "description": "Request is restricted for access to Education Goal."
          },
          "404": {
            "description": "Education Goal not found."
          }
        },
        "tags": [
          "EducationGoals"
        ]
      },
      "put": {
        "consumes": [
          "application/json",
          "text/json"
        ],
        "deprecated": false,
        "description": "Description: The operation creates an Education Goal Expense.<br />\r\n              Purpose: Allows for creation of Education Goal Expenses on a Fact Finder.",
        "operationId": "EducationGoals_PutByIdModel",
        "parameters": [
          {
            "description": "The Education Goal ID used to locate the Goal to add the Expense to",
            "format": "int32",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "integer"
          },
          {
            "description": "The Education Goal Expense to be added to the Fact Finder",
            "in": "body",
            "name": "model",
            "required": true,
            "schema": {
              "$ref": "#/definitions/EducationGoalModel"
            }
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/EducationGoalWithIdModel"
            }
          },
          "400": {
            "description": "The request is invalid."
          },
          "401": {
            "description": "Unauthorized for Education Goal Expense data access."
          },
          "403": {
            "description": "Request is restricted for access to Education Goal Expense."
          },
          "404": {
            "description": "Education Goal Expense not found."
          }
        },
        "tags": [
          "EducationGoals"
        ]
      }
    },
    "/api/ExpenseTypes": {
      "get": {
        "consumes": [],
        "deprecated": false,
        "description": "Description: This operation retrieves all Expense Types for the specified country.<br />\r\n              Purpose: Provides access to the Expense Types including id and type description.",
        "operationId": "ExpenseTypes_GetByCountry",
        "parameters": [
          {
            "description": "The country used to filter Expense Types",
            "enum": [
              "UnitedStates",
              "Canada"
            ],
            "in": "query",
            "name": "country",
            "required": true,
            "type": "string"
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/ExpenseTypesModel"
            }
          },
          "400": {
            "description": "The request is invalid."
          },
          "404": {
            "description": "Expense Type not found."
          }
        },
        "tags": [
          "ExpenseTypes"
        ]
      }
    },
    "/api/ExpenseTypes/{id}": {
      "get": {
        "consumes": [],
        "deprecated": false,
        "description": "Description: This operation retrieves all Expense Types for the specified country.<br />\r\n              Purpose: Provides access to the Expense Types including id and type description.",
        "operationId": "ExpenseTypes_GetById",
        "parameters": [
          {
            "description": "The ID of Expense Type used to retreive the Expense Type information",
            "format": "int32",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "integer"
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/ExpenseTypeModel"
            }
          },
          "400": {
            "description": "The request is invalid."
          },
          "404": {
            "description": "Expense Type not found."
          }
        },
        "tags": [
          "ExpenseTypes"
        ]
      }
    },
    "/api/Expenses": {
      "get": {
        "consumes": [],
        "deprecated": false,
        "description": "Description: This operation retrieves all Expenses for the specified Fact Finder ID.<br />\r\n              Purpose: Provides access to the Expenses including description and Expense type.",
        "operationId": "Expenses_GetExpensesByFactFinderIdByFactfinderid",
        "parameters": [
          {
            "description": "The ID of the Fact Finder used to retrieve Expenses",
            "format": "int32",
            "in": "query",
            "name": "factFinderId",
            "required": true,
            "type": "integer"
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/ExpensesModel"
            }
          },
          "400": {
            "description": "The request is invalid."
          },
          "401": {
            "description": "Unauthorized for Expense data access."
          },
          "403": {
            "description": "Request is restricted for access to Expense."
          },
          "404": {
            "description": "Expense not found."
          }
        },
        "tags": [
          "Expenses"
        ]
      },
      "post": {
        "consumes": [
          "application/json",
          "text/json"
        ],
        "deprecated": false,
        "description": "Description: The operation creates an Expense.<br />\r\n              Purpose: Allows for creation of Expenses on a Fact Finder.",
        "operationId": "Expenses_PostByModel",
        "parameters": [
          {
            "description": "The Expense to be added to the Fact Finder",
            "in": "body",
            "name": "model",
            "required": true,
            "schema": {
              "$ref": "#/definitions/ExpenseModel"
            }
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "201": {
            "description": "Created",
            "schema": {
              "$ref": "#/definitions/ExpenseWithIdModel"
            }
          },
          "400": {
            "description": "The request is invalid."
          },
          "401": {
            "description": "Unauthorized for Expense data access."
          },
          "403": {
            "description": "Request is restricted for access to Expense."
          },
          "404": {
            "description": "Expense not found."
          }
        },
        "tags": [
          "Expenses"
        ]
      }
    },
    "/api/Expenses/{id}": {
      "delete": {
        "consumes": [],
        "deprecated": false,
        "description": "Description: The operation removes an Expense tied to a Fact Finder.<br />\r\n              Purpose: Allows for removal of an Expense from a Fact Finder.",
        "operationId": "Expenses_DeleteById",
        "parameters": [
          {
            "description": "The Expense ID used to identify which Expense to remove",
            "format": "int32",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "integer"
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "204": {
            "description": "Deleted"
          },
          "400": {
            "description": "The request is invalid."
          },
          "401": {
            "description": "Unauthorized for Expense data access."
          },
          "403": {
            "description": "Request is restricted for access to Expense."
          },
          "404": {
            "description": "Expense not found."
          }
        },
        "tags": [
          "Expenses"
        ]
      },
      "get": {
        "consumes": [],
        "deprecated": false,
        "description": "Description: This operation retrieves a single Expense for the specified Expense ID.<br />\r\n              Purpose: Provides access to the Expense including description and Expense type.",
        "operationId": "Expenses_GetById",
        "parameters": [
          {
            "description": "The ID of the Expense used to retreive the Expense",
            "format": "int32",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "integer"
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/ExpenseWithIdModel"
            }
          },
          "400": {
            "description": "The request is invalid."
          },
          "401": {
            "description": "Unauthorized for Expense data access."
          },
          "403": {
            "description": "Request is restricted for access to Expense."
          },
          "404": {
            "description": "Expense not found."
          }
        },
        "tags": [
          "Expenses"
        ]
      },
      "put": {
        "consumes": [
          "application/json",
          "text/json"
        ],
        "deprecated": false,
        "description": "Description: The operation updates an Expense.<br />\r\n              Purpose: Allows for complete replacement of an Expense on a Fact Finder. <br /><br />\r\n              Note: Expense type cannot be changed for expenses prepopulated from NaviPlan.",
        "operationId": "Expenses_PutByIdModel",
        "parameters": [
          {
            "description": "The existing Expense ID used to identify which Expense to update",
            "format": "int32",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "integer"
          },
          {
            "description": "The Expense to be updated on a Fact Finder",
            "in": "body",
            "name": "model",
            "required": true,
            "schema": {
              "$ref": "#/definitions/ExpenseModel"
            }
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/ExpenseWithIdModel"
            }
          },
          "400": {
            "description": "The request is invalid."
          },
          "401": {
            "description": "Unauthorized for Expense data access."
          },
          "403": {
            "description": "Request is restricted for access to Expense."
          },
          "404": {
            "description": "Expense not found."
          }
        },
        "tags": [
          "Expenses"
        ]
      }
    },
    "/api/FactFinders": {
      "get": {
        "consumes": [],
        "deprecated": false,
        "description": "Description: This operation retrieves all Fact Finders for the specified householdId, \r\n              or if null, all households associated with the user.<br />\r\n              Purpose: Provides access to the Fact Finder including status.",
        "operationId": "FactFinders_GetByHouseholdIdByHouseholdid",
        "parameters": [
          {
            "description": "The ID of the household used to retrieve the fact finders. If not set, uses all households associated with the user",
            "format": "int32",
            "in": "query",
            "name": "householdId",
            "required": false,
            "type": "integer"
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "items": {
                "$ref": "#/definitions/FactFinderWithIdModel"
              },
              "type": "array"
            }
          },
          "400": {
            "description": "The request is invalid."
          },
          "401": {
            "description": "Unauthorized for Fact Finder data access."
          },
          "403": {
            "description": "Request is restricted for access to Fact Finder."
          },
          "404": {
            "description": "Fact Finder not found."
          }
        },
        "tags": [
          "FactFinders"
        ]
      },
      "post": {
        "consumes": [
          "application/json",
          "text/json"
        ],
        "deprecated": false,
        "description": "Description: The operation creates a completely empty draft Fact Finder.<br />\r\n              Requirements: A householdId and list of modules must be provided.<br />\r\n              Purpose: Stages a Fact Finder for population.",
        "operationId": "FactFinders_PostByModel",
        "parameters": [
          {
            "description": "The Household the Fact Finder will belong to and the modules that are available.",
            "in": "body",
            "name": "model",
            "required": true,
            "schema": {
              "$ref": "#/definitions/FactFinderEntityModel"
            }
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/Object"
            }
          },
          "201": {
            "description": "Created",
            "schema": {
              "$ref": "#/definitions/FactFinderWithIdModel"
            }
          },
          "400": {
            "description": "The request is invalid."
          },
          "401": {
            "description": "Unauthorized for Fact Finder data access."
          },
          "403": {
            "description": "Request is restricted for access to Fact Finder."
          },
          "404": {
            "description": "Fact Finder not found."
          },
          "409": {
            "description": "The request cannot be completed."
          }
        },
        "tags": [
          "FactFinders"
        ]
      }
    },
    "/api/FactFinders/Populate": {
      "post": {
        "consumes": [
          "application/json",
          "text/json"
        ],
        "deprecated": false,
        "description": "Description: The operation creates a new Populated Fact Finder.<br />\r\n              Requirements: A householdId and list of modules must be provided.<br />\r\n              Purpose: Creation of a Fact Finder.",
        "operationId": "FactFinders_PostPopulateByModel",
        "parameters": [
          {
            "description": "The Household the Fact Finder will belong to and the modules that are available. \r\n            Optional PlanId to populate from",
            "in": "body",
            "name": "model",
            "required": true,
            "schema": {
              "$ref": "#/definitions/FactFinderPopulatableEntityModel"
            }
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/Object"
            }
          },
          "201": {
            "description": "Created",
            "schema": {
              "$ref": "#/definitions/FactFinderWithIdModel"
            }
          },
          "400": {
            "description": "The request is invalid."
          },
          "401": {
            "description": "Unauthorized for Fact Finder data access."
          },
          "403": {
            "description": "Request is restricted for access to Fact Finder."
          },
          "404": {
            "description": "Fact Finder not found."
          },
          "409": {
            "description": "The request cannot be completed."
          }
        },
        "tags": [
          "FactFinders"
        ]
      }
    },
    "/api/FactFinders/{factFinderId}/Modules": {
      "get": {
        "consumes": [],
        "deprecated": false,
        "description": "Description: This operation retrieves all Fact Finder Modules for the specified Fact Finder ID.<br />\r\n              Purpose: Provides access to the Fact Finder Modules including description and policy type.",
        "operationId": "FactFinderModules_GetByFactfinderid",
        "parameters": [
          {
            "description": "The ID of the Fact Finder used to retrieve Fact Finder Modules",
            "format": "int32",
            "in": "path",
            "name": "factFinderId",
            "required": true,
            "type": "integer"
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/FactFinderModulesModel"
            }
          },
          "400": {
            "description": "The request is invalid."
          },
          "401": {
            "description": "Unauthorized for Fact Finder Module data access."
          },
          "404": {
            "description": "Fact Finder Module not found."
          }
        },
        "tags": [
          "FactFinderModules"
        ]
      }
    },
    "/api/FactFinders/{factFinderId}/Modules/{id}": {
      "get": {
        "consumes": [],
        "deprecated": false,
        "description": "Description: This operation retrieves a single Fact Finder Module for the specified Fact Finder Module ID.<br />\r\n              Purpose: Provides access to the Fact Finder Module including description and policy type.",
        "operationId": "FactFinderModules_GetByFactfinderidId",
        "parameters": [
          {
            "description": "The ID of the Fact Finder used to retrieve Fact Finder Module",
            "format": "int32",
            "in": "path",
            "name": "factFinderId",
            "required": true,
            "type": "integer"
          },
          {
            "description": "The ID of the Fact Finder Module used to retreive the Fact Finder Module",
            "format": "int32",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "integer"
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/FactFinderModuleWithIdModel"
            }
          },
          "400": {
            "description": "The request is invalid."
          },
          "401": {
            "description": "Unauthorized for Fact Finder Module data access."
          },
          "404": {
            "description": "Fact Finder Module not found."
          }
        },
        "tags": [
          "FactFinderModules"
        ]
      },
      "put": {
        "consumes": [
          "application/json",
          "text/json"
        ],
        "deprecated": false,
        "description": "Description: The operation updates a Fact Finder Module.<br />\r\n              Purpose: Allows for complete replacement of a Fact Finder Module on a Fact Finder.",
        "operationId": "FactFinderModules_PutByModelFactfinderidId",
        "parameters": [
          {
            "description": "The Fact Finder Module to be updated on a Fact Finder",
            "in": "body",
            "name": "model",
            "required": true,
            "schema": {
              "$ref": "#/definitions/FactFinderModuleModel"
            }
          },
          {
            "description": "The ID of the Fact Finder used to identify the Fact Finder Module to update",
            "format": "int32",
            "in": "path",
            "name": "factFinderId",
            "required": true,
            "type": "integer"
          },
          {
            "description": "The existing Fact Finder Module ID used to identify which Fact Finder Module to update",
            "format": "int32",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "integer"
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/FactFinderModuleWithIdModel"
            }
          },
          "400": {
            "description": "The request is invalid."
          },
          "401": {
            "description": "Unauthorized for Fact Finder Module data access."
          },
          "404": {
            "description": "Fact Finder Module not found."
          }
        },
        "tags": [
          "FactFinderModules"
        ]
      }
    },
    "/api/FactFinders/{factFinderId}/Snapshots": {
      "get": {
        "consumes": [],
        "deprecated": false,
        "description": "Description: The operation retrieves Snapshots of a Fact Finder.<br />\r\n              Purpose: Allows for advisors to view all Snapshots taken of a Fact Finder.",
        "operationId": "FactFinders_GetSnapshotsByFactfinderid",
        "parameters": [
          {
            "description": "The ID of the Fact Finder to retrieve Snapshots for",
            "format": "int32",
            "in": "path",
            "name": "factFinderId",
            "required": true,
            "type": "integer"
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Created",
            "schema": {
              "$ref": "#/definitions/FactFinderSnapshotsModel"
            }
          },
          "400": {
            "description": "The request is invalid."
          },
          "401": {
            "description": "Unauthorized for Fact Finder data access."
          },
          "403": {
            "description": "Request is restricted for access to Fact Finder."
          },
          "404": {
            "description": "Fact Finder not found."
          }
        },
        "tags": [
          "FactFinders"
        ]
      },
      "post": {
        "consumes": [],
        "deprecated": false,
        "description": "Description: The operation creates a Snapshot of a Fact Finder.<br />\r\n              Purpose: Allows for advisors to compare the current fact finder to a snapshot prior to acceptance.",
        "operationId": "FactFinders_PostSnapshotsByFactfinderid",
        "parameters": [
          {
            "description": "The ID of the Fact Finder used to create the Fact Finder Snapshot",
            "format": "int32",
            "in": "path",
            "name": "factFinderId",
            "required": true,
            "type": "integer"
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/Object"
            }
          },
          "201": {
            "description": "Created",
            "schema": {
              "$ref": "#/definitions/FactFinderSnapshotWithIdModel"
            }
          },
          "400": {
            "description": "The request is invalid."
          },
          "401": {
            "description": "Unauthorized for Fact Finder data access."
          },
          "403": {
            "description": "Request is restricted for access to Fact Finder."
          },
          "404": {
            "description": "Fact Finder not found."
          }
        },
        "tags": [
          "FactFinders"
        ]
      }
    },
    "/api/FactFinders/{id}": {
      "delete": {
        "consumes": [],
        "deprecated": false,
        "description": "Description: This operation deletes a single Fact Finder for the specified Fact Finder ID.<br />\r\n              Purpose: Deletes the fact finder.",
        "operationId": "FactFinders_DeleteById",
        "parameters": [
          {
            "description": "The ID of the Fact Finder to be deleted",
            "format": "int32",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "integer"
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/Object"
            }
          },
          "204": {
            "description": "Deleted"
          },
          "400": {
            "description": "The request is invalid."
          },
          "401": {
            "description": "Unauthorized for Fact Finder data access."
          },
          "403": {
            "description": "Request is restricted for access to Fact Finder."
          },
          "404": {
            "description": "Fact Finder not found."
          }
        },
        "tags": [
          "FactFinders"
        ]
      },
      "get": {
        "consumes": [],
        "deprecated": false,
        "description": "Description: This operation retrieves a single Fact Finder for the specified Fact Finder ID.<br />\r\n              Purpose: Provides access to the Fact Finder including status.",
        "operationId": "FactFinders_GetById",
        "parameters": [
          {
            "description": "The ID of the Fact Finder used to retrieve the Fact Finder",
            "format": "int32",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "integer"
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/FactFinderWithIdModel"
            }
          },
          "400": {
            "description": "The request is invalid."
          },
          "401": {
            "description": "Unauthorized for Fact Finder data access."
          },
          "403": {
            "description": "Request is restricted for access to Fact Finder."
          },
          "404": {
            "description": "Fact Finder not found."
          }
        },
        "tags": [
          "FactFinders"
        ]
      },
      "put": {
        "consumes": [
          "application/json",
          "text/json"
        ],
        "deprecated": false,
        "description": "Description: The operation updates a Fact Finder.<br />\r\n              Purpose: Allows for the updating of a Fact Finder.",
        "operationId": "FactFinders_PutByIdModel",
        "parameters": [
          {
            "description": "The existing Fact Finder ID used to identify which Fact Finder to update",
            "format": "int32",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "integer"
          },
          {
            "description": "The Fact Finder to be updated",
            "in": "body",
            "name": "model",
            "required": true,
            "schema": {
              "$ref": "#/definitions/FactFinderModel"
            }
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/FactFinderWithIdModel"
            }
          },
          "400": {
            "description": "The request is invalid."
          },
          "401": {
            "description": "Unauthorized for Fact Finder data access."
          },
          "403": {
            "description": "Request is restricted for access to Fact Finder."
          },
          "404": {
            "description": "Fact Finder not found."
          }
        },
        "tags": [
          "FactFinders"
        ]
      }
    },
    "/api/FactFinders/{id}/Populate": {
      "put": {
        "consumes": [
          "application/json",
          "text/json"
        ],
        "deprecated": false,
        "description": "Description: The operation populates a fact finder.<br />\r\n              Purpose: Allows for the population of a Fact Finder based on a NaviPlan plan or client. This\r\n                       operation cannot be performed on a Fact Finder more than once.",
        "operationId": "FactFinders_PutPopulateFactFinderByIdModel",
        "parameters": [
          {
            "description": "The existing Fact Finder ID used to identify which Fact Finder to populate.",
            "format": "int32",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "integer"
          },
          {
            "description": "The plan to populate a fact finder from. If not provided, the client id will be inferred.",
            "in": "body",
            "name": "model",
            "required": true,
            "schema": {
              "$ref": "#/definitions/FactFinderPopulationModel"
            }
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Fact Finder was successfully populated.",
            "schema": {
              "$ref": "#/definitions/FactFinderWithIdModel"
            }
          },
          "400": {
            "description": "The request is invalid."
          },
          "401": {
            "description": "Unauthorized for Fact Finder data access."
          },
          "403": {
            "description": "Request is restricted for access to Fact Finder."
          },
          "404": {
            "description": "Fact Finder not found."
          },
          "409": {
            "description": "Fact Finder already populated."
          }
        },
        "tags": [
          "FactFinders"
        ]
      }
    },
    "/api/FilingStatusTypes": {
      "get": {
        "consumes": [],
        "deprecated": false,
        "description": "Description: This operation retrieves all Filing Status Types for the specified country.<br />\r\n              Purpose: Provides access to the Filing Status Types including id and type description.",
        "operationId": "FilingStatusTypes_GetByCountry",
        "parameters": [
          {
            "description": "The country used to filter Filing Status Types",
            "enum": [
              "UnitedStates",
              "Canada"
            ],
            "in": "query",
            "name": "country",
            "required": true,
            "type": "string"
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/FilingStatusTypesModel"
            }
          },
          "400": {
            "description": "The request is invalid."
          },
          "404": {
            "description": "Filing Status Type not found."
          }
        },
        "tags": [
          "FilingStatusTypes"
        ]
      }
    },
    "/api/FilingStatusTypes/{id}": {
      "get": {
        "consumes": [],
        "deprecated": false,
        "description": "Description: This operation retrieves all Filing Status Type for the specified id.<br />\r\n              Purpose: Provides access to the Filing Status Types including id and type description.",
        "operationId": "FilingStatusTypes_GetById",
        "parameters": [
          {
            "description": "The ID of Filing Status Type used to retreive the Filing Status Type information",
            "format": "int32",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "integer"
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/FilingStatusTypeModel"
            }
          },
          "400": {
            "description": "The request is invalid."
          },
          "404": {
            "description": "Filing Status Type not found."
          }
        },
        "tags": [
          "FilingStatusTypes"
        ]
      }
    },
    "/api/FrequencyTypes": {
      "get": {
        "consumes": [],
        "deprecated": false,
        "description": "Description: This operation retrieves all Frequency Types for the specified country and entity.<br />\r\n              Purpose: Provides access to the Frequency Types including id and type description.",
        "operationId": "FrequencyTypes_GetByEntityCountry",
        "parameters": [
          {
            "description": "The entity used to filter Frequency Types",
            "enum": [
              "CriticalIllnessInsurancePolicies",
              "DisabilityInsurancePoliciesPremium",
              "DisabilityInsurancePoliciesBenefit",
              "Expenses",
              "Liabilities",
              "LifeInsurancePolicies",
              "LongTermCareInsurancePoliciesBenefit",
              "LongTermCareInsurancePoliciesPremium",
              "RealEstateAssets",
              "RetirementExpenses",
              "SavingsStrategies"
            ],
            "in": "query",
            "name": "entity",
            "required": true,
            "type": "string"
          },
          {
            "description": "The country used to filter Frequency Types",
            "enum": [
              "UnitedStates",
              "Canada"
            ],
            "in": "query",
            "name": "country",
            "required": true,
            "type": "string"
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/FrequencyTypesModel"
            }
          },
          "400": {
            "description": "The request is invalid."
          },
          "404": {
            "description": "Frequency Type not found."
          }
        },
        "tags": [
          "FrequencyTypes"
        ]
      }
    },
    "/api/FrequencyTypes/{id}": {
      "get": {
        "consumes": [],
        "deprecated": false,
        "description": "Description: This operation retrieves the Frequency Type for the specified id.<br />\r\n              Purpose: Provides access to the Frequency Types including id and type description.",
        "operationId": "FrequencyTypes_GetById",
        "parameters": [
          {
            "description": "The ID of Frequency Type used to retreive the Frequency Type information",
            "format": "int32",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "integer"
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/FrequencyTypeModel"
            }
          },
          "400": {
            "description": "The request is invalid."
          },
          "404": {
            "description": "Frequency Type not found."
          }
        },
        "tags": [
          "FrequencyTypes"
        ]
      }
    },
    "/api/IncomeTypes": {
      "get": {
        "consumes": [],
        "deprecated": false,
        "description": "Description: This operation retrieves all Income Types for the specified country.<br />\r\n              Purpose: Provides access to the Income Types including id and type description.",
        "operationId": "IncomeTypes_GetByCountry",
        "parameters": [
          {
            "description": "The country used to filter Income Types",
            "enum": [
              "UnitedStates",
              "Canada"
            ],
            "in": "query",
            "name": "country",
            "required": true,
            "type": "string"
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/IncomeTypesModel"
            }
          },
          "400": {
            "description": "The request is invalid."
          },
          "404": {
            "description": "Income Type not found."
          }
        },
        "tags": [
          "IncomeTypes"
        ]
      }
    },
    "/api/IncomeTypes/{id}": {
      "get": {
        "consumes": [],
        "deprecated": false,
        "description": "Description: This operation retrieves the Income Type for the specified id.<br />\r\n              Purpose: Provides access to the Income Types including id and type description.",
        "operationId": "IncomeTypes_GetById",
        "parameters": [
          {
            "description": "The ID of Income Type used to retreive the Income Type information",
            "format": "int32",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "integer"
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/IncomeTypeModel"
            }
          },
          "400": {
            "description": "The request is invalid."
          },
          "404": {
            "description": "Income Type not found."
          }
        },
        "tags": [
          "IncomeTypes"
        ]
      }
    },
    "/api/Incomes": {
      "get": {
        "consumes": [],
        "deprecated": false,
        "description": "Description: This operation retrieves all Incomes for the specified Fact Finder ID.<br />\r\n              Purpose: Provides access to the Incomes including annual amount and start date.",
        "operationId": "Incomes_GetIncomesByFactFinderIdByFactfinderid",
        "parameters": [
          {
            "description": "The ID of the Fact Finder used to retrieve Incomes",
            "format": "int32",
            "in": "query",
            "name": "factFinderId",
            "required": true,
            "type": "integer"
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/IncomesModel"
            }
          },
          "400": {
            "description": "The request is invalid."
          },
          "401": {
            "description": "Unauthorized for Income data access."
          },
          "403": {
            "description": "Request is restricted for access to Income."
          },
          "404": {
            "description": "Income not found."
          }
        },
        "tags": [
          "Incomes"
        ]
      },
      "post": {
        "consumes": [
          "application/json",
          "text/json"
        ],
        "deprecated": false,
        "description": "Description: The operation creates an Income.<br />\r\n              Purpose: Allows for creation of Incomes on a Fact Finder.",
        "operationId": "Incomes_PostByModel",
        "parameters": [
          {
            "description": "The Income to be added to the Fact Finder",
            "in": "body",
            "name": "model",
            "required": true,
            "schema": {
              "$ref": "#/definitions/IncomeModel"
            }
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "201": {
            "description": "Created",
            "schema": {
              "$ref": "#/definitions/IncomeWithIdModel"
            }
          },
          "400": {
            "description": "The request is invalid."
          },
          "401": {
            "description": "Unauthorized for Income data access."
          },
          "403": {
            "description": "Request is restricted for access to Income."
          },
          "404": {
            "description": "Income not found."
          }
        },
        "tags": [
          "Incomes"
        ]
      }
    },
    "/api/Incomes/{id}": {
      "delete": {
        "consumes": [],
        "deprecated": false,
        "description": "Description: The operation removes an Income tied to a Fact Finder.<br />\r\n              Purpose: Allows for removal of an Income from a Fact Finder.",
        "operationId": "Incomes_DeleteById",
        "parameters": [
          {
            "description": "The Income ID used to identify which Income to remove",
            "format": "int32",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "integer"
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "204": {
            "description": "Deleted"
          },
          "400": {
            "description": "The request is invalid."
          },
          "401": {
            "description": "Unauthorized for Income data access."
          },
          "403": {
            "description": "Request is restricted for access to Income."
          },
          "404": {
            "description": "Income not found."
          }
        },
        "tags": [
          "Incomes"
        ]
      },
      "get": {
        "consumes": [],
        "deprecated": false,
        "description": "Description: This operation retrieves a single Income for the specified Income ID.<br />\r\n              Purpose: Provides access to the Income including annual amount and start date.",
        "operationId": "Incomes_GetById",
        "parameters": [
          {
            "description": "The ID of the Income used to retreive the Income",
            "format": "int32",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "integer"
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/IncomeWithIdModel"
            }
          },
          "400": {
            "description": "The request is invalid."
          },
          "401": {
            "description": "Unauthorized for Income data access."
          },
          "403": {
            "description": "Request is restricted for access to Income."
          },
          "404": {
            "description": "Income not found."
          }
        },
        "tags": [
          "Incomes"
        ]
      },
      "put": {
        "consumes": [
          "application/json",
          "text/json"
        ],
        "deprecated": false,
        "description": "Description: The operation updates an Income.<br />\r\n              Purpose: Allows for complete replacement of an Income on a Fact Finder.",
        "operationId": "Incomes_PutByIdModel",
        "parameters": [
          {
            "description": "The existing Income ID used to identify which Income to update",
            "format": "int32",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "integer"
          },
          {
            "description": "The Income to be updated on a Fact Finder",
            "in": "body",
            "name": "model",
            "required": true,
            "schema": {
              "$ref": "#/definitions/IncomeModel"
            }
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/IncomeWithIdModel"
            }
          },
          "400": {
            "description": "The request is invalid."
          },
          "401": {
            "description": "Unauthorized for Income data access."
          },
          "403": {
            "description": "Request is restricted for access to Income."
          },
          "404": {
            "description": "Income not found."
          }
        },
        "tags": [
          "Incomes"
        ]
      }
    },
    "/api/Liabilities": {
      "get": {
        "consumes": [],
        "deprecated": false,
        "description": "Description: This operation retrieves all Liabilities for the specified Fact Finder ID.<br />\r\n              Purpose: Provides access to the Liabilities including owner and type.",
        "operationId": "Liabilities_GetLiabilitiesByFactFinderIdByFactfinderidExternalsourceid",
        "parameters": [
          {
            "description": "The ID of the Fact Finder used to retrieve Liabilities",
            "format": "int32",
            "in": "query",
            "name": "factFinderId",
            "required": true,
            "type": "integer"
          },
          {
            "description": "The external source ID used to filter Liabilities",
            "in": "query",
            "name": "externalSourceId",
            "required": false,
            "type": "string"
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/LiabilitiesModel"
            }
          },
          "400": {
            "description": "The request is invalid."
          },
          "401": {
            "description": "Unauthorized for Liability data access."
          },
          "403": {
            "description": "Request is restricted for access to Liability."
          },
          "404": {
            "description": "Liability not found."
          }
        },
        "tags": [
          "Liabilities"
        ]
      },
      "post": {
        "consumes": [
          "application/json",
          "text/json"
        ],
        "deprecated": false,
        "description": "Description: The operation creates a Liability.<br />\r\n              Purpose: Allows for creation of Liabilities on a Fact Finder.",
        "operationId": "Liabilities_PostByModel",
        "parameters": [
          {
            "description": "The Liability to be added to the Fact Finder",
            "in": "body",
            "name": "model",
            "required": true,
            "schema": {
              "$ref": "#/definitions/LiabilityModel"
            }
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "201": {
            "description": "Created",
            "schema": {
              "$ref": "#/definitions/LiabilityWithIdModel"
            }
          },
          "400": {
            "description": "The request is invalid."
          },
          "401": {
            "description": "Unauthorized for Liability data access."
          },
          "403": {
            "description": "Request is restricted for access to Liability."
          },
          "404": {
            "description": "Liability not found."
          }
        },
        "tags": [
          "Liabilities"
        ]
      }
    },
    "/api/Liabilities/{id}": {
      "delete": {
        "consumes": [],
        "deprecated": false,
        "description": "Description: The operation removes a Liability tied to a Fact Finder.<br />\r\n              Purpose: Allows for removal of a Liability from a Fact Finder.",
        "operationId": "Liabilities_DeleteById",
        "parameters": [
          {
            "description": "The Liability ID used to identify which Liability to remove",
            "format": "int32",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "integer"
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "204": {
            "description": "Deleted"
          },
          "400": {
            "description": "The request is invalid."
          },
          "401": {
            "description": "Unauthorized for Liability data access."
          },
          "403": {
            "description": "Request is restricted for access to Liability."
          },
          "404": {
            "description": "Liability not found."
          }
        },
        "tags": [
          "Liabilities"
        ]
      },
      "get": {
        "consumes": [],
        "deprecated": false,
        "description": "Description: This operation retrieves a single Liability for the specified Liability ID.<br />\r\n              Purpose: Provides access to the Liability including owner and type.",
        "operationId": "Liabilities_GetById",
        "parameters": [
          {
            "description": "The ID of the Liability used to retreive the Liability",
            "format": "int32",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "integer"
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/LiabilityWithIdModel"
            }
          },
          "400": {
            "description": "The request is invalid."
          },
          "401": {
            "description": "Unauthorized for Liability data access."
          },
          "403": {
            "description": "Request is restricted for access to Liability."
          },
          "404": {
            "description": "Liability not found."
          }
        },
        "tags": [
          "Liabilities"
        ]
      },
      "put": {
        "consumes": [
          "application/json",
          "text/json"
        ],
        "deprecated": false,
        "description": "Description: The operation updates a Liability.<br />\r\n              Purpose: Allows for complete replacement of a Liability on a Fact Finder.",
        "operationId": "Liabilities_PutByIdModel",
        "parameters": [
          {
            "description": "The existing Liability ID used to identify which Liability to update",
            "format": "int32",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "integer"
          },
          {
            "description": "The Liability to be updated on a Fact Finder",
            "in": "body",
            "name": "model",
            "required": true,
            "schema": {
              "$ref": "#/definitions/LiabilityModel"
            }
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/LiabilityWithIdModel"
            }
          },
          "400": {
            "description": "The request is invalid."
          },
          "401": {
            "description": "Unauthorized for Liability data access."
          },
          "403": {
            "description": "Request is restricted for access to Liability."
          },
          "404": {
            "description": "Liability not found."
          }
        },
        "tags": [
          "Liabilities"
        ]
      }
    },
    "/api/LiabilityTypes": {
      "get": {
        "consumes": [],
        "deprecated": false,
        "description": "Description: This operation retrieves all Liability Types for the specified country.<br />\r\n              Purpose: Provides access to the Liability Types including id and type description.",
        "operationId": "LiabilityTypes_GetByCountry",
        "parameters": [
          {
            "description": "The country used to filter Liability Types",
            "enum": [
              "UnitedStates",
              "Canada"
            ],
            "in": "query",
            "name": "country",
            "required": true,
            "type": "string"
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/LiabilityTypesModel"
            }
          },
          "400": {
            "description": "The request is invalid."
          },
          "404": {
            "description": "Liability Type not found."
          }
        },
        "tags": [
          "LiabilityTypes"
        ]
      }
    },
    "/api/LiabilityTypes/{id}": {
      "get": {
        "consumes": [],
        "deprecated": false,
        "description": "Description: This operation retrieves the Liability Type for the specified id.<br />\r\n              Purpose: Provides access to the Liability Types including id and type description.",
        "operationId": "LiabilityTypes_GetById",
        "parameters": [
          {
            "description": "The ID of Liability Type used to retreive the Liability Type information",
            "format": "int32",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "integer"
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/LiabilityTypeModel"
            }
          },
          "400": {
            "description": "The request is invalid."
          },
          "404": {
            "description": "Liability Type not found."
          }
        },
        "tags": [
          "LiabilityTypes"
        ]
      }
    },
    "/api/LifeInsurancePolicies": {
      "get": {
        "consumes": [],
        "deprecated": false,
        "description": "Description: This operation retrieves all Life Insurance Policies for the specified Fact Finder ID.<br />\r\n              Purpose: Provides access to the Life Insurance Policies including description and policy type.",
        "operationId": "LifeInsurancePolicies_GetLifeInsurancePoliciesByFactFinderIdByFactfinderid",
        "parameters": [
          {
            "description": "The ID of the Fact Finder used to retrieve Life Insurance Policies",
            "format": "int32",
            "in": "query",
            "name": "factFinderId",
            "required": true,
            "type": "integer"
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/LifeInsurancePoliciesModel"
            }
          },
          "400": {
            "description": "The request is invalid."
          },
          "401": {
            "description": "Unauthorized for Life Insurance Policy data access."
          },
          "403": {
            "description": "Request is restricted for access to Life Insurance Policy."
          },
          "404": {
            "description": "Life Insurance Policy not found."
          }
        },
        "tags": [
          "LifeInsurancePolicies"
        ]
      },
      "post": {
        "consumes": [
          "application/json",
          "text/json"
        ],
        "deprecated": false,
        "description": "Description: The operation creates a Life Insurance Policy.<br />\r\n              Purpose: Allows for creation of Life Insurance Policies on a Fact Finder.",
        "operationId": "LifeInsurancePolicies_PostByModel",
        "parameters": [
          {
            "description": "The Life Insurance Policy to be added to the Fact Finder",
            "in": "body",
            "name": "model",
            "required": true,
            "schema": {
              "$ref": "#/definitions/LifeInsurancePolicyModel"
            }
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "201": {
            "description": "Created",
            "schema": {
              "$ref": "#/definitions/LifeInsurancePolicyWithIdModel"
            }
          },
          "400": {
            "description": "The request is invalid."
          },
          "401": {
            "description": "Unauthorized for Life Insurance Policy data access."
          },
          "403": {
            "description": "Request is restricted for access to Life Insurance Policy."
          },
          "404": {
            "description": "Life Insurance Policy not found."
          }
        },
        "tags": [
          "LifeInsurancePolicies"
        ]
      }
    },
    "/api/LifeInsurancePolicies/{id}": {
      "delete": {
        "consumes": [],
        "deprecated": false,
        "description": "Description: The operation removes a Life Insurance Policy tied to a Fact Finder.<br />\r\n              Purpose: Allows for removal of a Life Insurance Policy and associated subaccounts from a Fact Finder.",
        "operationId": "LifeInsurancePolicies_DeleteById",
        "parameters": [
          {
            "description": "The Life Insurance Policy ID used to identify which Life Insurance Policy to remove",
            "format": "int32",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "integer"
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "204": {
            "description": "Deleted"
          },
          "400": {
            "description": "The request is invalid."
          },
          "401": {
            "description": "Unauthorized for Life Insurance Policy data access."
          },
          "403": {
            "description": "Request is restricted for access to Life Insurance Policy."
          },
          "404": {
            "description": "Life Insurance Policy not found."
          }
        },
        "tags": [
          "LifeInsurancePolicies"
        ]
      },
      "get": {
        "consumes": [],
        "deprecated": false,
        "description": "Description: This operation retrieves a single Life Insurance Policy for the specified Life Insurance Policy ID.<br />\r\n              Purpose: Provides access to the Life Insurance Policy including description and policy type.",
        "operationId": "LifeInsurancePolicies_GetById",
        "parameters": [
          {
            "description": "The ID of the Life Insurance Policy used to retreive the Life Insurance Policy",
            "format": "int32",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "integer"
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/LifeInsurancePolicyWithIdModel"
            }
          },
          "400": {
            "description": "The request is invalid."
          },
          "401": {
            "description": "Unauthorized for Life Insurance Policy data access."
          },
          "403": {
            "description": "Request is restricted for access to Life Insurance Policy."
          },
          "404": {
            "description": "Life Insurance Policy not found."
          }
        },
        "tags": [
          "LifeInsurancePolicies"
        ]
      },
      "put": {
        "consumes": [
          "application/json",
          "text/json"
        ],
        "deprecated": false,
        "description": "Description: The operation updates a Life Insurance Policy, deletes associated sub-accounts if the policy type changes.<br />\r\n              Purpose: Allows for complete replacement of a Life Insurance Policy on a Fact Finder.",
        "operationId": "LifeInsurancePolicies_PutByIdModel",
        "parameters": [
          {
            "description": "The existing Life Insurance Policy ID used to identify which Life Insurance Policy to update",
            "format": "int32",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "integer"
          },
          {
            "description": "The Life Insurance Policy to be updated on a Fact Finder",
            "in": "body",
            "name": "model",
            "required": true,
            "schema": {
              "$ref": "#/definitions/LifeInsurancePolicyModel"
            }
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/LifeInsurancePolicyWithIdModel"
            }
          },
          "400": {
            "description": "The request is invalid."
          },
          "401": {
            "description": "Unauthorized for Life Insurance Policy data access."
          },
          "403": {
            "description": "Request is restricted for access to Life Insurance Policy."
          },
          "404": {
            "description": "Life Insurance Policy not found."
          }
        },
        "tags": [
          "LifeInsurancePolicies"
        ]
      }
    },
    "/api/LifeInsurancePolicies/{lifeInsurancePolicyId}/Subaccounts": {
      "get": {
        "consumes": [],
        "deprecated": false,
        "description": "Description: Get all the subaccounts for an existing Life Insurance Policy.<br />\r\n              Purpose: Provides access to all the Life Insurance Policy subaccounts.",
        "operationId": "LifeInsurancePolicies_GetSubaccountsByLifeinsurancepolicyid",
        "parameters": [
          {
            "description": "The ID of the Life Insurance Policy used to retrieve the Life Insurance Policy Subaccounts.",
            "format": "int32",
            "in": "path",
            "name": "lifeInsurancePolicyId",
            "required": true,
            "type": "integer"
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/LifeInsurancePolicySubaccountsModel"
            }
          },
          "400": {
            "description": "The request is invalid."
          },
          "401": {
            "description": "Unauthorized for Life Insurance Policy data access."
          },
          "403": {
            "description": "Request is restricted for access to Life Insurance Policy."
          },
          "404": {
            "description": "Life Insurance Policy not found."
          }
        },
        "tags": [
          "LifeInsurancePolicies"
        ]
      },
      "post": {
        "consumes": [
          "application/json",
          "text/json"
        ],
        "deprecated": false,
        "description": "Description: Creates a subaccount and adds it to an existing Life Insurance Policy.<br />\r\n              Purpose: Allows for creation of subaccount on a Life Insurance Policy.",
        "operationId": "LifeInsurancePolicies_PostSubaccountByLifeinsurancepolicyidModel",
        "parameters": [
          {
            "description": "The ID of the Life Insurance Policy used to create the Life Insurance Policy Subaccount.",
            "format": "int32",
            "in": "path",
            "name": "lifeInsurancePolicyId",
            "required": true,
            "type": "integer"
          },
          {
            "description": "The Life Insurance Policy Subaccount model.",
            "in": "body",
            "name": "model",
            "required": true,
            "schema": {
              "$ref": "#/definitions/LifeInsurancePolicySubaccountModel"
            }
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "201": {
            "description": "Created",
            "schema": {
              "$ref": "#/definitions/LifeInsurancePolicySubaccountWithIdModel"
            }
          },
          "400": {
            "description": "The request is invalid."
          },
          "401": {
            "description": "Unauthorized for Life Insurance Policy data access."
          },
          "403": {
            "description": "Request is restricted for access to Life Insurance Policy."
          },
          "404": {
            "description": "Life Insurance Policy not found."
          }
        },
        "tags": [
          "LifeInsurancePolicies"
        ]
      }
    },
    "/api/LifeInsurancePolicies/{lifeInsurancePolicyId}/Subaccounts/{id}": {
      "delete": {
        "consumes": [],
        "deprecated": false,
        "description": "Description: Deletes an existing Life Insurance Policy Subaccount for an existing Life Insurance Policy.<br />\r\n              Purpose: Allows for removal of a subaccount from a Life Insurance Policy.",
        "operationId": "LifeInsurancePolicies_DeleteSubaccountByLifeinsurancepolicyidId",
        "parameters": [
          {
            "description": "The ID of the Life Insurance Policy used to delete the Life Insurance Policy Subaccount.",
            "format": "int32",
            "in": "path",
            "name": "lifeInsurancePolicyId",
            "required": true,
            "type": "integer"
          },
          {
            "description": "The ID of the Life Insurance Policy Subaccount.",
            "format": "int32",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "integer"
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "204": {
            "description": "Deleted"
          },
          "400": {
            "description": "The request is invalid."
          },
          "401": {
            "description": "Unauthorized for Life Insurance Policy data access."
          },
          "403": {
            "description": "Request is restricted for access to Life Insurance Policy."
          },
          "404": {
            "description": "Life Insurance Policy Subaccount not found."
          }
        },
        "tags": [
          "LifeInsurancePolicies"
        ]
      },
      "get": {
        "consumes": [],
        "deprecated": false,
        "description": "Description: Get a specific subaccount for an existing Life Insurance Policy.<br />\r\n              Purpose: Provides access to the Life Insurance Policy subaccount.",
        "operationId": "LifeInsurancePolicies_GetSubaccountByLifeinsurancepolicyidId",
        "parameters": [
          {
            "description": "The ID of the Life Insurance Policy used to retrieve the Life Insurance Policy Subaccount.",
            "format": "int32",
            "in": "path",
            "name": "lifeInsurancePolicyId",
            "required": true,
            "type": "integer"
          },
          {
            "description": "The ID of the Life Insurance Policy Subaccount.",
            "format": "int32",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "integer"
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/LifeInsurancePolicySubaccountWithIdModel"
            }
          },
          "400": {
            "description": "The request is invalid."
          },
          "401": {
            "description": "Unauthorized for Life Insurance Policy data access."
          },
          "403": {
            "description": "Request is restricted for access to Life Insurance Policy."
          },
          "404": {
            "description": "Life Insurance Policy Subaccount not found."
          }
        },
        "tags": [
          "LifeInsurancePolicies"
        ]
      },
      "put": {
        "consumes": [
          "application/json",
          "text/json"
        ],
        "deprecated": false,
        "description": "Description: Updates an existing Life Insurance Policy Subaccount for an existing Life Insurance Policy.<br />\r\n              Purpose: Allows for complete replacement of a subaccount on a Life Insurance Policy.",
        "operationId": "LifeInsurancePolicies_PutSubaccountByLifeinsurancepolicyidIdModel",
        "parameters": [
          {
            "description": "The ID of the Life Insurance Policy used to update the Life Insurance Policy Subaccount.",
            "format": "int32",
            "in": "path",
            "name": "lifeInsurancePolicyId",
            "required": true,
            "type": "integer"
          },
          {
            "description": "The ID of the Life Insurance Policy Subaccount.",
            "format": "int32",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "integer"
          },
          {
            "description": "The Life Insurance Policy Subaccount model.",
            "in": "body",
            "name": "model",
            "required": true,
            "schema": {
              "$ref": "#/definitions/LifeInsurancePolicySubaccountModel"
            }
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/LifeInsurancePolicySubaccountModel"
            }
          },
          "400": {
            "description": "The request is invalid."
          },
          "401": {
            "description": "Unauthorized for Life Insurance Policy data access."
          },
          "403": {
            "description": "Request is restricted for access to Life Insurance Policy."
          },
          "404": {
            "description": "Life Insurance Policy Subaccount not found."
          }
        },
        "tags": [
          "LifeInsurancePolicies"
        ]
      }
    },
    "/api/LifeInsurancePolicyTypes": {
      "get": {
        "consumes": [],
        "deprecated": false,
        "description": "Description: This operation retrieves all Life Insurance Policy Types for the specified country.<br />\r\n              Purpose: Provides access to the Life Insurance Policy Types including id and type description.",
        "operationId": "LifeInsurancePolicyTypes_GetByCountry",
        "parameters": [
          {
            "description": "The country used to filter Life Insurance Policy Types",
            "enum": [
              "UnitedStates",
              "Canada"
            ],
            "in": "query",
            "name": "country",
            "required": true,
            "type": "string"
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/LifeInsurancePolicyTypesModel"
            }
          },
          "400": {
            "description": "The request is invalid."
          },
          "404": {
            "description": "Life Insurance Policy Type not found."
          }
        },
        "tags": [
          "LifeInsurancePolicyTypes"
        ]
      }
    },
    "/api/LifeInsurancePolicyTypes/{id}": {
      "get": {
        "consumes": [],
        "deprecated": false,
        "description": "Description: This operation retrieves the Life Insurance Policy Type for the specified id.<br />\r\n              Purpose: Provides access to the Life Insurance Policy Types including id and type description.",
        "operationId": "LifeInsurancePolicyTypes_GetById",
        "parameters": [
          {
            "description": "The ID of Life Insurance Policy Type used to retreive the Life Insurance Policy Type information",
            "format": "int32",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "integer"
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/LifeInsurancePolicyTypeModel"
            }
          },
          "400": {
            "description": "The request is invalid."
          },
          "404": {
            "description": "Life Insurance Policy Type not found."
          }
        },
        "tags": [
          "LifeInsurancePolicyTypes"
        ]
      }
    },
    "/api/LifestyleAssetTypes": {
      "get": {
        "consumes": [],
        "deprecated": false,
        "description": "Description: This operation retrieves all Lifestyle Asset Types for the specified country.<br />\r\n              Purpose: Provides access to the Lifestyle Asset Types including id and type description.",
        "operationId": "LifestyleAssetTypes_GetByCountry",
        "parameters": [
          {
            "description": "The country used to filter Lifestyle Asset Types",
            "enum": [
              "UnitedStates",
              "Canada"
            ],
            "in": "query",
            "name": "country",
            "required": true,
            "type": "string"
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/LifestyleAssetTypesModel"
            }
          },
          "400": {
            "description": "The request is invalid."
          },
          "404": {
            "description": "Lifestyle Asset Type not found."
          }
        },
        "tags": [
          "LifestyleAssetTypes"
        ]
      }
    },
    "/api/LifestyleAssetTypes/{id}": {
      "get": {
        "consumes": [],
        "deprecated": false,
        "description": "Description: This operation retrieves the Lifestyle Asset Type for the specified id.<br />\r\n              Purpose: Provides access to the Lifestyle Asset Types including id and type description.",
        "operationId": "LifestyleAssetTypes_GetById",
        "parameters": [
          {
            "description": "The ID of Lifestyle Asset Type used to retreive the Lifestyle Asset Type information",
            "format": "int32",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "integer"
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/LifestyleAssetTypeModel"
            }
          },
          "400": {
            "description": "The request is invalid."
          },
          "404": {
            "description": "Lifestyle Asset Type not found."
          }
        },
        "tags": [
          "LifestyleAssetTypes"
        ]
      }
    },
    "/api/LifestyleAssets": {
      "get": {
        "consumes": [],
        "deprecated": false,
        "description": "Description: This operation retrieves all Lifestyle Assets for the specified Fact Finder ID.<br />\r\n              Purpose: Provides access to the Lifestyle Assets including description and market value.",
        "operationId": "LifestyleAssets_GetLifestyleAssetsByFactFinderIdByFactfinderid",
        "parameters": [
          {
            "description": "The ID of the Fact Finder used to retrieve Lifestyle Assets",
            "format": "int32",
            "in": "query",
            "name": "factFinderId",
            "required": true,
            "type": "integer"
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/LifestyleAssetsModel"
            }
          },
          "400": {
            "description": "The request is invalid."
          },
          "401": {
            "description": "Unauthorized for Lifestyle Asset data access."
          },
          "403": {
            "description": "Request is restricted for access to Lifestyle Asset."
          },
          "404": {
            "description": "Lifestyle Asset not found."
          }
        },
        "tags": [
          "LifestyleAssets"
        ]
      },
      "post": {
        "consumes": [
          "application/json",
          "text/json"
        ],
        "deprecated": false,
        "description": "Description: The operation creates a Lifestyle Asset.<br />\r\n              Purpose: Allows for creation of Lifestyle Assets on a Fact Finder.",
        "operationId": "LifestyleAssets_PostByModel",
        "parameters": [
          {
            "description": "The Lifestyle Asset to be added to the Fact Finder",
            "in": "body",
            "name": "model",
            "required": true,
            "schema": {
              "$ref": "#/definitions/LifestyleAssetModel"
            }
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "201": {
            "description": "Created",
            "schema": {
              "$ref": "#/definitions/LifestyleAssetWithIdModel"
            }
          },
          "400": {
            "description": "The request is invalid."
          },
          "401": {
            "description": "Unauthorized for Lifestyle Asset data access."
          },
          "403": {
            "description": "Request is restricted for access to Lifestyle Asset."
          },
          "404": {
            "description": "Lifestyle Asset not found."
          }
        },
        "tags": [
          "LifestyleAssets"
        ]
      }
    },
    "/api/LifestyleAssets/{id}": {
      "delete": {
        "consumes": [],
        "deprecated": false,
        "description": "Description: The operation removes a Lifestyle Asset tied to a Fact Finder.<br />\r\n              Purpose: Allows for removal of a Lifestyle Asset from a Fact Finder.",
        "operationId": "LifestyleAssets_DeleteById",
        "parameters": [
          {
            "description": "The Lifestyle Asset ID used to identify which Lifestyle Asset to remove",
            "format": "int32",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "integer"
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "204": {
            "description": "Deleted"
          },
          "400": {
            "description": "The request is invalid."
          },
          "401": {
            "description": "Unauthorized for Lifestyle Asset data access."
          },
          "403": {
            "description": "Request is restricted for access to Lifestyle Asset."
          },
          "404": {
            "description": "Lifestyle Asset not found."
          }
        },
        "tags": [
          "LifestyleAssets"
        ]
      },
      "get": {
        "consumes": [],
        "deprecated": false,
        "description": "Description: This operation retrieves a single Lifestyle Asset for the specified Lifestyle Asset ID.<br />\r\n              Purpose: Provides access to the Lifestyle Asset including description and market value.",
        "operationId": "LifestyleAssets_GetById",
        "parameters": [
          {
            "description": "The ID of the Lifestyle Asset used to retreive the Lifestyle Asset",
            "format": "int32",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "integer"
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/LifestyleAssetWithIdModel"
            }
          },
          "400": {
            "description": "The request is invalid."
          },
          "401": {
            "description": "Unauthorized for Lifestyle Asset data access."
          },
          "403": {
            "description": "Request is restricted for access to Lifestyle Asset."
          },
          "404": {
            "description": "Lifestyle Asset not found."
          }
        },
        "tags": [
          "LifestyleAssets"
        ]
      },
      "put": {
        "consumes": [
          "application/json",
          "text/json"
        ],
        "deprecated": false,
        "description": "Description: The operation updates a Lifestyle Asset.<br />\r\n              Purpose: Allows for complete replacement of a Lifestyle Asset on a Fact Finder.",
        "operationId": "LifestyleAssets_PutByIdModel",
        "parameters": [
          {
            "description": "The existing Lifestyle Asset ID used to identify which Lifestyle Asset to update",
            "format": "int32",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "integer"
          },
          {
            "description": "The Lifestyle Asset to be updated on a Fact Finder",
            "in": "body",
            "name": "model",
            "required": true,
            "schema": {
              "$ref": "#/definitions/LifestyleAssetModel"
            }
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/LifestyleAssetWithIdModel"
            }
          },
          "400": {
            "description": "The request is invalid."
          },
          "401": {
            "description": "Unauthorized for Lifestyle Asset data access."
          },
          "403": {
            "description": "Request is restricted for access to Lifestyle Asset."
          },
          "404": {
            "description": "Lifestyle Asset not found."
          }
        },
        "tags": [
          "LifestyleAssets"
        ]
      }
    },
    "/api/LongTermCareInsurancePolicies": {
      "get": {
        "consumes": [],
        "deprecated": false,
        "description": "Description: This operation retrieves all Long Term Care Insurance Policies for the specified Fact Finder ID.<br />\r\n              Purpose: Provides access to the Long Term Care Insurance Policies including description and premium.",
        "operationId": "LongTermCareInsurancePolicies_GetLongTermCareInsurancePoliciesByFactFinderIdByFactfinderid",
        "parameters": [
          {
            "description": "The ID of the Fact Finder used to retrieve Long Term Care Insurance Policies",
            "format": "int32",
            "in": "query",
            "name": "factFinderId",
            "required": true,
            "type": "integer"
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/LongTermCareInsurancePoliciesModel"
            }
          },
          "400": {
            "description": "The request is invalid."
          },
          "401": {
            "description": "Unauthorized for Long Term Care Insurance Policy data access."
          },
          "403": {
            "description": "Request is restricted for access to Long Term Care Insurance Policy."
          },
          "404": {
            "description": "Long Term Care Insurance Policy not found."
          }
        },
        "tags": [
          "LongTermCareInsurancePolicies"
        ]
      },
      "post": {
        "consumes": [
          "application/json",
          "text/json"
        ],
        "deprecated": false,
        "description": "Description: The operation creates a Long Term Care Insurance Policy.<br />\r\n              Purpose: Allows for creation of Long Term Care Insurance Policies on a Fact Finder.",
        "operationId": "LongTermCareInsurancePolicies_PostByModel",
        "parameters": [
          {
            "description": "The Long Term Care Insurance Policy to be added to the Fact Finder",
            "in": "body",
            "name": "model",
            "required": true,
            "schema": {
              "$ref": "#/definitions/LongTermCareInsurancePolicyModel"
            }
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "201": {
            "description": "Created",
            "schema": {
              "$ref": "#/definitions/LongTermCareInsurancePolicyWithIdModel"
            }
          },
          "400": {
            "description": "The request is invalid."
          },
          "401": {
            "description": "Unauthorized for Long Term Care Insurance Policy data access."
          },
          "403": {
            "description": "Request is restricted for access to Long Term Care Insurance Policy."
          },
          "404": {
            "description": "Long Term Care Insurance Policy not found."
          }
        },
        "tags": [
          "LongTermCareInsurancePolicies"
        ]
      }
    },
    "/api/LongTermCareInsurancePolicies/{id}": {
      "delete": {
        "consumes": [],
        "deprecated": false,
        "description": "Description: The operation removes a Long Term Care Insurance Policy tied to a Fact Finder.<br />\r\n              Purpose: Allows for removal of a Long Term Care Insurance Policy from a Fact Finder.",
        "operationId": "LongTermCareInsurancePolicies_DeleteById",
        "parameters": [
          {
            "description": "The Long Term Care Insurance Policy ID used to identify which Long Term Care Insurance Policy to remove",
            "format": "int32",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "integer"
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "204": {
            "description": "Deleted"
          },
          "400": {
            "description": "The request is invalid."
          },
          "401": {
            "description": "Unauthorized for Long Term Care Insurance Policy data access."
          },
          "403": {
            "description": "Request is restricted for access to Long Term Care Insurance Policy."
          },
          "404": {
            "description": "Long Term Care Insurance Policy not found."
          }
        },
        "tags": [
          "LongTermCareInsurancePolicies"
        ]
      },
      "get": {
        "consumes": [],
        "deprecated": false,
        "description": "Description: This operation retrieves a single Long Term Care Insurance Policy for the specified Long Term Care Insurance Policy ID.<br />\r\n              Purpose: Provides access to the Long Term Care Insurance Policy including description and premium.",
        "operationId": "LongTermCareInsurancePolicies_GetById",
        "parameters": [
          {
            "description": "The ID of the Long Term Care Insurance Policy used to retreive the Long Term Care Insurance Policy",
            "format": "int32",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "integer"
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/LongTermCareInsurancePolicyWithIdModel"
            }
          },
          "400": {
            "description": "The request is invalid."
          },
          "401": {
            "description": "Unauthorized for Long Term Care Insurance Policy data access."
          },
          "403": {
            "description": "Request is restricted for access to Long Term Care Insurance Policy."
          },
          "404": {
            "description": "Long Term Care Insurance Policy not found."
          }
        },
        "tags": [
          "LongTermCareInsurancePolicies"
        ]
      },
      "put": {
        "consumes": [
          "application/json",
          "text/json"
        ],
        "deprecated": false,
        "description": "Description: The operation updates a Long Term Care Insurance Policy.<br />\r\n              Purpose: Allows for complete replacement of a Long Term Care Insurance Policy on a Fact Finder.",
        "operationId": "LongTermCareInsurancePolicies_PutByIdModel",
        "parameters": [
          {
            "description": "The existing Long Term Care Insurance Policy ID used to identify which Long Term Care Insurance Policy to update",
            "format": "int32",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "integer"
          },
          {
            "description": "The Long Term Care Insurance Policy to be updated on a Fact Finder",
            "in": "body",
            "name": "model",
            "required": true,
            "schema": {
              "$ref": "#/definitions/LongTermCareInsurancePolicyModel"
            }
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/LongTermCareInsurancePolicyWithIdModel"
            }
          },
          "400": {
            "description": "The request is invalid."
          },
          "401": {
            "description": "Unauthorized for Long Term Care Insurance Policy data access."
          },
          "403": {
            "description": "Request is restricted for access to Long Term Care Insurance Policy."
          },
          "404": {
            "description": "Long Term Care Insurance Policy not found."
          }
        },
        "tags": [
          "LongTermCareInsurancePolicies"
        ]
      }
    },
    "/api/MajorPurchaseGoalTypes": {
      "get": {
        "consumes": [],
        "deprecated": false,
        "description": "Description: This operation retrieves all Major Purchase Goal Types for the specified country.<br />\r\n              Purpose: Provides access to the Major Purchase Goal Types including id and type description.",
        "operationId": "MajorPurchaseGoalTypes_GetByCountry",
        "parameters": [
          {
            "description": "The country used to filter Major Purchase Goal Types",
            "enum": [
              "UnitedStates",
              "Canada"
            ],
            "in": "query",
            "name": "country",
            "required": true,
            "type": "string"
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/MajorPurchaseGoalTypesModel"
            }
          },
          "400": {
            "description": "The request is invalid."
          },
          "404": {
            "description": "Major Purchase Goal Type not found."
          }
        },
        "tags": [
          "MajorPurchaseGoalTypes"
        ]
      }
    },
    "/api/MajorPurchaseGoalTypes/{id}": {
      "get": {
        "consumes": [],
        "deprecated": false,
        "description": "Description: This operation retrieves the Major Purchase Goal Type for the specified id.<br />\r\n              Purpose: Provides access to the Major Purchase Goal Types including id and type description.",
        "operationId": "MajorPurchaseGoalTypes_GetById",
        "parameters": [
          {
            "description": "The ID of Major Purchase Goal Type used to retreive the Major Purchase Goal Type information",
            "format": "int32",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "integer"
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/MajorPurchaseGoalTypeModel"
            }
          },
          "400": {
            "description": "The request is invalid."
          },
          "404": {
            "description": "Major Purchase Goal Type not found."
          }
        },
        "tags": [
          "MajorPurchaseGoalTypes"
        ]
      }
    },
    "/api/MajorPurchaseGoals": {
      "get": {
        "consumes": [],
        "deprecated": false,
        "description": "Description: This operation retrieves all Major Purchases for the specified Fact Finder ID.<br />\r\n              Purpose: Provides access to the Major Purchases including description and amount.",
        "operationId": "MajorPurchaseGoals_GetMajorPurchaseGoalsByFactFinderIdByFactfinderid",
        "parameters": [
          {
            "description": "The ID of the Fact Finder used to retrieve Major Purchases",
            "format": "int32",
            "in": "query",
            "name": "factFinderId",
            "required": true,
            "type": "integer"
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/MajorPurchaseGoalsModel"
            }
          },
          "400": {
            "description": "The request is invalid."
          },
          "401": {
            "description": "Unauthorized for Major Purchase data access."
          },
          "403": {
            "description": "Request is restricted for access to Major Purchase."
          },
          "404": {
            "description": "Major Purchase not found."
          }
        },
        "tags": [
          "MajorPurchaseGoals"
        ]
      },
      "post": {
        "consumes": [
          "application/json",
          "text/json"
        ],
        "deprecated": false,
        "description": "Description: The operation creates a Major Purchase.<br />\r\n              Purpose: Allows for creation of Major Purchases on a Fact Finder.",
        "operationId": "MajorPurchaseGoals_PostByModel",
        "parameters": [
          {
            "description": "The Major Purchase to be added to the Fact Finder",
            "in": "body",
            "name": "model",
            "required": true,
            "schema": {
              "$ref": "#/definitions/MajorPurchaseGoalModel"
            }
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "201": {
            "description": "Created",
            "schema": {
              "$ref": "#/definitions/MajorPurchaseGoalWithIdModel"
            }
          },
          "400": {
            "description": "The request is invalid."
          },
          "401": {
            "description": "Unauthorized for Major Purchase data access."
          },
          "403": {
            "description": "Request is restricted for access to Major Purchase."
          },
          "404": {
            "description": "Major Purchase not found."
          }
        },
        "tags": [
          "MajorPurchaseGoals"
        ]
      }
    },
    "/api/MajorPurchaseGoals/{id}": {
      "delete": {
        "consumes": [],
        "deprecated": false,
        "description": "Description: The operation removes a Major Purchase tied to a Fact Finder.<br />\r\n              Purpose: Allows for removal of a Major Purchase from a Fact Finder.",
        "operationId": "MajorPurchaseGoals_DeleteById",
        "parameters": [
          {
            "description": "The Major Purchase ID used to identify which Major Purchase to remove",
            "format": "int32",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "integer"
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "204": {
            "description": "Deleted"
          },
          "400": {
            "description": "The request is invalid."
          },
          "401": {
            "description": "Unauthorized for Major Purchase data access."
          },
          "403": {
            "description": "Request is restricted for access to Major Purchase."
          },
          "404": {
            "description": "Major Purchase not found."
          }
        },
        "tags": [
          "MajorPurchaseGoals"
        ]
      },
      "get": {
        "consumes": [],
        "deprecated": false,
        "description": "Description: This operation retrieves a single Major Purchase for the specified Major Purchase ID.<br />\r\n              Purpose: Provides access to the Major Purchase including description and amount.",
        "operationId": "MajorPurchaseGoals_GetById",
        "parameters": [
          {
            "description": "The ID of the Major Purchase used to retreive the Major Purchase",
            "format": "int32",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "integer"
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/MajorPurchaseGoalWithIdModel"
            }
          },
          "400": {
            "description": "The request is invalid."
          },
          "401": {
            "description": "Unauthorized for Major Purchase data access."
          },
          "403": {
            "description": "Request is restricted for access to Major Purchase."
          },
          "404": {
            "description": "Major Purchase not found."
          }
        },
        "tags": [
          "MajorPurchaseGoals"
        ]
      },
      "put": {
        "consumes": [
          "application/json",
          "text/json"
        ],
        "deprecated": false,
        "description": "Description: The operation updates a Major Purchase.<br />\r\n              Purpose: Allows for complete replacement of a Major Purchase on a Fact Finder.",
        "operationId": "MajorPurchaseGoals_PutByIdModel",
        "parameters": [
          {
            "description": "The existing Major Purchase ID used to identify which Major Purchase to update",
            "format": "int32",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "integer"
          },
          {
            "description": "The Major Purchase to be updated on a Fact Finder",
            "in": "body",
            "name": "model",
            "required": true,
            "schema": {
              "$ref": "#/definitions/MajorPurchaseGoalModel"
            }
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/MajorPurchaseGoalWithIdModel"
            }
          },
          "400": {
            "description": "The request is invalid."
          },
          "401": {
            "description": "Unauthorized for Major Purchase data access."
          },
          "403": {
            "description": "Request is restricted for access to Major Purchase."
          },
          "404": {
            "description": "Major Purchase not found."
          }
        },
        "tags": [
          "MajorPurchaseGoals"
        ]
      }
    },
    "/api/Presentation/Accounts": {
      "get": {
        "consumes": [],
        "deprecated": false,
        "description": "Description: This operation retrieves all current Accounts for the specified Fact Finder ID, as well as\r\n                           all of the holdings and savings strategies belonging to those accounts.<br />\r\n              Purpose: Provides access to the Accounts in a Fact Finder as well as any sub-entities belonging to them.",
        "operationId": "Presentation_GetAccountsByFactfinderidExternalsourceid",
        "parameters": [
          {
            "description": "The ID of the Fact Finder used to retrieve Accounts",
            "format": "int32",
            "in": "query",
            "name": "factFinderId",
            "required": true,
            "type": "integer"
          },
          {
            "description": "The external ID used to filter Accounts",
            "in": "query",
            "name": "externalSourceId",
            "required": false,
            "type": "string"
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/AccountsWithSubEntitiesModel"
            }
          },
          "400": {
            "description": "The request is invalid."
          },
          "401": {
            "description": "Unauthorized for Account data access."
          },
          "403": {
            "description": "Request is restricted for access to Account."
          },
          "404": {
            "description": "Account not found."
          }
        },
        "tags": [
          "Presentation"
        ]
      }
    },
    "/api/Presentation/Demographics/Owners": {
      "get": {
        "consumes": [],
        "deprecated": false,
        "description": "Description: This operation retrieves owner values for the fact finder based on demographics data\r\n              Purpose: Provides the list of valid options for owner, student, beneficiary, etc.",
        "operationId": "Presentation_GetDemographicOwnersByFactfinderid",
        "parameters": [
          {
            "description": "The ID of the Fact Finder used to retrieve owners.",
            "format": "int32",
            "in": "query",
            "name": "factFinderId",
            "required": true,
            "type": "integer"
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/OwnersModel"
            }
          },
          "400": {
            "description": "The request is invalid."
          },
          "401": {
            "description": "Unauthorized for Demographic information data access."
          },
          "403": {
            "description": "Request is restricted for access to Demographic information."
          },
          "404": {
            "description": "Fact Finder not found."
          }
        },
        "tags": [
          "Presentation"
        ]
      }
    },
    "/api/Presentation/Demographics/Relationships": {
      "get": {
        "consumes": [],
        "deprecated": false,
        "description": "Description: This operation retrieves all relationship types relevant to demographics.<br />\r\n              Purpose: Provides a list of relationship types organized by whether or not they can be defined as children.",
        "operationId": "Presentation_GetDemographicRelationships",
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/RelationshipTypesModel"
            }
          },
          "400": {
            "description": "The request is invalid."
          },
          "404": {
            "description": "Object not found."
          }
        },
        "tags": [
          "Presentation"
        ]
      }
    },
    "/api/Presentation/Incomes": {
      "get": {
        "consumes": [],
        "deprecated": false,
        "description": "Description: This operation retrieves all current Incomes for the specified Fact Finder ID.<br />\r\n              Purpose: Provides access to the Incomes in a Fact Finder, filtered by Incomes that are current.",
        "operationId": "Presentation_GetIncomesByFactfinderid",
        "parameters": [
          {
            "description": "The ID of the Fact Finder used to retrieve Incomes",
            "format": "int32",
            "in": "query",
            "name": "factFinderId",
            "required": true,
            "type": "integer"
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/IncomesModel"
            }
          },
          "400": {
            "description": "The request is invalid."
          },
          "401": {
            "description": "Unauthorized for Income data access."
          },
          "403": {
            "description": "Request is restricted for access to Income."
          },
          "404": {
            "description": "Income not found."
          }
        },
        "tags": [
          "Presentation"
        ]
      }
    },
    "/api/Presentation/Liabilities": {
      "get": {
        "consumes": [],
        "deprecated": false,
        "description": "Description: This operation retrieves all current Liabilities for the specified Fact Finder ID.<br />\r\n              Purpose: Provides access to the Liabilities in a Fact Finder, filtered by Liabilities that are current.",
        "operationId": "Presentation_GetLiabilitiesByFactfinderid",
        "parameters": [
          {
            "description": "The ID of the Fact Finder used to retrieve Liabilities",
            "format": "int32",
            "in": "query",
            "name": "factFinderId",
            "required": true,
            "type": "integer"
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/LiabilitiesModel"
            }
          },
          "400": {
            "description": "The request is invalid."
          },
          "401": {
            "description": "Unauthorized for Liability data access."
          },
          "403": {
            "description": "Request is restricted for access to Liability."
          },
          "404": {
            "description": "Liability not found."
          }
        },
        "tags": [
          "Presentation"
        ]
      }
    },
    "/api/Presentation/LifeInsurancePolicies": {
      "get": {
        "consumes": [],
        "deprecated": false,
        "description": "Description: This operation retrieves all life insurance policies, including subaccounts if available, for the specified Fact Finder ID.<br />\r\n              Purpose: Provides access to the Life Insurance Policies in a Fact Finder.",
        "operationId": "Presentation_GetLifeInsurancePoliciesByFactfinderid",
        "parameters": [
          {
            "description": "The ID of the Fact Finder used to retrieve Life Insurance Policies.",
            "format": "int32",
            "in": "query",
            "name": "factFinderId",
            "required": true,
            "type": "integer"
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/LifeInsurancePoliciesWithSubEntitiesModel"
            }
          },
          "400": {
            "description": "The request is invalid."
          },
          "401": {
            "description": "Unauthorized for Life Insurance Policy data access."
          },
          "403": {
            "description": "Request is restricted for access to Life Insurance Policy."
          },
          "404": {
            "description": "Life Insurance Policy not found."
          }
        },
        "tags": [
          "Presentation"
        ]
      }
    },
    "/api/Presentation/Pensions": {
      "get": {
        "consumes": [],
        "deprecated": false,
        "description": "Description: This operation retrieves all future Defined Benefit Pensions for the specified Fact Finder ID.<br />\r\n              Purpose: Provides access to the Pensions in a Fact Finder, filtered by Pensions that are in the future.",
        "operationId": "Presentation_GetPensionsByFactfinderid",
        "parameters": [
          {
            "description": "The ID of the Fact Finder used to retrieve Pensions.",
            "format": "int32",
            "in": "query",
            "name": "factFinderId",
            "required": true,
            "type": "integer"
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/DefinedBenefitPensionsModel"
            }
          },
          "400": {
            "description": "The request is invalid."
          },
          "401": {
            "description": "Unauthorized for Defined Benefit Pension data access."
          },
          "403": {
            "description": "Request is restricted for access to Defined Benefit Pension."
          },
          "404": {
            "description": "Defined Benefit Pension not found."
          }
        },
        "tags": [
          "Presentation"
        ]
      }
    },
    "/api/RealEstateAssets": {
      "get": {
        "consumes": [],
        "deprecated": false,
        "description": "Description: This operation retrieves all Real Estate Assets for the specified Fact Finder ID.<br />\r\n              Purpose: Provides access to the Real Estate Assets including description and market value.",
        "operationId": "RealEstateAssets_GetRealEstateAssetsByFactFinderIdByFactfinderid",
        "parameters": [
          {
            "description": "The ID of the Fact Finder used to retrieve Real Estate Assets",
            "format": "int32",
            "in": "query",
            "name": "factFinderId",
            "required": true,
            "type": "integer"
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/RealEstateAssetsModel"
            }
          },
          "400": {
            "description": "The request is invalid."
          },
          "401": {
            "description": "Unauthorized for Real Estate Asset data access."
          },
          "403": {
            "description": "Request is restricted for access to Real Estate Asset."
          },
          "404": {
            "description": "Real Estate Asset not found."
          }
        },
        "tags": [
          "RealEstateAssets"
        ]
      },
      "post": {
        "consumes": [
          "application/json",
          "text/json"
        ],
        "deprecated": false,
        "description": "Description: The operation creates a Real Estate Asset.<br />\r\n              Purpose: Allows for creation of Real Estate Assets on a Fact Finder.",
        "operationId": "RealEstateAssets_PostByModel",
        "parameters": [
          {
            "description": "The Real Estate Asset to be added to the Fact Finder",
            "in": "body",
            "name": "model",
            "required": true,
            "schema": {
              "$ref": "#/definitions/RealEstateAssetModel"
            }
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "201": {
            "description": "Created",
            "schema": {
              "$ref": "#/definitions/RealEstateAssetWithIdModel"
            }
          },
          "400": {
            "description": "The request is invalid."
          },
          "401": {
            "description": "Unauthorized for Real Estate Asset data access."
          },
          "403": {
            "description": "Request is restricted for access to Real Estate Asset."
          },
          "404": {
            "description": "Real Estate Asset not found."
          }
        },
        "tags": [
          "RealEstateAssets"
        ]
      }
    },
    "/api/RealEstateAssets/{id}": {
      "delete": {
        "consumes": [],
        "deprecated": false,
        "description": "Description: The operation removes a Real Estate Asset tied to a Fact Finder.<br />\r\n              Purpose: Allows for removal of a Real Estate Asset from a Fact Finder.",
        "operationId": "RealEstateAssets_DeleteById",
        "parameters": [
          {
            "description": "The Real Estate Asset ID used to identify which Real Estate Asset to remove",
            "format": "int32",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "integer"
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "204": {
            "description": "Deleted"
          },
          "400": {
            "description": "The request is invalid."
          },
          "401": {
            "description": "Unauthorized for Real Estate Asset data access."
          },
          "403": {
            "description": "Request is restricted for access to Real Estate Asset."
          },
          "404": {
            "description": "Real Estate Asset not found."
          }
        },
        "tags": [
          "RealEstateAssets"
        ]
      },
      "get": {
        "consumes": [],
        "deprecated": false,
        "description": "Description: This operation retrieves a single Real Estate Asset for the specified Real Estate Asset ID.<br />\r\n              Purpose: Provides access to the Real Estate Asset including description and market value.",
        "operationId": "RealEstateAssets_GetById",
        "parameters": [
          {
            "description": "The ID of the Real Estate Asset used to retreive the Real Estate Asset",
            "format": "int32",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "integer"
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/RealEstateAssetWithIdModel"
            }
          },
          "400": {
            "description": "The request is invalid."
          },
          "401": {
            "description": "Unauthorized for Real Estate Asset data access."
          },
          "403": {
            "description": "Request is restricted for access to Real Estate Asset."
          },
          "404": {
            "description": "Real Estate Asset not found."
          }
        },
        "tags": [
          "RealEstateAssets"
        ]
      },
      "put": {
        "consumes": [
          "application/json",
          "text/json"
        ],
        "deprecated": false,
        "description": "Description: The operation updates a Real Estate Asset.<br />\r\n              Purpose: Allows for complete replacement of a Real Estate Asset on a Fact Finder.",
        "operationId": "RealEstateAssets_PutByIdModel",
        "parameters": [
          {
            "description": "The existing Real Estate Asset ID used to identify which Real Estate Asset to update",
            "format": "int32",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "integer"
          },
          {
            "description": "The Real Estate Asset to be updated on a Fact Finder",
            "in": "body",
            "name": "model",
            "required": true,
            "schema": {
              "$ref": "#/definitions/RealEstateAssetModel"
            }
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/RealEstateAssetWithIdModel"
            }
          },
          "400": {
            "description": "The request is invalid."
          },
          "401": {
            "description": "Unauthorized for Real Estate Asset data access."
          },
          "403": {
            "description": "Request is restricted for access to Real Estate Asset."
          },
          "404": {
            "description": "Real Estate Asset not found."
          }
        },
        "tags": [
          "RealEstateAssets"
        ]
      }
    },
    "/api/RetirementGoals": {
      "get": {
        "consumes": [],
        "deprecated": false,
        "description": "Description: This operation retrieves all Retirement Goals for the specified Fact Finder ID.<br />\r\n              Purpose: Provides access to the Retirement Goals including retirement date.",
        "operationId": "RetirementGoals_GetRetirementGoalsByFactFinderIdByFactfinderid",
        "parameters": [
          {
            "description": "The ID of the Fact Finder used to retrieve Retirement Goals",
            "format": "int32",
            "in": "query",
            "name": "factFinderId",
            "required": true,
            "type": "integer"
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/RetirementGoalsModel"
            }
          },
          "400": {
            "description": "The request is invalid."
          },
          "401": {
            "description": "Unauthorized for Retirement Goal data access."
          },
          "403": {
            "description": "Request is restricted for access to Retirement Goal."
          },
          "404": {
            "description": "Retirement Goal not found."
          }
        },
        "tags": [
          "RetirementGoals"
        ]
      },
      "post": {
        "consumes": [
          "application/json",
          "text/json"
        ],
        "deprecated": false,
        "description": "Description: The operation creates a Retirement Goal.<br />\r\n              Purpose: Allows for creation of Retirement Goals on a Fact Finder.",
        "operationId": "RetirementGoals_PostByModel",
        "parameters": [
          {
            "description": "The Retirement Goal to be added to the Fact Finder",
            "in": "body",
            "name": "model",
            "required": true,
            "schema": {
              "$ref": "#/definitions/RetirementGoalModel"
            }
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "201": {
            "description": "Created",
            "schema": {
              "$ref": "#/definitions/RetirementGoalWithIdModel"
            }
          },
          "400": {
            "description": "The request is invalid."
          },
          "401": {
            "description": "Unauthorized for Retirement Goal data access."
          },
          "403": {
            "description": "Request is restricted for access to Retirement Goal."
          },
          "404": {
            "description": "Retirement Goal not found."
          }
        },
        "tags": [
          "RetirementGoals"
        ]
      }
    },
    "/api/RetirementGoals/{id}": {
      "delete": {
        "consumes": [],
        "deprecated": false,
        "description": "Description: The operation removes a Retirement Goal tied to a Fact Finder.<br />\r\n              Purpose: Allows for removal of a Retirement Goal from a Fact Finder.",
        "operationId": "RetirementGoals_DeleteById",
        "parameters": [
          {
            "description": "The Retirement Goal ID used to identify which Retirement Goal to remove",
            "format": "int32",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "integer"
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "204": {
            "description": "Deleted"
          },
          "400": {
            "description": "The request is invalid."
          },
          "401": {
            "description": "Unauthorized for Retirement Goal data access."
          },
          "403": {
            "description": "Request is restricted for access to Retirement Goal."
          },
          "404": {
            "description": "Retirement Goal not found."
          }
        },
        "tags": [
          "RetirementGoals"
        ]
      },
      "get": {
        "consumes": [],
        "deprecated": false,
        "description": "Description: This operation retrieves a single Retirement Goal for the specified Retirement Goal ID.<br />\r\n              Purpose: Provides access to the Retirement Goal including retirement date.",
        "operationId": "RetirementGoals_GetById",
        "parameters": [
          {
            "description": "The ID of the Retirement Goal used to retreive the Retirement Goal",
            "format": "int32",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "integer"
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/RetirementGoalWithIdModel"
            }
          },
          "400": {
            "description": "The request is invalid."
          },
          "401": {
            "description": "Unauthorized for Retirement Goal data access."
          },
          "403": {
            "description": "Request is restricted for access to Retirement Goal."
          },
          "404": {
            "description": "Retirement Goal not found."
          }
        },
        "tags": [
          "RetirementGoals"
        ]
      },
      "put": {
        "consumes": [
          "application/json",
          "text/json"
        ],
        "deprecated": false,
        "description": "Description: The operation updates a Retirement Goal.<br />\r\n              Purpose: Allows for complete replacement of a Retirement Goal on a Fact Finder.",
        "operationId": "RetirementGoals_PutByIdModel",
        "parameters": [
          {
            "description": "The existing Retirement Goal ID used to identify which Retirement Goal to update",
            "format": "int32",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "integer"
          },
          {
            "description": "The Retirement Goal to be updated on a Fact Finder",
            "in": "body",
            "name": "model",
            "required": true,
            "schema": {
              "$ref": "#/definitions/RetirementGoalModel"
            }
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/RetirementGoalWithIdModel"
            }
          },
          "400": {
            "description": "The request is invalid."
          },
          "401": {
            "description": "Unauthorized for Retirement Goal data access."
          },
          "403": {
            "description": "Request is restricted for access to Retirement Goal."
          },
          "404": {
            "description": "Retirement Goal not found."
          }
        },
        "tags": [
          "RetirementGoals"
        ]
      }
    },
    "/api/RetirementGoals/{retirementGoalId}/Expenses": {
      "get": {
        "consumes": [],
        "deprecated": false,
        "description": "Description: This operation retrieves all Retirement Goal Expenses for the specified Retirement Goal ID.<br />\r\n              Purpose: Provides access to the Retirement Goal Expenses including description and amount.",
        "operationId": "RetirementGoals_GetRetirementExpensesByRetirementGoalIdByRetirementgoalid",
        "parameters": [
          {
            "description": "The ID of the Retirement Goal used to retrieve Retirement Goal Expenses",
            "format": "int32",
            "in": "path",
            "name": "retirementGoalId",
            "required": true,
            "type": "integer"
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/RetirementExpensesModel"
            }
          },
          "400": {
            "description": "The request is invalid."
          },
          "401": {
            "description": "Unauthorized for Retirement Goal Expense data access."
          },
          "403": {
            "description": "Request is restricted for access to Retirement Goal Expense."
          },
          "404": {
            "description": "Retirement Goal Expense not found."
          }
        },
        "tags": [
          "RetirementGoals"
        ]
      },
      "post": {
        "consumes": [
          "application/json",
          "text/json"
        ],
        "deprecated": false,
        "description": "Description: The operation creates a Retirement Goal Expense.<br />\r\n              Purpose: Allows for creation of Retirement Goal Expenses on a Fact Finder.",
        "operationId": "RetirementGoals_PostByRetirementgoalidModel",
        "parameters": [
          {
            "description": "The ID of the Retirement Goal to add the Retirement Goal Expense to",
            "format": "int32",
            "in": "path",
            "name": "retirementGoalId",
            "required": true,
            "type": "integer"
          },
          {
            "description": "The Retirement Goal Expense to be added to the Fact Finder",
            "in": "body",
            "name": "model",
            "required": true,
            "schema": {
              "$ref": "#/definitions/RetirementExpenseModel"
            }
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "201": {
            "description": "Created",
            "schema": {
              "$ref": "#/definitions/RetirementExpenseWithIdModel"
            }
          },
          "400": {
            "description": "The request is invalid."
          },
          "401": {
            "description": "Unauthorized for Retirement Goal Expense data access."
          },
          "403": {
            "description": "Request is restricted for access to Retirement Goal Expense."
          },
          "404": {
            "description": "Retirement Goal Expense not found."
          }
        },
        "tags": [
          "RetirementGoals"
        ]
      }
    },
    "/api/RetirementGoals/{retirementGoalId}/Expenses/{id}": {
      "delete": {
        "consumes": [],
        "deprecated": false,
        "description": "Description: The operation removes a Retirement Goal Expense tied to a Fact Finder.<br />\r\n              Purpose: Allows for removal of a Retirement Goal Expense from a Fact Finder.",
        "operationId": "RetirementGoals_DeleteByRetirementgoalidId",
        "parameters": [
          {
            "description": "The Retirement Goal ID used to locate the Goal to delete the Retirement Goal Expense under",
            "format": "int32",
            "in": "path",
            "name": "retirementGoalId",
            "required": true,
            "type": "integer"
          },
          {
            "description": "The Retirement Goal Expense ID used to identify which Retirement Goal Expense to remove",
            "format": "int32",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "integer"
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "204": {
            "description": "Deleted"
          },
          "400": {
            "description": "The request is invalid."
          },
          "401": {
            "description": "Unauthorized for Retirement Goal Expense data access."
          },
          "403": {
            "description": "Request is restricted for access to Retirement Goal Expense."
          },
          "404": {
            "description": "Retirement Goal Expense not found."
          }
        },
        "tags": [
          "RetirementGoals"
        ]
      },
      "get": {
        "consumes": [],
        "deprecated": false,
        "description": "Description: This operation retrieves a single Retirement Goal Expense for the specified Retirement Goal Expense ID.<br />\r\n              Purpose: Provides access to the Retirement Goal Expense including description and amount.",
        "operationId": "RetirementGoals_GetRetirementExpenseByRetirementgoalidId",
        "parameters": [
          {
            "description": "The ID of the Retirement Goal used to retrieve the Retirement Goal Expense",
            "format": "int32",
            "in": "path",
            "name": "retirementGoalId",
            "required": true,
            "type": "integer"
          },
          {
            "description": "The ID of the Retirement Goal Expense used to retreive the Retirement Goal Expense",
            "format": "int32",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "integer"
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/RetirementExpenseWithIdModel"
            }
          },
          "400": {
            "description": "The request is invalid."
          },
          "401": {
            "description": "Unauthorized for Retirement Goal Expense data access."
          },
          "403": {
            "description": "Request is restricted for access to Retirement Goal Expense."
          },
          "404": {
            "description": "Retirement Goal Expense not found."
          }
        },
        "tags": [
          "RetirementGoals"
        ]
      },
      "put": {
        "consumes": [
          "application/json",
          "text/json"
        ],
        "deprecated": false,
        "description": "Description: The operation updates a Retirement Goal Expense.<br />\r\n              Purpose: Allows for complete replacement of a Retirement Goal Expense on a Fact Finder.",
        "operationId": "RetirementGoals_PutByRetirementgoalidIdModel",
        "parameters": [
          {
            "description": "The Retirement Goal ID used to locate the Goal to update the Retirement Goal Expense under",
            "format": "int32",
            "in": "path",
            "name": "retirementGoalId",
            "required": true,
            "type": "integer"
          },
          {
            "description": "The existing Retirement Goal Expense ID used to identify which Retirement Goal Expense to update",
            "format": "int32",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "integer"
          },
          {
            "description": "The Retirement Goal Expense to be updated on a Fact Finder",
            "in": "body",
            "name": "model",
            "required": true,
            "schema": {
              "$ref": "#/definitions/RetirementExpenseModel"
            }
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/RetirementExpenseWithIdModel"
            }
          },
          "400": {
            "description": "The request is invalid."
          },
          "401": {
            "description": "Unauthorized for Retirement Goal Expense data access."
          },
          "403": {
            "description": "Request is restricted for access to Retirement Goal Expense."
          },
          "404": {
            "description": "Retirement Goal Expense not found."
          }
        },
        "tags": [
          "RetirementGoals"
        ]
      }
    },
    "/api/ServiceInformation": {
      "get": {
        "consumes": [],
        "deprecated": false,
        "description": "Description: This operation retrieves information statistics for the current service.<br />\r\n              Purpose: Provides access to Service Information.",
        "operationId": "FactFinderServiceInformation_Get",
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/ServiceInformationModel"
            }
          },
          "404": {
            "description": "Object not found."
          }
        },
        "tags": [
          "FactFinderServiceInformation"
        ]
      }
    },
    "/api/StatesProvinces": {
      "get": {
        "consumes": [],
        "deprecated": false,
        "description": "Description: This operation retrieves all States and Provinces for the specified country.<br />\r\n              Purpose: Provides access to the States and Provinces.",
        "operationId": "StatesProvinces_GetByCountry",
        "parameters": [
          {
            "description": "The country used to filter States and Provinces",
            "enum": [
              "UnitedStates",
              "Canada"
            ],
            "in": "query",
            "name": "country",
            "required": true,
            "type": "string"
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/StatesProvincesModel"
            }
          },
          "400": {
            "description": "The request is invalid."
          },
          "404": {
            "description": "State or Province not found."
          }
        },
        "tags": [
          "StatesProvinces"
        ]
      }
    },
    "/api/StatesProvinces/{id}": {
      "get": {
        "consumes": [],
        "deprecated": false,
        "description": "Description: This operation retrieves the States and Provinces for the specified id.<br />\r\n              Purpose: Provides access to the States and Provinces.",
        "operationId": "StatesProvinces_GetById",
        "parameters": [
          {
            "description": "The ID of the State or Province used to retreive the State or Province information",
            "format": "int32",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "integer"
          }
        ],
        "produces": [
          "application/json",
          "text/json"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/StateProvinceModel"
            }
          },
          "400": {
            "description": "The request is invalid."
          },
          "404": {
            "description": "State or Province not found."
          }
        },
        "tags": [
          "StatesProvinces"
        ]
      }
    }
  },
  "definitions": {
    "AccountHoldingModel": {
      "properties": {
        "costBasis": {
          "format": "double",
          "type": "number"
        },
        "cusip": {
          "maxLength": 31,
          "minLength": 0,
          "type": "string"
        },
        "description": {
          "maxLength": 255,
          "minLength": 0,
          "type": "string"
        },
        "externalDestinationId": {
          "maxLength": 64,
          "minLength": 0,
          "type": "string"
        },
        "marketValue": {
          "format": "double",
          "type": "number"
        },
        "symbol": {
          "maxLength": 31,
          "minLength": 0,
          "type": "string"
        },
        "valuationDate": {
          "format": "date-time",
          "type": "string"
        }
      },
      "required": [
        "description"
      ],
      "type": "object"
    },
    "AccountHoldingWithIdModel": {
      "properties": {
        "accountHoldingId": {
          "format": "int32",
          "type": "integer"
        },
        "accountId": {
          "format": "int32",
          "type": "integer"
        },
        "costBasis": {
          "format": "double",
          "type": "number"
        },
        "cusip": {
          "type": "string"
        },
        "description": {
          "type": "string"
        },
        "externalDestinationId": {
          "type": "string"
        },
        "links": {
          "items": {
            "$ref": "#/definitions/ObjectLink"
          },
          "type": "array"
        },
        "marketValue": {
          "format": "double",
          "type": "number"
        },
        "symbol": {
          "type": "string"
        },
        "valuationDate": {
          "format": "date-time",
          "type": "string"
        }
      },
      "type": "object"
    },
    "AccountHoldingsModel": {
      "properties": {
        "holdings": {
          "items": {
            "$ref": "#/definitions/AccountHoldingWithIdModel"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "AccountHoldingsWithoutIdModel": {
      "properties": {
        "holdings": {
          "items": {
            "$ref": "#/definitions/AccountHoldingModel"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "AccountModel": {
      "properties": {
        "accountType": {
          "format": "int32",
          "type": "integer"
        },
        "description": {
          "maxLength": 255,
          "minLength": 0,
          "type": "string"
        },
        "externalDestinationId": {
          "maxLength": 64,
          "minLength": 0,
          "type": "string"
        },
        "externalSourceId": {
          "maxLength": 64,
          "minLength": 0,
          "type": "string"
        },
        "externalSourceName": {
          "maxLength": 64,
          "minLength": 0,
          "type": "string"
        },
        "factFinderId": {
          "format": "int32",
          "type": "integer"
        },
        "lastUpdated": {
          "format": "date-time",
          "type": "string"
        },
        "marketValue": {
          "format": "double",
          "type": "number"
        },
        "owner": {
          "enum": [
            "Client",
            "CoClient",
            "Joint",
            "Dependent",
            "Other"
          ],
          "type": "string"
        },
        "ownerDependentId": {
          "format": "int32",
          "type": "integer"
        }
      },
      "required": [
        "factFinderId",
        "description"
      ],
      "type": "object"
    },
    "AccountTypeModel": {
      "properties": {
        "allowedSavingsTypes": {
          "items": {
            "$ref": "#/definitions/SavingsTypeDomainObject"
          },
          "type": "array"
        },
        "id": {
          "format": "int32",
          "type": "integer"
        },
        "links": {
          "items": {
            "$ref": "#/definitions/ObjectLink"
          },
          "type": "array"
        },
        "name": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "AccountTypesModel": {
      "properties": {
        "accountTypes": {
          "items": {
            "$ref": "#/definitions/AccountTypeModel"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "AccountWithIdModel": {
      "properties": {
        "accountId": {
          "format": "int32",
          "type": "integer"
        },
        "accountType": {
          "format": "int32",
          "type": "integer"
        },
        "description": {
          "type": "string"
        },
        "externalDestinationId": {
          "type": "string"
        },
        "externalSourceId": {
          "type": "string"
        },
        "externalSourceName": {
          "type": "string"
        },
        "factFinderId": {
          "format": "int32",
          "type": "integer"
        },
        "lastUpdated": {
          "format": "date-time",
          "type": "string"
        },
        "links": {
          "items": {
            "$ref": "#/definitions/ObjectLink"
          },
          "type": "array"
        },
        "marketValue": {
          "format": "double",
          "type": "number"
        },
        "owner": {
          "enum": [
            "Client",
            "CoClient",
            "Joint",
            "Dependent",
            "Other"
          ],
          "type": "string"
        },
        "ownerDependentId": {
          "format": "int32",
          "type": "integer"
        }
      },
      "type": "object"
    },
    "AccountWithSubEntitiesModel": {
      "properties": {
        "accountId": {
          "format": "int32",
          "type": "integer"
        },
        "accountType": {
          "format": "int32",
          "type": "integer"
        },
        "description": {
          "type": "string"
        },
        "externalDestinationId": {
          "type": "string"
        },
        "externalSourceId": {
          "type": "string"
        },
        "externalSourceName": {
          "type": "string"
        },
        "factFinderId": {
          "format": "int32",
          "type": "integer"
        },
        "holdings": {
          "items": {
            "$ref": "#/definitions/AccountHoldingWithIdModel"
          },
          "type": "array"
        },
        "lastUpdated": {
          "format": "date-time",
          "type": "string"
        },
        "links": {
          "items": {
            "$ref": "#/definitions/ObjectLink"
          },
          "type": "array"
        },
        "marketValue": {
          "format": "double",
          "type": "number"
        },
        "owner": {
          "enum": [
            "Client",
            "CoClient",
            "Joint",
            "Dependent",
            "Other"
          ],
          "type": "string"
        },
        "ownerDependentId": {
          "format": "int32",
          "type": "integer"
        },
        "savingsStrategies": {
          "items": {
            "$ref": "#/definitions/SavingsStrategyWithIdModel"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "AccountsModel": {
      "properties": {
        "accounts": {
          "items": {
            "$ref": "#/definitions/AccountWithIdModel"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "AccountsWithSubEntitiesModel": {
      "properties": {
        "accounts": {
          "items": {
            "$ref": "#/definitions/AccountWithSubEntitiesModel"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "ClientModel": {
      "properties": {
        "clientId": {
          "format": "int32",
          "type": "integer"
        },
        "message": {
          "type": "string"
        },
        "ownerUser": {
          "type": "string"
        },
        "planId": {
          "format": "int32",
          "type": "integer"
        },
        "success": {
          "type": "boolean"
        }
      },
      "type": "object"
    },
    "ClientsModel": {
      "properties": {
        "externalDestinationName": {
          "maxLength": 49,
          "minLength": 0,
          "type": "string"
        },
        "factFinderId": {
          "format": "int32",
          "type": "integer"
        },
        "planAction": {
          "enum": [
            "New",
            "Duplicate",
            "Project",
            "Update"
          ],
          "type": "string"
        }
      },
      "required": [
        "factFinderId",
        "planAction"
      ],
      "type": "object"
    },
    "CriticalIllnessInsurancePoliciesModel": {
      "properties": {
        "criticalIllnessInsurancePolicies": {
          "items": {
            "$ref": "#/definitions/CriticalIllnessInsurancePolicyWithIdModel"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "CriticalIllnessInsurancePolicyModel": {
      "properties": {
        "benefit": {
          "format": "double",
          "type": "number"
        },
        "description": {
          "maxLength": 255,
          "minLength": 0,
          "type": "string"
        },
        "externalDestinationId": {
          "maxLength": 64,
          "minLength": 0,
          "type": "string"
        },
        "factFinderId": {
          "format": "int32",
          "type": "integer"
        },
        "frequency": {
          "format": "int32",
          "type": "integer"
        },
        "insured": {
          "enum": [
            "Client",
            "CoClient"
          ],
          "type": "string"
        },
        "policyType": {
          "format": "int32",
          "type": "integer"
        },
        "premium": {
          "format": "double",
          "type": "number"
        }
      },
      "required": [
        "factFinderId",
        "description"
      ],
      "type": "object"
    },
    "CriticalIllnessInsurancePolicyTypeModel": {
      "properties": {
        "id": {
          "format": "int32",
          "type": "integer"
        },
        "links": {
          "items": {
            "$ref": "#/definitions/ObjectLink"
          },
          "type": "array"
        },
        "name": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "CriticalIllnessInsurancePolicyTypesModel": {
      "properties": {
        "insurancePolicyTypes": {
          "items": {
            "$ref": "#/definitions/CriticalIllnessInsurancePolicyTypeModel"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "CriticalIllnessInsurancePolicyWithIdModel": {
      "properties": {
        "benefit": {
          "format": "double",
          "type": "number"
        },
        "description": {
          "type": "string"
        },
        "externalDestinationId": {
          "type": "string"
        },
        "factFinderId": {
          "format": "int32",
          "type": "integer"
        },
        "frequency": {
          "format": "int32",
          "type": "integer"
        },
        "insurancePolicyId": {
          "format": "int32",
          "type": "integer"
        },
        "insured": {
          "enum": [
            "Client",
            "CoClient"
          ],
          "type": "string"
        },
        "links": {
          "items": {
            "$ref": "#/definitions/ObjectLink"
          },
          "type": "array"
        },
        "policyType": {
          "format": "int32",
          "type": "integer"
        },
        "premium": {
          "format": "double",
          "type": "number"
        }
      },
      "type": "object"
    },
    "DefinedBenefitPensionModel": {
      "properties": {
        "description": {
          "maxLength": 255,
          "minLength": 0,
          "type": "string"
        },
        "estimatedAmount": {
          "format": "double",
          "type": "number"
        },
        "externalDestinationId": {
          "maxLength": 64,
          "minLength": 0,
          "type": "string"
        },
        "factFinderId": {
          "format": "int32",
          "type": "integer"
        },
        "member": {
          "enum": [
            "Client",
            "CoClient"
          ],
          "type": "string"
        },
        "startDate": {
          "format": "date-time",
          "type": "string"
        }
      },
      "required": [
        "factFinderId",
        "description"
      ],
      "type": "object"
    },
    "DefinedBenefitPensionWithIdModel": {
      "properties": {
        "definedBenefitPensionId": {
          "format": "int32",
          "type": "integer"
        },
        "description": {
          "type": "string"
        },
        "estimatedAmount": {
          "format": "double",
          "type": "number"
        },
        "externalDestinationId": {
          "type": "string"
        },
        "factFinderId": {
          "format": "int32",
          "type": "integer"
        },
        "links": {
          "items": {
            "$ref": "#/definitions/ObjectLink"
          },
          "type": "array"
        },
        "member": {
          "enum": [
            "Client",
            "CoClient"
          ],
          "type": "string"
        },
        "startDate": {
          "format": "date-time",
          "type": "string"
        }
      },
      "type": "object"
    },
    "DefinedBenefitPensionsModel": {
      "properties": {
        "definedBenefitPensions": {
          "items": {
            "$ref": "#/definitions/DefinedBenefitPensionWithIdModel"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "DemographicsDependentModel": {
      "properties": {
        "birthDate": {
          "format": "date-time",
          "type": "string"
        },
        "dependentOf": {
          "enum": [
            "Client",
            "CoClient",
            "Joint",
            "Other"
          ],
          "type": "string"
        },
        "externalDestinationId": {
          "maxLength": 64,
          "minLength": 0,
          "type": "string"
        },
        "firstName": {
          "maxLength": 255,
          "minLength": 0,
          "type": "string"
        },
        "lastName": {
          "maxLength": 255,
          "minLength": 0,
          "type": "string"
        },
        "relationship": {
          "enum": [
            "Son",
            "Daughter",
            "FosterSon",
            "FosterDaughter",
            "Grandson",
            "Granddaughter",
            "Nephew",
            "Niece",
            "MaleCousin",
            "FemaleCousin",
            "Father",
            "Mother",
            "Grandfather",
            "Grandmother",
            "Uncle",
            "Aunt",
            "Brother",
            "Sister",
            "SonInLaw",
            "DaughterInLaw",
            "MaleOther",
            "FemaleOther"
          ],
          "type": "string"
        }
      },
      "required": [
        "firstName",
        "lastName",
        "birthDate",
        "relationship",
        "dependentOf"
      ],
      "type": "object"
    },
    "DemographicsDependentWithIdModel": {
      "properties": {
        "birthDate": {
          "format": "date-time",
          "type": "string"
        },
        "demographicsId": {
          "format": "int32",
          "type": "integer"
        },
        "dependentId": {
          "format": "int32",
          "type": "integer"
        },
        "dependentOf": {
          "enum": [
            "Client",
            "CoClient",
            "Joint",
            "Other"
          ],
          "type": "string"
        },
        "externalDestinationId": {
          "type": "string"
        },
        "firstName": {
          "type": "string"
        },
        "lastName": {
          "type": "string"
        },
        "links": {
          "items": {
            "$ref": "#/definitions/ObjectLink"
          },
          "type": "array"
        },
        "relationship": {
          "enum": [
            "Son",
            "Daughter",
            "FosterSon",
            "FosterDaughter",
            "Grandson",
            "Granddaughter",
            "Nephew",
            "Niece",
            "MaleCousin",
            "FemaleCousin",
            "Father",
            "Mother",
            "Grandfather",
            "Grandmother",
            "Uncle",
            "Aunt",
            "Brother",
            "Sister",
            "SonInLaw",
            "DaughterInLaw",
            "MaleOther",
            "FemaleOther"
          ],
          "type": "string"
        }
      },
      "type": "object"
    },
    "DemographicsDependentsModel": {
      "properties": {
        "dependents": {
          "items": {
            "$ref": "#/definitions/DemographicsDependentWithIdModel"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "DemographicsModel": {
      "properties": {
        "city": {
          "type": "string"
        },
        "externalDestinationId": {
          "maxLength": 64,
          "minLength": 0,
          "type": "string"
        },
        "externalSourceId": {
          "type": "string"
        },
        "factFinderId": {
          "format": "int32",
          "type": "integer"
        },
        "head1": {
          "$ref": "#/definitions/FamilyHeadModel"
        },
        "head2": {
          "$ref": "#/definitions/FamilyHeadModel"
        },
        "jointAnalysis": {
          "type": "boolean"
        },
        "state": {
          "format": "int32",
          "type": "integer"
        }
      },
      "required": [
        "jointAnalysis",
        "head1",
        "factFinderId",
        "city",
        "state"
      ],
      "type": "object"
    },
    "DemographicsWithIdModel": {
      "properties": {
        "city": {
          "type": "string"
        },
        "created": {
          "format": "date-time",
          "type": "string"
        },
        "demographicsId": {
          "format": "int32",
          "type": "integer"
        },
        "externalDestinationId": {
          "type": "string"
        },
        "externalSourceId": {
          "type": "string"
        },
        "factFinderId": {
          "format": "int32",
          "type": "integer"
        },
        "head1": {
          "$ref": "#/definitions/FamilyHeadModel"
        },
        "head2": {
          "$ref": "#/definitions/FamilyHeadModel"
        },
        "jointAnalysis": {
          "type": "boolean"
        },
        "links": {
          "items": {
            "$ref": "#/definitions/ObjectLink"
          },
          "type": "array"
        },
        "lockRetirement": {
          "type": "boolean"
        },
        "state": {
          "format": "int32",
          "type": "integer"
        }
      },
      "type": "object"
    },
    "DisabilityInsurancePoliciesModel": {
      "properties": {
        "disabilityInsurancePolicies": {
          "items": {
            "$ref": "#/definitions/DisabilityInsurancePolicyWithIdModel"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "DisabilityInsurancePolicyModel": {
      "properties": {
        "benefit": {
          "format": "double",
          "type": "number"
        },
        "benefitFrequency": {
          "format": "int32",
          "type": "integer"
        },
        "benefitType": {
          "enum": [
            "Dollar",
            "Percent"
          ],
          "type": "string"
        },
        "description": {
          "maxLength": 255,
          "minLength": 0,
          "type": "string"
        },
        "externalDestinationId": {
          "maxLength": 64,
          "minLength": 0,
          "type": "string"
        },
        "factFinderId": {
          "format": "int32",
          "type": "integer"
        },
        "insured": {
          "enum": [
            "Client",
            "CoClient"
          ],
          "type": "string"
        },
        "policyType": {
          "format": "int32",
          "type": "integer"
        },
        "premium": {
          "format": "double",
          "type": "number"
        },
        "premiumFrequency": {
          "format": "int32",
          "type": "integer"
        }
      },
      "required": [
        "factFinderId",
        "description"
      ],
      "type": "object"
    },
    "DisabilityInsurancePolicyTypeModel": {
      "properties": {
        "id": {
          "format": "int32",
          "type": "integer"
        },
        "links": {
          "items": {
            "$ref": "#/definitions/ObjectLink"
          },
          "type": "array"
        },
        "name": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "DisabilityInsurancePolicyTypesModel": {
      "properties": {
        "insurancePolicyTypes": {
          "items": {
            "$ref": "#/definitions/DisabilityInsurancePolicyTypeModel"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "DisabilityInsurancePolicyWithIdModel": {
      "properties": {
        "benefit": {
          "format": "double",
          "type": "number"
        },
        "benefitFrequency": {
          "format": "int32",
          "type": "integer"
        },
        "benefitType": {
          "enum": [
            "Dollar",
            "Percent"
          ],
          "type": "string"
        },
        "description": {
          "type": "string"
        },
        "externalDestinationId": {
          "type": "string"
        },
        "factFinderId": {
          "format": "int32",
          "type": "integer"
        },
        "insurancePolicyId": {
          "format": "int32",
          "type": "integer"
        },
        "insured": {
          "enum": [
            "Client",
            "CoClient"
          ],
          "type": "string"
        },
        "links": {
          "items": {
            "$ref": "#/definitions/ObjectLink"
          },
          "type": "array"
        },
        "policyType": {
          "format": "int32",
          "type": "integer"
        },
        "premium": {
          "format": "double",
          "type": "number"
        },
        "premiumFrequency": {
          "format": "int32",
          "type": "integer"
        }
      },
      "type": "object"
    },
    "EducationExpenseModel": {
      "properties": {
        "annualCost": {
          "format": "double",
          "type": "number"
        },
        "externalDestinationId": {
          "maxLength": 64,
          "minLength": 0,
          "type": "string"
        },
        "member": {
          "enum": [
            "Client",
            "CoClient",
            "Dependent"
          ],
          "type": "string"
        },
        "memberDependentId": {
          "format": "int32",
          "type": "integer"
        },
        "startYear": {
          "format": "date-time",
          "type": "string"
        },
        "years": {
          "format": "int32",
          "maximum": 99,
          "minimum": 1,
          "type": "integer"
        }
      },
      "type": "object"
    },
    "EducationExpenseWithIdModel": {
      "properties": {
        "annualCost": {
          "format": "double",
          "type": "number"
        },
        "educationExpenseId": {
          "format": "int32",
          "type": "integer"
        },
        "educationGoalId": {
          "format": "int32",
          "type": "integer"
        },
        "externalDestinationId": {
          "type": "string"
        },
        "links": {
          "items": {
            "$ref": "#/definitions/ObjectLink"
          },
          "type": "array"
        },
        "member": {
          "enum": [
            "Client",
            "CoClient",
            "Dependent"
          ],
          "type": "string"
        },
        "memberDependentId": {
          "format": "int32",
          "type": "integer"
        },
        "startYear": {
          "format": "date-time",
          "type": "string"
        },
        "years": {
          "format": "int32",
          "type": "integer"
        }
      },
      "type": "object"
    },
    "EducationExpensesModel": {
      "properties": {
        "educationExpenses": {
          "items": {
            "$ref": "#/definitions/EducationExpenseWithIdModel"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "EducationGoalModel": {
      "properties": {
        "description": {
          "maxLength": 255,
          "minLength": 0,
          "type": "string"
        },
        "externalDestinationId": {
          "maxLength": 64,
          "minLength": 0,
          "type": "string"
        },
        "factFinderId": {
          "format": "int32",
          "type": "integer"
        },
        "projectedCost": {
          "format": "double",
          "type": "number"
        }
      },
      "required": [
        "factFinderId",
        "description"
      ],
      "type": "object"
    },
    "EducationGoalWithIdModel": {
      "properties": {
        "description": {
          "type": "string"
        },
        "educationGoalId": {
          "format": "int32",
          "type": "integer"
        },
        "externalDestinationId": {
          "type": "string"
        },
        "factFinderId": {
          "format": "int32",
          "type": "integer"
        },
        "links": {
          "items": {
            "$ref": "#/definitions/ObjectLink"
          },
          "type": "array"
        },
        "projectedCost": {
          "format": "double",
          "type": "number"
        }
      },
      "type": "object"
    },
    "EducationGoalsModel": {
      "properties": {
        "educationGoals": {
          "items": {
            "$ref": "#/definitions/EducationGoalWithIdModel"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "ExpenseModel": {
      "properties": {
        "annualPeriod": {
          "format": "int32",
          "maximum": 99,
          "minimum": 1,
          "type": "integer"
        },
        "description": {
          "maxLength": 255,
          "minLength": 0,
          "type": "string"
        },
        "endDate": {
          "format": "date-time",
          "type": "string"
        },
        "expenseAmount": {
          "format": "double",
          "type": "number"
        },
        "expenseTypeId": {
          "format": "int32",
          "type": "integer"
        },
        "externalDestinationId": {
          "maxLength": 64,
          "minLength": 0,
          "type": "string"
        },
        "factFinderId": {
          "format": "int32",
          "type": "integer"
        },
        "frequency": {
          "format": "int32",
          "type": "integer"
        },
        "member": {
          "enum": [
            "Client",
            "CoClient",
            "Joint"
          ],
          "type": "string"
        },
        "startDate": {
          "format": "date-time",
          "type": "string"
        }
      },
      "required": [
        "factFinderId",
        "description"
      ],
      "type": "object"
    },
    "ExpenseTypeModel": {
      "properties": {
        "id": {
          "format": "int32",
          "type": "integer"
        },
        "links": {
          "items": {
            "$ref": "#/definitions/ObjectLink"
          },
          "type": "array"
        },
        "name": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "ExpenseTypesModel": {
      "properties": {
        "expenseTypes": {
          "items": {
            "$ref": "#/definitions/ExpenseTypeModel"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "ExpenseWithIdModel": {
      "properties": {
        "annualPeriod": {
          "format": "int32",
          "type": "integer"
        },
        "description": {
          "type": "string"
        },
        "endDate": {
          "format": "date-time",
          "type": "string"
        },
        "expenseAmount": {
          "format": "double",
          "type": "number"
        },
        "expenseId": {
          "format": "int32",
          "type": "integer"
        },
        "expenseTypeId": {
          "format": "int32",
          "type": "integer"
        },
        "externalDestinationId": {
          "type": "string"
        },
        "factFinderId": {
          "format": "int32",
          "type": "integer"
        },
        "frequency": {
          "format": "int32",
          "type": "integer"
        },
        "links": {
          "items": {
            "$ref": "#/definitions/ObjectLink"
          },
          "type": "array"
        },
        "member": {
          "enum": [
            "Client",
            "CoClient",
            "Joint"
          ],
          "type": "string"
        },
        "startDate": {
          "format": "date-time",
          "type": "string"
        }
      },
      "type": "object"
    },
    "ExpensesModel": {
      "properties": {
        "expenses": {
          "items": {
            "$ref": "#/definitions/ExpenseWithIdModel"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "FactFinderEntityModel": {
      "properties": {
        "householdId": {
          "format": "int32",
          "maximum": 2147483647,
          "minimum": 0,
          "type": "integer"
        },
        "modules": {
          "items": {
            "enum": [
              "Demographics",
              "Assets",
              "Liabilities",
              "Incomes",
              "Expenses",
              "Insurance",
              "Retirement",
              "Education",
              "MajorPurchase"
            ],
            "type": "string"
          },
          "type": "array"
        },
        "planLevel": {
          "enum": [
            "Level2",
            "Level1"
          ],
          "type": "string"
        }
      },
      "required": [
        "householdId"
      ],
      "type": "object"
    },
    "FactFinderModel": {
      "properties": {
        "status": {
          "enum": [
            "New",
            "InProgress",
            "ClientSubmitted",
            "AdvisorAccepted",
            "Canceled",
            "Draft",
            "Deleted"
          ],
          "type": "string"
        }
      },
      "type": "object"
    },
    "FactFinderModuleModel": {
      "properties": {
        "available": {
          "type": "boolean"
        },
        "moduleName": {
          "enum": [
            "Demographics",
            "Assets",
            "Liabilities",
            "Incomes",
            "Expenses",
            "Insurance",
            "Retirement",
            "Education",
            "MajorPurchase"
          ],
          "type": "string"
        },
        "visited": {
          "type": "boolean"
        }
      },
      "required": [
        "moduleName"
      ],
      "type": "object"
    },
    "FactFinderModuleWithIdModel": {
      "properties": {
        "available": {
          "type": "boolean"
        },
        "factFinderId": {
          "format": "int32",
          "type": "integer"
        },
        "links": {
          "items": {
            "$ref": "#/definitions/ObjectLink"
          },
          "type": "array"
        },
        "moduleId": {
          "format": "int32",
          "type": "integer"
        },
        "moduleName": {
          "enum": [
            "Demographics",
            "Assets",
            "Liabilities",
            "Incomes",
            "Expenses",
            "Insurance",
            "Retirement",
            "Education",
            "MajorPurchase"
          ],
          "type": "string"
        },
        "visited": {
          "type": "boolean"
        }
      },
      "type": "object"
    },
    "FactFinderModulesModel": {
      "properties": {
        "factFinderModules": {
          "items": {
            "$ref": "#/definitions/FactFinderModuleWithIdModel"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "FactFinderPopulatableEntityModel": {
      "properties": {
        "householdId": {
          "format": "int32",
          "maximum": 2147483647,
          "minimum": 0,
          "type": "integer"
        },
        "modules": {
          "items": {
            "enum": [
              "Demographics",
              "Assets",
              "Liabilities",
              "Incomes",
              "Expenses",
              "Insurance",
              "Retirement",
              "Education",
              "MajorPurchase"
            ],
            "type": "string"
          },
          "type": "array"
        },
        "planId": {
          "format": "int32",
          "maximum": 2147483647,
          "minimum": 0,
          "type": "integer"
        },
        "planLevel": {
          "enum": [
            "Level2",
            "Level1"
          ],
          "type": "string"
        }
      },
      "required": [
        "householdId"
      ],
      "type": "object"
    },
    "FactFinderPopulationModel": {
      "properties": {
        "planId": {
          "format": "int32",
          "maximum": 2147483647,
          "minimum": 0,
          "type": "integer"
        }
      },
      "type": "object"
    },
    "FactFinderSnapshotWithIdModel": {
      "properties": {
        "created": {
          "format": "date-time",
          "type": "string"
        },
        "factFinderData": {
          "$ref": "#/definitions/IFactFinderSnapshotDomainObject"
        },
        "factFinderId": {
          "format": "int32",
          "type": "integer"
        },
        "factFinderStatus": {
          "enum": [
            "New",
            "InProgress",
            "ClientSubmitted",
            "AdvisorAccepted",
            "Canceled",
            "Draft",
            "Deleted"
          ],
          "type": "string"
        },
        "snapshotId": {
          "format": "int32",
          "type": "integer"
        }
      },
      "type": "object"
    },
    "FactFinderSnapshotsModel": {
      "properties": {
        "snapshots": {
          "items": {
            "$ref": "#/definitions/FactFinderSnapshotWithIdModel"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "FactFinderWithIdModel": {
      "properties": {
        "countryCode": {
          "enum": [
            "UnitedStates",
            "Canada"
          ],
          "type": "string"
        },
        "created": {
          "format": "date-time",
          "type": "string"
        },
        "factFinderId": {
          "format": "int32",
          "type": "integer"
        },
        "householdId": {
          "format": "int32",
          "type": "integer"
        },
        "lastStatusUpdate": {
          "format": "date-time",
          "type": "string"
        },
        "links": {
          "items": {
            "$ref": "#/definitions/ObjectLink"
          },
          "type": "array"
        },
        "modules": {
          "$ref": "#/definitions/FactFinderModulesModel"
        },
        "planId": {
          "format": "int32",
          "type": "integer"
        },
        "planLevel": {
          "enum": [
            "Level2",
            "Level1"
          ],
          "type": "string"
        },
        "status": {
          "enum": [
            "New",
            "InProgress",
            "ClientSubmitted",
            "AdvisorAccepted",
            "Canceled",
            "Draft",
            "Deleted"
          ],
          "type": "string"
        }
      },
      "type": "object"
    },
    "FamilyHeadModel": {
      "properties": {
        "alreadyRetired": {
          "type": "boolean"
        },
        "birthDate": {
          "format": "date-time",
          "type": "string"
        },
        "externalDestinationId": {
          "type": "string"
        },
        "firstName": {
          "maxLength": 255,
          "minLength": 0,
          "type": "string"
        },
        "gender": {
          "enum": [
            "Male",
            "Female",
            "None"
          ],
          "type": "string"
        },
        "lastName": {
          "maxLength": 255,
          "minLength": 0,
          "type": "string"
        },
        "taxFilingStatus": {
          "format": "int32",
          "type": "integer"
        }
      },
      "required": [
        "firstName",
        "lastName",
        "birthDate",
        "gender",
        "taxFilingStatus",
        "alreadyRetired"
      ],
      "type": "object"
    },
    "FilingStatusTypeModel": {
      "properties": {
        "filingStatusTypeId": {
          "format": "int32",
          "type": "integer"
        },
        "filingStatusTypeName": {
          "type": "string"
        },
        "hasJointDependent": {
          "type": "boolean"
        },
        "links": {
          "items": {
            "$ref": "#/definitions/ObjectLink"
          },
          "type": "array"
        },
        "partnerStatuses": {
          "items": {
            "format": "int32",
            "type": "integer"
          },
          "type": "array"
        },
        "validForSingleAnalysis": {
          "type": "boolean"
        }
      },
      "type": "object"
    },
    "FilingStatusTypesModel": {
      "properties": {
        "filingStatusTypes": {
          "items": {
            "$ref": "#/definitions/FilingStatusTypeModel"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "FrequencyTypeModel": {
      "properties": {
        "id": {
          "format": "int32",
          "type": "integer"
        },
        "links": {
          "items": {
            "$ref": "#/definitions/ObjectLink"
          },
          "type": "array"
        },
        "name": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "FrequencyTypesModel": {
      "properties": {
        "frequencyTypes": {
          "items": {
            "$ref": "#/definitions/FrequencyTypeModel"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "IAccountHoldingDomainObject": {
      "properties": {
        "accountHoldingId": {
          "format": "int32",
          "type": "integer"
        },
        "accountId": {
          "format": "int32",
          "type": "integer"
        },
        "costBasis": {
          "format": "double",
          "type": "number"
        },
        "cusip": {
          "type": "string"
        },
        "description": {
          "type": "string"
        },
        "externalDestinationId": {
          "type": "string"
        },
        "heldAway": {
          "type": "boolean"
        },
        "marketValue": {
          "format": "double",
          "type": "number"
        },
        "symbol": {
          "type": "string"
        },
        "valuationDate": {
          "format": "date-time",
          "type": "string"
        }
      },
      "type": "object"
    },
    "IAccountSavingsStrategyDomainObject": {
      "properties": {
        "accountId": {
          "format": "int32",
          "type": "integer"
        },
        "employerSavingsAmount": {
          "format": "double",
          "type": "number"
        },
        "employerSavingsAmountType": {
          "enum": [
            "Dollar",
            "Percent",
            "Max"
          ],
          "type": "string"
        },
        "endDate": {
          "format": "date-time",
          "type": "string"
        },
        "externalDestinationId": {
          "type": "string"
        },
        "frequencyId": {
          "format": "int32",
          "type": "integer"
        },
        "mandatoryAmount": {
          "format": "double",
          "type": "number"
        },
        "mandatoryAmountType": {
          "enum": [
            "Dollar",
            "Percent",
            "Max"
          ],
          "type": "string"
        },
        "postTaxSavingsAmount": {
          "format": "double",
          "type": "number"
        },
        "postTaxSavingsAmountType": {
          "enum": [
            "Dollar",
            "Percent",
            "Max"
          ],
          "type": "string"
        },
        "preTaxSavingsAmount": {
          "format": "double",
          "type": "number"
        },
        "preTaxSavingsAmountType": {
          "enum": [
            "Dollar",
            "Percent",
            "Max"
          ],
          "type": "string"
        },
        "savingsStrategyId": {
          "format": "int32",
          "type": "integer"
        },
        "startDate": {
          "format": "date-time",
          "type": "string"
        }
      },
      "type": "object"
    },
    "IAccountWithSubEntitiesDomainObject": {
      "properties": {
        "accountHoldings": {
          "items": {
            "$ref": "#/definitions/IAccountHoldingDomainObject"
          },
          "type": "array"
        },
        "accountId": {
          "format": "int32",
          "type": "integer"
        },
        "accountType": {
          "format": "int32",
          "type": "integer"
        },
        "description": {
          "type": "string"
        },
        "externalDestinationId": {
          "type": "string"
        },
        "externalSourceId": {
          "type": "string"
        },
        "externalSourceName": {
          "type": "string"
        },
        "factFinderId": {
          "format": "int32",
          "type": "integer"
        },
        "lastUpdated": {
          "format": "date-time",
          "type": "string"
        },
        "marketValue": {
          "format": "double",
          "type": "number"
        },
        "owner": {
          "enum": [
            "Client",
            "CoClient",
            "Joint",
            "Dependent",
            "Other"
          ],
          "type": "string"
        },
        "ownerDependentId": {
          "format": "int32",
          "type": "integer"
        },
        "savingsStrategies": {
          "items": {
            "$ref": "#/definitions/IAccountSavingsStrategyDomainObject"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "ICriticalIllnessInsurancePolicyDomainObject": {
      "properties": {
        "benefit": {
          "format": "double",
          "type": "number"
        },
        "criticalIllnessInsurancePolicyId": {
          "format": "int32",
          "type": "integer"
        },
        "description": {
          "type": "string"
        },
        "externalDestinationId": {
          "type": "string"
        },
        "factFinderId": {
          "format": "int32",
          "type": "integer"
        },
        "frequency": {
          "format": "int32",
          "type": "integer"
        },
        "insured": {
          "enum": [
            "Client",
            "CoClient"
          ],
          "type": "string"
        },
        "policyType": {
          "format": "int32",
          "type": "integer"
        },
        "premium": {
          "format": "double",
          "type": "number"
        }
      },
      "type": "object"
    },
    "IDemographicsDependentDomainObject": {
      "properties": {
        "birthDate": {
          "format": "date-time",
          "type": "string"
        },
        "demographicsId": {
          "format": "int32",
          "type": "integer"
        },
        "dependentId": {
          "format": "int32",
          "type": "integer"
        },
        "dependentOf": {
          "enum": [
            "Client",
            "CoClient",
            "Joint",
            "Other"
          ],
          "type": "string"
        },
        "externalDestinationId": {
          "type": "string"
        },
        "firstName": {
          "type": "string"
        },
        "lastName": {
          "type": "string"
        },
        "relationship": {
          "enum": [
            "Son",
            "Daughter",
            "FosterSon",
            "FosterDaughter",
            "Grandson",
            "Granddaughter",
            "Nephew",
            "Niece",
            "MaleCousin",
            "FemaleCousin",
            "Father",
            "Mother",
            "Grandfather",
            "Grandmother",
            "Uncle",
            "Aunt",
            "Brother",
            "Sister",
            "SonInLaw",
            "DaughterInLaw",
            "MaleOther",
            "FemaleOther"
          ],
          "type": "string"
        }
      },
      "type": "object"
    },
    "IDemographicsWithDependentsDomainObject": {
      "properties": {
        "city": {
          "type": "string"
        },
        "created": {
          "format": "date-time",
          "type": "string"
        },
        "demographicsId": {
          "format": "int32",
          "type": "integer"
        },
        "dependents": {
          "items": {
            "$ref": "#/definitions/IDemographicsDependentDomainObject"
          },
          "type": "array"
        },
        "externalDestinationId": {
          "type": "string"
        },
        "externalSourceId": {
          "type": "string"
        },
        "factFinderId": {
          "format": "int32",
          "type": "integer"
        },
        "head1": {
          "$ref": "#/definitions/IFamilyHeadDomainObject"
        },
        "head2": {
          "$ref": "#/definitions/IFamilyHeadDomainObject"
        },
        "jointAnalysis": {
          "type": "boolean"
        },
        "lockRetirement": {
          "type": "boolean"
        },
        "state": {
          "format": "int32",
          "type": "integer"
        }
      },
      "type": "object"
    },
    "IDisabilityInsurancePolicyDomainObject": {
      "properties": {
        "benefit": {
          "format": "double",
          "type": "number"
        },
        "benefitFrequency": {
          "format": "int32",
          "type": "integer"
        },
        "benefitType": {
          "enum": [
            "Dollar",
            "Percent"
          ],
          "type": "string"
        },
        "description": {
          "type": "string"
        },
        "disabilityInsurancePolicyId": {
          "format": "int32",
          "type": "integer"
        },
        "externalDestinationId": {
          "type": "string"
        },
        "factFinderId": {
          "format": "int32",
          "type": "integer"
        },
        "insured": {
          "enum": [
            "Client",
            "CoClient"
          ],
          "type": "string"
        },
        "policyType": {
          "format": "int32",
          "type": "integer"
        },
        "premium": {
          "format": "double",
          "type": "number"
        },
        "premiumFrequency": {
          "format": "int32",
          "type": "integer"
        }
      },
      "type": "object"
    },
    "IEducationExpenseDomainObject": {
      "properties": {
        "annualCost": {
          "format": "double",
          "type": "number"
        },
        "educationExpenseId": {
          "format": "int32",
          "type": "integer"
        },
        "educationGoalId": {
          "format": "int32",
          "type": "integer"
        },
        "externalDestinationId": {
          "type": "string"
        },
        "member": {
          "enum": [
            "Client",
            "CoClient",
            "Dependent"
          ],
          "type": "string"
        },
        "memberDependentId": {
          "format": "int32",
          "type": "integer"
        },
        "startYear": {
          "format": "date-time",
          "type": "string"
        },
        "years": {
          "format": "int32",
          "type": "integer"
        }
      },
      "type": "object"
    },
    "IEducationGoalWithExpensesDomainObject": {
      "properties": {
        "description": {
          "type": "string"
        },
        "educationExpenses": {
          "items": {
            "$ref": "#/definitions/IEducationExpenseDomainObject"
          },
          "type": "array"
        },
        "educationGoalId": {
          "format": "int32",
          "type": "integer"
        },
        "externalDestinationId": {
          "type": "string"
        },
        "factFinderId": {
          "format": "int32",
          "type": "integer"
        },
        "projectedCost": {
          "format": "double",
          "type": "number"
        }
      },
      "type": "object"
    },
    "IExpenseDomainObject": {
      "properties": {
        "annualPeriod": {
          "format": "int32",
          "type": "integer"
        },
        "description": {
          "type": "string"
        },
        "endDate": {
          "format": "date-time",
          "type": "string"
        },
        "expenseAmount": {
          "format": "double",
          "type": "number"
        },
        "expenseId": {
          "format": "int32",
          "type": "integer"
        },
        "expenseTypeId": {
          "format": "int32",
          "type": "integer"
        },
        "externalDestinationId": {
          "type": "string"
        },
        "factFinderId": {
          "format": "int32",
          "type": "integer"
        },
        "frequency": {
          "format": "int32",
          "type": "integer"
        },
        "member": {
          "enum": [
            "Client",
            "CoClient",
            "Joint"
          ],
          "type": "string"
        },
        "startDate": {
          "format": "date-time",
          "type": "string"
        }
      },
      "type": "object"
    },
    "IFactFinderDefinedBenefitPensionDomainObject": {
      "properties": {
        "definedBenefitPensionId": {
          "format": "int32",
          "readOnly": true,
          "type": "integer"
        },
        "description": {
          "readOnly": true,
          "type": "string"
        },
        "estimatedAmount": {
          "format": "double",
          "readOnly": true,
          "type": "number"
        },
        "externalDestinationId": {
          "type": "string"
        },
        "factFinderId": {
          "format": "int32",
          "type": "integer"
        },
        "member": {
          "enum": [
            "Client",
            "CoClient"
          ],
          "readOnly": true,
          "type": "string"
        },
        "startDate": {
          "format": "date-time",
          "readOnly": true,
          "type": "string"
        }
      },
      "type": "object"
    },
    "IFactFinderLiabilityDomainObject": {
      "properties": {
        "balance": {
          "format": "double",
          "type": "number"
        },
        "balanceAsOfDate": {
          "format": "date-time",
          "type": "string"
        },
        "description": {
          "type": "string"
        },
        "externalDestinationId": {
          "type": "string"
        },
        "externalSourceId": {
          "type": "string"
        },
        "factFinderId": {
          "format": "int32",
          "type": "integer"
        },
        "frequency": {
          "format": "int32",
          "type": "integer"
        },
        "importSource": {
          "type": "string"
        },
        "interestRate": {
          "format": "double",
          "type": "number"
        },
        "lastUpdated": {
          "format": "date-time",
          "type": "string"
        },
        "liabilityId": {
          "format": "int32",
          "type": "integer"
        },
        "liabilityType": {
          "format": "int32",
          "type": "integer"
        },
        "loanDate": {
          "format": "date-time",
          "type": "string"
        },
        "originalPrincipal": {
          "format": "double",
          "type": "number"
        },
        "owner": {
          "enum": [
            "Client",
            "CoClient",
            "Joint"
          ],
          "type": "string"
        },
        "payment": {
          "format": "double",
          "type": "number"
        },
        "paymentType": {
          "enum": [
            "InterestOnly",
            "PrincipalAndInterest",
            "SetPrincipal",
            "LastPeriod"
          ],
          "type": "string"
        }
      },
      "type": "object"
    },
    "IFactFinderLifestyleAssetDomainObject": {
      "properties": {
        "description": {
          "readOnly": true,
          "type": "string"
        },
        "externalDestinationId": {
          "type": "string"
        },
        "factFinderId": {
          "format": "int32",
          "type": "integer"
        },
        "lifestyleAssetId": {
          "format": "int32",
          "readOnly": true,
          "type": "integer"
        },
        "marketValue": {
          "format": "double",
          "readOnly": true,
          "type": "number"
        },
        "owner": {
          "enum": [
            "Client",
            "CoClient",
            "Joint"
          ],
          "readOnly": true,
          "type": "string"
        },
        "purchaseAmount": {
          "format": "double",
          "readOnly": true,
          "type": "number"
        },
        "purchaseDate": {
          "format": "date-time",
          "readOnly": true,
          "type": "string"
        },
        "type": {
          "format": "int32",
          "readOnly": true,
          "type": "integer"
        }
      },
      "type": "object"
    },
    "IFactFinderSnapshotDomainObject": {
      "properties": {
        "accounts": {
          "items": {
            "$ref": "#/definitions/IAccountWithSubEntitiesDomainObject"
          },
          "type": "array"
        },
        "criticalIllnessInsurancePolicies": {
          "items": {
            "$ref": "#/definitions/ICriticalIllnessInsurancePolicyDomainObject"
          },
          "type": "array"
        },
        "definedBenefitPensions": {
          "items": {
            "$ref": "#/definitions/IFactFinderDefinedBenefitPensionDomainObject"
          },
          "type": "array"
        },
        "demographics": {
          "$ref": "#/definitions/IDemographicsWithDependentsDomainObject"
        },
        "disabilityInsurancePolicies": {
          "items": {
            "$ref": "#/definitions/IDisabilityInsurancePolicyDomainObject"
          },
          "type": "array"
        },
        "educationGoals": {
          "items": {
            "$ref": "#/definitions/IEducationGoalWithExpensesDomainObject"
          },
          "type": "array"
        },
        "expenses": {
          "items": {
            "$ref": "#/definitions/IExpenseDomainObject"
          },
          "type": "array"
        },
        "incomes": {
          "items": {
            "$ref": "#/definitions/IIncomeDomainObject"
          },
          "type": "array"
        },
        "liabilities": {
          "items": {
            "$ref": "#/definitions/IFactFinderLiabilityDomainObject"
          },
          "type": "array"
        },
        "lifeInsurancePolicies": {
          "items": {
            "$ref": "#/definitions/ILifeInsurancePolicyDomainObject"
          },
          "type": "array"
        },
        "lifestyleAssets": {
          "items": {
            "$ref": "#/definitions/IFactFinderLifestyleAssetDomainObject"
          },
          "type": "array"
        },
        "longTermCareInsurancePolicies": {
          "items": {
            "$ref": "#/definitions/ILongTermCareInsurancePolicyDomainObject"
          },
          "type": "array"
        },
        "majorPurchaseGoals": {
          "items": {
            "$ref": "#/definitions/IMajorPurchaseGoalDomainObject"
          },
          "type": "array"
        },
        "planYear": {
          "format": "int32",
          "type": "integer"
        },
        "realEstateAssets": {
          "items": {
            "$ref": "#/definitions/IRealEstateAssetDomainObject"
          },
          "type": "array"
        },
        "retirementGoal": {
          "$ref": "#/definitions/IRetirementGoalWithExpensesDomainObject"
        }
      },
      "type": "object"
    },
    "IFamilyHeadDomainObject": {
      "properties": {
        "alreadyRetired": {
          "type": "boolean"
        },
        "birthDate": {
          "format": "date-time",
          "type": "string"
        },
        "externalDestinationId": {
          "type": "string"
        },
        "firstName": {
          "type": "string"
        },
        "gender": {
          "enum": [
            "Male",
            "Female",
            "None"
          ],
          "type": "string"
        },
        "lastName": {
          "type": "string"
        },
        "taxFilingStatus": {
          "format": "int32",
          "type": "integer"
        }
      },
      "type": "object"
    },
    "IIncomeDomainObject": {
      "properties": {
        "annualAmount": {
          "format": "double",
          "type": "number"
        },
        "description": {
          "type": "string"
        },
        "endDate": {
          "format": "date-time",
          "type": "string"
        },
        "externalDestinationId": {
          "type": "string"
        },
        "factFinderId": {
          "format": "int32",
          "type": "integer"
        },
        "incomeId": {
          "format": "int32",
          "type": "integer"
        },
        "incomeTypeId": {
          "format": "int32",
          "type": "integer"
        },
        "owner": {
          "enum": [
            "Client",
            "CoClient"
          ],
          "type": "string"
        },
        "startDate": {
          "format": "date-time",
          "type": "string"
        }
      },
      "type": "object"
    },
    "ILifeInsurancePolicyDomainObject": {
      "properties": {
        "beneficiary": {
          "enum": [
            "Client",
            "CoClient",
            "Dependent",
            "Other"
          ],
          "type": "string"
        },
        "beneficiaryDependentId": {
          "format": "int32",
          "type": "integer"
        },
        "benefit": {
          "format": "double",
          "type": "number"
        },
        "description": {
          "type": "string"
        },
        "externalDestinationId": {
          "type": "string"
        },
        "factFinderId": {
          "format": "int32",
          "type": "integer"
        },
        "frequency": {
          "format": "int32",
          "type": "integer"
        },
        "generalAccountMarketValue": {
          "format": "double",
          "type": "number"
        },
        "insured": {
          "enum": [
            "Client",
            "CoClient",
            "FirstToDie",
            "SecondToDie",
            "Other"
          ],
          "type": "string"
        },
        "lifeInsurancePolicyId": {
          "format": "int32",
          "type": "integer"
        },
        "payer": {
          "enum": [
            "Client",
            "CoClient",
            "Joint",
            "Other"
          ],
          "type": "string"
        },
        "policyType": {
          "format": "int32",
          "type": "integer"
        },
        "premium": {
          "format": "double",
          "type": "number"
        },
        "subaccounts": {
          "items": {
            "$ref": "#/definitions/LifeInsurancePolicySubaccountDomainObject"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "ILongTermCareInsurancePolicyDomainObject": {
      "properties": {
        "benefit": {
          "format": "double",
          "type": "number"
        },
        "benefitFrequency": {
          "format": "int32",
          "type": "integer"
        },
        "description": {
          "type": "string"
        },
        "externalDestinationId": {
          "type": "string"
        },
        "factFinderId": {
          "format": "int32",
          "type": "integer"
        },
        "insured": {
          "enum": [
            "Client",
            "CoClient"
          ],
          "type": "string"
        },
        "longTermCareInsurancePolicyId": {
          "format": "int32",
          "type": "integer"
        },
        "premium": {
          "format": "double",
          "type": "number"
        },
        "premiumFrequency": {
          "format": "int32",
          "type": "integer"
        }
      },
      "type": "object"
    },
    "IMajorPurchaseGoalDomainObject": {
      "properties": {
        "amount": {
          "format": "double",
          "readOnly": true,
          "type": "number"
        },
        "description": {
          "readOnly": true,
          "type": "string"
        },
        "externalDestinationId": {
          "type": "string"
        },
        "factFinderId": {
          "format": "int32",
          "type": "integer"
        },
        "majorPurchaseGoalId": {
          "format": "int32",
          "readOnly": true,
          "type": "integer"
        },
        "majorPurchaseGoalTypeId": {
          "format": "int32",
          "readOnly": true,
          "type": "integer"
        },
        "member": {
          "enum": [
            "Client",
            "CoClient",
            "Joint"
          ],
          "readOnly": true,
          "type": "string"
        },
        "targetDate": {
          "format": "date-time",
          "readOnly": true,
          "type": "string"
        }
      },
      "type": "object"
    },
    "IRealEstateAssetDomainObject": {
      "properties": {
        "description": {
          "type": "string"
        },
        "externalDestinationId": {
          "type": "string"
        },
        "factFinderId": {
          "format": "int32",
          "type": "integer"
        },
        "frequency": {
          "format": "int32",
          "type": "integer"
        },
        "marketValue": {
          "format": "double",
          "type": "number"
        },
        "owner": {
          "enum": [
            "Client",
            "CoClient",
            "Joint"
          ],
          "type": "string"
        },
        "purchaseAmount": {
          "format": "double",
          "type": "number"
        },
        "purchaseDate": {
          "format": "date-time",
          "type": "string"
        },
        "realEstateAssetId": {
          "format": "int32",
          "type": "integer"
        },
        "rentalIncome": {
          "format": "double",
          "type": "number"
        }
      },
      "type": "object"
    },
    "IRetirementExpenseDomainObject": {
      "properties": {
        "amount": {
          "format": "double",
          "type": "number"
        },
        "annualPeriod": {
          "format": "int32",
          "type": "integer"
        },
        "description": {
          "type": "string"
        },
        "endDate": {
          "format": "date-time",
          "type": "string"
        },
        "externalDestinationId": {
          "type": "string"
        },
        "frequency": {
          "format": "int32",
          "type": "integer"
        },
        "member": {
          "enum": [
            "Client",
            "CoClient",
            "Joint"
          ],
          "type": "string"
        },
        "retirementExpenseId": {
          "format": "int32",
          "type": "integer"
        },
        "retirementGoalId": {
          "format": "int32",
          "type": "integer"
        },
        "startDate": {
          "format": "date-time",
          "type": "string"
        }
      },
      "type": "object"
    },
    "IRetirementGoalWithExpensesDomainObject": {
      "properties": {
        "externalDestinationId": {
          "type": "string"
        },
        "factFinderId": {
          "format": "int32",
          "type": "integer"
        },
        "head1RetirementDate": {
          "format": "date-time",
          "type": "string"
        },
        "head2RetirementDate": {
          "format": "date-time",
          "type": "string"
        },
        "retirementExpenses": {
          "items": {
            "$ref": "#/definitions/IRetirementExpenseDomainObject"
          },
          "type": "array"
        },
        "retirementGoalId": {
          "format": "int32",
          "type": "integer"
        }
      },
      "type": "object"
    },
    "IncomeModel": {
      "properties": {
        "annualAmount": {
          "format": "double",
          "type": "number"
        },
        "description": {
          "maxLength": 255,
          "minLength": 0,
          "type": "string"
        },
        "endDate": {
          "format": "date-time",
          "type": "string"
        },
        "externalDestinationId": {
          "maxLength": 64,
          "minLength": 0,
          "type": "string"
        },
        "factFinderId": {
          "format": "int32",
          "type": "integer"
        },
        "incomeTypeId": {
          "format": "int32",
          "type": "integer"
        },
        "owner": {
          "enum": [
            "Client",
            "CoClient"
          ],
          "type": "string"
        },
        "startDate": {
          "format": "date-time",
          "type": "string"
        }
      },
      "required": [
        "factFinderId",
        "description"
      ],
      "type": "object"
    },
    "IncomeTypeModel": {
      "properties": {
        "id": {
          "format": "int32",
          "type": "integer"
        },
        "links": {
          "items": {
            "$ref": "#/definitions/ObjectLink"
          },
          "type": "array"
        },
        "name": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "IncomeTypesModel": {
      "properties": {
        "incomeTypes": {
          "items": {
            "$ref": "#/definitions/IncomeTypeModel"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "IncomeWithIdModel": {
      "properties": {
        "annualAmount": {
          "format": "double",
          "type": "number"
        },
        "description": {
          "type": "string"
        },
        "endDate": {
          "format": "date-time",
          "type": "string"
        },
        "externalDestinationId": {
          "type": "string"
        },
        "factFinderId": {
          "format": "int32",
          "type": "integer"
        },
        "incomeId": {
          "format": "int32",
          "type": "integer"
        },
        "incomeTypeId": {
          "format": "int32",
          "type": "integer"
        },
        "links": {
          "items": {
            "$ref": "#/definitions/ObjectLink"
          },
          "type": "array"
        },
        "owner": {
          "enum": [
            "Client",
            "CoClient"
          ],
          "type": "string"
        },
        "startDate": {
          "format": "date-time",
          "type": "string"
        }
      },
      "type": "object"
    },
    "IncomesModel": {
      "properties": {
        "incomes": {
          "items": {
            "$ref": "#/definitions/IncomeWithIdModel"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "LiabilitiesModel": {
      "properties": {
        "liabilities": {
          "items": {
            "$ref": "#/definitions/LiabilityWithIdModel"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "LiabilityModel": {
      "properties": {
        "balance": {
          "format": "double",
          "type": "number"
        },
        "balanceAsOfDate": {
          "format": "date-time",
          "type": "string"
        },
        "description": {
          "maxLength": 255,
          "minLength": 0,
          "type": "string"
        },
        "externalDestinationId": {
          "maxLength": 64,
          "minLength": 0,
          "type": "string"
        },
        "externalSourceId": {
          "maxLength": 64,
          "minLength": 0,
          "type": "string"
        },
        "externalSourceName": {
          "maxLength": 64,
          "minLength": 0,
          "type": "string"
        },
        "factFinderId": {
          "format": "int32",
          "type": "integer"
        },
        "frequency": {
          "format": "int32",
          "type": "integer"
        },
        "interestRate": {
          "format": "double",
          "maximum": 50,
          "minimum": 0,
          "type": "number"
        },
        "lastUpdated": {
          "format": "date-time",
          "type": "string"
        },
        "liabilityType": {
          "format": "int32",
          "type": "integer"
        },
        "loanDate": {
          "format": "date-time",
          "type": "string"
        },
        "originalPrincipal": {
          "format": "double",
          "type": "number"
        },
        "owner": {
          "enum": [
            "Client",
            "CoClient",
            "Joint"
          ],
          "type": "string"
        },
        "payment": {
          "format": "double",
          "type": "number"
        },
        "paymentType": {
          "enum": [
            "InterestOnly",
            "PrincipalAndInterest",
            "SetPrincipal",
            "LastPeriod"
          ],
          "type": "string"
        }
      },
      "required": [
        "factFinderId",
        "description"
      ],
      "type": "object"
    },
    "LiabilityTypeModel": {
      "properties": {
        "id": {
          "format": "int32",
          "type": "integer"
        },
        "links": {
          "items": {
            "$ref": "#/definitions/ObjectLink"
          },
          "type": "array"
        },
        "name": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "LiabilityTypesModel": {
      "properties": {
        "liabilityTypes": {
          "items": {
            "$ref": "#/definitions/LiabilityTypeModel"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "LiabilityWithIdModel": {
      "properties": {
        "balance": {
          "format": "double",
          "type": "number"
        },
        "balanceAsOfDate": {
          "format": "date-time",
          "type": "string"
        },
        "description": {
          "type": "string"
        },
        "externalDestinationId": {
          "type": "string"
        },
        "externalSourceId": {
          "type": "string"
        },
        "externalSourceName": {
          "type": "string"
        },
        "factFinderId": {
          "format": "int32",
          "type": "integer"
        },
        "frequency": {
          "format": "int32",
          "type": "integer"
        },
        "interestRate": {
          "format": "double",
          "type": "number"
        },
        "lastUpdated": {
          "format": "date-time",
          "type": "string"
        },
        "liabilityId": {
          "format": "int32",
          "type": "integer"
        },
        "liabilityType": {
          "format": "int32",
          "type": "integer"
        },
        "links": {
          "items": {
            "$ref": "#/definitions/ObjectLink"
          },
          "type": "array"
        },
        "loanDate": {
          "format": "date-time",
          "type": "string"
        },
        "originalPrincipal": {
          "format": "double",
          "type": "number"
        },
        "owner": {
          "enum": [
            "Client",
            "CoClient",
            "Joint"
          ],
          "type": "string"
        },
        "payment": {
          "format": "double",
          "type": "number"
        },
        "paymentType": {
          "enum": [
            "InterestOnly",
            "PrincipalAndInterest",
            "SetPrincipal",
            "LastPeriod"
          ],
          "type": "string"
        }
      },
      "type": "object"
    },
    "LifeInsurancePoliciesModel": {
      "properties": {
        "lifeInsurancePolicies": {
          "items": {
            "$ref": "#/definitions/LifeInsurancePolicyWithIdModel"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "LifeInsurancePoliciesWithSubEntitiesModel": {
      "properties": {
        "lifeInsurancePolicies": {
          "items": {
            "$ref": "#/definitions/LifeInsurancePolicyWithSubEntitiesModel"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "LifeInsurancePolicyModel": {
      "properties": {
        "beneficiary": {
          "enum": [
            "Client",
            "CoClient",
            "Dependent",
            "Other"
          ],
          "type": "string"
        },
        "beneficiaryDependentId": {
          "format": "int32",
          "type": "integer"
        },
        "benefit": {
          "format": "double",
          "type": "number"
        },
        "description": {
          "maxLength": 255,
          "minLength": 0,
          "type": "string"
        },
        "externalDestinationId": {
          "maxLength": 64,
          "minLength": 0,
          "type": "string"
        },
        "factFinderId": {
          "format": "int32",
          "type": "integer"
        },
        "frequency": {
          "format": "int32",
          "type": "integer"
        },
        "generalAccountMarketValue": {
          "format": "double",
          "type": "number"
        },
        "insured": {
          "enum": [
            "Client",
            "CoClient",
            "FirstToDie",
            "SecondToDie",
            "Other"
          ],
          "type": "string"
        },
        "payer": {
          "enum": [
            "Client",
            "CoClient",
            "Joint",
            "Other"
          ],
          "type": "string"
        },
        "policyType": {
          "format": "int32",
          "type": "integer"
        },
        "premium": {
          "format": "double",
          "type": "number"
        }
      },
      "required": [
        "factFinderId",
        "description"
      ],
      "type": "object"
    },
    "LifeInsurancePolicySubaccountDomainObject": {
      "properties": {
        "description": {
          "type": "string"
        },
        "externalDestinationId": {
          "type": "string"
        },
        "lifeInsurancePolicyId": {
          "format": "int32",
          "type": "integer"
        },
        "lifeInsurancePolicySubaccountId": {
          "format": "int32",
          "type": "integer"
        },
        "marketValue": {
          "format": "double",
          "type": "number"
        },
        "symbol": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "LifeInsurancePolicySubaccountModel": {
      "properties": {
        "description": {
          "maxLength": 255,
          "minLength": 0,
          "type": "string"
        },
        "externalDestinationId": {
          "maxLength": 64,
          "minLength": 0,
          "type": "string"
        },
        "marketValue": {
          "format": "double",
          "type": "number"
        },
        "symbol": {
          "maxLength": 31,
          "minLength": 0,
          "type": "string"
        }
      },
      "required": [
        "description"
      ],
      "type": "object"
    },
    "LifeInsurancePolicySubaccountWithIdModel": {
      "properties": {
        "description": {
          "maxLength": 255,
          "minLength": 0,
          "type": "string"
        },
        "externalDestinationId": {
          "maxLength": 64,
          "minLength": 0,
          "type": "string"
        },
        "lifeInsurancePolicyId": {
          "format": "int32",
          "type": "integer"
        },
        "lifeInsurancePolicySubaccountId": {
          "format": "int32",
          "type": "integer"
        },
        "marketValue": {
          "format": "double",
          "type": "number"
        },
        "symbol": {
          "maxLength": 31,
          "minLength": 0,
          "type": "string"
        }
      },
      "required": [
        "description"
      ],
      "type": "object"
    },
    "LifeInsurancePolicySubaccountsModel": {
      "properties": {
        "lifeInsurancePolicySubaccounts": {
          "items": {
            "$ref": "#/definitions/LifeInsurancePolicySubaccountWithIdModel"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "LifeInsurancePolicyTypeModel": {
      "properties": {
        "id": {
          "format": "int32",
          "type": "integer"
        },
        "links": {
          "items": {
            "$ref": "#/definitions/ObjectLink"
          },
          "type": "array"
        },
        "name": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "LifeInsurancePolicyTypesModel": {
      "properties": {
        "insurancePolicyTypes": {
          "items": {
            "$ref": "#/definitions/LifeInsurancePolicyTypeModel"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "LifeInsurancePolicyWithIdModel": {
      "properties": {
        "beneficiary": {
          "enum": [
            "Client",
            "CoClient",
            "Dependent",
            "Other"
          ],
          "type": "string"
        },
        "beneficiaryDependentId": {
          "format": "int32",
          "type": "integer"
        },
        "benefit": {
          "format": "double",
          "type": "number"
        },
        "description": {
          "type": "string"
        },
        "externalDestinationId": {
          "type": "string"
        },
        "factFinderId": {
          "format": "int32",
          "type": "integer"
        },
        "frequency": {
          "format": "int32",
          "type": "integer"
        },
        "generalAccountMarketValue": {
          "format": "double",
          "type": "number"
        },
        "insurancePolicyId": {
          "format": "int32",
          "type": "integer"
        },
        "insured": {
          "enum": [
            "Client",
            "CoClient",
            "FirstToDie",
            "SecondToDie",
            "Other"
          ],
          "type": "string"
        },
        "links": {
          "items": {
            "$ref": "#/definitions/ObjectLink"
          },
          "type": "array"
        },
        "payer": {
          "enum": [
            "Client",
            "CoClient",
            "Joint",
            "Other"
          ],
          "type": "string"
        },
        "policyType": {
          "format": "int32",
          "type": "integer"
        },
        "premium": {
          "format": "double",
          "type": "number"
        }
      },
      "type": "object"
    },
    "LifeInsurancePolicyWithSubEntitiesModel": {
      "properties": {
        "beneficiary": {
          "enum": [
            "Client",
            "CoClient",
            "Dependent",
            "Other"
          ],
          "type": "string"
        },
        "beneficiaryDependentId": {
          "format": "int32",
          "type": "integer"
        },
        "benefit": {
          "format": "double",
          "type": "number"
        },
        "description": {
          "type": "string"
        },
        "externalDestinationId": {
          "type": "string"
        },
        "factFinderId": {
          "format": "int32",
          "type": "integer"
        },
        "frequency": {
          "format": "int32",
          "type": "integer"
        },
        "generalAccountMarketValue": {
          "format": "double",
          "type": "number"
        },
        "insurancePolicyId": {
          "format": "int32",
          "type": "integer"
        },
        "insured": {
          "enum": [
            "Client",
            "CoClient",
            "FirstToDie",
            "SecondToDie",
            "Other"
          ],
          "type": "string"
        },
        "links": {
          "items": {
            "$ref": "#/definitions/ObjectLink"
          },
          "type": "array"
        },
        "payer": {
          "enum": [
            "Client",
            "CoClient",
            "Joint",
            "Other"
          ],
          "type": "string"
        },
        "policyType": {
          "format": "int32",
          "type": "integer"
        },
        "premium": {
          "format": "double",
          "type": "number"
        },
        "subaccounts": {
          "items": {
            "$ref": "#/definitions/LifeInsurancePolicySubaccountWithIdModel"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "LifestyleAssetModel": {
      "properties": {
        "description": {
          "maxLength": 255,
          "minLength": 0,
          "type": "string"
        },
        "externalDestinationId": {
          "maxLength": 64,
          "minLength": 0,
          "type": "string"
        },
        "factFinderId": {
          "format": "int32",
          "type": "integer"
        },
        "marketValue": {
          "format": "double",
          "type": "number"
        },
        "owner": {
          "enum": [
            "Client",
            "CoClient",
            "Joint"
          ],
          "type": "string"
        },
        "purchaseAmount": {
          "format": "double",
          "type": "number"
        },
        "purchaseDate": {
          "format": "date-time",
          "type": "string"
        },
        "type": {
          "format": "int32",
          "type": "integer"
        }
      },
      "required": [
        "factFinderId",
        "description"
      ],
      "type": "object"
    },
    "LifestyleAssetTypeModel": {
      "properties": {
        "id": {
          "format": "int32",
          "type": "integer"
        },
        "links": {
          "items": {
            "$ref": "#/definitions/ObjectLink"
          },
          "type": "array"
        },
        "name": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "LifestyleAssetTypesModel": {
      "properties": {
        "lifestyleAssetTypes": {
          "items": {
            "$ref": "#/definitions/LifestyleAssetTypeModel"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "LifestyleAssetWithIdModel": {
      "properties": {
        "description": {
          "type": "string"
        },
        "externalDestinationId": {
          "type": "string"
        },
        "factFinderId": {
          "format": "int32",
          "type": "integer"
        },
        "lifestyleAssetId": {
          "format": "int32",
          "type": "integer"
        },
        "links": {
          "items": {
            "$ref": "#/definitions/ObjectLink"
          },
          "type": "array"
        },
        "marketValue": {
          "format": "double",
          "type": "number"
        },
        "owner": {
          "enum": [
            "Client",
            "CoClient",
            "Joint"
          ],
          "type": "string"
        },
        "purchaseAmount": {
          "format": "double",
          "type": "number"
        },
        "purchaseDate": {
          "format": "date-time",
          "type": "string"
        },
        "type": {
          "format": "int32",
          "type": "integer"
        }
      },
      "type": "object"
    },
    "LifestyleAssetsModel": {
      "properties": {
        "lifestyleAssets": {
          "items": {
            "$ref": "#/definitions/LifestyleAssetWithIdModel"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "LongTermCareInsurancePoliciesModel": {
      "properties": {
        "longTermCareInsurancePolicies": {
          "items": {
            "$ref": "#/definitions/LongTermCareInsurancePolicyWithIdModel"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "LongTermCareInsurancePolicyModel": {
      "properties": {
        "benefit": {
          "format": "double",
          "type": "number"
        },
        "benefitFrequency": {
          "format": "int32",
          "type": "integer"
        },
        "description": {
          "maxLength": 255,
          "minLength": 0,
          "type": "string"
        },
        "externalDestinationId": {
          "maxLength": 64,
          "minLength": 0,
          "type": "string"
        },
        "factFinderId": {
          "format": "int32",
          "type": "integer"
        },
        "insured": {
          "enum": [
            "Client",
            "CoClient"
          ],
          "type": "string"
        },
        "premium": {
          "format": "double",
          "type": "number"
        },
        "premiumFrequency": {
          "format": "int32",
          "type": "integer"
        }
      },
      "required": [
        "factFinderId",
        "description"
      ],
      "type": "object"
    },
    "LongTermCareInsurancePolicyWithIdModel": {
      "properties": {
        "benefit": {
          "format": "double",
          "type": "number"
        },
        "benefitFrequency": {
          "format": "int32",
          "type": "integer"
        },
        "description": {
          "type": "string"
        },
        "externalDestinationId": {
          "type": "string"
        },
        "factFinderId": {
          "format": "int32",
          "type": "integer"
        },
        "insurancePolicyId": {
          "format": "int32",
          "type": "integer"
        },
        "insured": {
          "enum": [
            "Client",
            "CoClient"
          ],
          "type": "string"
        },
        "links": {
          "items": {
            "$ref": "#/definitions/ObjectLink"
          },
          "type": "array"
        },
        "premium": {
          "format": "double",
          "type": "number"
        },
        "premiumFrequency": {
          "format": "int32",
          "type": "integer"
        }
      },
      "type": "object"
    },
    "MajorPurchaseGoalModel": {
      "properties": {
        "amount": {
          "format": "double",
          "type": "number"
        },
        "description": {
          "maxLength": 255,
          "minLength": 0,
          "type": "string"
        },
        "externalDestinationId": {
          "maxLength": 64,
          "minLength": 0,
          "type": "string"
        },
        "factFinderId": {
          "format": "int32",
          "type": "integer"
        },
        "majorPurchaseGoalTypeId": {
          "format": "int32",
          "type": "integer"
        },
        "member": {
          "enum": [
            "Client",
            "CoClient",
            "Joint"
          ],
          "type": "string"
        },
        "targetDate": {
          "format": "date-time",
          "type": "string"
        }
      },
      "required": [
        "factFinderId",
        "description"
      ],
      "type": "object"
    },
    "MajorPurchaseGoalTypeModel": {
      "properties": {
        "description": {
          "type": "string"
        },
        "links": {
          "items": {
            "$ref": "#/definitions/ObjectLink"
          },
          "type": "array"
        },
        "majorPurchaseGoalTypeId": {
          "format": "int32",
          "type": "integer"
        }
      },
      "type": "object"
    },
    "MajorPurchaseGoalTypesModel": {
      "properties": {
        "majorPurchaseGoalTypes": {
          "items": {
            "$ref": "#/definitions/MajorPurchaseGoalTypeModel"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "MajorPurchaseGoalWithIdModel": {
      "properties": {
        "amount": {
          "format": "double",
          "type": "number"
        },
        "description": {
          "type": "string"
        },
        "externalDestinationId": {
          "type": "string"
        },
        "factFinderId": {
          "format": "int32",
          "type": "integer"
        },
        "links": {
          "items": {
            "$ref": "#/definitions/ObjectLink"
          },
          "type": "array"
        },
        "majorPurchaseGoalId": {
          "format": "int32",
          "type": "integer"
        },
        "majorPurchaseGoalTypeId": {
          "format": "int32",
          "type": "integer"
        },
        "member": {
          "enum": [
            "Client",
            "CoClient",
            "Joint"
          ],
          "type": "string"
        },
        "targetDate": {
          "format": "date-time",
          "type": "string"
        }
      },
      "type": "object"
    },
    "MajorPurchaseGoalsModel": {
      "properties": {
        "majorPurchaseGoals": {
          "items": {
            "$ref": "#/definitions/MajorPurchaseGoalWithIdModel"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "Object": {
      "properties": {},
      "type": "object"
    },
    "ObjectLink": {
      "properties": {
        "href": {
          "type": "string"
        },
        "rel": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "OwnerModel": {
      "properties": {
        "displayName": {
          "type": "string"
        },
        "owner": {
          "type": "string"
        },
        "ownerDependentId": {
          "format": "int32",
          "type": "integer"
        }
      },
      "type": "object"
    },
    "OwnersModel": {
      "properties": {
        "owners": {
          "items": {
            "$ref": "#/definitions/OwnerModel"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "RealEstateAssetModel": {
      "properties": {
        "description": {
          "maxLength": 255,
          "minLength": 0,
          "type": "string"
        },
        "externalDestinationId": {
          "maxLength": 64,
          "minLength": 0,
          "type": "string"
        },
        "factFinderId": {
          "format": "int32",
          "type": "integer"
        },
        "frequency": {
          "format": "int32",
          "type": "integer"
        },
        "marketValue": {
          "format": "double",
          "type": "number"
        },
        "owner": {
          "enum": [
            "Client",
            "CoClient",
            "Joint"
          ],
          "type": "string"
        },
        "purchaseAmount": {
          "format": "double",
          "type": "number"
        },
        "purchaseDate": {
          "format": "date-time",
          "type": "string"
        },
        "rentalIncome": {
          "format": "double",
          "type": "number"
        }
      },
      "required": [
        "factFinderId",
        "description"
      ],
      "type": "object"
    },
    "RealEstateAssetWithIdModel": {
      "properties": {
        "description": {
          "type": "string"
        },
        "externalDestinationId": {
          "type": "string"
        },
        "factFinderId": {
          "format": "int32",
          "type": "integer"
        },
        "frequency": {
          "format": "int32",
          "type": "integer"
        },
        "links": {
          "items": {
            "$ref": "#/definitions/ObjectLink"
          },
          "type": "array"
        },
        "marketValue": {
          "format": "double",
          "type": "number"
        },
        "owner": {
          "enum": [
            "Client",
            "CoClient",
            "Joint"
          ],
          "type": "string"
        },
        "purchaseAmount": {
          "format": "double",
          "type": "number"
        },
        "purchaseDate": {
          "format": "date-time",
          "type": "string"
        },
        "realEstateAssetId": {
          "format": "int32",
          "type": "integer"
        },
        "rentalIncome": {
          "format": "double",
          "type": "number"
        }
      },
      "type": "object"
    },
    "RealEstateAssetsModel": {
      "properties": {
        "realEstateAssets": {
          "items": {
            "$ref": "#/definitions/RealEstateAssetWithIdModel"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "RelationshipTypeModel": {
      "properties": {
        "id": {
          "format": "int32",
          "type": "integer"
        },
        "isChildType": {
          "type": "boolean"
        },
        "relationshipType": {
          "enum": [
            "Son",
            "Daughter",
            "FosterSon",
            "FosterDaughter",
            "Grandson",
            "Granddaughter",
            "Nephew",
            "Niece",
            "MaleCousin",
            "FemaleCousin",
            "Father",
            "Mother",
            "Grandfather",
            "Grandmother",
            "Uncle",
            "Aunt",
            "Brother",
            "Sister",
            "SonInLaw",
            "DaughterInLaw",
            "MaleOther",
            "FemaleOther"
          ],
          "type": "string"
        }
      },
      "type": "object"
    },
    "RelationshipTypesModel": {
      "properties": {
        "relationshipTypes": {
          "items": {
            "$ref": "#/definitions/RelationshipTypeModel"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "RetirementExpenseModel": {
      "properties": {
        "amount": {
          "format": "double",
          "type": "number"
        },
        "annualPeriod": {
          "format": "int32",
          "maximum": 99,
          "minimum": 1,
          "type": "integer"
        },
        "description": {
          "maxLength": 255,
          "minLength": 0,
          "type": "string"
        },
        "endDate": {
          "format": "date-time",
          "type": "string"
        },
        "externalDestinationId": {
          "maxLength": 64,
          "minLength": 0,
          "type": "string"
        },
        "frequency": {
          "format": "int32",
          "type": "integer"
        },
        "member": {
          "enum": [
            "Client",
            "CoClient",
            "Joint"
          ],
          "type": "string"
        },
        "startDate": {
          "format": "date-time",
          "type": "string"
        }
      },
      "required": [
        "description"
      ],
      "type": "object"
    },
    "RetirementExpenseWithIdModel": {
      "properties": {
        "amount": {
          "format": "double",
          "type": "number"
        },
        "annualPeriod": {
          "format": "int32",
          "type": "integer"
        },
        "description": {
          "type": "string"
        },
        "endDate": {
          "format": "date-time",
          "type": "string"
        },
        "externalDestinationId": {
          "type": "string"
        },
        "frequency": {
          "format": "int32",
          "type": "integer"
        },
        "links": {
          "items": {
            "$ref": "#/definitions/ObjectLink"
          },
          "type": "array"
        },
        "member": {
          "enum": [
            "Client",
            "CoClient",
            "Joint"
          ],
          "type": "string"
        },
        "retirementExpenseId": {
          "format": "int32",
          "type": "integer"
        },
        "retirementGoalId": {
          "format": "int32",
          "type": "integer"
        },
        "startDate": {
          "format": "date-time",
          "type": "string"
        }
      },
      "type": "object"
    },
    "RetirementExpensesModel": {
      "properties": {
        "retirementExpenses": {
          "items": {
            "$ref": "#/definitions/RetirementExpenseWithIdModel"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "RetirementGoalModel": {
      "properties": {
        "externalDestinationId": {
          "maxLength": 64,
          "minLength": 0,
          "type": "string"
        },
        "factFinderId": {
          "format": "int32",
          "type": "integer"
        },
        "head1RetirementDate": {
          "format": "date-time",
          "type": "string"
        },
        "head2RetirementDate": {
          "format": "date-time",
          "type": "string"
        }
      },
      "required": [
        "factFinderId"
      ],
      "type": "object"
    },
    "RetirementGoalWithIdModel": {
      "properties": {
        "externalDestinationId": {
          "type": "string"
        },
        "factFinderId": {
          "format": "int32",
          "type": "integer"
        },
        "head1RetirementDate": {
          "format": "date-time",
          "type": "string"
        },
        "head2RetirementDate": {
          "format": "date-time",
          "type": "string"
        },
        "links": {
          "items": {
            "$ref": "#/definitions/ObjectLink"
          },
          "type": "array"
        },
        "retirementGoalId": {
          "format": "int32",
          "type": "integer"
        }
      },
      "type": "object"
    },
    "RetirementGoalsModel": {
      "properties": {
        "retirementGoals": {
          "items": {
            "$ref": "#/definitions/RetirementGoalWithIdModel"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "SavingsStrategiesModel": {
      "properties": {
        "savingsStrategies": {
          "items": {
            "$ref": "#/definitions/SavingsStrategyWithIdModel"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "SavingsStrategyModel": {
      "properties": {
        "employerSavingsAmount": {
          "format": "double",
          "type": "number"
        },
        "employerSavingsAmountType": {
          "enum": [
            "Dollar",
            "Percent",
            "Max"
          ],
          "type": "string"
        },
        "endDate": {
          "format": "date-time",
          "type": "string"
        },
        "externalDestinationId": {
          "type": "string"
        },
        "frequencyId": {
          "format": "int32",
          "type": "integer"
        },
        "mandatoryAmount": {
          "format": "double",
          "type": "number"
        },
        "mandatoryAmountType": {
          "enum": [
            "Dollar",
            "Percent",
            "Max"
          ],
          "type": "string"
        },
        "postTaxSavingsAmount": {
          "format": "double",
          "type": "number"
        },
        "postTaxSavingsAmountType": {
          "enum": [
            "Dollar",
            "Percent",
            "Max"
          ],
          "type": "string"
        },
        "preTaxSavingsAmount": {
          "format": "double",
          "type": "number"
        },
        "preTaxSavingsAmountType": {
          "enum": [
            "Dollar",
            "Percent",
            "Max"
          ],
          "type": "string"
        },
        "startDate": {
          "format": "date-time",
          "type": "string"
        }
      },
      "type": "object"
    },
    "SavingsStrategyWithIdModel": {
      "properties": {
        "accountId": {
          "format": "int32",
          "type": "integer"
        },
        "employerSavingsAmount": {
          "format": "double",
          "type": "number"
        },
        "employerSavingsAmountType": {
          "enum": [
            "Dollar",
            "Percent",
            "Max"
          ],
          "type": "string"
        },
        "endDate": {
          "format": "date-time",
          "type": "string"
        },
        "externalDestinationId": {
          "type": "string"
        },
        "frequencyId": {
          "format": "int32",
          "type": "integer"
        },
        "mandatoryAmount": {
          "format": "double",
          "type": "number"
        },
        "mandatoryAmountType": {
          "enum": [
            "Dollar",
            "Percent",
            "Max"
          ],
          "type": "string"
        },
        "postTaxSavingsAmount": {
          "format": "double",
          "type": "number"
        },
        "postTaxSavingsAmountType": {
          "enum": [
            "Dollar",
            "Percent",
            "Max"
          ],
          "type": "string"
        },
        "preTaxSavingsAmount": {
          "format": "double",
          "type": "number"
        },
        "preTaxSavingsAmountType": {
          "enum": [
            "Dollar",
            "Percent",
            "Max"
          ],
          "type": "string"
        },
        "savingsStrategyId": {
          "format": "int32",
          "type": "integer"
        },
        "startDate": {
          "format": "date-time",
          "type": "string"
        }
      },
      "type": "object"
    },
    "SavingsTypeDomainObject": {
      "properties": {
        "typeName": {
          "enum": [
            "PostTaxSavings",
            "PreTaxSavings",
            "EmployerSavings",
            "MandatorySavings"
          ],
          "type": "string"
        },
        "validAmountTypes": {
          "items": {
            "enum": [
              "Dollar",
              "Percent",
              "Max"
            ],
            "type": "string"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "ServiceInformationModel": {
      "properties": {
        "name": {
          "type": "string"
        },
        "schemaVersion": {
          "format": "int32",
          "type": "integer"
        },
        "serviceVersion": {
          "type": "string"
        },
        "status": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "StateProvinceModel": {
      "properties": {
        "links": {
          "items": {
            "$ref": "#/definitions/ObjectLink"
          },
          "type": "array"
        },
        "stateProvinceId": {
          "format": "int32",
          "type": "integer"
        },
        "stateProvinceName": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "StatesProvincesModel": {
      "properties": {
        "statesProvinces": {
          "items": {
            "$ref": "#/definitions/StateProvinceModel"
          },
          "type": "array"
        }
      },
      "type": "object"
    }
  }
}