Habiteo Site Content API — Comments API

Site comments. The comment collection is anonymously readable. 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-comments-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Habiteo Site Content API (WordPress REST wp-json) Comments 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: Comments
paths:
  /wp/v2/comments:
    get:
      operationId: getWpV2Comments
      summary: GET /wp/v2/comments
      tags:
      - Comments
      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: after
        in: query
        required: false
        schema:
          type: string
        description: Limiter les réponses aux commentaires publiés après une date donnée et conforme ISO8601.
      - name: author
        in: query
        required: false
        schema:
          type: array
          items:
            type: integer
        description: Limiter le jeu de résultats aux commentaires assignés aux ID utilisateurs spécifiés. Nécessite
          des droits spécifiques.
      - name: author_exclude
        in: query
        required: false
        schema:
          type: array
          items:
            type: integer
        description: S’assurer que le jeu de résultats exclut les commentaires assignés aux ID utilisateurs spécifiés.
          Nécessite des droits spécifiques.
      - name: author_email
        in: query
        required: false
        schema:
          type: string
        description: Limiter le jeu de résultats à une adresse email d’auteur spécifique. Nécessite les droits correspondants.
      - name: before
        in: query
        required: false
        schema:
          type: string
        description: Limiter les réponses aux commentaires publiés avant une date donnée et conforme ISO8601.
      - 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: desc
        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:
          - date
          - date_gmt
          - id
          - include
          - post
          - parent
          - type
          default: date_gmt
        description: Trier la collection par attribut d’objet.
      - name: parent
        in: query
        required: false
        schema:
          type: array
          default: []
          items:
            type: integer
        description: Limiter le jeu de résultats aux commentaires ayant un ID parent spécifique.
      - name: parent_exclude
        in: query
        required: false
        schema:
          type: array
          default: []
          items:
            type: integer
        description: S’assure que le jeu de résultats exclut des ID parents spécifiques.
      - name: post
        in: query
        required: false
        schema:
          type: array
          default: []
          items:
            type: integer
        description: Limite le jeu de résultats aux commentaires assignés à des ID d’articles spécifiques.
      - name: status
        in: query
        required: false
        schema:
          type: string
          default: approve
        description: Limiter le jeu de résultats aux commentaires assignés à un état spécifique. Nécessite les droits
          correspondants.
      - name: type
        in: query
        required: false
        schema:
          type: string
          default: comment
        description: Limite le jeu de résultats aux commentaires assignés à un type spécifique. Nécessite des droits
          spécifiques.
      - name: password
        in: query
        required: false
        schema:
          type: string
        description: Le mot de passe pour cet article, s’il est protégé par un mot de passe.
      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: postWpV2Comments
      summary: POST /wp/v2/comments
      tags:
      - Comments
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                author:
                  type: integer
                  description: L’ID de l’objet user, si l’auteur était un utilisateur.
                author_email:
                  type: string
                  description: Adresse de messagerie pour l’objet auteur.
                author_ip:
                  type: string
                  description: Adresse IP de l’auteur de l’objet.
                author_name:
                  type: string
                  description: Nom d’affichage pour l’objet auteur.
                author_url:
                  type: string
                  description: URL pour l’objet auteur.
                author_user_agent:
                  type: string
                  description: Agent utilisateur pour l‘objet author.
                content:
                  type: object
                  description: Le contenu pour cet objet.
                date:
                  type: string
                  description: La date à laquelle l’objet a été publié, dans le fuseau horaire du site.
                date_gmt:
                  type: string
                  description: La date à laquelle l’objet a été publié, au format GMT.
                parent:
                  type: integer
                  default: 0
                  description: L’ID du parent de l’objet.
                post:
                  type: integer
                  default: 0
                  description: L’ID de l’objet article associé.
                status:
                  type: string
                  description: État de l’objet.
                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: []
  /wp/v2/comments/{id}:
    parameters:
    - name: id
      in: path
      required: true
      schema:
        type: string
      description: Route parameter `id` declared by the WordPress route index.
    get:
      operationId: getWpV2CommentsId
      summary: GET /wp/v2/comments/{id}
      tags:
      - Comments
      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: password
        in: query
        required: false
        schema:
          type: string
        description: Le mot de passe pour cet article, s’il est protégé par un mot de passe.
      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: postWpV2CommentsId
      summary: POST /wp/v2/comments/{id}
      tags:
      - Comments
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                author:
                  type: integer
                  description: L’ID de l’objet user, si l’auteur était un utilisateur.
                author_email:
                  type: string
                  description: Adresse de messagerie pour l’objet auteur.
                author_ip:
                  type: string
                  description: Adresse IP de l’auteur de l’objet.
                author_name:
                  type: string
                  description: Nom d’affichage pour l’objet auteur.
                author_url:
                  type: string
                  description: URL pour l’objet auteur.
                author_user_agent:
                  type: string
                  description: Agent utilisateur pour l‘objet author.
                content:
                  type: object
                  description: Le contenu pour cet objet.
                date:
                  type: string
                  description: La date à laquelle l’objet a été publié, dans le fuseau horaire du site.
                date_gmt:
                  type: string
                  description: La date à laquelle l’objet a été publié, au format GMT.
                parent:
                  type: integer
                  description: L’ID du parent de l’objet.
                post:
                  type: integer
                  description: L’ID de l’objet article associé.
                status:
                  type: string
                  description: État de l’objet.
                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: deleteWpV2CommentsId
      summary: DELETE /wp/v2/comments/{id}
      tags:
      - Comments
      parameters:
      - name: force
        in: query
        required: false
        schema:
          type: boolean
          default: false
        description: Que ce soit pour éviter la corbeille ou forcer la suppression.
      - name: password
        in: query
        required: false
        schema:
          type: string
        description: Le mot de passe pour cet article, s’il est protégé par un mot de passe.
      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.