# Signup Endpoint

{% hint style="success" %}
Added in version 2.3.
{% endhint %}

{% hint style="warning" %}
**Developer Preview**\
The ESS Wallet Service endpoints are available as part of a Developer Preview program to allow early access to these features. Please be aware that these APIs may change.
{% endhint %}

The ESS Wallet Service provides the following endpoint for initializing the user’s Pod for use with the Wallet:

```none
https://datawallet.{ESS Domain}/signup
```

{% hint style="info" %}
Note\
To access the **`/signup`** endpoint, users must be authenticated. The endpoint supports the use of HTTP-only, secure session cookies.
{% endhint %}

The **`/signup`** endpoint initializes the following:

* WebID Profile
  * Modify the WebID profile document to include an **`inbox`** triple with the following form:

    ```none
    <> ldp:inbox <https://storage.{ESS_instance}/{uuid}/inbox>
    ```
* Pod Storage
  * Create the **`/wallet`** , **`/inbox`** , **`/accessrequests`** , and **`/accessgrants`** containers within the Pod.
* Default access control settings for the **`inbox`**
  * Set the **`/inbox`** access control to allow public write access

## Initialize Wallet

The Wallet Service provides an endpoint that the Wallet uses to initialize the user’s Pod and associated configuration options to support the function of the Wallet.

<table data-header-hidden><thead><tr><th width="158.2109375"></th><th></th></tr></thead><tbody><tr><td>Method</td><td><strong><code>POST</code></strong></td></tr><tr><td>Content-Type</td><td><strong><code>application/json</code></strong></td></tr><tr><td>Endpoint</td><td><strong><code>https://datawallet.{ESS Domain}/signup</code></strong></td></tr><tr><td>Payload</td><td>none</td></tr></tbody></table>

### Output

Upon completion of the request, the initialization is complete and the following fields are returned.

**Example response**

```json
{
  "webId": "https://id.example/alice",
  "name": "Alice User",
  "logo": "https://images.example/logo.png",
  "signupRequired": true
}
```

<table><thead><tr><th width="160.17578125">Field</th><th>Value</th></tr></thead><tbody><tr><td><strong><code>webId</code></strong></td><td>The new WebID of the user who has signed up.</td></tr><tr><td><strong><code>name</code></strong></td><td>The preferred name of the user, if available, for display in a user interface.</td></tr><tr><td><strong><code>logo</code></strong></td><td>A URL referencing a logo, if available, for display in a user interface.</td></tr><tr><td><strong><code>signupRequired</code></strong></td><td>Indicates whether the user needs to provision a Pod. <strong><code>true</code></strong> indicates that signup is required before a Pod can be provisioned. <strong><code>false</code></strong> indicates that the user already has a Pod.</td></tr></tbody></table>


---

# 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.inrupt.com/ess/2.4/services/service-wallet/signup.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.
