Users

Resources

User

Property Type Example Description
Id Long 114 S-money user ID
AppUserId String Client-112 User identifier in the third-party application
Role int 1 User’s role
1 = Client
2 = Extended client (KYC)
Type int 1 User type
0 = N/A
1 = Individual client
2 = Professional clientl
Profile UserProfile User’s profile information
Amount Long Cumulative amount of all user sub-accounts (in cents)
SubAccounts List<Account> List of sub-accounts associated with the user
BankAccounts List<BankAccountRef > List of references to user’s bank accounts
CBCards List<CBCardRef> List of user’s CB cards
Status UserStatus 1 User status
0 = Not confirmed
1 = OK
2 = Frozen
3 = On the fly
4 = Being closed
5 = Closed
6 = Waiting for KYC (bank transfers blocked)
7 = Blocked
Company Company If the created user is a company, then it contains information of the company.

UserProfile

Property Type Example Description
Civility Int 0 Civility
0 = Mr
1 = 1 = Mrs, Miss
Firstname String Jean Name
Lastname String Dupont Surname
Birthdate Datetime 1985-09-29T00:00:00 Date of birth
Address Address Addresse
Phonenumber String 0600000001 Mobile phone number
Email String jeandupont@s-money.fr E-mail address
Alias String Jean-dupont User nickname
Maximum number of characters: 32
Regex : ^([a - zA - Z]) ([a - zA - Z0 - 9_-.#\s]+)$
Photo PhotoRef Reference to the user photo
Birthcity String Paris City of birth
Birthcountry String FR Country of birth (code ISO 3166-1)
ThirdPartyIntroduction Int 0 0 si le client n’est pas Tiers Introduit
CSPCode String 31 Profession and socioprofessional category according to classification INSEE PCS 2003 level3:
11 = Agriculteurs sur petite ou moyenne exploitation
13 = Agriculteurs sur grande exploitation
21 = Artisan, Commerçant et assimilés
23 = Chefs d’entreprise de 10 salariés ou plus
31 = Professions libérales
34 = Professeurs, professions scientifiques
37 = Cadres administratifs et commerciaux d’entreprise, Ingénieurs et cadres techniques d’entreprise
33 = Cadres de la fonction publique
35 = Professions de l’information, des arts et des spectacles
42 = Professeurs des écoles, instituteurs et assimilés
43 = Professions intermédiaires administratives et commerciales des entreprises, de la santé et du travail social ou Techniciens
44 = Clergé, religieux
45 = Professions intermédiaires administratives de la fonction publique
48 = Contremaîtres, agents de maîtrise
52 = Employés de commerce, d’entreprise ou de la fonction publique
53 = Policiers et militaires
56 = Personnels des services directs aux particuliers
62 = Ouvriers agricoles ou qualifiés de type industriel/artisanal
65 = Autres ouvriers
64 = Chauffeurs
84 = Etudiants
71 = Retraités
81 = Sans activité professionnelle

SubAccount

Property Type Example Description
Id Long 225 Account identifier
AppAccountId String "123" Account identifier in the third-party application
DisplayName String Jean Dupont Display name
Amount Int 5102 Account amount (in cents)
IsDefault Bool True Indicate if it is a main user account
CreationDate DateTime 2013-09-29T00:00:00 Account creation date

BankAccountRef

Property Type Example Description
Id Long 2 Bank account ID
Href String /api/bankaccounts/2 Link to bank account details

CBCardRef

Property Type Example Description
Id Long 12 Card Id
href String /api/cards/22 Link to CB details

Address

Property Type Example Description
Street String 2 rue des châtaigniers Number and street
Zipcode String 75001 Postcode
City String Paris City
Country String "FR" Nationality (code ISO 3166-1)
FR = France
DE = Germany
AT = Austria
BE = Belgium
BG = Bulgaria
CY = Cyprus
DK = Denmark
ES = Spain
EE = Estonia
FI = Finland
GR = Greece
HR = Croatia
HU = Hungary
IE = Irleand
IS = Iceland
IT = Italy
LV = Latvia
LI = Liechtenstein
LT = Lithuanie
LU = Luxembourg
MT = Malta
NO = Norway
NL = Netherlands
PL = Poland
PT = Portugal
CZ = The Czech Republic
RO = Romania
GB = Great Britain
SK = Slovakia
SI = Slovenia
SE = Sweden
CH = Switzerland
ZA = South Africa
AU = Australia
CA = Canada
KR = South Korea
US = United States
HK = Hong Kong
IN = India
JP = Japan
MX = Mexico
SG = Singapore

Company

Property Type Example Description
Name String JP-Company Company or association name
Siret String 123456789 Siret or RNA
NAFCode String 4741Z Company NAF code

Create an individual user

To create an individual user, provide the following information:

  • appUserId,
  • surname,
  • firstname,
  • date of birth,
  • country of residence,
  • CSP.

In order to avoid any confusion, we recommend:

  • to use a "companyName-id" type as an appUserId
  • to provide an e-mail address.

Annual limits of electronic money apply to accounts created through API. In order to go beyond the limits, please provide the address and supporting documents through a dedicated API application (KYC).

Error cases :

HTTP code Error code Explication
401 362 Operation not authorised
401 569 Token OAuth expired
401 570 Token OAuth invalid
400 704 Request parameter not provided
400 177 Invalid request parameter
400 567 Invalid date of birth
400 377 The user should be over 18 years old
400 550 Incorrect or already taken e-mail
400 514 Incorrect or already taken account alias
400 515 Incorrect or already taken telephone number
400 378 Invalid country (it needs to be within the EU)
404 147 User cannot be found
400 302 BIC/IBAN not provided, impossible to transfer remaining funds to the user’s account.
400 703 Unitary transaction limit has been reached, impossible to transfer remaining funds to the user’s account
400 344 Annual transaction limit has been reached, impossible to transfer remaining funds to the user’s account

Create a professional user

To create a user, provide the following informations:

  • type 2
  • company name
  • NAF code

Note: for a Works Council, you must indicate the NAF code 9420Z.

In order to avoid any confusion, we recommend:

  • to use a "companyName-id" type as an appUserId
  • to provide an e-mail address
  • to provide the SIRET

To create a professional user, please have a look at the example in the right margin.

Error cases :

HTTP Code Error code Explication
401 362 Operation not authorised
401 569 Token OAuth expired
401 570 Token OAuth invalid
400 704 Request parameter not provided
400 177 Request parameter invalid
400 567 Date of birth invalid
400 377 The user must be over 18 years old
400 550 Incorrect or already taken e-mail
400 514 Incorrect or already taken account alias
400 515 Incorrect or already taken telephone number
400 378 Invalid country (it needs to be within the EU)

Retrieve the list of users

To retrieve the list of users, please have a look at the example in the right margin.

Request:

Property Type Description Default value
page Int Page number (starts with 1) 1
per_page Int Number of items per page 50

Error cases

HTTP Code Error code Explication
401 362 Operation not authorised
401 569 Token OAuth expired
401 570 Token OAuth invalid

Retrieve a user

To retrieve a user, please have a look at the example in the right margin.

Error Cases :

HTTP code Error code Explication
401 362 Operation not authorised
401 569 Token OAuth expired
401 570 Token OAuth invalid
404 147 User cannot be found

Modify a user

To modify a user, please have a look at the example in the right margin.

Error Cases :

HTTP code Error code Explication
401 362 Operation not authorised
401 569 Token OAuth expired
401 570 Token OAuth invalid
400 704 Request parameter not provided
400 177 Request parameter invalid
404 147 User cannot be found
400 567 Date of birth invalid
400 377 The user must be over 18 years old
400 550 Incorrect or already taken e-mail
400 514 Incorrect or already taken account alias
400 515 Incorrect or already taken telephone number

Close the user account

In order to close the user account, please have a look at the example in the right margin.

Error cases

HTTP code Error code Explication
401 362 Operation not authorised
401 569 Token OAuth expired
401 570 Token OAuth invalid
400 704 Request parameter not provided
400 177 Request parameter invalid
404 147 User cannot be found
400 302 BIC/IBAN not provided, impossible to transfer remaining funds to the user account.
400 703 Unitary transaction limit has been reached, impossible to transfer the remaining funds to the user account
400 344 Annual transaction limit has been reached, impossible to transfer the remaining funds to the user account.
400 1050 Account status does not allow this operation
400 1036 The wallet is not empty. Please empty the account before closing

Change the type of a user account (especially to pro)

In order to change the type of a user account (especially to pro), please have a look at the example in the right margin.

Error cases

HTTP code Error code Explication
400 704 Request parameter not provided

Search for a user

In order to search for a user, please have a look at the example in the right margin.

Property Type Description Default value
page Int Page number (starts with 1) 1
per_page Int Number of items per page 50
smoneyid string List of S-money ID separated by commas
firstname string Name
lastname string Surname
email string email

Error cases

HTTP code Error code Explication
401 362 Operation not authorised
401 569 Token OAuth expired
401 570 Token OAuth invalid

Put a block on a user

In order to put a block on a user, please have a look at the example in the right margin.

Error case

HTTP code Error code Explication
401 362 Operation not authorised
401 569 Token OAuth expired
401 570 Token OAuth invalid
401 704 Request parameter not provided
401 177 Request parameter invalid
401 147 User cannot be found