# Member

## List definition

```javascript
{
	"kind": "member",
	"uri": string,
	"url": string,
	"createdAt": integer,
	"submittedAt": integer,
	"approvedAt": integer | null
	"rejectedAt": integer | null,
	"leftAt": integer | null,
	"status": "pending" | "approved" | "rejected" | "left",
	"isAdmin": boolean,
	"labels": string[],
	"user": {
		...user.base // See User resource definition
	},
	"authentication": {
		"kind": "authentication",
		"type": "saml"|"google"|"email",
		"identifier": string,
		"lastLogin": integer,
		"email": string,
		"affiliations": [],
		"identityProvider": {
			"kind": "identityProvider",
			"domain": string,
			"name": string
		}			
	}
}
```

## Documentation

| Fields                                                   |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| -------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **List**                                                 |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| kind                                                     | <p><strong>string</strong></p><p>The resource type. Will always be "member".</p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| uri                                                      | <p><strong>string</strong></p><p>The fully qualified reference to this member, for use in generating calls to this API. </p><p>For example, <code>/organizations/\<orgName>/members/\<userName></code></p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| url                                                      | <p><strong>string</strong></p><p>A url to this member's page on the organization's administration profile</p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| createdAt                                                | <p><strong>integer</strong></p><p>When the member was created. Stored as milliseconds since the epoch (1970-01-01).</p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| submittedAt                                              | <p><strong>integer</strong></p><p>When the member last submitted their membership. Stored as milliseconds since the epoch (1970-01-01).</p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| approvedAt                                               | <p><strong>integer</strong></p><p>When the member was last approved. Will be null if the member hasn't ever been approved. Stored as milliseconds since the epoch (1970-01-01).</p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| rejectedAt                                               | <p><strong>integer</strong></p><p>When the member was last rejected. Will be null if the member hasn't ever been rejected. Stored as milliseconds since the epoch (1970-01-01).</p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| leftAt                                                   | <p><strong>integer</strong></p><p>When the member left the organization. Will be null if the member hasn't left. Stored as milliseconds since the epoch (1970-01-01).</p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| status                                                   | <p><strong>string</strong><br>The member's current status. Will be one of 'pending', 'approved', 'rejected', 'left'</p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| isAdmin                                                  | <p><strong>boolean</strong></p><p>Whether or not the member is an administrator of the organization</p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| labels                                                   | <p><strong>array\[string]</strong><br>A list of administrator-specified labels for the member.</p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| user                                                     | <p><strong>object</strong></p><p>A reference to the Redivis user account associated with the member. Will contain the contents of the <a href="user">user.base resource definition</a></p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| authentication                                           | <p><strong>authentication</strong></p><p>Authentication information about this member. They are required to assert their identity through this authentication in order to act as a member within the organization.</p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| authentication.kind                                      | <p><strong>string</strong></p><p>The resource type. Will always be "authentication".</p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| authentication.type                                      | <p><strong>string</strong><br>The type of authentication used. Valid options are SAML (for SAML based authentication), Google (for sign-in with Google), and Email (for email based sign-in)</p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| authentication.identifier                                | <p><strong>string</strong></p><p>The unique, persistent identifier for the user, as provided by the identity provider (IDP). For email authentication type, this will be the same as authentication.email</p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| authentication.lastLogin                                 | <p><strong>integer</strong></p><p>When the member last authenticated with these credentials. Stored as milliseconds since the epoch (1970-01-01).</p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| authentication.email                                     | <p><strong>string</strong></p><p>The email address associated with the authentication</p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| authentication.affiliations                              | <p><strong>array\[string]</strong></p><p>A list of affiliations, as provided by the <a href="https://software.internet2.edu/eduperson/internet2-mace-dir-eduperson-201602.html#eduPersonAffiliation">eduPersonAffiliation field</a> on the authentication response. Permissible values include: <code>"faculty", "student", "staff", "alum", "member", "affiliate", "employee", "library-walk-in"</code>Please note that most IDPs only use a subset of these values.</p>                                                                                                                                                                                                                                                                                                       |
| authentication.identityProvider                          | <p><strong>object</strong></p><p>Information about the identity provider that establishes identity for this authentication.</p><p></p><p>Redivis supports SAML authentication with any properly configured IDP listed in the <a href="https://incommon.org/federation/metadata/">InCommon IDP metadata</a>, which contains information on <a href="https://technical.edugain.org/status">thousands of research institutions</a> from around the world. <br><br>Additionally, users can log in with any google account. If that account is part of a <a href="https://gsuite.google.com/products/gmail/">hosted domain</a>, Redivis treats that hosted domain as an identity provider (for example, <my-email@redivis.com> is a google account in the "redivis.com" domain).</p> |
| <p>authentication.identityProvider</p><p>    .kind</p>   | <p><strong>string</strong></p><p>The resource type. Will always be "identityProvider".</p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| <p>authentication.identityProvider</p><p>    .domain</p> | <p><strong>string</strong></p><p>The domain name associated with the identityProvider.</p><p></p><p>If the member authenticates with a personal gmail account, this field will be 'gmail.com'.</p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| <p>authentication.identityProvider</p><p>    .name</p>   | <p><strong>string</strong></p><p>A user-friendly name provided by the identityProvider. May change and may not be unique.</p><p></p><p>If the member authenticates with a personal gmail account, this field will be 'GMail'.</p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
