Sail

Create User

POST/users

Creates a Sail user mapped to your internal identity. Required for the server-to-server pattern. Optional for token-scoped integrations, where a user can be created implicitly at token exchange.

Body application/json

external_user_idstringrequired

Your internal identifier for this user.

emailstring<email>

The user’s email address.

first_namestring

The user’s first name.

last_namestring

The user’s last name.

phonestring

The user’s phone number.

addressobject

The user’s mailing address.

Show address properties
streetstring

Street address.

citystring

City.

statestring

State or region.

zipstring

Postal code.

countrystring

ISO 3166-1 alpha-2 country code.

Response

User created. No credential is returned. PII access uses ephemeral tokens minted on demand.

idstring

The Sail user id.

external_user_idstring

Echo of the external_user_id supplied at creation.

status"active" | "inactive"

Whether the user is active or inactive.

created_atstring<date-time>

When the user was created.

Standard error envelope covering 400, 401, 403, 404, 429, and 500.

errorobject

The error detail.

Show error properties
codestring

Machine-readable code, e.g. not_found, token_scope_mismatch, product_not_enabled, insufficient_key_scope, insufficient_token_scope, user_token_required, user_token_expired, invalid_user_token, invalid_key_configuration, connection_not_reconnectable, rate_limited.

messagestring

Human-readable error message. May change, so match on error.code instead.

paramstring

The request field that caused the error, when applicable. Null otherwise.

Request
curl -X POST "https://live.savewithsail.com/api/v1/users" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <token>" \
  -d '{
  "external_user_id": "string",
  "email": "user@example.com",
  "first_name": "string",
  "last_name": "string",
  "phone": "+1 415-555-0122",
  "address": {
    "street": "string",
    "city": "string",
    "state": "string",
    "zip": "string",
    "country": "US"
  }
}'
Response
{
  "id": "usr_abc123",
  "external_user_id": "string",
  "status": "active",
  "created_at": "1970-01-01T00:00:00.000Z"
}