> For the complete documentation index, see [llms.txt](https://docs.stellic.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.stellic.com/stellic-partner-api/student/read-a-student-s-current-archive-state.md).

# Read a student's current archive state

Use this endpoint to check whether a student is archived before you archive, restore, or update them. `state` is `archived` or `unarchived`. Nothing is changed.

## GET /student/{student\_username}/state/

>

```json
{"openapi":"3.0.0","info":{"title":"Stellic for Developers","version":"1.0"},"tags":[{"name":"Student"}],"servers":[{"url":"https://{institution}.stellic.com/partnerapi/v1","variables":{"institution":{"default":"{institution}","description":"Your institution's Stellic subdomain: the part before `.stellic.com` in the URL you use to sign in. It becomes the host in every request, as in `https://{institution}.stellic.com/partnerapi/v1/...`. Replace the `{institution}` placeholder with your subdomain before sending."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Personal Access Token issued by your Stellic integration partner. Send it as `Authorization: Bearer <token>` on every request. One token per institution; do not share across environments."}},"schemas":{"StudentArchiveStateGetSuccess":{"type":"object","description":"`GET` archive-state response. `state` is the literal current state.\n","properties":{"status":{"type":"string"},"state":{"type":"string","enum":["archived","unarchived"]}}},"StudentLinkResponseFailure":{"allOf":[{"$ref":"#/components/schemas/GenericResponseFailure"},{"type":"object","properties":{"identifiers":{"type":"object","properties":{"student_username":{"type":"string"}}}}}]},"GenericResponseFailure":{"type":"object","properties":{"status":{"type":"string"},"message":{"type":"string"}}}}},"paths":{"/student/{student_username}/state/":{"get":{"tags":["Student"],"parameters":[{"name":"student_username","in":"path","required":true,"description":"Student's platform username. Lowercased before lookup unless your institution signs students in with\nan identifier other than the username, in which case the case you send must match the record. The\nlookup also excludes test accounts; a username that matches a test account returns the same\n`No student exists with username: {username}` 400 as a missing user. Works on archived students.\n","schema":{"type":"string"}}],"responses":{"200":{"description":"Current archive state of the student.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StudentArchiveStateGetSuccess"}}}},"400":{"description":"Lookup failure. Envelope is `{\"status\": \"failure\", \"identifiers\": {...}, \"message\": \"...\"}` (single string, no `errors` array).\n\nCommon causes:\n- Student not found or test account - returns `No student exists with username: {student_username}`","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/StudentLinkResponseFailure"}]}}}},"401":{"description":"Missing or invalid Bearer token."},"403":{"description":"Your IP address isn't on the allowlist for this endpoint. Contact Stellic to add it; the response includes the `client_ip` Stellic saw.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"message":{"type":"string"},"client_ip":{"type":"string"}}}}}}}}}}}
```

#### Notes

* **This is the one student lookup that finds archived students and returns their state.** The profile, tag, school, and department endpoints reject archived students with a 400.
* **Test accounts return the not-found 400.** `No student exists with username: {username}`.
* **Usernames are lowercased before the lookup** unless your institution signs students in with an identifier other than the username.

#### Related APIs

* [`PUT /student/{student_username}/state/`](/stellic-partner-api/student/archive-or-restore-a-student.md) to archive or restore the student.
* [`PUT /student/{student_username}/profile/`](/stellic-partner-api/student/upsert-a-student-profile.md) to create or update the profile, which requires an unarchived student.
