{
  "openapi": "3.0.1",
  "info": {
    "x-metadata": {
      "tags": [
        "Class Partner"
      ]
    },
    "title": "Member Data",
    "version": "1.0",
    "description": "Provides authorised access to member-related information within a specified superannuation fund. \nThis schema enables users to retrieve, manage, and update member accounts and personal details \nthrough a structured API interface. It supports a wide range of operations including:\n\n- Querying member accounts and retrieving account summaries\n- Accessing detailed personal, contact, and beneficiary information\n- Managing member transitions and nomination details\n- Updating member records such as contact preferences, tax file numbers, and insurance coverage\n\nThe schema is designed to facilitate seamless integration with fund administration systems, \nensuring data consistency, compliance with regulatory requirements, and efficient member servicing.\n\n\n<div class=\"env-panel\" data-component-name=\"EnvPanel\"><div class=\"env-panel__header\">Servers</div><div class=\"env-panel__body\"><div class=\"env-row\"><div class=\"env-name\">Partner Integration Environment (Sandbox)</div><div class=\"env-url-row\"><span class=\"env-url\">https://apigateway.class-pie.com.au/api/1.0</span><button type=\"button\" class=\"copy-btn\" data-copy=\"https://apigateway.class-pie.com.au/api/1.0\" aria-label=\"Copy\"><svg viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" aria-hidden=\"true\"><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M5.16667 2.66667C5.16667 2.57462 5.24129 2.5 5.33333 2.5H12C12.092 2.5 12.1667 2.57462 12.1667 2.66667V10.6667C12.1667 10.7587 12.092 10.8333 12 10.8333H10H5.33333C5.24129 10.8333 5.16667 10.7587 5.16667 10.6667V4.66667V2.66667ZM4.16667 4.16667V2.66667C4.16667 2.02233 4.689 1.5 5.33333 1.5H12C12.6443 1.5 13.1667 2.02233 13.1667 2.66667V10.6667C13.1667 11.311 12.6443 11.8333 12 11.8333H10.5V13.3333C10.5 13.6428 10.3771 13.9395 10.1583 14.1583C9.9395 14.3771 9.64275 14.5 9.33333 14.5H2.66667C2.35725 14.5 2.0605 14.3771 1.84171 14.1583C1.62292 13.9395 1.5 13.6428 1.5 13.3333V5.33333C1.5 5.02391 1.62292 4.72717 1.84171 4.50838C2.0605 4.28958 2.35725 4.16667 2.66667 4.16667H4.16667ZM9.5 11.8333V13.3333C9.5 13.3775 9.48244 13.4199 9.45118 13.4512C9.41993 13.4824 9.37754 13.5 9.33333 13.5H2.66667C2.62246 13.5 2.58007 13.4824 2.54882 13.4512C2.51756 13.4199 2.5 13.3775 2.5 13.3333V5.33333C2.5 5.28913 2.51756 5.24674 2.54882 5.21548C2.58007 5.18423 2.62246 5.16667 2.66667 5.16667H4.16667V10.6667C4.16667 11.311 4.689 11.8333 5.33333 11.8333H9.5Z\" fill=\"currentColor\"/></svg></button></div></div><div class=\"env-row\"><div class=\"env-name\">Production Environment</div><div class=\"env-url-row\"><span class=\"env-url\">https://apigateway.class.com.au/api/1.0</span><button type=\"button\" class=\"copy-btn\" data-copy=\"https://apigateway.class.com.au/api/1.0\" aria-label=\"Copy\"><svg viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" aria-hidden=\"true\"><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M5.16667 2.66667C5.16667 2.57462 5.24129 2.5 5.33333 2.5H12C12.092 2.5 12.1667 2.57462 12.1667 2.66667V10.6667C12.1667 10.7587 12.092 10.8333 12 10.8333H10H5.33333C5.24129 10.8333 5.16667 10.7587 5.16667 10.6667V4.66667V2.66667ZM4.16667 4.16667V2.66667C4.16667 2.02233 4.689 1.5 5.33333 1.5H12C12.6443 1.5 13.1667 2.02233 13.1667 2.66667V10.6667C13.1667 11.311 12.6443 11.8333 12 11.8333H10.5V13.3333C10.5 13.6428 10.3771 13.9395 10.1583 14.1583C9.9395 14.3771 9.64275 14.5 9.33333 14.5H2.66667C2.35725 14.5 2.0605 14.3771 1.84171 14.1583C1.62292 13.9395 1.5 13.6428 1.5 13.3333V5.33333C1.5 5.02391 1.62292 4.72717 1.84171 4.50838C2.0605 4.28958 2.35725 4.16667 2.66667 4.16667H4.16667ZM9.5 11.8333V13.3333C9.5 13.3775 9.48244 13.4199 9.45118 13.4512C9.41993 13.4824 9.37754 13.5 9.33333 13.5H2.66667C2.62246 13.5 2.58007 13.4824 2.54882 13.4512C2.51756 13.4199 2.5 13.3775 2.5 13.3333V5.33333C2.5 5.28913 2.51756 5.24674 2.54882 5.21548C2.58007 5.18423 2.62246 5.16667 2.66667 5.16667H4.16667V10.6667C4.16667 11.311 4.689 11.8333 5.33333 11.8333H9.5Z\" fill=\"currentColor\"/></svg></button></div></div></div></div>"
  },
  "tags": [
    {
      "name": "Fund",
      "description": "This refers to data held at an individual Fund level. Most of the end data entered into Class will be at a Fund level e.g. member and transaction date, this applies uniquely to the entity."
    }
  ],
  "servers": [
    {
      "url": "https://apigateway.class-pie.com.au/api/1.0",
      "description": "Partner Integration Environment (Sandbox)"
    },
    {
      "url": "https://apigateway.class.com.au/api/1.0",
      "description": "Production Environment"
    }
  ],
  "paths": {
    "/f/{businessCode}/{fundCode}/member-data/member-detail/{id}": {
      "get": {
        "tags": [
          "Fund"
        ],
        "operationId": "getMemberDetail",
        "summary": "Member detail",
        "description": "The complete details of a member within the fund.",
        "parameters": [
          {
            "$ref": "#/components/parameters/businessCodeParam"
          },
          {
            "$ref": "#/components/parameters/fundCodeParam"
          },
          {
            "name": "id",
            "in": "path",
            "description": "Unique Id to identify the member of the fund",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/guid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success (Ok)",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "Data"
                  ],
                  "properties": {
                    "Data": {
                      "$ref": "#/components/schemas/MemberData_MemberDetail"
                    }
                  },
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ApiResponseBase"
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Error Message",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "Errors": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/ErrorResponse"
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "Errors": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/UnauthorizedErrorCommon"
                      }
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "Errors": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/ForbiddenErrorCommon"
                      }
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Resource not available or user does not have access to the fund",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "Errors": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/ResourceUnavailableErrorCommon"
                      }
                    }
                  }
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "Errors": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/InternalErrorCommon"
                      }
                    }
                  }
                }
              }
            }
          },
          "default": {
            "description": "Unexpected error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "Errors": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/InternalErrorCommon"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "Class_oAuth": [
              "fund.member.read"
            ]
          }
        ]
      },
      "post": {
        "tags": [
          "Fund"
        ],
        "operationId": "postMemberDetail",
        "summary": "Update member detail",
        "description": "Update the complete details of a member within the fund.",
        "parameters": [
          {
            "$ref": "#/components/parameters/businessCodeParam"
          },
          {
            "$ref": "#/components/parameters/fundCodeParam"
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/Api_RequestId"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success (Ok)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/StandardApiResponse"
                }
              }
            }
          },
          "400": {
            "description": "Error Message",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "Errors": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/ErrorResponse"
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "Errors": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/UnauthorizedErrorCommon"
                      }
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "Errors": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/ForbiddenErrorCommon"
                      }
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Resource not available or user does not have access to the fund",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "Errors": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/ResourceUnavailableErrorCommon"
                      }
                    }
                  }
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "Errors": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/InternalErrorCommon"
                      }
                    }
                  }
                }
              }
            }
          },
          "default": {
            "description": "Unexpected error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "Errors": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/InternalErrorCommon"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MemberData_MemberDetail"
              }
            }
          }
        },
        "security": [
          {
            "Class_oAuth": [
              "fund.member.maintain"
            ]
          }
        ]
      }
    },
    "/f/{businessCode}/{fundCode}/member-data/member-list": {
      "get": {
        "tags": [
          "Fund"
        ],
        "operationId": "memberList",
        "summary": "Member list",
        "description": "The list of all the members within the fund with basic details.",
        "parameters": [
          {
            "$ref": "#/components/parameters/businessCodeParam"
          },
          {
            "$ref": "#/components/parameters/fundCodeParam"
          }
        ],
        "responses": {
          "200": {
            "description": "Success (Ok)",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "Data"
                  ],
                  "properties": {
                    "Data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/MemberData_MemberSummaryList"
                      }
                    }
                  },
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ApiResponseBase"
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Error Message",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "Errors": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/ErrorResponse"
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "Errors": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/UnauthorizedErrorCommon"
                      }
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "Errors": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/ForbiddenErrorCommon"
                      }
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Resource not available or user does not have access to the fund",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "Errors": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/ResourceUnavailableErrorCommon"
                      }
                    }
                  }
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "Errors": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/InternalErrorCommon"
                      }
                    }
                  }
                }
              }
            }
          },
          "default": {
            "description": "Unexpected error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "Errors": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/InternalErrorCommon"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "Class_oAuth": [
              "fund.member.read"
            ]
          }
        ]
      }
    },
    "/f/{businessCode}/{fundCode}/member-data/member-detail": {
      "get": {
        "tags": [
          "Fund"
        ],
        "operationId": "getMembersDetail",
        "summary": "Members detail",
        "description": "The list of all the members within the fund with basic details.",
        "parameters": [
          {
            "$ref": "#/components/parameters/businessCodeParam"
          },
          {
            "$ref": "#/components/parameters/fundCodeParam"
          }
        ],
        "responses": {
          "200": {
            "description": "Success (Ok)",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "Data"
                  ],
                  "properties": {
                    "Data": {
                      "$ref": "#/components/schemas/MemberData_MemberDetail"
                    }
                  },
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ApiResponseBase"
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Error Message",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "Errors": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/ErrorResponse"
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "Errors": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/UnauthorizedErrorCommon"
                      }
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "Errors": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/ForbiddenErrorCommon"
                      }
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Resource not available or user does not have access to the fund",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "Errors": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/ResourceUnavailableErrorCommon"
                      }
                    }
                  }
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "Errors": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/InternalErrorCommon"
                      }
                    }
                  }
                }
              }
            }
          },
          "default": {
            "description": "Unexpected error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "Errors": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/InternalErrorCommon"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "Class_oAuth": [
              "fund.member.read"
            ]
          }
        ]
      }
    }
  },
  "components": {
    "parameters": {
      "fundCodeParam": {
        "name": "fundCode",
        "description": "Class entity code",
        "in": "path",
        "required": true,
        "schema": {
          "type": "string",
          "example": "demo-fund"
        }
      },
      "businessCodeParam": {
        "name": "businessCode",
        "in": "path",
        "description": "Class business code",
        "required": true,
        "schema": {
          "type": "string",
          "example": "demo-business"
        }
      }
    },
    "schemas": {
      "ApiError": {
        "type": "object",
        "required": [
          "Code",
          "Message"
        ],
        "properties": {
          "Code": {
            "type": "string"
          },
          "Message": {
            "type": "string"
          }
        }
      },
      "ApiResponseBase": {
        "type": "object",
        "required": [
          "Errors"
        ],
        "properties": {
          "Errors": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ApiError"
            }
          }
        }
      },
      "ApiRestLink": {
        "description": "Represents a hyperlink reference to a REST API resource.",
        "type": "object",
        "required": [
          "Id",
          "Url"
        ],
        "properties": {
          "Id": {
            "type": "string",
            "description": "A unique identifier for the link.",
            "example": "0ef57b4d-6fe4-45c9-83e5-fd27c16d149c"
          },
          "Url": {
            "type": "string",
            "description": "The full URL pointing to the API resource.",
            "example": "https://api.class.com.au/api/1.0/f/demo-business/DEMO_SMSF_2025/member-data/member-detail/0ef57b4d-6fe4-45c9-83e5-fd27c16d149c"
          }
        }
      },
      "Api_RequestId": {
        "description": "Encapsulates a request identifier for the member used for tracking or referencing API calls.",
        "type": "object",
        "required": [
          "id"
        ],
        "properties": {
          "id": {
            "$ref": "#/components/schemas/guid",
            "description": "A globally unique identifier for the request."
          }
        }
      },
      "Gender": {
        "description": "Defines the gender of an individual.",
        "type": "string",
        "enum": [
          "Male",
          "Female",
          "Other",
          "NotStated"
        ]
      },
      "MemberData_MemberAccount": {
        "description": "Describes a member's account within a superannuation fund.",
        "type": "object",
        "required": [
          "Id",
          "Description",
          "Type",
          "Balance",
          "Status",
          "MemberName"
        ],
        "properties": {
          "Id": {
            "type": "string",
            "description": "Unique identifier for the account.",
            "example": "2396ef8f-bd5e-45fb-b078-b48f41a2191d"
          },
          "Description": {
            "type": "string",
            "description": "A short label or code for the account.",
            "example": "ABP2007"
          },
          "Type": {
            "type": "string",
            "description": "The type of account (e.g., pension, accumulation).",
            "example": "Pension - Account Based"
          },
          "Balance": {
            "type": "number",
            "format": "decimal",
            "description": "The current balance of the account.",
            "example": 527254.55
          },
          "Status": {
            "$ref": "#/components/schemas/StatusCode",
            "description": "The current status of the account."
          },
          "MemberName": {
            "type": "string",
            "description": "The full name of the account holder.",
            "example": "Mr Oliver Brown"
          }
        }
      },
      "MemberData_MemberDetail": {
        "description": "Provides comprehensive details about a superannuation fund member.",
        "type": "object",
        "required": [
          "Link",
          "Status",
          "PersonalDetails",
          "MembersDetails",
          "ContactDetails",
          "BeneficiaryDetails",
          "MemberTransitionDetails"
        ],
        "properties": {
          "Link": {
            "$ref": "#/components/schemas/ApiRestLink",
            "description": "A reference link to the member's API resource."
          },
          "Status": {
            "$ref": "#/components/schemas/StatusCode",
            "description": "The member's current status."
          },
          "PersonalDetails": {
            "$ref": "#/components/schemas/MemberDetail_PersonalDetail",
            "description": "Personal information about the member."
          },
          "MembersDetails": {
            "$ref": "#/components/schemas/MemberDetail_MemberDetails",
            "description": "Membership-specific details."
          },
          "ContactDetails": {
            "$ref": "#/components/schemas/MemberDetail_MemberContactDetail",
            "description": "Contact information for the member."
          },
          "BeneficiaryDetails": {
            "$ref": "#/components/schemas/MemberDetail_BeneficiaryDetail",
            "description": "Information about the member’s nominated beneficiaries."
          },
          "MemberTransitionDetails": {
            "$ref": "#/components/schemas/MemberDetail_MemberTransitionDetail",
            "description": "Details about the member’s transition status or history."
          }
        }
      },
      "MemberData_MemberSummary": {
        "type": "object",
        "required": [
          "Link",
          "Status",
          "DefaulDisplayName",
          "MemberNumber"
        ],
        "properties": {
          "Link": {
            "$ref": "#/components/schemas/ApiRestLink"
          },
          "Status": {
            "$ref": "#/components/schemas/StatusCode"
          },
          "DefaulDisplayName": {
            "type": "string",
            "example": "Mr Oliver Brown"
          },
          "MemberNumber": {
            "type": "string",
            "example": "1"
          }
        }
      },
      "MemberData_MemberSummaryList": {
        "type": "object",
        "required": [
          "MemberSummaries"
        ],
        "properties": {
          "MemberSummaries": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MemberData_MemberSummary"
            }
          }
        }
      },
      "MemberDetail_BeneficiaryDetail": {
        "description": "Contains information about a member's beneficiary nomination, including effective and expiry dates, nomination type, and additional details.",
        "type": "object",
        "required": [
          "EffectiveDateSpecified",
          "ExpiryDateSpecified",
          "NominationType",
          "Details"
        ],
        "properties": {
          "EffectiveDate": {
            "type": "string",
            "format": "date-time",
            "description": "The date the beneficiary nomination becomes effective.",
            "example": "2020-01-01"
          },
          "EffectiveDateSpecified": {
            "type": "boolean",
            "description": "Indicates whether the effective date is explicitly specified.",
            "example": true
          },
          "ExpiryDate": {
            "type": "string",
            "format": "date-time",
            "description": "The date the beneficiary nomination expires, if applicable.",
            "example": "2030-01-01"
          },
          "ExpiryDateSpecified": {
            "type": "boolean",
            "description": "Indicates whether the expiry date is explicitly specified.",
            "example": true
          },
          "NominationType": {
            "type": "string",
            "description": "The type of nomination, such as binding or non-binding.",
            "example": "Binding"
          },
          "Details": {
            "type": "string",
            "description": "Additional information or notes regarding the beneficiary nomination.",
            "example": "Primary beneficiary is Jane Doe, 100% allocation."
          }
        }
      },
      "MemberDetail_InvitationDetail": {
        "type": "object",
        "required": [
          "InvitationStatus",
          "CanInviteUsers",
          "PersistedEmailAddress",
          "MemberId"
        ],
        "properties": {
          "InvitationStatus": {
            "$ref": "#/components/schemas/PartyRoleUserInvitationStatus"
          },
          "CanInviteUsers": {
            "type": "boolean",
            "description": "Indicates whether the member has permission to invite other users to the platform.",
            "example": true
          },
          "PersistedEmailAddress": {
            "type": "string",
            "description": "The email address stored for the member, used for communication and invitation purposes.",
            "example": "testers-ProdMember@super-ip.com.au"
          },
          "MemberId": {
            "type": "string",
            "description": "A unique identifier for the member within the system.",
            "example": "f8fb1a99-0dda-4142-b364-bf5c89f2aff5"
          }
        }
      },
      "MemberDetail_MemberContactDetail": {
        "type": "object",
        "required": [
          "HomePhone",
          "WorkPhone",
          "Mobile",
          "Direct",
          "InvitationDetails"
        ],
        "properties": {
          "PreferredVoiceContact": {
            "$ref": "#/components/schemas/VoiceContactType",
            "description": "The member's preferred method of voice communication.",
            "example": "Mobile"
          },
          "PreferredWrittenContact": {
            "$ref": "#/components/schemas/WrittenContactType",
            "description": "The member's preferred method of written communication.",
            "example": "Email"
          },
          "HomePhone": {
            "type": "string",
            "description": "The member's home phone number. (Double check)",
            "example": null
          },
          "WorkPhone": {
            "type": "string",
            "description": "The member's work phone number.",
            "example": null
          },
          "Mobile": {
            "type": "string",
            "description": "The member's mobile phone number.",
            "example": 4123123123
          },
          "Direct": {
            "type": "string",
            "description": "A direct phone line to the member.",
            "example": "0233333333"
          },
          "InvitationDetails": {
            "$ref": "#/components/schemas/MemberDetail_InvitationDetail",
            "description": "Details about the member's invitation status and permissions."
          }
        }
      },
      "MemberDetail_MemberDetails": {
        "type": "object",
        "description": "Contains detailed membership information for a superannuation fund member, including fund participation, residency, tax, and insurance details",
        "required": [
          "Number",
          "LeaveFundDateSpecified",
          "EligibleServicePeriodStartDateSpecified",
          "EligibleServicePeriodStartDateBackupSpecified",
          "AustralianResident",
          "TaxFileNumber",
          "ClaimTaxFreeThreshold",
          "FloodLevyExempt",
          "CentrelinkDVAReferenceNumber"
        ],
        "properties": {
          "Number": {
            "type": "string",
            "description": "The unique membership number assigned to the individual.",
            "example": "1"
          },
          "JoinFundDate": {
            "type": "string",
            "format": "date-time",
            "description": "The date the member joined the fund.",
            "example": "2005-08-15"
          },
          "LeaveFundDate": {
            "type": "string",
            "format": "date-time",
            "description": "The date the member left the fund, if applicable.",
            "example": null
          },
          "LeaveFundDateSpecified": {
            "type": "boolean",
            "description": "Indicates whether the LeaveFundDate is specified.",
            "example": false
          },
          "EligibleServicePeriodStartDate": {
            "type": "string",
            "format": "date-time",
            "description": "The start date of the member's eligible service period.",
            "example": "1988-08-24"
          },
          "EligibleServicePeriodStartDateSpecified": {
            "type": "boolean",
            "description": "Indicates whether the EligibleServicePeriodStartDate is specified.",
            "example": true
          },
          "EligibleServicePeriodStartDateBackup": {
            "type": "string",
            "format": "date-time",
            "description": "A backup date for the start of the eligible service period, if applicable.",
            "example": null
          },
          "EligibleServicePeriodStartDateBackupSpecified": {
            "type": "boolean",
            "description": "Indicates whether the backup eligible service period start date is specified.",
            "example": false
          },
          "AustralianResident": {
            "type": "boolean",
            "description": "Indicates whether the member is an Australian resident for tax purposes.",
            "example": true
          },
          "TaxFileNumber": {
            "type": "string",
            "description": "The member's Australian Tax File Number (TFN).",
            "example": "137202478"
          },
          "ClaimTaxFreeThreshold": {
            "type": "boolean",
            "description": "Indicates whether the member has claimed the tax-free threshold.",
            "example": true
          },
          "DeathSumInsured": {
            "type": "number",
            "format": "decimal",
            "description": "The amount insured in the event of the member's death.",
            "example": 0
          },
          "TpdSumInsured": {
            "type": "number",
            "format": "decimal",
            "description": "The amount insured for total and permanent disability (TPD).",
            "example": 0
          },
          "SalaryContinuanceSumInsured": {
            "type": "number",
            "format": "decimal",
            "description": "The amount insured for salary continuance or income protection.",
            "example": 0
          },
          "FloodLevyExempt": {
            "type": "boolean",
            "description": "Indicates whether the member is exempt from the flood levy.",
            "example": false
          },
          "CentrelinkDVAReferenceNumber": {
            "type": "string",
            "description": "The member's Centrelink or Department of Veterans' Affairs reference number, if applicable. (Double check)",
            "example": null
          }
        }
      },
      "MemberDetail_MemberTransitionDetail": {
        "type": "object",
        "required": [
          "MemberId",
          "Transitions"
        ],
        "properties": {
          "MemberId": {
            "type": "string",
            "description": "A unique identifier for the member within the system.",
            "example": "f8fb1a99-0dda-4142-b364-bf5c89f2aff5"
          },
          "Transitions": {
            "type": "array",
            "description": "Details about the member’s transition status or history.",
            "items": {
              "$ref": "#/components/schemas/MemberTransitionDetail_Transition"
            }
          }
        }
      },
      "MemberDetail_PersonalDetail": {
        "type": "object",
        "required": [
          "Title",
          "FirstName",
          "MiddleNames",
          "LastName",
          "Gender",
          "DateOfDeathSpecified",
          "PreferredSalutation",
          "PreferredName"
        ],
        "properties": {
          "Title": {
            "type": "string",
            "description": "The title or honorific of the individual.",
            "example": "MR"
          },
          "FirstName": {
            "type": "string",
            "description": "The given name of the individual.",
            "example": "Kevin"
          },
          "MiddleNames": {
            "type": "string",
            "description": "The middle name(s) of the individual, if any.",
            "example": "James"
          },
          "LastName": {
            "type": "string",
            "description": "The family or surname of the individual.",
            "example": "O'Brien"
          },
          "Gender": {
            "$ref": "#/components/schemas/Gender",
            "description": "The gender of the individual.",
            "example": "Male"
          },
          "DateOfBirth": {
            "type": "string",
            "format": "date-time",
            "description": "The date of birth of the individual in ISO 8601 format.",
            "example": "1935-06-13"
          },
          "DateOfDeath": {
            "type": "string",
            "format": "date-time",
            "description": "The date of death of the individual, if applicable, in ISO 8601 format.",
            "example": "2024-01-01"
          },
          "DateOfDeathSpecified": {
            "type": "boolean",
            "description": "Indicates whether the date of death is specified.",
            "example": false
          },
          "PreferredSalutation": {
            "type": "string",
            "description": "The preferred way to address the individual.",
            "example": "Mr"
          },
          "PreferredName": {
            "type": "string",
            "description": "The name the individual prefers to be called.",
            "example": "Kevin"
          }
        }
      },
      "MemberTransitionDetail_Transition": {
        "description": "Represents a transition event in a member's superannuation lifecycle, such as moving between account types or status changes.",
        "type": "object",
        "required": [
          "TransitionId",
          "Date",
          "Type",
          "Status"
        ],
        "properties": {
          "TransitionId": {
            "type": "string",
            "description": "A unique identifier for the transition event. (Double Check)",
            "example": "a1b2c3d4-e5f6-7890-abcd-1234567890ef"
          },
          "Date": {
            "type": "string",
            "format": "date-time",
            "description": "The date and time when the transition occurred.",
            "example": "2023-07-01"
          },
          "Type": {
            "type": "string",
            "description": "The type of transition, such as 'Retirement' or 'LeaveRetirement'.",
            "example": "Retirement"
          },
          "Status": {
            "$ref": "#/components/schemas/StatusCode",
            "description": "The current status of the transition.",
            "example": "Active"
          }
        }
      },
      "PartyRoleUserInvitationStatus": {
        "type": "string",
        "description": "Indicates the current invitation and access status of a user associated with a party role in the system.",
        "enum": [
          "NotApplicable",
          "NotInvited",
          "Invited",
          "AccessGranted",
          "AccessSuspended",
          "CantBeInvited"
        ]
      },
      "StandardApiResponse": {
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/ApiResponseBase"
          }
        ]
      },
      "StatusCode": {
        "description": "Represents the current status of an entity or process.",
        "type": "string",
        "enum": [
          "Active",
          "Cancelled",
          "Pending",
          "Suspended"
        ]
      },
      "VoiceContactType": {
        "description": "Specifies the type of voice-based contact method.",
        "type": "string",
        "enum": [
          "Home",
          "Mobile",
          "Work",
          "Business",
          "Direct"
        ]
      },
      "WrittenContactType": {
        "description": "Specifies the type of written communication method.",
        "type": "string",
        "enum": [
          "Email",
          "MailingAddress",
          "Fax",
          "PhysicalAddress"
        ]
      },
      "guid": {
        "type": "string",
        "example": "0ef57b4d-6fe4-45c9-83e5-fd27c16d149c"
      },
      "InternalErrorCommon": {
        "type": "object",
        "properties": {
          "Code": {
            "type": "string",
            "example": "API_INTERNAL_ERROR"
          },
          "Message": {
            "type": "string",
            "example": "An unexpected error occurred on the server. Please try again later."
          }
        }
      },
      "ErrorResponse": {
        "type": "object",
        "properties": {
          "Code": {
            "type": "string",
            "nullable": true
          },
          "Message": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ForbiddenErrorCommon": {
        "type": "object",
        "properties": {
          "Code": {
            "type": "string",
            "example": "FORBIDDEN"
          },
          "Message": {
            "type": "string",
            "example": "You do not have permission to access this resource."
          }
        }
      },
      "ResourceUnavailableErrorCommon": {
        "type": "object",
        "properties": {
          "Code": {
            "type": "string",
            "example": "API_NOT_FOUND"
          },
          "Message": {
            "type": "string",
            "example": "Resource not available or user does not have access to the fund."
          }
        }
      },
      "UnauthorizedErrorCommon": {
        "type": "object",
        "properties": {
          "Code": {
            "type": "string",
            "example": "API_NOT_AUTHORISED"
          },
          "Message": {
            "type": "string",
            "example": "Not authorised"
          }
        }
      }
    },
    "securitySchemes": {
      "Class_oAuth": {
        "type": "oauth2",
        "description": "Class use OAuth2 and OpenID for secure authentication and authorisation. The base URL reflects the environment—whether Production or PIE and is defined under the hosts section.",
        "flows": {
          "authorizationCode": {
            "authorizationUrl": "/connect/authorize",
            "tokenUrl": "/connect/token",
            "scopes": {
              "business.fund.list": "List summarised data of funds in the business",
              "business.fund.create": "Create new funds in the business",
              "fund.details.read": "View basic fund details",
              "fund.details.maintain": "View and maintain basic fund details",
              "fund.member.read": "View member details",
              "fund.member.maintain": "View and maintain member details",
              "fund.read": "View all fund information",
              "fund.maintain": "View and maintain all fund information"
            }
          }
        }
      }
    }
  }
}