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

# Clients

> A client user in your Assembly workspace, with profile, status, and custom field data.

This resource represents a client user in your workspace.

## Properties

**id** `string`
The unique identifier for this item.

**createdAt** `string`
The date this item was created in RFC3339 format.

**updatedAt** `string`
The date this item was updated in RFC3339 format.

**object** `string`
The object type of this resource.

**givenName** `string`
The client's given name (first name).

**familyName** `string`
The client's family name (last name).

**email** `string`
The client's email.

**companyIds** `array of string`
The IDs of the companies that this client is assigned to. Only applies for workspaces with companies enabled.

Note that all clients have must be part of at least one `companyId`. If a client is not associated with a "named" company, the single item in the list will represent a "placeholder" company. If the placeholder `companyId` is used to call Retrieve a Company, the company object will be returned with `isPlaceholder = true`.

**~~companyId~~ (Deprecated)** `string`
As part of the transition to allow a client to be part of multiple companies, companyId is being deprecated. Please use companyIds instead.

**status** `string`
The status of the client, one of `notInvited`, `invited` or `active`.

| Value        | Description                                             |
| ------------ | ------------------------------------------------------- |
| `notInvited` | When a client was created but not sent an email invite. |
| `invited`    | When a client was created and sent an email invite.     |
| `active`     | When a client has successfully signed in at least once. |

**inviteUrl** `string`
A link you can send to the client to invite them to your portal.

**avatarImageUrl**  `string`
A link to the client's avatar image. If no image is set, this value will be `null` .

**firstLoginDate** `string`
When the client first logged in to the portal. If client has never logged in, this value will be `null`.

**lastLoginDate** `string`
When the client last logged in to the portal. If client has never logged in, this value will be `null`. Note that this value refers to when a client explicitly went through the login flow and does not refer to the most recent session.

**fallbackColor** `string`
A hex value indicating a fallback color for a user with no avatar.

**creationMethod** `string`
The client user's creation method, one of `internalUser`, `client`, & `directSignUp`.

| Value          | Description                                                                                                                                                                                                |
| :------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `internalUser` | Indicates that the client was created individually in Assembly by an internal user, created via import by an internal user, or created via API, Zapier, or Make connected with an internal user's API key. |
| `client`       | Indicates that the client was invited by another client. This is only possible if the ability for clients to invite other clients is enabled in *Settings > General*.                                      |
| `directSignUp` | Indicates that the client signed up directly via the direct sign-up link. This is only available if client direct sign-up is enabled in *Settings > General*                                               |

**customFields** `map`
The client's custom field values.

The key is the `key` of the custom field property, and the value is the client's custom field value. Learn more about creating custom fields [here](/docs/api-reference/resources/custom-fields).

Note: this will be `null` if the client has no custom fields set.

```json Example Client Object theme={null}
{
    "id": "1fe85b46-6a3d-4dcc-abbc-b76ac720784e",
    "object": "client",
    "createdAt": "2024-02-02T21:30:28.929541031Z",
    "givenName": "John",
    "familyName": "Doe",
    "email": "johndoe@assembly.com",
    "companyIds": ["bca425ea-daf0-4fb1-add1-c010a95de999"],
    "status": "active",
    "inviteUrl": "https://productiondemo.myassembly.com",
    "avatarImageUrl": "https://lightout-portal.s3-accelerate.amazonaws.com/public/b1VRvR-zM/images/profile_pictures/7f4331ef-101b-4248-9c74-3337661b1821/a3bc03a8-627e-4e27-ae59-2dbc2e831d36",
    "firstLoginDate": null,
    "lastLoginDate": "2024-02-02T21:30:30.200075382Z",
    "fallbackColor": "#938EAB",
    "customFields": {
        "phoneNumber": "+18185552345",
        "tags": [
            "sampleTag"
        ],
        "address": {
	        "country": "US",
					"region": "New York",
				  "postalCode": "10001",
				  "addressLine1": "1201 Broadway",
				  "addressLine2": "704",
				  "city": "New York",
				  "fullAddress": "1201 Broadway\n704\nNew York, New York, 10001\nUnited States"
        }
    },
    "creationMethod": "internalUser",
    "updatedAt": "2024-02-02T21:30:28.929541031Z"

}
```
