> ## Documentation Index
> Fetch the complete documentation index at: https://developers.hubspot.fr/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Create dashboard

> Crée un nouveau tableau de bord. Les rapports existants peuvent être attachés au tableau de bord lors de sa création ; les widgets de rapport seront ajoutés séquentiellement.

L'attachement des rapports au tableau de bord est effectué au mieux, et il est possible que certains ou tous les rapports ne puissent pas être attachés. Le tableau de bord sera tout de même créé, et aucune erreur ne sera renvoyée. Le demandeur doit vérifier le champ « widgets » dans l'objet de réponse pour voir quels rapports ont été attachés avec succès.

> **Supported products**

> **Required Scopes**


## OpenAPI

````yaml specs/2027-03-beta/analytics-reporting-v2027-03-beta.json POST /analytics/reporting/2027-03-beta/dashboards
openapi: 3.0.1
info:
  title: Analytics Reporting
  description: Basepom for all HubSpot Projects
  version: 2027-03-beta
  x-hubspot-product-tier-requirements:
    marketing: FREE
    sales: FREE
    service: FREE
    cms: FREE
    commerce: FREE
    crmHub: FREE
    dataHub: FREE
servers:
  - url: https://api.hubapi.com
security: []
tags:
  - name: Batch
  - name: Dashboards
  - name: Reports
paths:
  /analytics/reporting/2027-03-beta/dashboards:
    post:
      tags:
        - Dashboards
      summary: Créer un tableau de bord
      description: "Crée un nouveau tableau de bord. Les rapports existants peuvent être attachés au tableau de bord lors de sa création\_; les widgets de rapport seront ajoutés séquentiellement.\n\nL'attachement des rapports au tableau de bord est effectué au mieux, et il est possible que certains ou tous les rapports ne puissent pas être attachés. Le tableau de bord sera tout de même créé, et aucune erreur ne sera renvoyée. Le demandeur doit vérifier le champ «\_widgets\_» dans l'objet de réponse pour voir quels rapports ont été attachés avec succès."
      operationId: post-/analytics/reporting/2027-03-beta/dashboards
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PublicDashboardCreateRequest'
        required: true
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicDashboard'
        default:
          $ref: '#/components/responses/Error'
          description: ''
      security:
        - oauth2:
            - reporting.full.write
        - oauth2:
            - reporting.full.admin
components:
  schemas:
    PublicDashboardCreateRequest:
      required:
        - name
        - permissions
      type: object
      properties:
        businessUnitId:
          type: string
          description: >-
            L'ID de l'unité commerciale à laquelle associer le nouveau tableau
            de bord. Facultatif, la valeur par défaut du compte est utilisée par
            défaut.
        description:
          type: string
          description: Une description du nouveau tableau de bord. Facultatif.
        name:
          type: string
          description: Le nom du nouveau tableau de bord.
        permissions:
          $ref: '#/components/schemas/PublicDashboardPermissions'
        reportIdsToAdd:
          type: array
          description: >-
            Tableau des identifiants des rapports à ajouter au tableau de bord
            après la création. Facultatif.
          items:
            type: string
    PublicDashboard:
      required:
        - archived
        - businessUnitId
        - createdAt
        - id
        - name
        - updatedAt
      type: object
      properties:
        archived:
          type: boolean
          description: Indique si le tableau de bord est archivé.
        archivedAt:
          type: string
          description: "Si le tableau de bord est archivé, la date et l'heure de son archivage, au format ISO\_8601. Absent si le tableau de bord n'est pas archivé."
          format: date-time
        businessUnitId:
          type: string
          description: ID de l'unité commerciale à laquelle le tableau de bord est associé.
        createdAt:
          type: string
          description: >-
            La date et l'heure de création du tableau de bord, au format ISO
            8601.
          format: date-time
        createdByUserId:
          type: string
          description: >-
            L'ID de l'utilisateur qui a créé le tableau de bord. Peut être
            absent.
        description:
          type: string
          description: Description du tableau de bord. Peut être absente.
        id:
          type: string
          description: L'ID du tableau de bord.
        lastViewedAt:
          type: string
          description: "La date et l'heure de la dernière consultation du tableau de bord, au format ISO\_8601. Absent s'il n'a pas encore été consulté."
          format: date-time
        lastViewedByUserId:
          type: string
          description: >-
            L'ID de l'utilisateur qui a consulté le tableau de bord en dernier.
            Absent s'il n'a pas encore été consulté.
        name:
          type: string
          description: Nom du tableau de bord.
        ownerUserId:
          type: string
          description: >-
            L'identifiant de l'utilisateur propriétaire du tableau de bord.
            Absent si le tableau de bord n'a actuellement pas de propriétaire.
        permissions:
          $ref: '#/components/schemas/PublicDashboardPermissions'
        tags:
          type: array
          description: >-
            Tableau d'objets représentant les balises associées au tableau de
            bord.


            Pour les points de terminaison GET, le retour n’est effectué que
            lorsqu'il est demandé en incluant le champ `balises` dans le
            paramètre de requête `properties`. Pour les autres points de
            terminaison, le retour est effectué le cas échéant.
          items:
            $ref: '#/components/schemas/PublicTag'
        updatedAt:
          type: string
          description: >-
            La date et l'heure de la dernière mise à jour du tableau de bord, au
            format ISO 8601.
          format: date-time
        updatedByUserId:
          type: string
          description: >-
            L'ID de l'utilisateur qui a mis à jour le tableau de bord en
            dernier. Peut être absent.
        widgets:
          type: array
          description: >-
            Un tableau d'objets représentant les widgets du tableau de bord.


            Pour les points de terminaison GET, le retour n’est effectué que
            lorsque le champ `widgets` est inclus dans le paramètre de requête
            `properties`. Pour les autres points de terminaison, le retour est
            effectué le cas échéant.
          items:
            $ref: '#/components/schemas/PublicDashboardWidget'
    PublicDashboardPermissions:
      required:
        - permissionType
      type: object
      properties:
        permissionType:
          type: string
          description: "Le type d'autorisation à appliquer au rapport\_:\n- PRIVATE\_: le rapport est uniquement accessible à son propriétaire et aux administrateurs.\n- EVERYONE_VIEW\_: le rapport peut être consulté par tout le monde.\n- EVERYONE_EDIT\_: le rapport peut être consulté et modifié par tout le monde.\n- SPECIFIC\_: en plus du propriétaire, des utilisateurs et/ou des équipes spécifiques se voient accorder des autorisations de CONSULTATION ou de MODIFICATION. Le champ «\_specificPermissions\_» doit également être présent."
          enum:
            - EVERYONE_EDIT
            - EVERYONE_VIEW
            - PRIVATE
            - SPECIFIC
        specificPermissions:
          type: array
          description: "Tableau des attributions de permissions spécifiques. Doit être présent lorsque «\_permissionType\_» est défini sur «\_SPECIFIC\_», ignoré sinon.\n\nLes tableaux de bord peuvent avoir une ou deux configurations de permissions spécifiques\_: une pour les attributions de vue et/ou une pour les attributions de modification. Des utilisateurs et/ou des équipes spécifiques reçoivent des permissions de vue ou de modification en fonction de la configuration dans laquelle ils/elles apparaissent. Un utilisateur ou une équipe donné ne peut pas apparaître dans les deux configurations de vue et de modification."
          items:
            $ref: '#/components/schemas/PublicSpecificPermissionConfig'
    PublicTag:
      required:
        - id
        - name
      type: object
      properties:
        createdAt:
          type: string
          description: "La date et l'heure de création de la balise, au format ISO\_8601. Peut être absent."
          format: date-time
        createdByUserId:
          type: string
          description: L'ID de l'utilisateur qui a créé la balise. Peut être absent.
        id:
          type: string
          description: L'ID de la balise.
        name:
          type: string
          description: Le nom du libellé.
        updatedAt:
          type: string
          description: "La date et l'heure de la dernière mise à jour de la balise, au format ISO\_8601. Peut être absent."
          format: date-time
        updatedByUserId:
          type: string
          description: >-
            L'ID de l'utilisateur qui a mis à jour la balise en dernier. Peut
            être absent.
    PublicDashboardWidget:
      required:
        - reportId
        - widgetLayout
      type: object
      properties:
        report:
          $ref: '#/components/schemas/PublicReport'
        reportId:
          type: string
          description: L'ID du rapport que le widget contient.
        widgetLayout:
          $ref: '#/components/schemas/PublicDashboardWidgetLayout'
    Error:
      required:
        - category
        - correlationId
        - message
      type: object
      properties:
        category:
          type: string
          description: >-
            La catégorie d'erreur, représentée sous forme de chaine de
            caractères.
        context:
          type: object
          additionalProperties:
            type: array
            items:
              type: string
          description: >-
            Un objet fournissant un contexte sur la condition d'erreur, avec des
            propriétés supplémentaires sous forme de tableaux de chaînes de
            caractères.
          example: >-
            {invalidPropertyName=[propertyValue], missingScopes=[scope1,
            scope2]}
        correlationId:
          type: string
          description: >-
            Un identifiant unique pour la requête, utilisé à des fins de suivi
            et de support. Il s'agit d'une chaîne formatée comme un UUID.
          format: uuid
          example: aeb5f871-7f07-4993-9211-075dc63e7cbf
        errors:
          type: array
          description: >-
            Un tableau contenant des informations supplémentaires sur l'erreur,
            chaque élément étant un objet ErrorDetail.
          items:
            $ref: '#/components/schemas/ErrorDetail'
        links:
          type: object
          additionalProperties:
            type: string
          description: >-
            Une carte des noms de liens vers les URI associées contenant de la
            documentation sur l'erreur ou les étapes de correction recommandées.
            Il s'agit d'un objet avec des propriétés de chaîne.
        message:
          type: string
          description: >-
            Un message lisible par l'utilisateur décrivant l'erreur ainsi que
            les mesures correctives à prendre, le cas échéant. Il s'agit d'une
            chaîne de caractères.
          example: An error occurred
        subCategory:
          type: string
          description: >-
            Une catégorie spécifique fournissant des informations plus
            détaillées sur l'erreur. Il s'agit d'une chaîne de caractères.
      description: >-
        Représente une réponse d'erreur renvoyée par l'API lorsqu'une opération
        échoue. Ce composant est utilisé dans divers points de terminaison pour
        fournir des informations détaillées sur l'erreur rencontrée.
      example:
        message: Invalid input (details will vary based on the error)
        correlationId: aeb5f871-7f07-4993-9211-075dc63e7cbf
        category: VALIDATION_ERROR
        links:
          knowledge-base: https://www.hubspot.com/products/service/knowledge-base
    PublicSpecificPermissionConfig:
      required:
        - permissionType
      type: object
      properties:
        grants:
          type: array
          description: >-
            Un tableau de droits détaillant les utilisateurs et/ou les équipes
            auxquelles accorder l'autorisation spécifique. Au moins un
            bénéficiaire doit être spécifié.
          items:
            $ref: '#/components/schemas/PublicPermissionGrant'
        permissionType:
          type: string
          description: "Le type d'autorisation accordée, soit «\_VIEW\_» ou «\_EDIT\_»."
          enum:
            - EDIT
            - VIEW
    PublicReport:
      required:
        - archived
        - businessUnitId
        - createdAt
        - id
        - name
        - updatedAt
      type: object
      properties:
        archived:
          type: boolean
          description: Indique si le rapport est archivé.
        archivedAt:
          type: string
          description: "Si le rapport est archivé, la date et l'heure de son archivage, au format ISO\_8601. Absent si le rapport n'est pas archivé."
          format: date-time
        businessUnitId:
          type: string
          description: L'ID de l'unité commerciale à laquelle le rapport est associé.
        createdAt:
          type: string
          description: La date et l'heure de création du rapport, au format ISO 8601.
          format: date-time
        createdByUserId:
          type: string
          description: >-
            L'identifiant de l'utilisateur qui a créé le rapport. Peut être
            absent.
        dashboardIds:
          type: array
          description: >-
            Tableau des identifiants des tableaux de bord sur lesquels se trouve
            ce rapport.


            Pour les points de terminaison GET, renvoyé uniquement lorsque
            demandé en incluant le champ `dashboardIds` dans le paramètre de
            requête `properties`. Pour les autres points de terminaison, non
            renvoyé.
          items:
            type: string
        description:
          type: string
          description: Description du rapport. Peut être absente.
        id:
          type: string
          description: L'ID du rapport.
        lastViewedAt:
          type: string
          description: "La date et l'heure de la dernière consultation du rapport, au format ISO\_8601. Absent si le rapport n'a pas encore été consulté."
          format: date-time
        lastViewedByUserId:
          type: string
          description: >-
            L'identifiant de l'utilisateur qui a consulté le rapport pour la
            dernière fois. Absent s'il n'a pas encore été consulté.
        name:
          type: string
          description: Le nom du rapport.
        ownerUserId:
          type: string
          description: >-
            L'identifiant de l'utilisateur qui possède le rapport. Absent si le
            rapport n'a actuellement pas de propriétaire.
        permissions:
          $ref: '#/components/schemas/PublicReportPermissions'
        tags:
          type: array
          description: >-
            Tableau d'objets représentant les balises associées au rapport.


            Pour les points de terminaison GET, le rapport est renvoyé
            uniquement lorsque demandé en incluant le champ `tags` dans le
            paramètre de requête `properties`. Pour les autres points de
            terminaison, le retour est effectué le cas échéant.
          items:
            $ref: '#/components/schemas/PublicTag'
        updatedAt:
          type: string
          description: >-
            La date et l'heure de la dernière mise à jour du rapport, au format
            ISO 8601.
          format: date-time
        updatedByUserId:
          type: string
          description: >-
            L'ID de l'utilisateur qui a mis à jour le rapport en dernier. Peut
            être absent.
    PublicDashboardWidgetLayout:
      required:
        - height
        - width
        - x
        - 'y'
      type: object
      properties:
        height:
          type: integer
          description: La hauteur du widget dans la grille du tableau de bord.
          format: int32
        width:
          type: integer
          description: La largeur du widget dans la grille du tableau de bord.
          format: int32
        x:
          type: integer
          description: >-
            La position horizontale absolue (base 0) du widget dans la grille du
            tableau de bord.
          format: int32
        'y':
          type: integer
          description: >-
            La position verticale absolue (base 0) du widget dans la grille du
            tableau de bord.
          format: int32
    ErrorDetail:
      required:
        - message
      type: object
      properties:
        code:
          type: string
          description: >-
            Le code de statut associé au détail de l'erreur. Il s'agit d'une
            propriété de type chaîne de caractères.
        context:
          type: object
          additionalProperties:
            type: array
            items:
              type: string
          description: >-
            Contexte de la condition d'erreur, représenté sous la forme d'un
            objet avec des propriétés supplémentaires qui sont des tableaux de
            chaînes de caractères.
          example: '{missingScopes=[scope1, scope2]}'
        in:
          type: string
          description: >-
            Le nom du champ ou du paramètre dans lequel l'erreur a été détectée.
            Il s'agit d'une propriété de type chaîne de caractères.
        message:
          type: string
          description: >-
            Un message lisible par la personne décrivant l'erreur ainsi que les
            étapes de remédiation appropriées, le cas échéant.
        subCategory:
          type: string
          description: >-
            Une catégorie spécifique qui contient des détails plus précis sur
            l'erreur. Il s'agit d'une propriété de type chaîne de caractères.
      description: >-
        Représente des informations détaillées sur une erreur survenue dans
        l'API. Ce composant est utilisé pour fournir un contexte et des
        spécificités supplémentaires sur les erreurs, généralement dans le cadre
        d'une réponse d'erreur.
    PublicPermissionGrant:
      required:
        - grantType
        - granteeId
      type: object
      properties:
        grantType:
          type: string
          description: "Le type d'entité à laquelle accorder des autorisations\_: «\_USER\_» (utilisateur) ou «\_TEAM\_» (équipe)."
          enum:
            - TEAM
            - USER
        granteeId:
          type: string
          description: >-
            L'ID de l'utilisateur ou de l'équipe à qui accorder les
            autorisations.
    PublicReportPermissions:
      required:
        - permissionType
      type: object
      properties:
        permissionType:
          type: string
          description: "Le type d'autorisation à appliquer au rapport. Les valeurs valides sont les suivantes\_:\n- PRIVATE\_: le rapport est uniquement accessible à son propriétaire et aux administrateur.\n- EVERYONE_VIEW\_: le rapport peut être consulté par tout le monde.\n- EVERYONE_EDIT\_: le rapport peut être consulté et modifié par tout le monde.\n- SPECIFIC\_: en plus du propriétaire, des utilisateurs et/ou des équipes spécifiques disposent d'autorisations de consultation ou de modification. Le champ `specificPermissions` doit également être présent."
          enum:
            - EVERYONE_EDIT
            - EVERYONE_VIEW
            - PRIVATE
            - SPECIFIC
        specificPermissions:
          $ref: '#/components/schemas/PublicSpecificPermissionConfig'
  responses:
    Error:
      description: An error occurred.
      content:
        '*/*':
          schema:
            $ref: '#/components/schemas/Error'
  securitySchemes:
    oauth2:
      type: oauth2
      flows:
        authorizationCode:
          authorizationUrl: https://app.hubspot.com/oauth/authorize
          tokenUrl: https://api.hubapi.com/oauth/v1/token
          scopes:
            crm.hubsql.execute: ''
            reporting.full.admin: ''
            reporting.full.edit: ''
            reporting.full.read: ''
            reporting.full.write: ''

````