{
  "openapi": "3.0.1",
  "info": {
    "x-metadata": {
      "apiId": "NowInfinity Partner v1",
      "tags": [
        "NowInfinity Partner"
      ]
    },
    "title": "Trusts",
    "version": "1.0",
    "description": "- Retrieve details of a single trust, including unit holdings.\n- Search for a trust by name, commencement date or type.\n- Query trusts under the account using OData.\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://partnerapi.nowinfinity-test.com.au/v1</span><button type=\"button\" class=\"copy-btn\" data-copy=\"https://partnerapi.nowinfinity-test.com.au/v1\" 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://partnerapi.nowinfinity.com.au/v1</span><button type=\"button\" class=\"copy-btn\" data-copy=\"https://partnerapi.nowinfinity.com.au/v1\" 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": "Trusts",
      "description": "Trusts held under the account, including unit holdings and beneficiary details.\n"
    }
  ],
  "servers": [
    {
      "url": "https://partnerapi.nowinfinity-test.com.au/v1",
      "description": "Partner Integration Environment (Sandbox)"
    },
    {
      "url": "https://partnerapi.nowinfinity.com.au/v1",
      "description": "Production Environment"
    }
  ],
  "paths": {
    "/trusts/{id}": {
      "get": {
        "tags": [
          "Trusts"
        ],
        "summary": "Trust details",
        "description": "Returns details of the specified trust.\n",
        "operationId": "GetTrust",
        "parameters": [
          {
            "$ref": "#/components/parameters/trustIdParam"
          }
        ],
        "responses": {
          "200": {
            "description": "Success (Ok)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Trust"
                }
              }
            }
          },
          "404": {
            "description": "A trust with the specified Id cannot be found."
          }
        },
        "security": [
          {
            "NowInfinity_oAuth": [
              "api1"
            ]
          }
        ]
      }
    },
    "/trusts/get": {
      "get": {
        "tags": [
          "Trusts"
        ],
        "summary": "Trust search",
        "description": "Finds a trust matching the supplied parameters.\n",
        "operationId": "SearchTrusts",
        "parameters": [
          {
            "name": "trustName",
            "in": "query",
            "required": false,
            "description": "The full name of the trust.",
            "schema": {
              "type": "string"
            },
            "example": "Nguyen Family Trust"
          },
          {
            "name": "commencementDate",
            "in": "query",
            "required": false,
            "description": "The date the trust commenced.",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "example": "2018-06-12T00:00:00Z"
          },
          {
            "name": "trustType",
            "in": "query",
            "required": false,
            "description": "The type of trust.",
            "schema": {
              "type": "string",
              "enum": [
                "NotSpecified",
                "UnitTrust",
                "DiscretionaryTrust"
              ]
            },
            "example": "DiscretionaryTrust"
          },
          {
            "name": "trustSubType",
            "in": "query",
            "required": false,
            "description": "The sub type of trust.",
            "schema": {
              "type": "string",
              "enum": [
                "None",
                "DiscretionaryCapitalReservedLinealDecendant",
                "DiscretionaryFullyReservedLinealDescendants",
                "FixedUnitTrust",
                "HybridTrust",
                "SuitTrust",
                "NswLandTaxUnitTrust",
                "Regulation1322CTrust",
                "UnitTrustNonFixed"
              ]
            },
            "example": "FixedUnitTrust"
          }
        ],
        "responses": {
          "200": {
            "description": "Success (Ok)",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        },
        "security": [
          {
            "NowInfinity_oAuth": [
              "api1"
            ]
          }
        ]
      }
    },
    "/trusts": {
      "get": {
        "tags": [
          "Trusts"
        ],
        "summary": "Trusts",
        "description": "OData endpoint to query trusts under the account.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/expandParam"
          },
          {
            "$ref": "#/components/parameters/filterParam"
          },
          {
            "$ref": "#/components/parameters/selectParam"
          },
          {
            "$ref": "#/components/parameters/orderbyParam"
          },
          {
            "$ref": "#/components/parameters/topParam"
          },
          {
            "$ref": "#/components/parameters/skipParam"
          },
          {
            "$ref": "#/components/parameters/countParam"
          }
        ],
        "operationId": "QueryTrusts",
        "responses": {
          "200": {
            "description": "Success (Ok)",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/TrustSummary"
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "NowInfinity_oAuth": [
              "api1"
            ]
          }
        ]
      }
    }
  },
  "components": {
    "parameters": {
      "trustIdParam": {
        "name": "id",
        "in": "path",
        "required": true,
        "description": "Unique id of the trust whose details are to be returned.",
        "schema": {
          "type": "string",
          "format": "uuid"
        },
        "example": "6a0e4b73-1d58-4c92-a37f-5e8b1c0d92a6"
      },
      "expandParam": {
        "name": "$expand",
        "in": "query",
        "required": false,
        "description": "Expands related entities inline.",
        "schema": {
          "type": "string"
        },
        "example": "Trustee"
      },
      "filterParam": {
        "name": "$filter",
        "in": "query",
        "required": false,
        "description": "Filters the results, based on a Boolean condition.",
        "schema": {
          "type": "string"
        },
        "example": "Status eq 'Active'"
      },
      "selectParam": {
        "name": "$select",
        "in": "query",
        "required": false,
        "description": "Selects which properties to include in the response.",
        "schema": {
          "type": "string"
        },
        "example": "Name,ABN,Status"
      },
      "orderbyParam": {
        "name": "$orderby",
        "in": "query",
        "required": false,
        "description": "Sorts the results.",
        "schema": {
          "type": "string"
        },
        "example": "CreatedDate desc"
      },
      "topParam": {
        "name": "$top",
        "in": "query",
        "required": false,
        "description": "Returns only the first n results.",
        "schema": {
          "type": "integer",
          "format": "int32"
        },
        "example": 25
      },
      "skipParam": {
        "name": "$skip",
        "in": "query",
        "required": false,
        "description": "Skips the first n results.",
        "schema": {
          "type": "integer",
          "format": "int32"
        },
        "example": 0
      },
      "countParam": {
        "name": "$count",
        "in": "query",
        "required": false,
        "description": "Includes a count of the matching results in the response.",
        "schema": {
          "type": "boolean"
        },
        "example": true
      }
    },
    "schemas": {
      "Trust": {
        "description": "A trust held under the account.",
        "type": "object",
        "properties": {
          "TrustId": {
            "type": "string",
            "format": "uuid",
            "example": "6a0e4b73-1d58-4c92-a37f-5e8b1c0d92a6"
          },
          "Name": {
            "type": "string",
            "example": "Nguyen Family Trust"
          },
          "TrustType": {
            "type": "string",
            "enum": [
              "NotSpecified",
              "UnitTrust",
              "DiscretionaryTrust"
            ],
            "example": "DiscretionaryTrust"
          },
          "TrustSubType": {
            "type": "string",
            "enum": [
              "None",
              "DiscretionaryCapitalReservedLinealDecendant",
              "DiscretionaryFullyReservedLinealDescendants",
              "FixedUnitTrust",
              "HybridTrust",
              "SuitTrust",
              "NswLandTaxUnitTrust",
              "Regulation1322CTrust",
              "UnitTrustNonFixed"
            ],
            "example": "DiscretionaryFullyReservedLinealDescendants"
          },
          "Status": {
            "type": "string",
            "enum": [
              "NotSpecified",
              "Trading",
              "Vested",
              "Draft",
              "Active",
              "Deregistered",
              "Archived"
            ],
            "example": "Trading"
          },
          "ABN": {
            "type": "string",
            "example": "53 004 085 616"
          },
          "Jurisdiction": {
            "type": "string",
            "example": "New South Wales"
          },
          "SettlementSum": {
            "type": "number",
            "format": "double",
            "example": 10
          },
          "ReferenceNumber": {
            "type": "string",
            "example": "NI-TRUST-001984"
          },
          "AccountManager": {
            "type": "string",
            "example": "David Okonkwo"
          },
          "VestingDate": {
            "type": "string",
            "format": "date-time",
            "example": "2098-06-12T00:00:00Z"
          },
          "CommencementDate": {
            "type": "string",
            "format": "date-time",
            "example": "2018-06-12T00:00:00Z"
          },
          "CreatedDate": {
            "type": "string",
            "format": "date-time",
            "example": "2018-06-12T03:44:10Z"
          },
          "ModifiedDate": {
            "type": "string",
            "format": "date-time",
            "example": "2026-05-02T21:18:37Z"
          },
          "Address": {
            "$ref": "#/components/schemas/Address"
          },
          "Trustee": {
            "$ref": "#/components/schemas/Trustee"
          },
          "UnitHoldings": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/UnitHolding"
            }
          },
          "Appointers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Individual"
            }
          },
          "Settlor": {
            "$ref": "#/components/schemas/Individual"
          },
          "PrimaryBeneficiaries": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Trustee"
            }
          },
          "SecondaryBeneficiaries": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Trustee"
            }
          },
          "Links": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Link"
            }
          }
        }
      },
      "TrustSummary": {
        "description": "Summary details for a trust, as returned by the OData query endpoint.",
        "type": "object",
        "properties": {
          "TrustId": {
            "type": "string",
            "format": "uuid",
            "example": "6a0e4b73-1d58-4c92-a37f-5e8b1c0d92a6"
          },
          "Name": {
            "type": "string",
            "example": "Nguyen Family Trust"
          },
          "TrustType": {
            "type": "string",
            "enum": [
              "NotSpecified",
              "UnitTrust",
              "DiscretionaryTrust"
            ],
            "example": "DiscretionaryTrust"
          },
          "TrustSubType": {
            "type": "string",
            "enum": [
              "None",
              "DiscretionaryCapitalReservedLinealDecendant",
              "DiscretionaryFullyReservedLinealDescendants",
              "FixedUnitTrust",
              "HybridTrust",
              "SuitTrust",
              "NswLandTaxUnitTrust",
              "Regulation1322CTrust",
              "UnitTrustNonFixed"
            ],
            "example": "DiscretionaryFullyReservedLinealDescendants"
          },
          "Status": {
            "type": "string",
            "enum": [
              "NotSpecified",
              "Trading",
              "Vested",
              "Draft",
              "Active",
              "Deregistered",
              "Archived"
            ],
            "example": "Trading"
          },
          "ABN": {
            "type": "string",
            "example": "53 004 085 616"
          },
          "Jurisdiction": {
            "type": "string",
            "example": "New South Wales"
          },
          "ReferenceNumber": {
            "type": "string",
            "example": "NI-TRUST-001984"
          },
          "AccountManager": {
            "type": "string",
            "example": "David Okonkwo"
          },
          "VestingDate": {
            "type": "string",
            "format": "date-time",
            "example": "2098-06-12T00:00:00Z"
          },
          "CommencementDate": {
            "type": "string",
            "format": "date-time",
            "example": "2018-06-12T00:00:00Z"
          },
          "CreatedDate": {
            "type": "string",
            "format": "date-time",
            "example": "2018-06-12T03:44:10Z"
          },
          "ModifiedDate": {
            "type": "string",
            "format": "date-time",
            "example": "2026-05-02T21:18:37Z"
          },
          "Links": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Link"
            }
          }
        }
      },
      "UnitHolding": {
        "description": "A holding of units in a unit trust.",
        "type": "object",
        "properties": {
          "NumberOfUnits": {
            "type": "number",
            "format": "double",
            "example": 1000
          },
          "UnitClass": {
            "type": "string",
            "example": "A"
          },
          "Paid": {
            "type": "number",
            "format": "double",
            "example": 1000
          },
          "Unpaid": {
            "type": "number",
            "format": "double",
            "example": 0
          },
          "DateOfEntry": {
            "type": "string",
            "format": "date-time",
            "example": "2018-06-12T00:00:00Z"
          },
          "UnitHolder": {
            "$ref": "#/components/schemas/Trustee"
          }
        }
      },
      "Address": {
        "type": "object",
        "required": [
          "Street",
          "Suburb",
          "State",
          "PostCode"
        ],
        "properties": {
          "CareOf": {
            "type": "string",
            "example": "Level 3, Suite 2"
          },
          "Unit": {
            "type": "string",
            "example": "12"
          },
          "Street": {
            "type": "string",
            "example": "45 Macquarie Street"
          },
          "Suburb": {
            "type": "string",
            "example": "Parramatta"
          },
          "State": {
            "type": "string",
            "example": "NSW"
          },
          "PostCode": {
            "type": "string",
            "example": "2150"
          },
          "Country": {
            "type": "string",
            "example": "Australia"
          }
        }
      },
      "Trustee": {
        "description": "A trustee party, either individual or corporate.",
        "type": "object",
        "properties": {
          "TrusteeId": {
            "type": "string",
            "format": "uuid",
            "example": "4b21e7c9-5f80-4d3a-b6e1-9c7a2f5d8e03"
          },
          "ExistingMemberId": {
            "type": "string",
            "example": "MEM-00412"
          },
          "BeneficialOwner": {
            "type": "string",
            "example": "Sarah Louise Nguyen"
          },
          "PartyType": {
            "type": "string",
            "example": "Corporate"
          },
          "Individuals": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Individual"
            }
          },
          "Corporate": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CorporateBrief"
            }
          }
        }
      },
      "Individual": {
        "description": "Full details for an individual party.",
        "type": "object",
        "properties": {
          "FirstName": {
            "type": "string",
            "example": "Sarah"
          },
          "MiddleName": {
            "type": "string",
            "example": "Louise"
          },
          "LastName": {
            "type": "string",
            "example": "Nguyen"
          },
          "PreferredName": {
            "type": "string",
            "example": "Sarah"
          },
          "DateOfBirth": {
            "type": "string",
            "format": "date-time",
            "example": "1978-03-14T00:00:00Z"
          },
          "TFN": {
            "type": "string",
            "example": "123456782"
          },
          "Phone": {
            "type": "string",
            "example": "+61 2 9876 5432"
          },
          "Email": {
            "type": "string",
            "example": "sarah.nguyen@example.com.au"
          },
          "Address": {
            "$ref": "#/components/schemas/Address"
          },
          "StateOrCountryOfBirth": {
            "type": "string",
            "example": "NSW"
          },
          "SuburbOrCityOfBirth": {
            "type": "string",
            "example": "Sydney"
          },
          "Title": {
            "type": "string",
            "example": "Ms"
          },
          "Role": {
            "type": "string",
            "enum": [
              "NotSpecified",
              "Director",
              "Secretary",
              "DirectorAndSecretary",
              "AlternateDirector"
            ],
            "example": "Director"
          },
          "DirectorId": {
            "type": "string",
            "example": "036000001234"
          },
          "HasLegalCapacityToSign": {
            "type": "boolean",
            "example": true
          }
        }
      },
      "CorporateBrief": {
        "description": "Summary details for a company party.",
        "type": "object",
        "properties": {
          "CompanyId": {
            "type": "string",
            "format": "uuid",
            "example": "8f3c1b52-0d47-4a19-9c88-2ee6b7a14d90"
          },
          "CompanyName": {
            "type": "string",
            "example": "Harbourview Holdings Pty Ltd"
          },
          "ACN": {
            "type": "string",
            "example": "123 456 789"
          },
          "Address": {
            "$ref": "#/components/schemas/Address"
          },
          "Directors": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Individual"
            }
          },
          "Secretaries": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Individual"
            }
          },
          "AuthorisedPersons": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/IndividualReference"
            }
          }
        }
      },
      "IndividualReference": {
        "description": "A minimal reference to an individual already known to NowInfinity.",
        "type": "object",
        "required": [
          "FirstName",
          "LastName"
        ],
        "properties": {
          "FirstName": {
            "type": "string",
            "example": "Sarah"
          },
          "MiddleName": {
            "type": "string",
            "example": "Louise"
          },
          "LastName": {
            "type": "string",
            "example": "Nguyen"
          },
          "DateOfBirth": {
            "type": "string",
            "format": "date-time",
            "example": "1978-03-14T00:00:00Z"
          }
        }
      },
      "Link": {
        "description": "A related action or resource available for this record.",
        "type": "object",
        "properties": {
          "Rel": {
            "type": "string",
            "example": "documents"
          },
          "Href": {
            "type": "string",
            "example": "/companies/123456789/documents"
          },
          "Action": {
            "type": "string",
            "example": "GET"
          },
          "MediaType": {
            "type": "string",
            "example": "application/json"
          }
        }
      }
    },
    "securitySchemes": {
      "NowInfinity_oAuth": {
        "type": "oauth2",
        "description": "NowInfinity uses OAuth2 for authentication and authorisation.",
        "flows": {
          "implicit": {
            "authorizationUrl": "https://auth.nowinfinity-test.com.au/connect/authorize",
            "scopes": {
              "api1": "Web API access",
              "reporting": "Reporting"
            }
          }
        }
      }
    }
  }
}