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

# Student integration identifiers

> Manage reusable student identifiers used by connected partner systems.

Student integration identifiers link a Kralis student to the identifier used by an external system. They are useful when a partner system does not use Kralis student IDs or when the partner’s records need to be matched to Kralis data.

Kralis remains the source of truth for the student record. An identifier stores only the external reference and the partner-supplied name; it does not replace or update the Kralis student’s name or other details.

```mermaid theme={null}
flowchart LR
    S[Kralis student] --> I[Student integration identifier]
    I --> X[Partner external ID]
    I -. preserves .-> N[Partner-supplied name]
```

## Managing identifiers

Authorized school administrators and deans can manage identifiers from:

[Manage student integration identifiers](https://kralis.app/integrations/student-identifiers)

The page supports:

* filtering by integration and academic year;
* searching external IDs, external names, and Kralis student names;
* creating and updating an identifier in the dialog;
* selecting and removing identifiers in bulk; and
* opening the form with a student or year already selected from an integration workflow.

## Identifier fields

| Field           | Meaning                                                           |
| --------------- | ----------------------------------------------------------------- |
| `student`       | The Kralis student represented by the external record             |
| `integration`   | The supported integration key, such as `esmoe`, `cde`, or `klapp` |
| `external_id`   | The student identifier supplied by the partner                    |
| `external_name` | The student name supplied by the partner, retained for reference  |
| `year`          | Optional academic year when the identifier is year-specific       |
| `metadata`      | Optional integration-specific details                             |

## Year behavior

The `year` field is optional:

* A yearless identifier applies across academic years.
* A year-specific identifier applies to one academic year.
* When both exist, an integration request for that year prefers the year-specific identifier and falls back to the yearless identifier.

ESMOE registration numbers currently remain with students across academic years, so ESMOE sync creates yearless identifiers. The selected academic year is still used to load the correct Annual students during synchronization.

## Scope and uniqueness

Identifiers are school-scoped. The same external ID cannot be assigned to two students for the same integration and scope. A student can have one yearless identifier for an integration and, where needed, separate year-specific identifiers.

The identifier model is generic so future integrations can use the same relationship without changing the Kralis student record.

Removing an identifier does not change the Kralis student or any academic record.
