Skip to content

Create a user
Access

Request

Creates a new user (agent/collaborator) in the system. Requires SITE_ADMIN:WRITE permission and RS:ADMIN_CREATE right.

Password requirements (RGPD):

  • Length: 12-40 characters
  • Must contain: uppercase, lowercase, digit, special character

Agency assignment: The agency_id is the user's primary agency. Use agencies_list to grant access to additional agencies.

User types: Use GET /users/types to discover available types (e.g. Négociateur, Gestionnaire, etc.).

Groups: Use GET /users/groups to discover available groups (determines access level and permissions within the agency).

Security
bearerAuth
Bodyapplication/jsonrequired
firstnamestringrequired

User first name.

Example:"Marie"
lastnamestringrequired

User last name.

Example:"Martin"
emailstring, (email)required

User email address. Must be unique across the site. Used for login and notifications.

Example:"marie.martin@agence.fr"
passwordstringrequired

User password. Must meet RGPD requirements:

  • Length: 12-40 characters
  • Must contain: uppercase, lowercase, digit, special character
Example:"S3cur3P@ss!2026"
statusintegerrequired

User status:

  • 1 — Active
  • 0 — Archived (cannot login)
Example:1
agency_idintegerrequired

Primary agency ID for the user. Must be within the authenticated site's scope.

Example:123
agencies_listArray of integers or null

Additional agency IDs the user has access to (multi-agency access). Each must be within the site scope.

Example:
[ 123, 456 ]
group_idintegerrequired

Permission group ID. Determines access level. Use GET /users/groups to discover available groups.

Example:2
delegationboolean or null

Whether the user can delegate their work to others.

phonestring or null

Office phone number.

Example:"+33498765432"
mobile_phonestring or null

Mobile phone number.

Example:"+33698765432"
genderstring or null

Gender code. Use GET /users/genders for the full list.

Enum:"m""f""s"
Example:"f"
user_typesArray of integers or null

User type IDs (professional roles). A user can have multiple types. Use GET /users/types to discover available types.

Example:
[ 1 ]
curl -i -X POST \
  https://api-doc.immo-facile.com/_mock/openapi/users \
  -H 'Authorization: Bearer <YOUR_opaque_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "firstname": "Marie",
    "lastname": "Martin",
    "email": "marie.martin@agence.fr",
    "password": "S3cur3P@ss!2026",
    "status": 1,
    "agency_id": 123,
    "group_id": 2,
    "gender": "f",
    "phone": "+33498765432",
    "mobile_phone": "+33698765432",
    "user_types": [
      1
    ]
  }'

Responses

User created

Bodyapplication/json
dataobject
Response
{ "data": { "id": 582603 } }