# 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**.


---

# 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.artificient.de/api-documentation/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.
