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