Skip to content
Last updated

Practice Management API Guide

Integrate your practice management system with Class to automate client onboarding, keep data in sync, and streamline workflows. This guide walks you through how the integration works, how to get started, and the most common API tasks—with copy-paste request examples.

The following structure of data in Class: Businesscode = Practise


Overview

Objectives of this type of integration

  • Automate data sync of Class entities and Class contacts in sync with other Practise Management systems and/or CRMs.
  • Reducing manual entry by ensuring that a change in the CRM can be updated in Class, or updates in Class can be used to compare and update the CRM.
  • Enable practise management systems by continually relaying the entity's status on Class - contacts and displayed information - to the practise management system.

What you’ll build:

  • Secure authentication using OAuth 2.0 (Authorisation Code flow).
  • Entity linking to create or update clients and related entities (e.g., SMSFs).
  • Data sync to fetch fund and client details and push updates back to Class.

High-level flow:

  1. Authenticate – Obtain an access token with the required scopes.
  2. Link entities – Create or update clients, funds, and relationships.
  3. Sync data – Pull details from Class, map fields, and update as needed.

Prerequisites

  • Client ID & Secret (generated when you create your developer app)
  • Redirect URL (registered in your app)
  • Scopes (aligned to the endpoints you’ll call)
  • Base URL for your environment (e.g., https://api.class.com.au)

Understanding Data in Class

In Class, we organise our data according to the Accounting entities. Often called funds, but may represent any entity type, such as SMSF, Trust, Company, Personal or Partnership. Each of these entities may have one or more relationships with contacts, and may also have some special roles based on the entity type/Class product.

We group Accounting entities together in what we call a business. This may represent and accounting firm, administration firm or financial planning practise. It is possible that one of these firms may have one or more businesses on Class. Our OAuth permissions are granted per business code and any related tokens will be scoped to only information relating to that one business. If you client has more than one Class business, then you will need to obtain an authorisation for each business and manage the tokens seperately for each business.

A business will have its own contacts. Contact types are either organisations or person. Contacts normally relate to the staff working on the entities or organisations servicing the entities.

A fund (entity) will also have its own contacts, again either organisation or person. These contacts normally relate to the entity itself. Business contacts can also be related to a fund, and will appear on the fund contacts due to the relationship.


The following is a basic relationship structure of contact data in Class: Relationship Structure Code Flow diagram of Class.

Entity details

Name, code, start date, on system date, ABN, address details.

Contacts

Entity TypeRoles (examples)OAuth ScopeNotes
BusinessAccountant/Bookkeeper, Access Controller, Administrator, Adviser, Tax Agent, Auditor, Auditor Admin
--------------------------------------------------------
**Fund roles within business contacts: **Reversionary Beneficiary, **Director, **Investor
business.details.readUser must be Access Controller
Fund (SMSF)Member, **Reversionary Beneficiaryfund.details.read
Fund (TRUST)Beneficiaryfund.details.read
Fund (Portfolio)**Director, **Investorfund.details.read

High Level Flow

1. Authenticate

  • Get an OAuth 2.0 access token with the required scopes for your business.
  • Create or update clients, funds and relationships
  • Each entity would have a unique ID, but generally in Class we used the business code and fund code to identity the entity.

3. Decide on info to sync

  • Can sync entity details, entity contacts and other information such as period update status or tax lodgment status.
  • Could even consider investment information, trustee details, beneficiary nominations, member balances or other information.

4. Schedule Syncs

  • Do you want to do this on the fly or do you want to schedule a daily overnight sync?

5. Sync Data

  • Pull details from Class, map fields, and update CRM as needed.

Getting Started

  • Explore the full API documentation for commonly used endpoints.
  • Import endpoints into Postman for quick testing:

    Run in Postman

Need Help?

  • Visit our Support Center for troubleshooting and FAQs.
  • Contact our API support team for integration assistance.