---
title: "Create User"
method: POST
path: "/users"
tags: ["Users"]
---

# Create User

`POST /users`

Create a user in the Smile Network.

## Request body

- UserPostRequest — Create user request body
  - `externalMetadata` ObjectExternalMetadata — The Metadata object is a mapping of client-provided string fields to any string value. The following limitations apply: - The JSON values must be Strings (no nested JSON objects allowed) - Only ASCII characters can be used - Maximum of 5 key/value pairs - Maximum key length of 50 characters - Maximum value length of 500 characters

## Response `201`

OK

- UserPostResponse — Create user response body
  - `code` 'OK' | 'CREATED' | 'INVALID_CREDENTIALS' | 'INVALID_PARAMETERS' | 'INVALID_TOKEN' | 'UNAUTHORIZED_ACCESS' | 'MISSING_RESOURCE' | 'REQUEST_LIMIT_EXCEEDED' | 'SERVER_ERROR' | 'UNSUPPORTED_METHOD' | 'SERVER_UNAVAILABLE' | 'TIME_LIMIT_EXCEEDED' — Request status code
  - `message` string — Message response to the request
  - `requestId` string — Unique ID that is added to the body of every response for easy traceability of the request in our logs.
  - `data` object
    - `user` User, required — A user is someone who is authorizing Smile to retrieve and share their employment and income data on their behalf.
      - `id` string, required — Unique ID of this object
      - `externalMetadata` ObjectExternalMetadata, required — The Metadata object is a mapping of client-provided string fields to any string value. The following limitations apply: - The JSON values must be Strings (no nested JSON objects allowed) - Only ASCII characters can be used - Maximum of 5 key/value pairs - Maximum key length of 50 characters - Maximum value length of 500 characters
      - `createdAt` string, date-time, required — Date and time
      - `providers` string[], required — Array of providers connected to this user (listed by provider ID)
    - `token` Token, required — A method for securely transmitting information between Smile and the user.
      - `expiresAt` string, date-time, required — Date and time
      - `mode` 'SANDBOX' | 'PRODUCTION', required — Valid Smile mode for the Token
      - `accessToken` string, required — Short-lived token to initiate link flow

## Other responses

- `400` — Standard error response
- `401` — Standard error response
- `403` — Standard error response
- `404` — Standard error response
- `429` — Standard error response
- `500` — Standard error response
- `501` — Standard error response
- `503` — Standard error response
- `504` — Standard error response
- `default` — Standard error response

---

[API](https://skmtc.dev/smileapi/apis/smile-api.md) · [All operations](https://skmtc.dev/smileapi/apis/smile-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/smileapi/smile-api/revisions/4f4b86b82632/schema)
