> For the complete documentation index, see [llms.txt](https://docs.vomevolunteer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.vomevolunteer.com/resources/editor/the-profile-object.md).

# The Profile object

#### Example Response

```python
headers = {
    "API-KEY": "your_unique_api_key_here"
}
response = requests.get("https://api.vomevolunteer.com/api/profiles/?page=20", headers=headers)

```

```json
{
    "count": 791,
    "next": null,
    "previous": "http://api.vomevolunteer.com/api/profiles/?page=79",
    "results": [
        {
            "id": "a9a1028f-93a6-401d-9867-1fe59aa2d830",
            "logged_hours": 55,
            "is_offline": true,
            "is_following": false,
            "emergency_contact": {
                "name": "Dana Lauren",
                "phone_number": "+15145555555",
                "relationship": "Sibling"
        },
            "medical_information": {
                "description": "I have allergies to peanuts",
                "has_medical_info": true
        },
        "profile_details": {
            "first_name": "Sara",
            "last_name": "Fried",
            "full_name": "Sara Fried",
            "email": "sara.fried@domain.com",
            "profile_image": "/media/images/user/profile_image/94859378-6a55-44c9-97ce-a737ba5030ed.jpg",
            "phone_number": "+15145555555",
            "date_of_birth": "2004-05-03",
            "gender": 0, //Female
            "gender_text": "",
            "occupation": 2, //Professional
            "occupation_institution_name": "ABC Corporation",
            "skills": [   
                 {
                    "id": "64fd9793-0b67-4b02-a163-f2a7216292af",
                    "skill_title": "Video Editing"
             }    ,
            ]
            "languages":  [   
                 {
                    "id": "64fd9793-0b67-4b02-a163-f2a7216292af",
                    "language_name": "French"
                 },
            ],
            "address": "1111 Marcus Avenue, New Hyde Park, NY, USA",
            "latitude_longitude": [
                "40.7567681",
                "-73.69960300000001"
            ],
            "age": 26
        },
        "opportunities": [
            {
                "id": "64fd9793-0b67-4b02-a163-f2a7216292af",
                "opportunity": {
                    "id": "e478b142-ba67-4c83-a5f2-e87a95d513ee",
                    "title": "Opportunity A",
                    "category": {
                        "title": "Education Testing New"
                    }
                }
            },
        ],
        "most_recent_shift": null,
        "completed_shifts": 0,
        "profile_tags": [
            {
                "id": "546cbf95-f9e8-4064-91e4-70eb0ed02e3d",
                "tag": {
                    "id": "ec007482-7c9a-4ec0-963d-8cb0048ff2fc",
                    "tag_title": "Tag A"
                }
            },
            {
                "id": "b575b45d-895d-4983-a8e8-57df91ce1692",
                "tag": {
                    "id": "990c1afb-b1e7-4acd-8103-a6697b116c35",
                    "tag_title": "Tag B"
                }
            }
        ],
        "custom_fields": [
            {
                "id": "4ecc41e2-bb20-458c-986c-472da2208f0b",
                "custom_field": {
                    "id": "b9e2d0f6-11df-434e-a5db-66bf770b3373",
                    "name": "Custom Title - Boolean Field A",
                    "field_type": 10, //Boolean field
                    "is_active": true
                },
                "created_at": "2024-09-19T17:35:35.210435Z",
                "custom_field_value": {
                    "id": "50ffc051-4db3-444c-a477-1bfd5052b157",
                    "value": true
                }
            },
            {
                "id": "4c7aee40-ae20-4021-a18f-ca8e6e915f0a",
                "custom_field": {
                    "id": "b46da1d3-40bd-4e67-b560-abe937ae3064",
                    "name": "Multi-Select (Colors)",
                    "field_type": 3, //Multiple selection field
                    "is_active": true,
                    "options": [
                        {
                            "id": "41788791-32a0-455b-83a4-1c33262b324a",
                            "value": "Blue",
                            "order": 1
                        },
                        {
                            "id": "aa6f4182-3236-4225-8597-46eed1775d10",
                            "value": "Green",
                            "order": 2
                        },
                        {
                            "id": "ed50ba9a-05cf-418b-b990-d19e5d7907ed",
                            "value": "Yellow",
                            "order": 3
                        }
                    ]
                },
                "custom_field_value": [
                    {
                        "id": "73dea3c5-0f53-4c70-8925-106cb8493a21",
                        "value": {
                            "id": "41788791-32a0-455b-83a4-1c33262b324a",
                            "value": "Blue",
                            "order": 1
                        }
                    },
                    {
                        "id": "535ae6f4-99e4-4e56-b991-0017273a15ba",
                        "value": {
                            "id": "aa6f4182-3236-4225-8597-46eed1775d10",
                            "value": "Green",
                            "order": 2
                        }
                    }
                ]
            },
         ]
       }
  ]
}
```

### **Profile Object**

This object represents the primary data structure for profiles within the Vome API.

* **Attributes**:
  * **count** (`integer`): The total number of profiles available.
  * **next** (`string` | `null`): The URL to the next page of profiles.
  * **previous** (`string` | `null`): The URL to the previous page of profiles.
  * **results** (`array` of **Profile Detail Objects**): A list of profiles containing detailed information about each user in your database.

**Detailed information about individual profiles:**

* **id** (`string`): A unique identifier for the profile stored automatically by Vome.
* **logged\_hours** (`integer`): The total number of hours logged by the user at your organization across all of their reservations.
* **is\_offline** (`boolean`): Indicates whether the person is actively using Vome or is currently an offline profile managed only by the organization.
* **is\_following** (`boolean`): Indicates if the current user is following your organization to receive notifications about new available opportunities.
* [**emergency\_contact**](#user-content-fn-1)[^1]**:** Emergency contact details for the user, including the name relationship and phone number.
* [**medical\_information**](#medical-information-object) : Any basic medical information stored on behalf of this the user.
* [**profile\_details**](#profile-details-object) (**Profile Details Object**): Contains comprehensive details about the user (more information shown below) which are stored in the organization's Vome database.
* [**opportunities**](#opportunities-array) (**Opportunities Array**): Opportunities assigned for the user.
* **most\_recent\_shift** (`string` | `null`): The most recent shift the user was scheduled for.
* **completed\_shifts** (`integer`): The total number of shifts completed by the user. This count only includes the number of past reservations which had hours logged for them.
* [**profile\_tags** ](#tags-array)(**Tags Array**): Indicates the custom profile tags that have been associated with this user.
* [**custom\_fields** ](#custom-fields-array)(**Custom Fields Array**): A list of custom database fields and the values of those custom database fields for the given user..

#### **Emergency Contact Object**

Emergency contact details of the user.

* **name** (`string`): The full name of the emergency contact.
* **phone\_number** (`string`): The phone number of the emergency contact.
* **relationship** (`string`): The relationship of the contact to the user.

#### **Medical Information Object**

Details regarding the user's basic medical information provided.

* **description** (`string`): Description of basic medical information provided about the user.
* **has\_medical\_info** (`boolean`): Indicates whether there is any medical information inputted for this user.

#### **Profile Details Object**

Comprehensive details about the user's profile information.

* **first\_name**, **last\_name**, **full\_name** (`string`): The name of the user.
* **email** (`string`): Email address of the user.
* **profile\_image** (`string`): URL to the user's profile picture.
* **phone\_number** (`string`): Phone number of the user.
* **date\_of\_birth** (`string` | `null`): The date of birth of the user.
* **gender** (`string` | `null`): The gender of the user. \
  \
  `0` = Male\
  `1` = Female\
  `2` = Other (ability to input string in **gender\_text** field)\
  `3` = User inputted they would rather not say<br>
* **gender\_text** (`string`): Text description of the gender if the user inputted "Other" as the gender field.
* **occupation** (`string` | `null`): The occupation of the user.\
  \
  `0` = Student\
  `1` = Professional\
  `2` = Retiree (ability to input string in gender\_text field)\
  `3` = Other
* **occupation\_institution\_name** (`string`): The institution affiliated with this user (only applicable when the user indicated their occupation is "Student" or "Professional").
* **skills**, **languages** (`array`): Lists detailing skills and languages attributed to the user.
* **address** (`string`): The complete address of the user.
* **address\_coordinates** (`array`): Geographic coordinates of the user if an address was address via Google Maps. If the address was added via the import process, this data would not be available.
* **age** (`integer` | `null`): The age of the use, calculated using the data of birth field.

#### **Opportunities Array**

List of opportunities assigned to the user's profile.

* **id** (`string`): Identifier for the relationship between the user and the opportunity.
* **opportunity** (**Opportunity Object**): includes which opportunities the user is assigned to.
  * **id** (`string`): Identifier of the opportunity.
  * **title** (`string`): Title of the opportunity.
  * **category** (**category Object**): Includes the categories related to the opportunities the user is assigned to
    * **id** (`string`): Identifier of the category.
    * **title** (`string`): Title of the category.

#### **Tags Array**

Tags associated with the user's profile.

* **id** (`string`): Identifier for the relationship between the user and the profile tag.
* **tag** (**Tag Object**): The profile tag details.
  * **id** (`string`): Identifier for the profile tag.
  * **title** (`string`): Title of the profile tag.

#### **Custom Fields Array**

A custom field is a custom database field created by an admin in the Vome database. It allows the admin to create data fields, and store values for each of their users.

* **id** (`string`): Identifier for the relationship between a user’s custom\_field and custom\_field value
* **custom\_field** (**custom\_field Object**): The details of the custom field created by the organization.
  * **id** (`string`): Identifier of the custom field.
  * **name** (`string`): The title of the custom field.
  * [**field\_type** ](#custom-field-types)(`string`): The type of custom field it is (i.e. general, date, boolean, etc.)
  * **is\_active** (`boolean`): Whether the field is actively displayed on the Vome database default view.
  * **options** (`array`): Only applicable if the admin created a single selection or multiple selection field, which would include the options that can be attributed to the user.
    * **id** (`string`): Identifier of the option.
    * **value** (`string`): Title/value of the option
    * **order** (`string`): Order shown in the list
* **custom\_field\_value (custom\_field\_value Object):** The value of the custom field for the specific user. *There could be multiple objects for Multiple Selection type fields since the user can have multiple options attributed to them.*
  * **id** (`string`): Identifier of the user's relationship to the custom field value.
  * **value** (`value Object`): Identifier for a user's custom field value.
    * **id** (`string`): Identifier for the user’s custom field.
    * **value** (`string`): The value added
    * **order** (`string`): The order shown (only applicable if it is a multiple selection field)

#### Custom Field Types

* **GENERAL** (`0`): General type field.
* **NUMBER** (`1`): Field for numeric values.
* **SINGLE SELECTION** (`2`): Field allowing a single option selection.
* **MULTIPLE SELECTION** (`3`): Field allowing multiple options selection.
* **DATE & TIME** (`4`): Field for date and time values.
* **EMAIL** (`5`): Field for email addresses.
* **ATTACHMENT** (`6`): Field for file attachments.
* **URL** (`7`): Field for URLs.
* **ADDRESS** (`8`): Field for addresses.
* **UNIQUE\_ID** (`9`): Field with a unique identifier.
* **BOOLEAN** (`10`): Field for true/false values.
* **FORMULA** (`11`): Field for calculated values.
* **DATE** (`12`): Field for date values.

[^1]:
