# User Module

**User** **Profile Module** maintains all the data associated with the user.

#### Create New User

Creates a new user. The main reason is to setup the signature initial authentication mechanism for all the requests by the user.

**Steps -**&#x20;

1. Create a token or any unique text for the user on your platform/protocol.
2. Have it signed by the user with their EVM based wallet.
3. Send user eth address, token and the generated signature to create new user of Quest Protocol.

<mark style="color:blue;">`GET`</mark> `https://api.questprotocol.xyz/api/token`

#### Query Parameters

| Name                                             | Type   | Description |
| ------------------------------------------------ | ------ | ----------- |
| UserETHAddress<mark style="color:red;">\*</mark> | String |             |

{% tabs %}
{% tab title="200: OK " %}

```javascript
{
    // Response
}
```

{% endtab %}
{% endtabs %}

#### Get User Info

Get details for the user. Send user ETH address and the saved signature in query params to get the user details. This is the user Info upon available upon request -

name, imageUrl, bannerUrl, subtitle, location, expertise, goals, interests, helpWith, about, currentWork, funFacts, email, twitter, discordId, linkedin, instagram, website, calendly

<mark style="color:blue;">`GET`</mark> `https://api.questprotocol.xyz/api/users`

#### Path Parameters

| Name           | Type   | Description |
| -------------- | ------ | ----------- |
| UserETHAddress | String |             |

#### Query Parameters

| Name                                        | Type   | Description |
| ------------------------------------------- | ------ | ----------- |
| address<mark style="color:red;">\*</mark>   | String |             |
| signature<mark style="color:red;">\*</mark> | String |             |

#### Set User Info

To set details for the User, send user ETH address and the saved generated signature to set the User details.

<mark style="color:green;">`POST`</mark> `https://api.questprotocol.xyz/api`

#### Path Parameters

| Name                                             | Type   | Description |
| ------------------------------------------------ | ------ | ----------- |
| UserETHAddress<mark style="color:red;">\*</mark> | String |             |

#### Query Parameters

| Name                                        | Type   | Description |
| ------------------------------------------- | ------ | ----------- |
| address<mark style="color:red;">\*</mark>   | String |             |
| signature<mark style="color:red;">\*</mark> | String |             |

#### Request Body

| Name                                        | Type   | Description |
| ------------------------------------------- | ------ | ----------- |
| name<mark style="color:red;">\*</mark>      | String |             |
| imageUrl<mark style="color:red;">\*</mark>  | String |             |
| bannerUrl<mark style="color:red;">\*</mark> | String |             |
| subtitle<mark style="color:red;">\*</mark>  | String |             |
| location<mark style="color:red;">\*</mark>  | String |             |
| expertise                                   | String |             |
| goals                                       | String |             |
| interests                                   | String |             |
| helpWith                                    | String |             |
| about                                       | String |             |
| currentWork                                 | String |             |
| funFacts                                    | String |             |
| twitter<mark style="color:red;">\*</mark>   | String |             |
| email<mark style="color:red;">\*</mark>     | String |             |
| discordId<mark style="color:red;">\*</mark> | String |             |
| linkedin<mark style="color:red;">\*</mark>  | String |             |
| instagram<mark style="color:red;">\*</mark> | String |             |
| website<mark style="color:red;">\*</mark>   | String |             |
| calendly                                    | String |             |

{% hint style="success" %}

#### **For any other custom, fields contact Quest Admins.**

{% endhint %}


---

# 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.questera.ai/questera-ai-sdks/rest-apis/user-module.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.
