> For the complete documentation index, see [llms.txt](https://docs.artificient.de/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.artificient.de/api-documentation/user.md).

# User

<mark style="color:red;">**NOTE: Use the following endpoints only if you intend to store the personal information of your users on GIZO platform.**</mark>&#x20;

## Update **Profile**

The endpoint is designed to handle requests for updating or modifying the profile information of a user. It allows users to make changes to their profile data, such as their name, email address, contact information, or any other relevant details.

## PATCH /api/v3/User/profile

>

```json
{"openapi":"3.0.1","info":{"title":"Gizo","version":"3.0"},"servers":[{"url":"https://api.artificient.de"}],"security":[{"Bearer":[]}],"components":{"securitySchemes":{"Bearer":{"type":"http","description":"Provide a JWT Bearer","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"UserProfileUpdateRequest":{"required":["firstName","lastName"],"type":"object","properties":{"firstName":{"minLength":1,"type":"string"},"lastName":{"minLength":1,"type":"string"},"email":{"type":"string","nullable":true},"birthDate":{"type":"string","format":"date-time","nullable":true},"gender":{"$ref":"#/components/schemas/Gender"},"companyCode":{"type":"string","nullable":true}},"additionalProperties":false},"Gender":{"enum":[0,1,2],"type":"integer","format":"int32"},"UserProfileResponse":{"type":"object","properties":{"userName":{"type":"string","nullable":true},"firstName":{"type":"string","nullable":true},"lastName":{"type":"string","nullable":true},"email":{"type":"string","nullable":true},"phoneNumber":{"type":"string","nullable":true},"profileImagePath":{"type":"string","nullable":true},"birthDate":{"type":"string","format":"date-time","nullable":true},"gender":{"$ref":"#/components/schemas/Gender"}},"additionalProperties":false}}},"paths":{"/api/v3/User/profile":{"patch":{"tags":["User"],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserProfileUpdateRequest"}},"text/json":{"schema":{"$ref":"#/components/schemas/UserProfileUpdateRequest"}},"application/*+json":{"schema":{"$ref":"#/components/schemas/UserProfileUpdateRequest"}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserProfileResponse"}}}}}}}}}
```

#### Header Request Parameters

Authentication Bearer Token

#### Request Body Parameters

**firstName:** first name of the user, and it is expected to be a string value, e.g.**"David"**.

**lastName:** last name of the user, and it is expected to be a string value. e.g. "**Smith**".

**email:** email of the user, and it is expected to be a string value, e.g. **"<david.smith@gmail.com>"**.

**NOTE:** email can be an empty text. If not, it must be sent in the proper format of email.

**birthDate:** the birthDate property represents the user's birth date. In the provided response, it is formatted as "yyyy-MM-dd", which indicates the date in ISO 8601 format. e.g. **"1999-08-02"**.

**gender:** the gender property represents the user’s gender. Here, **0** is used for females, **1** for males, while **2**  is used for unspecified.

**companyCode:** this property represents the code identifying a company to which a user is associated. It is expected to be a string value.&#x20;

**NOTE:** company code is either null or string.

#### **Response**

The provided endpoint response contains several properties, including:&#x20;

**userName:** this property represents the user's phone number. It is expected to be a string value, e.g. **"+49\_1747707607**"**,** where the "+49" on the left side of the underscore represents the country code, and "1747707607" on the right side of the underscore is the number.

**firstName:** this property represents the user's first name. It is expected to be a string value, e.g. **“David”**.

**lastName:** the lastName property represents the user's last name. It is also expected to be a string value, e.g. **"Smith"**.

**email:** this property represents the user's email address. It is expected to be a string value, e.g. **"<david.smith@gmail.com>"**.

**NOTE:** email can be an empty text. If not, it must be sent in the proper format of email.

**phoneNumber:** the phoneNumber property represents the user's phone number. It is also expected to be a string value, e.g. **"+49\_1747707607",** where the "+49" on the left side of the underscore represents the country code, and "1747707607" on the right side of the underscore is the number.

**profileImagePath:** this property represents the path or location of the user's profile image. It is expected to be a string value that specifies the image file location or URL, e.g. **"ProfilePic/93/picture.jpg"**.

**birthDate:** the birthDate property represents the user's birth date. In the provided response, it is formatted as "yyyy-MM-dd", which indicates the date in ISO 8601 format, e.g. **"1999-08-02"**.

**gender:** the gender property represents the user's gender. Here, **0** is used for females, **1** for males, and **2** for unspecified.

## **Update Profile Image**&#x20;

The endpoint is designed to handle requests for uploading or updating the profile image of a user. It allows users to provide an image file representing their profile picture or avatar.

## PATCH /api/v1/User/uploadProfileImage

>

```json
{"openapi":"3.0.1","info":{"title":"Gizo API v1","version":"1.0"},"servers":[{"url":"https://api.artificient.de"},{"url":"https://api.gizo.pod.artificient.de"}],"security":[{"Bearer":[]}],"components":{"securitySchemes":{"Bearer":{"type":"http","description":"Provide a JWT Bearer","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"Gizo.Application.Users.V1.Dtos.UpdateUserProfileResponse":{"type":"object","properties":{"userName":{"type":"string","nullable":true},"firstName":{"type":"string","nullable":true},"lastName":{"type":"string","nullable":true},"email":{"type":"string","nullable":true},"phoneNumber":{"type":"string","nullable":true},"profileImagePath":{"type":"string","nullable":true},"birthDate":{"type":"string","format":"date-time","nullable":true},"gender":{"enum":["Female","Male","Custom"],"type":"string","description":"Possible values: Female, Male, Custom"}},"additionalProperties":false}}},"paths":{"/api/v1/User/uploadProfileImage":{"patch":{"tags":["User"],"requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"ProfileImage":{"type":"string","format":"binary"}}},"encoding":{"ProfileImage":{"style":"form"}}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Gizo.Application.Users.V1.Dtos.UpdateUserProfileResponse"}}}}}}}}}
```

#### Header Request Parameters

Authentication Bearer Token

#### Request Body Parameters

**profileImage:** it’s a profile picture or avatar that must be sent in multi-part/form-data format. It is expected to be a string value.

#### **Response**

The provided endpoint response contains several properties, including:

**userName:** this property represents the user’s phone number. It is expected to be a string value, e.g. **“+49\_1747707607”,** where the "+49" on the left side of the underscore represents the country code, and "1747707607" on the right side of the underscore is the number.

**firstName:** this property represents the user’s first name. It is expected to be a string value, e.g. **“David”**.

**lastName:** the lastName property represents the user’s last name. It is expected to be a string value, e.g. **“Smith”**.

**email:** this property represents the user’s email address. It is expected to be a string value, e.g. **“<david.smith@gmail.com>“**.

**NOTE:** email can be an empty text. If not, it must be sent in the proper format of email.

**phoneNumber:** the phoneNumber property represents the user’s phone number. It is also expected to be a string value, e.g. **“+49\_1747707607”,** where the "+49" on the left side of the underscore represents the country code, and "1747707607" on the right side of the underscore is the number.

**profileImagePath:** this property represents the path or location of the user’s profile image. It is expected to be a string value that specifies the image file location or URL, e.g. **“ProfilePic/93/picture.jpg”**.

**birthDate:** the birthDate property represents the user’s birth date. In the provided response, it is formatted as “yyyy-MM-dd”, which indicates the date in ISO 8601 format, e.g. **“1999-08-02”**.

**gender:** the gender property represents the user’s gender. Here, **0** is used for females, **1** for males, and **2** for unspecified.

## **Update User First-time Use Initial**&#x20;

The endpoint is designed to handle requests for updating the initial information or settings associated with a user's profile. It allows users to modify their initial profile details or configuration.

**NOTE:** Initial is called when the [user's profile data](#update-profile) and the [user's vehicle data](/api-documentation/users-car.md#add-car-model) get completed in first-time use.

## PATCH /api/v1/user/initial

>

```json
{"openapi":"3.0.1","info":{"title":"Gizo API v1","version":"1.0"},"servers":[{"url":"https://api.artificient.de"},{"url":"https://api.gizo.pod.artificient.de"}],"security":[{"Bearer":[]}],"components":{"securitySchemes":{"Bearer":{"type":"http","description":"Provide a JWT Bearer","scheme":"bearer","bearerFormat":"JWT"}}},"paths":{"/api/v1/user/initial":{"patch":{"tags":["User"],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"boolean"}}}}}}}}}
```

#### Header Request Parameters

Authentication Bearer Token

#### **Response**

If it is **true**, it means that the procedure of collection of initial information from the user is completed.

## **Get Current User**&#x20;

The endpoint is designed to handle requests for retrieving or fetching the information of the currently authenticated user. It allows users to access their own profile or account details.

## GET /api/v2/User/currentUser

>

```json
{"openapi":"3.0.1","info":{"title":"Gizo","version":"2.0"},"servers":[{"url":"https://api.artificient.de"}],"security":[{"Bearer":[]}],"components":{"securitySchemes":{"Bearer":{"type":"http","description":"Provide a JWT Bearer","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"CurrentUserResponse":{"type":"object","properties":{"userName":{"type":"string","nullable":true},"firstName":{"type":"string","nullable":true},"lastName":{"type":"string","nullable":true},"email":{"type":"string","nullable":true},"phoneNumber":{"type":"string","nullable":true},"profileImagePath":{"type":"string","nullable":true},"birthDate":{"type":"string","format":"date-time","nullable":true},"gender":{"$ref":"#/components/schemas/Gender"},"isInitialized":{"type":"boolean"}},"additionalProperties":false},"Gender":{"enum":[0,1,2],"type":"integer","format":"int32"}}},"paths":{"/api/v2/User/currentUser":{"get":{"tags":["User"],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CurrentUserResponse"}}}}}}}}}
```

#### Header Request Parameters

Authentication Bearer Token

#### **Response**

The provided endpoint response contains several properties, including:&#x20;

**userName:** this property represents the user's phone number. It is expected to be a string value, e.g. **"+49\_1747707607",** where the "+49" on the left side of the underscore represents the country code, and "1747707607" on the right side of the underscore is the number.

**firstName:** this property represents the user's first name. It is expected to be a string value, e.g.**"David"**.

**lastName:** the lastName property represents the user's last name. It is expected to be a string value, e.g. **"Smith"**.

**email:** this property represents the user's email address. It is expected to be a string value, e.g. **"<david.smith@gmail.com>"**.

**NOTE:** email can be an empty text, if not, it must be sent in the proper format of email.

**phoneNumber:** the phoneNumber property represents the user's phone number. It is expected to be a string value, e.g. **"+49\_1747707607",** where the "+49" on the left side of the underscore represents the country code, and "1747707607" on the right side of the underscore is the number.

**profileImagePath:** this property represents the path or location of the user's profile image. It is expected to be a string value that specifies the image file location or URL, e.g. **"ProfilePic/93/picture.jpg"**.

**birthDate:** the birthdate property represents the user's birth date. In the provided response, it is formatted as "yyyy-MM-dd", which indicates the date in ISO 8601 format, e.g. **"1999-08-02"**.

**gender:** the gender property represents the user's gender. Here, **0** is used for females, **1** for males, and **2** for unspecified.

**isInitialized:** the isInitialized property is a Boolean value (true or false). It shows whether the user uses the app for the first time or not, e.g. **true**.
