> For the complete documentation index, see [llms.txt](https://docs.mymedtrics.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.mymedtrics.com/api-reference/medtrics-classic-sis-bridge.md).

# Medtrics Classic SIS Bridge

Keep an SIS integration written against Medtrics Classic running on Oracle while you move it to Connect.

Keeps an SIS integration written against Medtrics Classic running after the client moves to Oracle, with a bounded set of changes instead of a rewrite. For institutions moving from Medtrics Classic to Oracle whose SIS or scripts already call /api-banner/ and /api/; Medtrics operates the bridge for them during the migration.

```
https://<client-name>.mymedtrics.com/api-banner/<resource>/   and   https://<client-name>.mymedtrics.com/api/<resource>/
Authorization: Token <hex>
```

| Item            | Value                                                                                                                                                                                                                                                                                    |
| --------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Kind            | REST, Medtrics Classic shapes                                                                                                                                                                                                                                                            |
| Base URL        | `https://<client-name>.mymedtrics.com/api-banner and /api`                                                                                                                                                                                                                               |
| Stage           | Temporary — target EOL 2028 — plan the move to the [Connect API](/api-reference/connect-api.md)                                                                                                                                                                                          |
| Where to try it | On your own institution's host, during the migration Medtrics runs with you — the bridge is not served on the [sandbox](/get-started/sandbox.md), which carries the Connect API only                                                                                                     |
| Jobs            | Same URL shapes, Token or Basic auth, numeric IDs and page-number pagination, translated to Connect calls.                                                                                                                                                                               |
| Reference       | [Operations](https://medtricslab.gitbook.io/medtricslab-docs/api-reference/medtrics-classic-sis-bridge/users): 48 paths, 78 operations; the machine-readable contract is [openapi.yaml](https://medtricslab.gitbook.io/medtricslab-docs/api-reference/medtrics-classic-sis-bridge/users) |

### Conventions

| Item       | Value                                                                                                                                           |
| ---------- | ----------------------------------------------------------------------------------------------------------------------------------------------- |
| Auth       | `Authorization: Token <hex>` or HTTP Basic, resolved to a Connect bearer by the bridge                                                          |
| IDs        | Medtrics Classic numeric IDs, mapped to Oracle rows through the identifier registry; rows the bridge creates get synthetic IDs from 100,000,000 |
| Pagination | Page-number envelope (`page`, `page_size`); `count` is always null and `page_range` always empty                                                |
| Filters    | Only the filters listed per resource are honoured; unknown query parameters are ignored, not rejected                                           |
| Data       | Where a Medtrics Classic table and its fields now live is in the [Classic data mapping](/get-started/classic-data-mapping.md)                   |

### Resources

Every resource maps to a Connect path; the column is what to call once the integration moves off the bridge.

| Path                                                | Methods                      | Connect mapping         |
| --------------------------------------------------- | ---------------------------- | ----------------------- |
| `/api-banner/users/`                                | `GET` `POST`                 | `/learners`             |
| `/api-banner/users/{id}/`                           | `GET` `PUT` `PATCH`          | `/learners`             |
| `/api-banner/programs/`                             | `GET`                        | `/programs`             |
| `/api-banner/programs/{id}/`                        | `GET`                        | `/programs`             |
| `/api-banner/sites/`                                | `GET`                        | `/sites`                |
| `/api-banner/sites/{id}/`                           | `GET`                        | `/sites`                |
| `/api-banner/user-schedules/`                       | `GET` `POST`                 | `/rotations`            |
| `/api-banner/user-schedules/{id}/`                  | `GET` `DELETE`               | `/rotations`            |
| `/api-banner/academic-years/`                       | `GET`                        | `/academic-periods`     |
| `/api-banner/academic-years/{id}/`                  | `GET`                        | `/academic-periods`     |
| `/api-banner/blocks/`                               | `GET` `POST`                 | `/blocks`               |
| `/api-banner/blocks/{id}/`                          | `GET` `DELETE`               | `/blocks`               |
| `/api-banner/rotations/`                            | `GET` `POST`                 | `/rotation-definitions` |
| `/api-banner/rotations/{id}/`                       | `GET`                        | `/rotation-definitions` |
| `/api-banner/program-schedules/`                    | `GET` `POST`                 | `/clinical-schedules`   |
| `/api-banner/program-schedules/{id}/`               | `GET` `PUT` `PATCH` `DELETE` | `/clinical-schedules`   |
| `/api-banner/program-schedules/{id}/add_user/`      | `POST`                       | `/clinical-schedules`   |
| `/api-banner/program-schedules/{id}/add_admin/`     | `POST`                       | `/clinical-schedules`   |
| `/api/forms/form-assignments/`                      | `GET`                        | `/evaluations`          |
| `/api/forms/form-assignments/{id}/`                 | `GET`                        | `/evaluations`          |
| `/api/programs/affiliations/`                       | `GET`                        | —                       |
| `/api/programs/affiliations/{id}/`                  | —                            | —                       |
| `/api/companies/custom_roles/`                      | `GET`                        | `/roles`                |
| `/api/companies/custom_roles/{id}/`                 | `GET`                        | `/roles`                |
| `/api/roles/advancement_residents/`                 | `GET` `POST`                 | —                       |
| `/api/roles/advancement_residents/{id}/`            | —                            | —                       |
| `/api/users/group_roles/`                           | `GET` `POST`                 | `/group-leader-roles`   |
| `/api/users/group_roles/{id}/`                      | `GET` `PUT` `PATCH` `DELETE` | `/group-leader-roles`   |
| `/api/users/group-tags/`                            | `GET` `POST`                 | `/group-tags`           |
| `/api/users/group-tags/{id}/`                       | `GET` `PUT` `PATCH` `DELETE` | `/group-tags`           |
| `/api/users/groups/`                                | `GET` `POST`                 | `/groups`               |
| `/api/users/groups/{id}/`                           | `GET` `PUT` `PATCH` `DELETE` | `/groups`               |
| `/api/users/group_users/`                           | `GET` `POST`                 | `/group-members`        |
| `/api/users/group_users/{id}/`                      | `GET` `DELETE`               | `/group-members`        |
| `/api/users/exam-score/`                            | `GET` `POST`                 | `/exam-scores`          |
| `/api/users/exam-score/{id}/`                       | `GET`                        | `/exam-scores`          |
| `/api/users/user_role/`                             | `POST`                       | `/enrollments`          |
| `/api/users/user_role/{id}/`                        | `PUT` `PATCH`                | `/enrollments`          |
| `/api/procedures/procedure_setups/`                 | `GET`                        | `/case-templates`       |
| `/api/procedures/procedure_setups/{id}/`            | `GET`                        | `/case-templates`       |
| `/api/rotations/procedure_logs/`                    | `GET`                        | `/case-logs`            |
| `/api/rotations/procedure_logs/{id}/`               | `GET`                        | `/case-logs`            |
| `/api/rotations/rotation_sites/`                    | `GET` `POST`                 | `/rotation-sites`       |
| `/api/rotations/rotation_sites/{id}/`               | `GET`                        | `/rotation-sites`       |
| `/api/gradebook/score/`                             | `GET` `POST`                 | `/scores`               |
| `/api/gradebook/score/{id}/`                        | `GET`                        | `/scores`               |
| `/api/curriculum/curriculum_course_rotations/`      | `GET` `POST`                 | `/curriculum-courses`   |
| `/api/curriculum/curriculum_course_rotations/{id}/` | `GET`                        | `/curriculum-courses`   |


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.mymedtrics.com/api-reference/medtrics-classic-sis-bridge.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
