> ## Documentation Index
> Fetch the complete documentation index at: https://developer.mogl.online/llms.txt
> Use this file to discover all available pages before exploring further.

# MOGL University Compliance API: Overview and Endpoints

> Use the MOGL University API to manage compliance workflows, review athlete transactions, run analytics, and handle agent disclosures for your institution.

The MOGL University API gives compliance administrators at member institutions direct programmatic access to the data they need to meet NIL reporting obligations. You can query athlete transactions, export records for audits, review agent disclosure filings, configure institution-wide settings, and pull analytics broken down by sport, payment type, and activity category. This API is separate from the Core API and operates under a dedicated compliance authentication scheme.

<Note>
  This API is intended for university compliance offices and institutional administrators. Athletes and brand partners should use the [Core API](/api-reference/core-api) instead.
</Note>

## Base URL

```
https://compliance-api.mogl.online/api/compliance
```

All paths in this reference are appended to this base URL. For example, `POST /login` resolves to `https://compliance-api.mogl.online/api/compliance/login`.

***

## Authentication

The University API uses JWT Bearer tokens issued by its own login endpoint, separate from the Core API.

### Obtaining a token

Call `POST /login` with your compliance portal credentials:

```bash theme={"dark"}
curl -X POST https://compliance-api.mogl.online/api/compliance/login \
  -H "Content-Type: application/json" \
  -d '{"email": "compliance@yourschool.edu", "password": "your-password"}'
```

The response returns a `token` field. Pass it as a Bearer token in all subsequent requests:

```bash theme={"dark"}
Authorization: Bearer <token>
```

### User management

Compliance administrators can invite additional users to their institution's portal and manage passwords without leaving the API.

| Method | Path               | Description                             |
| ------ | ------------------ | --------------------------------------- |
| `POST` | `/register`        | Register a new compliance user          |
| `POST` | `/invite-user`     | Invite a user to the compliance portal  |
| `POST` | `/set-password`    | Set a password for a newly invited user |
| `POST` | `/change-password` | Change password using a reset token     |
| `POST` | `/logout`          | Invalidate the current session          |

***

## Endpoint groups

### Transactions

The Transactions group is the core of compliance reporting. Use it to monitor all NIL activity at your institution, export data for audits, and identify your top-earning athletes and teams.

| Method | Path                         | Description                                         |
| ------ | ---------------------------- | --------------------------------------------------- |
| `GET`  | `/transactions`              | List all transactions with filters (dashboard view) |
| `GET`  | `/transactions/summary`      | Summary statistics: totals, counts, averages        |
| `GET`  | `/transactions/top-athletes` | Rank athletes by transaction volume                 |
| `GET`  | `/transactions/top-teams`    | Rank teams by transaction volume                    |
| `GET`  | `/transactions/export`       | Download a full transaction export as a ZIP         |

<Tip>
  Use `/transactions/summary` as your dashboard headline metric, then drill into `/transactions/top-athletes` to identify high-earning athletes who may need closer compliance review.
</Tip>

***

### Athletes

Retrieve athlete records and the details of their individual NIL jobs, including the ability to download executed contracts.

| Method | Path                                                                      | Description                                   |
| ------ | ------------------------------------------------------------------------- | --------------------------------------------- |
| `GET`  | `/athletes/getAthlete`                                                    | List athletes at your institution             |
| `POST` | `/athletes/jobDetail`                                                     | Retrieve job details for a specific athlete   |
| `GET`  | `/athletes/export`                                                        | Export athlete records to a downloadable file |
| `GET`  | `/athletes/{athleteId}/jobs/{jobId}/download-contract`                    | Download the executed contract for a job      |
| `GET`  | `/athletes/{athleteId}/disclosed-jobs/{disclosedJobId}/download-contract` | Download contract for a disclosed job         |

***

### Analytics

Run aggregate analytics across your institution's NIL activity. These endpoints power dashboard charts and can be queried independently for reporting exports.

| Method | Path                             | Description                                       |
| ------ | -------------------------------- | ------------------------------------------------- |
| `GET`  | `/analytics/top-nil-sport`       | NIL activity and earnings broken down by sport    |
| `GET`  | `/analytics/top-nil-payment`     | NIL activity broken down by payment type          |
| `GET`  | `/analytics/number-applications` | Count of athletes and deal applications over time |
| `GET`  | `/analytics/types-nil`           | Breakdown of NIL activity categories              |

Use the filter endpoints to populate dropdowns before querying analytics:

| Method | Path              | Description                  |
| ------ | ----------------- | ---------------------------- |
| `GET`  | `/filters/dates`  | Available date range presets |
| `GET`  | `/filters/sports` | Sport options for filtering  |
| `GET`  | `/filters/gender` | Gender options for filtering |

***

### College settings

Read and update your institution's compliance configuration, and manage the admin users who have access to the portal.

| Method | Path                | Description                                             |
| ------ | ------------------- | ------------------------------------------------------- |
| `GET`  | `/college/users`    | List all users with access to your institution's portal |
| `GET`  | `/college-settings` | Retrieve current institution settings                   |
| `POST` | `/college-settings` | Update or create institution settings                   |

***

### Athlete agent disclosures

Many states and institutions require athletes to formally disclose relationships with agents. This group lets you create, review, update, and archive those disclosures — and download supporting documents.

| Method   | Path                                                 | Description                                        |
| -------- | ---------------------------------------------------- | -------------------------------------------------- |
| `GET`    | `/athlete-agent-disclosures`                         | List all disclosure filings for your institution   |
| `POST`   | `/athlete-agent-disclosures`                         | Submit a new disclosure on behalf of an athlete    |
| `GET`    | `/athlete-agent-disclosures/{id}`                    | Retrieve a specific disclosure                     |
| `PUT`    | `/athlete-agent-disclosures/{id}`                    | Update a disclosure                                |
| `DELETE` | `/athlete-agent-disclosures/{id}`                    | Delete a disclosure                                |
| `GET`    | `/athlete-agent-disclosures/{id}/download-documents` | Download all supporting documents for a disclosure |

***

### Notification preferences

Compliance users can configure which platform events trigger email notifications to their account.

| Method | Path                            | Description                                          |
| ------ | ------------------------------- | ---------------------------------------------------- |
| `GET`  | `/getMyNotificationPreference`  | Retrieve the current user's notification preferences |
| `POST` | `/saveMyNotificationPreference` | Update notification preferences                      |

***

## Example: listing transactions with a summary

The following example fetches the transaction summary for your institution. Replace `<your-token>` with the JWT received from `/compliance/login`.

<CodeGroup>
  ```bash curl theme={"dark"}
  curl -X GET https://compliance-api.mogl.online/api/compliance/transactions/summary \
    -H "Authorization: Bearer <your-token>" \
    -H "Accept: application/json"
  ```

  ```javascript javascript theme={"dark"}
  const response = await fetch(
    'https://compliance-api.mogl.online/api/compliance/transactions/summary',
    {
      method: 'GET',
      headers: {
        'Authorization': 'Bearer <your-token>',
        'Accept': 'application/json',
      },
    }
  );
  const summary = await response.json();
  ```
</CodeGroup>

The response returns aggregate totals, counts, and averages across all NIL transactions at your institution for the current reporting period.

***

## Public reference endpoints

These endpoints do not require authentication and return stable reference data you can cache locally.

| Method | Path             | Description                                  |
| ------ | ---------------- | -------------------------------------------- |
| `GET`  | `/colleges`      | List all colleges registered on the platform |
| `GET`  | `/filters/roles` | List available user role filter options      |
