API Explorer 935 endpoints

Create User (self-registration)

POST /obp/v7.0.0/users

OBPv7.0.0-createUser No role required UserOnboarding

Creates an OBP user (self-registration). No authorisation required.

Requires email, username, password, first_name and last_name.

v7.0.0 adds the optional mobile_phone_number: the registering person's own number (global across banks, distinct from the bank-scoped mobile_phone_number on Customer, which is KYC data of a legal entity). It is stored unverified — mobile_phone_number_is_validated is false and mobile_phone_number_validated_date is empty until a separate validation flow succeeds. Omit the field, or send null / blank, to register without a number.

Validation checks performed:

  • Password must meet strong password requirements (OBP-30207: Invalid Password Format. Your password should EITHER be at least 10 characters long and contain mixed numbers and both upper and lower case letters and at least one special character, OR the length should be > 16 and <= 512.)
  • Username must be unique (409, OBP-20258: Duplicate Username. Cannot create Username because it already exists. )
  • mobile_phone_number, when present, must be an optional leading + followed by 5 to 50 digits, spaces, dashes, dots or parentheses (OBP-40017: Invalid Phone Number. Please specify a valid value for PHONE_NUMBER. Eg:+9722398746 )

Email validation behavior:

  • Controlled by property authUser.skipEmailValidation (default: false)
  • When false: the user is created with validated=false and a validation email is sent. The link uses public_obp_portal_url (or legacy portal_external_url); if that is not set, or sending fails, the user can retry via POST /obp/v7.0.0/users/validation-emails.
  • When true: the user is created with validated=true and no email is sent.
  • Default entitlements are granted immediately regardless of validation status.

User Authentication is Optional. The User need not be logged in.

JSON request body fields (6)
email
felixsmith@example.com
first_name
Tom
last_name
Smith
password
passwordpasswordpassword
username
felixsmith
mobile_phone_number
+49 30 901820
JSON response body fields (9)
email
felixsmith@example.com
entitlements
list
provider
ETHEREUM
provider_id
user_id
9ca9a7e4-6d02-40e3-a129-0b2bf89de9b1
username
felixsmith
mobile_phone_number
+49 30 901820
mobile_phone_number_is_validated
mobile_phone_number_is_validated
Example request body
{
  "email": "felixsmith@example.com",
  "username": "felixsmith",
  "password": "String",
  "first_name": "Simon",
  "last_name": "Redfern",
  "mobile_phone_number": "+44 07972 444 876"
}
Example success response
{
  "user_id": "9ca9a7e4-6d02-40e3-a129-0b2bf89de9b1",
  "email": "felixsmith@example.com",
  "provider_id": "Chris",
  "provider": "http://127.0.0.1:8080",
  "username": "felixsmith",
  "mobile_phone_number": "+44 07972 444 876",
  "mobile_phone_number_is_validated": false,
  "entitlements": {
    "list": []
  }
}
Possible errors (6)
  • OBP-10001: Incorrect json format.
  • OBP-30207: Invalid Password Format. Your password should EITHER be at least 10 characters long and contain mixed numbers and both upper and lower case letters and at least one special character, OR the length should be > 16 and <= 512.
  • OBP-20258: Duplicate Username. Cannot create Username because it already exists.
  • OBP-40017: Invalid Phone Number. Please specify a valid value for PHONE_NUMBER. Eg:+9722398746
  • Error occurred during user creation.
  • OBP-50000: Unknown Error.
Implemented by OBPv7.0.0 createUser