# Get your Arbor MIS registers and reports as JSON

> Read incomplete registers, persistent absentees and your custom reports from the Report Library in Arbor MIS with one API call each. A workflow can check the registers after morning registration and email you the ones still unmarked.

Page: https://fous.com/automate/arbor-mis
Updated: 2026-11-12

Works with your own Arbor MIS account. Fous is an independent product.

## What you can build on Arbor

### Get incomplete registers

Reads Students > Attendance > Incomplete registers for a date range, including the Unopened tab, with each register's Marks counts.

- Takes: Date range (optional), unopened only (optional)
- Returns: Register, date, present, late, absent, students without a mark, unopened

### Get persistent absentees

Reads Students > Attendance > Absentees > Persistent Absentees with the dates and minimum absence percentage you choose.

- Takes: Date range, minimum absence percentage, exclude leavers (optional)
- Returns: Student, form, unauthorised absence %, authorised absence %, present %

### Run a report from the Report Library

Opens a custom report by name from Reporting > Report Library, fills in its parameter if it asks for one, and reads the rows.

- Takes: Report name, parameter (optional)
- Returns: Report name, column names, rows

### List pending partner app requests

Reads System > Partner Apps (API Users) > Pending requests and, for each app, the Read, Write, Update and Delete permissions it asks for.

- Takes: Nothing
- Returns: App, requested read, write, update and delete permissions

## Automate Arbor with a workflow

A [workflow](/product/workflows) runs your methods as one process, with nobody at the screen. A schedule or a call from your own system starts it, the steps run in order, and the result arrives in your inbox or in the systems you already use.

### Registers still incomplete after morning registration

Starts: Every weekday at 9:30, Europe/London

1. Get today's incomplete registers, including the unopened ones.
2. Stop the run when there are none.
3. Email you the list with each register's unmarked count and whether it was opened.

### New persistent absentees, posted to your own system

Starts: Every Monday at 7:00, Europe/London

1. Get the persistent absentees for this academic year at 10% absence or more.
2. Keep the students who were not on the list last week.
3. Post each one, with form and absence percentages, to your webhook.

### Partner app requests waiting for approval

Starts: Every weekday at 8:00, Europe/London

1. List the pending partner app requests.
2. Keep the requests that were not there on the last run.
3. Email you each app with the permissions it asks for.

You can run a workflow by hand on every plan, Free included. Schedules and webhook triggers come with the paid plans, from $29 a month.

## Once built, one call from your code

Once you have built a [method](/product/methods), it is one POST to /v1/runs from your backend, or a tool an AI agent calls over MCP. This is what “Get incomplete registers” would look like.

Example request:

```
curl https://api.fous.com/v1/runs \
  -H "Authorization: Bearer $FOUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "method": "login.arbor.sc/get_incomplete_registers",
    "input": {
      "from": "2026-11-12",
      "to": "2026-11-12"
    }
  }'
```

Example response:

```
{
  "status": "completed",
  "data": {
    "registers": [
      {
        "register": "Year 8 Form 8N, AM",
        "date": "2026-11-12",
        "present": 24,
        "late": 2,
        "absent": 1,
        "without_mark": 3,
        "unopened": false
      }
    ],
    "count": 1
  }
}
```

An example with invented data, not a ready-made endpoint. The method exists in your organization once you build it, and its name, inputs and fields follow your request.

## Arbor’s own options

Arbor offers REST and GraphQL APIs, with developer documentation and SDKs, to integration partners who build on its network of schools. Partners set up integrations through Arbor's Developer Portal, and each school then approves the app and its permissions in the MIS. School staff work in Arbor itself, where lists such as Persistent Absentees have a Download button.

| Option | What it covers | What it takes |
| --- | --- | --- |
| Partner REST and GraphQL APIs | Integrations built by third-party partners, with developer documentation and SDKs, for the schools that approve them. | Arranging access with Arbor's API team and the Developer Portal, then approval by each school in Partner Apps (API Users). |
| Data providers such as Wonde and Groupcall | Third-party apps that reach Arbor through a data provider. Changes to what such an app can see go through that provider. | A connection set up by the provider. Some providers ask for your Arbor login instead of sending the school an approval request. |
| Arbor by hand | Incomplete registers, Persistent Absentees and the Report Library, with a Download button on lists such as Persistent Absentees. | A staff account on the school or MAT MIS with the permissions for those screens. |

Read on November 12, 2026: [Become a Partner](https://arbor-education.com/become-a-partner/), [Setting up integrations FAQ](https://support.arbor-education.com/hc/en-us/articles/22291162736157-Setting-up-integrations-FAQ), [Setting up and managing third-party API integrations in Arbor](https://support.arbor-education.com/hc/en-us/articles/360009421273-New-API-Users-management-process).

## Signing in to Arbor

Staff sign in to Arbor with their email address and password, and the sign-in page has a Change school button. MAT staff sign in to the MAT MIS, and Arbor logs you out after two hours of inactivity. With Fous you sign in once through Arbor's own sign-in with your own account: the login is sealed with AES-256, and an expired session is signed back in.

## Worth knowing

- **Registers appear 10 minutes after the start**: A register shows in Incomplete registers 10 minutes after the class's scheduled start time, and registers nobody has opened are on the Unopened tab. Schedule a morning check after registration has closed.
- **Reports follow the account**: In the Report Library, a regular user sees only the custom reports they created or that were shared with them. A method that runs a report needs an account that can see it.
- **Approving apps needs an admin permission**: Approving a partner app needs the School: User Accounts: Administer permission on each school site. MAT staff need User Details: Manage All Users and approve in each school's MIS, reached from the MAT MIS.
- **Integrations wait until the site is live**: Arbor sets up third-party API integrations only once a school's site is live, so a school whose Arbor site is not live yet cannot approve one.

## More in Education, research and nonprofit

- [Slate](https://fous.com/automate/slate.md)
- [Naviance](https://fous.com/automate/naviance.md)
- [Common App for Recommenders](https://fous.com/automate/common-app-for-recommenders.md)
- [National Student Clearinghouse secure site](https://fous.com/automate/national-student-clearinghouse-secure-site.md)
- [AQA Centre Services](https://fous.com/automate/aqa-centre-services.md)
- [Edexcel Online](https://fous.com/automate/edexcel-online.md)
- [FSA Partner Connect](https://fous.com/automate/fsa-partner-connect.md)
- [Submit learner data](https://fous.com/automate/submit-learner-data.md)
- [VA Enrollment Manager](https://fous.com/automate/va-enrollment-manager.md)
- [Sponsorship Management System](https://fous.com/automate/sponsorship-management-system.md)
- [Infinite Campus](https://fous.com/automate/infinite-campus.md)
- [PowerSchool SIS](https://fous.com/automate/powerschool-sis.md)
- [EDOF](https://fous.com/automate/edof.md)
- [SLC HEP Services](https://fous.com/automate/slc-hep-services.md)
- [Parchment](https://fous.com/automate/parchment.md)
- [UCAS adviser portal](https://fous.com/automate/ucas-adviser-portal.md)
- [Benevity Causes Portal](https://fous.com/automate/benevity-causes-portal.md)

Other industries: [Duke Energy My Account](/automate/duke-energy-my-account), [Just Eat Partner Hub](/automate/just-eat-partner-hub), [DBS IDEAL](/automate/dbs-ideal), [Paymode-X](/automate/paymode-x), [全国统一规范电子税务局](/automate/china-e-tax-bureau), [Income Tax e-Filing Portal](/automate/income-tax-e-filing-portal).

## Frequently asked questions

### Does Arbor MIS have an API?

Yes, for integration partners. Arbor offers REST and GraphQL APIs with developer documentation and SDKs, set up through its Developer Portal, and each school approves the app and its permissions under System > Partner Apps (API Users). School staff without a partner integration use Arbor's screens and downloads.

### How do we approve an app that asks for our Arbor data?

Go to System > Partner Apps (API Users) and open Pending requests. Click the app to see the Read, Write, Update and Delete permissions it asks for, then choose Approve, Reject or Cancel. A rejected app moves to Rejected Apps and can be approved again later.

### Where do I see registers that teachers have not taken?

Under Students > Attendance > Incomplete registers, with registers nobody has opened on the Unopened tab. You can tick registers and use Bulk action to email the class teachers a reminder. A method you build can read the same list for any date range.

### Can I get the persistent absence list without downloading it each week?

Yes, once you build a method that reads Students > Attendance > Absentees > Persistent Absentees. A workflow can run it every Monday with your threshold, such as 10% absence, and post the students who are new on the list to your own system by webhook.

### Is Fous affiliated with Arbor Education?

No. Fous is an independent product. You use it with your own Arbor account, and a method reads and does only what that account can.

Fous is an independent product: it is not affiliated with, endorsed by or sponsored by the operator of Arbor MIS (Arbor Education). The name is used only to say which system this page is about. Something here wrong or out of date? Write to legal@fous.com.
