# User

A User of the PASS system. This includes preferred person information that can be used to autopopulate [Contributor](https://github.com/eclipse-pass/pass-documentation/blob/main/developer-documentation/pass-core/model/Contributor.md) records.

| Field        | Type       | Description                                                                                                                                                                                                                                                                                                                                                                                                                         |
| ------------ | ---------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| id\*         | String     | Autogenerated identifier of object                                                                                                                                                                                                                                                                                                                                                                                                  |
| username\*   | String     | Unique login name used by User                                                                                                                                                                                                                                                                                                                                                                                                      |
| firstName    | String     | First name(s) of User                                                                                                                                                                                                                                                                                                                                                                                                               |
| middleName   | String     | Middle name(s) of User                                                                                                                                                                                                                                                                                                                                                                                                              |
| lastName     | String     | Last name(s) of User                                                                                                                                                                                                                                                                                                                                                                                                                |
| displayName  | String     | Name for display. Separate names may not be available, but a person should always at least have a display name.                                                                                                                                                                                                                                                                                                                     |
| email        | String     | Contact email for User                                                                                                                                                                                                                                                                                                                                                                                                              |
| affiliation  | String\[]  | The affiliation(s) of the User with their institution, for example `STAFF@inst.edu`. An institution may have multiple organizational units, and a User may have a different affiliation with any given OU. A User having an affiliation with multiple OUs in an institution would have multiple values, for example `FACULTY@medicine.inst.edu` and `STUDENT@engineering.inst.edu`.                                                 |
| locatorIds\* | String\[ ] | A list of ids associated with the user by various system that PASS interacts with. The value of each entry would be in the form of : `domain:type:value`. For example, `["johnshopkins.edu:hopkinsid:DRA2D", "johnshopkins.edu:employeeid:12345", "johnshopkins.edu:jhed:bostaur1"]`. The following values for `type` are considered deprecated: `jhed`, `hopkinsid`. The preferred types are `eppn` and `unique-id`, respectively. |
| orcidId      | String     | ORCID ID for the User                                                                                                                                                                                                                                                                                                                                                                                                               |
| roles\*      | String\[]  | User roles ([*see list below*](#role-options))                                                                                                                                                                                                                                                                                                                                                                                      |

\*required

## Role options

Role options for User.

| Value     | Description                                                                                                                                     |
| --------- | ----------------------------------------------------------------------------------------------------------------------------------------------- |
| submitter | User who can view and manage Submissions for personal Publications or those associated with their own Grants                                    |
| admin     | User who can manage Submissions for personal Publications or those associated with their own Grants, as well as view Submissions for all Grants |


---

# Agent Instructions: Querying This Documentation

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

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.eclipse-pass.org/developer-documentation/pass-core/model/user.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
