# Feeds

A **feed** (in Class, a *fund holding reference*) links a bank account, or a broker or
platform account and the holdings within it, in a Class fund to the source of its
transaction data: usually an automated feed from the provider, or manual import where
no feed is available.

**Why set up a data feed?**

Class receives electronic data directly from more than 220 banks, stockbrokers and
wrap providers, as well as employer contributions. Linking a feed to a fund replaces
manual transaction and holding entry. Once the feed is authorised and the provider has
activated it, data updates overnight.

Authority to share that data is granted in one of two ways:

- **By the account holder**, who either signs an authority form that is uploaded to
  Class, or activates the feed online with the provider.
- **By a third party (adviser)**, whose credentials are recorded in Class for each
  provider, and who is linked to each feed that data should flow to.

For the full product explanation, see
[Introduction to Data Feeds](https://support.class.com.au/hc/en-au/articles/360001383056-Introduction-to-Data-Feeds).

**Creating a feed, in this order**

1. **Feed products** — list the products available for a feed type (`Cash`, `Broker`
   or `Platform`) and read their authorisation, managed-account and linked-holding
   capabilities. For cash, supply a `bsb` to resolve the financial institution and its
   bank products. Each product lists the authorisation types its provider supports,
   and only those can be used.
2. **New feed** — create the feed against the chosen product. Supply exactly one of
   the `Cash`, `Broker` or `Platform` blocks, matching `FeedType`, and choose an
   `AuthorisationType` from the product's `SupportedAuthorisationTypes`.
3. **Complete authorisation**, depending on the authorisation type:
   - `AccountHolder` — upload the signed form with **Upload authority form**. These
     feeds start at `AuthorityNotRequested` and do not progress until a signed form is
     supplied.
   - `AdviserOrDealer` — supply the adviser's `AuthorityId` when creating the feed.
     Without it, the feed is created on `NoAuthoritySet` and receives no data.
   - `Online` — the account holder activates the feed online with the provider. Where
     the provider uses token activation, **New feed** returns an
     `AuthorityActivationNumber` for the account holder to enter.
4. **Feeds** and **Feed detail** — read the feed and track its status until the
   provider activates it and data begins to load.

Feeds cannot currently be updated or deleted through this API.
---

**A `200` does not always mean nothing needs your attention.** Two operations return `200`
alongside a populated `Warnings` array, and the meaning is different in each:

| Operation | What a warning means | Warning shape |
|-----------|----------------------|---------------|
| **New feed** | The feed **was** created. `FeedId` is returned as normal and the warning is advisory. | `{ Code, Message }` objects |
| **Upload authority form** | The file was stored but **was not recognised**. The feed will not progress until the form is verified. | Plain strings |

Always inspect `Warnings`, not just the status code. See **Errors and warnings** for the
full reference.


<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://api.class-pie.com.au/api/1.0</span><button type="button" class="copy-btn" data-copy="https://api.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://api.class.com.au/api/1.0</span><button type="button" class="copy-btn" data-copy="https://api.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>

Version: 1.0

Metadata:
  - tags: ["Class Partner"]

## Servers

Partner Integration Environment (Sandbox)
```
https://api.class-pie.com.au/api/1.0
```

Production Environment
```
https://api.class.com.au/api/1.0
```

## Security

### Class_oAuth

Class uses OAuth2 and OpenID for authentication and authorisation. The resource owner password credentials and authorization code flows are supported.

Type: oauth2
Token URL: https://app.class-pie.com.au/connect/token
Scopes:
- `fund.details.read`: View basic fund details
- `fund.maintain`: View and maintain all fund information

## Download OpenAPI description

 - [Feeds](https://developer.myhub.com.au/_bundle/products/class/apis/partner/feeds.yaml)

## Fund

 - [POST /f/{businessCode}/{fundCode}/feeds](https://developer.myhub.com.au/products/class/apis/partner/feeds/fund/createfeed.md): Creates a new feed within a fund. Supply exactly one of the `Cash`, `Broker` or `Platform` blocks, matching `FeedType`. The fund must be Active and must not be a Consolidated entity. The created feed
 - [GET /f/{businessCode}/{fundCode}/feeds](https://developer.myhub.com.au/products/class/apis/partner/feeds/fund/getallfeeds.md): Returns the feeds within a fund, optionally including the holding accounts linked to each feed. The response is unpaginated. **What is left out.** The list mirrors the fund's feeds console and exclude
 - [GET /f/{businessCode}/{fundCode}/feeds/{feedId}](https://developer.myhub.com.au/products/class/apis/partner/feeds/fund/getfeedbyid.md): Returns a single feed. The response echoes the feed configuration (`FeedType`, `DataSource`, and the matching `Cash`/`Broker`/`Platform` block) plus an `ExtendedFeedInfo` object with product, authoris
 - [POST /f/{businessCode}/{fundCode}/feeds/{feedId}/upload-authority-form](https://developer.myhub.com.au/products/class/apis/partner/feeds/fund/uploadauthorityform.md): Uploads a signed authority form for a feed that uses `AccountHolder` authorisation. A feed created with that authorisation type starts at `AuthorityNotRequested` (`Authority not sent` on read) and doe
## Business

 - [GET /b/{businessCode}/feeds/products](https://developer.myhub.com.au/products/class/apis/partner/feeds/business/getfeedproducts.md): Returns the products available for a feed type, along with per-product authorisation, managed-account and linked-holding capabilities. Call this before **New feed**. For cash, supply a `bsb` to resolv
## Errors and warnings

## Classification codes

