Habiteo Site Content API — Users API

Post authors exposed by the WordPress users route. Read-only for anonymous callers. DERIVED by API Evangelist from the WordPress REST route index at https://www.habiteo.com/wp-json/ — this is the CMS content API behind the marketing site, NOT a Habiteo product API. Habiteo publishes no contract for myHabiteo, the configurator or the MegaWidget.

OpenAPI Specification

habiteo-users-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Habiteo Site Content API (WordPress REST wp-json) Users API
  version: wp-json
  summary: Anonymous read surface of the WordPress REST API that www.habiteo.com serves.
  description: 'Habiteo publishes www.habiteo.com on WordPress, which exposes the WordPress REST API at https://www.habiteo.com/wp-json/.
    The wp/v2 namespace is anonymously readable and returns the company''s news posts, marketing pages, portfolio
    entries, media library, taxonomies and users as JSON.


    This document was DERIVED mechanically by API Evangelist from the route-discovery document served at https://www.habiteo.com/wp-json/
    on 2026-08-17 — every path, method and parameter below is taken verbatim from that descriptor. Habiteo publishes
    no OpenAPI, no developer portal and no API documentation of its own, and THIS IS NOT A HABITEO PRODUCT API:
    it is the content API the CMS exposes. Habiteo''s actual products (myHabiteo, the 3D configurator, the MegaWidget)
    have no published contract. Write operations exist on these routes but require WordPress authentication (Application
    Passwords over HTTP Basic, or a cookie + nonce).'
  contact:
    name: Habiteo
    url: https://www.habiteo.com/
  x-derived-by: API Evangelist enrichment pipeline
  x-derived-from: https://www.habiteo.com/wp-json/
  x-derived-on: '2026-08-17'
  x-provider-published: false
servers:
- url: https://www.habiteo.com/wp-json
  description: Production
tags:
- name: Users
paths:
  /wp/v2/users:
    get:
      operationId: getWpV2Users
      summary: GET /wp/v2/users
      tags:
      - Users
      parameters:
      - name: context
        in: query
        required: false
        schema:
          type: string
          enum:
          - view
          - embed
          - edit
          default: view
        description: Le contexte dans lequel la requête est faite ; cela détermine les champs renvoyés.
      - name: page
        in: query
        required: false
        schema:
          type: integer
          default: 1
        description: Page courante dans la collection.
      - name: per_page
        in: query
        required: false
        schema:
          type: integer
          default: 10
        description: Nombre maximal d’éléments à renvoyer dans le groupe de résultats.
      - name: search
        in: query
        required: false
        schema:
          type: string
        description: Limiter les résultats à ceux qui correspondent à une chaîne de caractères.
      - name: exclude
        in: query
        required: false
        schema:
          type: array
          default: []
          items:
            type: integer
        description: S’assure que le jeu de résultats exclut des ID spécifiques.
      - name: include
        in: query
        required: false
        schema:
          type: array
          default: []
          items:
            type: integer
        description: Limiter le groupe de résultats aux ID spécifiés.
      - name: offset
        in: query
        required: false
        schema:
          type: integer
        description: Ignorer un nombre spécifique d’éléments au sein du jeu de résultats.
      - name: order
        in: query
        required: false
        schema:
          type: string
          enum:
          - asc
          - desc
          default: asc
        description: Le paramètre order trie les attributs dans l’ordre croissant ou décroissant.
      - name: orderby
        in: query
        required: false
        schema:
          type: string
          enum:
          - id
          - include
          - name
          - registered_date
          - slug
          - email
          - url
          default: name
        description: Trier la collection par attribut d’objet.
      - name: slug
        in: query
        required: false
        schema:
          type: array
          items:
            type: string
        description: Limiter les résultats aux utilisateurs avec un identifiant spécifique.
      - name: roles
        in: query
        required: false
        schema:
          type: array
          items:
            type: string
        description: Limiter le résultat aux utilisateurs correspondants à au moins un rôle spécifique fourni. Accepte
          les listes de type CSV ou les rôles uniques.
      responses:
        '200':
          description: Successful response.
          content:
            application/json:
              schema:
                type: object
        '400':
          description: Invalid parameter.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WPError'
        '401':
          description: Not authenticated.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WPError'
        '403':
          description: rest_forbidden — the anonymous caller may not perform this action.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WPError'
        '404':
          description: No route or resource matched.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WPError'
    post:
      operationId: postWpV2Users
      summary: POST /wp/v2/users
      tags:
      - Users
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                username:
                  type: string
                  description: Nom de connexion pour l’utilisateur.
                name:
                  type: string
                  description: Nom affiché pour l’utilisateur.
                first_name:
                  type: string
                  description: Prénom de utilisateur.
                last_name:
                  type: string
                  description: Nom de l’utilisateur.
                email:
                  type: string
                  description: L’adresse e-mail pour l’utilisateur.
                url:
                  type: string
                  description: URL de l’utilisateur.
                description:
                  type: string
                  description: Description de l’utilisateur.
                locale:
                  type: string
                  enum:
                  - ''
                  - en_US
                  - de_DE
                  - en_GB
                  - es_ES
                  - fr_FR
                  - he_IL
                  - ko_KR
                  - pt_BR
                  - ro_RO
                  - ru_RU
                  - zh_CN
                  description: Langue de l’utilisateur.
                nickname:
                  type: string
                  description: Le surnom de l’utilisateur.
                slug:
                  type: string
                  description: Un identificateur alphanumérique pour l’utilisateur.
                roles:
                  type: array
                  items:
                    type: string
                  description: Rôles assignés à l’utilisateur.
                password:
                  type: string
                  description: Mot de passe pour l’utilisateur (jamais inclus).
                meta:
                  type: object
                  description: Champs métas.
              required:
              - username
              - email
              - password
      responses:
        '200':
          description: Successful response.
          content:
            application/json:
              schema:
                type: object
        '400':
          description: Invalid parameter.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WPError'
        '401':
          description: Not authenticated.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WPError'
        '403':
          description: rest_forbidden — the anonymous caller may not perform this action.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WPError'
        '404':
          description: No route or resource matched.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WPError'
      security:
      - basicAuth: []
      - cookieNonce: []
  /wp/v2/users/me:
    get:
      operationId: getWpV2UsersMe
      summary: GET /wp/v2/users/me
      tags:
      - Users
      parameters:
      - name: context
        in: query
        required: false
        schema:
          type: string
          enum:
          - view
          - embed
          - edit
          default: view
        description: Le contexte dans lequel la requête est faite ; cela détermine les champs renvoyés.
      responses:
        '200':
          description: Successful response.
          content:
            application/json:
              schema:
                type: object
        '400':
          description: Invalid parameter.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WPError'
        '401':
          description: Not authenticated.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WPError'
        '403':
          description: rest_forbidden — the anonymous caller may not perform this action.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WPError'
        '404':
          description: No route or resource matched.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WPError'
    post:
      operationId: postWpV2UsersMe
      summary: POST /wp/v2/users/me
      tags:
      - Users
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                username:
                  type: string
                  description: Nom de connexion pour l’utilisateur.
                name:
                  type: string
                  description: Nom affiché pour l’utilisateur.
                first_name:
                  type: string
                  description: Prénom de utilisateur.
                last_name:
                  type: string
                  description: Nom de l’utilisateur.
                email:
                  type: string
                  description: L’adresse e-mail pour l’utilisateur.
                url:
                  type: string
                  description: URL de l’utilisateur.
                description:
                  type: string
                  description: Description de l’utilisateur.
                locale:
                  type: string
                  enum:
                  - ''
                  - en_US
                  - de_DE
                  - en_GB
                  - es_ES
                  - fr_FR
                  - he_IL
                  - ko_KR
                  - pt_BR
                  - ro_RO
                  - ru_RU
                  - zh_CN
                  description: Langue de l’utilisateur.
                nickname:
                  type: string
                  description: Le surnom de l’utilisateur.
                slug:
                  type: string
                  description: Un identificateur alphanumérique pour l’utilisateur.
                roles:
                  type: array
                  items:
                    type: string
                  description: Rôles assignés à l’utilisateur.
                password:
                  type: string
                  description: Mot de passe pour l’utilisateur (jamais inclus).
                meta:
                  type: object
                  description: Champs métas.
      responses:
        '200':
          description: Successful response.
          content:
            application/json:
              schema:
                type: object
        '400':
          description: Invalid parameter.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WPError'
        '401':
          description: Not authenticated.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WPError'
        '403':
          description: rest_forbidden — the anonymous caller may not perform this action.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WPError'
        '404':
          description: No route or resource matched.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WPError'
      security:
      - basicAuth: []
      - cookieNonce: []
    delete:
      operationId: deleteWpV2UsersMe
      summary: DELETE /wp/v2/users/me
      tags:
      - Users
      parameters:
      - name: force
        in: query
        required: false
        schema:
          type: boolean
          default: false
        description: Nécessite la valeur "true", car l’utilisateur ne supporte pas la suppression forcée.
      - name: reassign
        in: query
        required: true
        schema:
          type: integer
        description: Réaffectez les articles et les liens de l’utilisateur supprimé à cet ID d’utilisateur.
      responses:
        '200':
          description: Successful response.
          content:
            application/json:
              schema:
                type: object
        '400':
          description: Invalid parameter.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WPError'
        '401':
          description: Not authenticated.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WPError'
        '403':
          description: rest_forbidden — the anonymous caller may not perform this action.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WPError'
        '404':
          description: No route or resource matched.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WPError'
      security:
      - basicAuth: []
      - cookieNonce: []
  /wp/v2/users/{id}:
    parameters:
    - name: id
      in: path
      required: true
      schema:
        type: string
      description: Route parameter `id` declared by the WordPress route index.
    get:
      operationId: getWpV2UsersId
      summary: GET /wp/v2/users/{id}
      tags:
      - Users
      parameters:
      - name: context
        in: query
        required: false
        schema:
          type: string
          enum:
          - view
          - embed
          - edit
          default: view
        description: Le contexte dans lequel la requête est faite ; cela détermine les champs renvoyés.
      responses:
        '200':
          description: Successful response.
          content:
            application/json:
              schema:
                type: object
        '400':
          description: Invalid parameter.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WPError'
        '401':
          description: Not authenticated.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WPError'
        '403':
          description: rest_forbidden — the anonymous caller may not perform this action.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WPError'
        '404':
          description: No route or resource matched.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WPError'
    post:
      operationId: postWpV2UsersId
      summary: POST /wp/v2/users/{id}
      tags:
      - Users
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                username:
                  type: string
                  description: Nom de connexion pour l’utilisateur.
                name:
                  type: string
                  description: Nom affiché pour l’utilisateur.
                first_name:
                  type: string
                  description: Prénom de utilisateur.
                last_name:
                  type: string
                  description: Nom de l’utilisateur.
                email:
                  type: string
                  description: L’adresse e-mail pour l’utilisateur.
                url:
                  type: string
                  description: URL de l’utilisateur.
                description:
                  type: string
                  description: Description de l’utilisateur.
                locale:
                  type: string
                  enum:
                  - ''
                  - en_US
                  - de_DE
                  - en_GB
                  - es_ES
                  - fr_FR
                  - he_IL
                  - ko_KR
                  - pt_BR
                  - ro_RO
                  - ru_RU
                  - zh_CN
                  description: Langue de l’utilisateur.
                nickname:
                  type: string
                  description: Le surnom de l’utilisateur.
                slug:
                  type: string
                  description: Un identificateur alphanumérique pour l’utilisateur.
                roles:
                  type: array
                  items:
                    type: string
                  description: Rôles assignés à l’utilisateur.
                password:
                  type: string
                  description: Mot de passe pour l’utilisateur (jamais inclus).
                meta:
                  type: object
                  description: Champs métas.
      responses:
        '200':
          description: Successful response.
          content:
            application/json:
              schema:
                type: object
        '400':
          description: Invalid parameter.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WPError'
        '401':
          description: Not authenticated.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WPError'
        '403':
          description: rest_forbidden — the anonymous caller may not perform this action.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WPError'
        '404':
          description: No route or resource matched.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WPError'
      security:
      - basicAuth: []
      - cookieNonce: []
    delete:
      operationId: deleteWpV2UsersId
      summary: DELETE /wp/v2/users/{id}
      tags:
      - Users
      parameters:
      - name: force
        in: query
        required: false
        schema:
          type: boolean
          default: false
        description: Nécessite la valeur "true", car l’utilisateur ne supporte pas la suppression forcée.
      - name: reassign
        in: query
        required: true
        schema:
          type: integer
        description: Réaffectez les articles et les liens de l’utilisateur supprimé à cet ID d’utilisateur.
      responses:
        '200':
          description: Successful response.
          content:
            application/json:
              schema:
                type: object
        '400':
          description: Invalid parameter.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WPError'
        '401':
          description: Not authenticated.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WPError'
        '403':
          description: rest_forbidden — the anonymous caller may not perform this action.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WPError'
        '404':
          description: No route or resource matched.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WPError'
      security:
      - basicAuth: []
      - cookieNonce: []
components:
  securitySchemes:
    basicAuth:
      type: http
      scheme: basic
      description: WordPress Application Passwords over HTTP Basic. Required for every write operation.
    cookieNonce:
      type: apiKey
      in: header
      name: X-WP-Nonce
      description: WordPress logged-in cookie plus an X-WP-Nonce header, used by first-party admin clients.
  schemas:
    WPError:
      type: object
      description: The WordPress REST error envelope. Not RFC 9457 problem+json.
      properties:
        code:
          type: string
          description: Machine-readable error code, e.g. rest_post_invalid_id.
        message:
          type: string
          description: Human-readable message. Localized — this install answers in French.
        data:
          type: object
          properties:
            status:
              type: integer
              description: HTTP status repeated in the body.