# Create a User

Every piece of data in Sail is scoped to a user. Before you can create connections, fetch expenses, or access account information, you need a Sail user mapped to your internal identity.

## Requirements
Before you create a user, make sure you have the following:

- An [API key](/docs/get-started/get-started-overview/api-key) with any scope (user endpoints don't need a specific scope)

## Create the user

Send a POST request to the [Create User](/reference/users/post-users) endpoint with your internal user identifier. This is the only required field. The optional fields are most useful if you plan to access personal information through the Identity endpoint later.

<Tabs>
  <Tab title="Request">
    ```bash
    curl -X POST https://live.savewithsail.com/api/v1/users \
      -H "Authorization: Bearer sk_live_..." \
      -H "Content-Type: application/json" \
      -d '{
        "external_user_id": "your-user-123"
      }'
    ```
  </Tab>

  <Tab title="Response">
    ```json
    {
      "id": "usr_abc123",
      "external_user_id": "your-user-123",
      "status": "active",
      "created_at": "2026-08-10T14:31:07Z"
    }
    ```
  </Tab>
</Tabs>

Save the `id` from the response. You need it for all subsequent API calls for this user.

You can also pass optional contact fields (`email`, `first_name`, `last_name`, `phone`, `address`) when creating a user. See [request fields](#request-fields) below for the full list.

## The response

The User object only contains ids, status, and timestamps. Any contact information you send at creation is stored by Sail but never returned in the User object.

The response is the same regardless of which optional fields you include.

<Callout type="info">
  **Note**

  To read back the contact data you sent at creation, call [Get Originated Identity](/reference/identity/get-users-user-id-identity). This endpoint needs the `identity` key scope and an [ephemeral user token](/reference/users/post-users-user-id-tokens).
</Callout>

## Next steps

- To complete your setup, see [Set up webhooks](/docs/get-started/get-started-overview/webhooks).