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.

    - Search for a trust by name, commencement date or type.

    - Query trusts under the account using OData.



    <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.
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.
      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.
      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.
      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
