> ## 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.

# Get an event instance

> Récupérer une instance d'événement, spécifiée par l'ID du modèle et l'ID de l'événement.

export const ScopesList = ({scopes = [], description = "Cette API requiert l'une des portées suivantes :"}) => {
  if (!scopes || scopes.length === 0) {
    return null;
  }
  const sortedScopes = scopes.sort((a, b) => a.localeCompare(b));
  return <div>
      <div className="text-sm mb-2">{description}</div>
      <div>
        {sortedScopes.map((scope, index) => <div key={index}>
            <code>
              <span className="text-xs">{scope}</span>
            </code>
          </div>)}
      </div>
    </div>;
};

export const SupportedProducts = ({marketing, sales, service, cms, marketingLevel, salesLevel, serviceLevel, cmsLevel}) => {
  const translations = {
    header: "Produits pris en charge",
    description: "Exige l'un des produits suivants ou un produit supérieur.",
    productNames: {
      marketing: "Marketing Hub",
      sales: "Sales Hub",
      service: "Service Hub",
      cms: "Content Hub"
    },
    tiers: {
      free: "Gratuit",
      starter: "Starter",
      professional: "Pro",
      enterprise: "Entreprise"
    }
  };
  const translateTier = tier => {
    if (!tier) return '';
    const lowerTier = tier.toLowerCase();
    return translations.tiers[lowerTier] || tier;
  };
  const products = [{
    name: marketing ? translations.productNames.marketing : '',
    level: translateTier(marketingLevel),
    icon: "https://mintlify-assets.b-cdn.net/Icons/marketing-bolt.svg",
    alt: "Marketing Hub"
  }, {
    name: sales ? translations.productNames.sales : '',
    level: translateTier(salesLevel),
    icon: "https://mintlify-assets.b-cdn.net/Icons/sales-star.svg",
    alt: "Sales Hub"
  }, {
    name: service ? translations.productNames.service : '',
    level: translateTier(serviceLevel),
    icon: "https://mintlify-assets.b-cdn.net/Icons/service-heart.svg",
    alt: "Service Hub"
  }, {
    name: cms ? translations.productNames.cms : '',
    level: translateTier(cmsLevel),
    icon: "https://mintlify-assets.b-cdn.net/Icons/content-play.svg",
    alt: "Content Hub"
  }].filter(product => product.name && product.level);
  if (products.length === 0) return null;
  return <div>
      <div className="text-sm mb-2">{translations.description}</div>
      <div className={`grid ${products.length === 1 ? 'grid-cols-1' : 'grid-cols-2'} gap-1.5`}>
        {products.map((product, index) => <div key={index} style={{
    display: 'flex',
    alignItems: 'center'
  }}>
            <img src={product.icon} alt={product.alt} className="w-3.5 h-3.5 mr-1.5 mt-2.5 mb-2.5 flex-shrink-0 align-middle" />
            <span className="font-medium mr-1 text-sm">{product.name} -</span>
            <span className="text-sm">{product.level}</span>
          </div>)}
      </div>
    </div>;
};

<AccordionGroup>
  <Accordion title="Supported products" defaultOpen="true" icon="cubes">
    <SupportedProducts marketing={true} sales={true} service={true} cms={true} marketingLevel="FREE" salesLevel="FREE" serviceLevel="FREE" cmsLevel="FREE" />
  </Accordion>

  <Accordion title="Required Scopes" icon="key">
    <ScopesList
      scopes={[
  'crm.objects.contacts.read',
  'crm.objects.deals.read',
  'tickets',
  'crm.objects.companies.sensitive.read.v2',
  'tickets.sensitive.v2',
  'crm.objects.companies.read',
  'crm.objects.contacts.highly_sensitive.read.v2',
  'crm.schemas.deals.read',
  'crm.schemas.contacts.read',
  'tickets.highly_sensitive.v2',
  'crm.objects.deals.sensitive.read.v2',
  'crm.objects.deals.highly_sensitive.read.v2',
  'crm.objects.companies.highly_sensitive.read.v2',
  'crm.objects.contacts.sensitive.read.v2',
  'timeline',
  'crm.schemas.companies.read'
]}
    />
  </Accordion>
</AccordionGroup>


## OpenAPI

````yaml specs/legacy/v3/crm-timeline-v3.json GET /integrators/timeline/v3/events/{eventTemplateId}/{eventId}
openapi: 3.0.1
info:
  title: Chronologie
  description: Basepom for all HubSpot Projects
  version: v3
  x-hubspot-product-tier-requirements:
    marketing: FREE
    sales: FREE
    service: FREE
    cms: FREE
    commerce: FREE
    crmHub: FREE
    dataHub: FREE
  x-hubspot-api-use-case: >-
    Après avoir configuré un nouvel ensemble de flux d'inscription sur votre
    site, actualisez les chronologies de contact pour indiquer le flux complété.
    Pour chaque événement, vous pourriez aussi ajouter un lien ouvrant une
    iframe qui présente des données externes additionnelles sur l'événement.
  x-hubspot-related-documentation:
    - name: Timeline Events Guide
      url: https://developers.hubspot.com/docs/guides/api/crm/extensions/timeline
  x-hubspot-introduction: >-
    Utilisez l'API des événements de la chronologie pour ajouter des
    informations sur des événements personnalisés aux chronologies des dossiers
    CRM. Vous aurez d'abord besoin de créer une application publique puis un
    modèle d'événement pour présenter les données d'événement. 
servers:
  - url: https://api.hubapi.com
security: []
tags:
  - name: Advanced
  - name: Basic
  - name: Batch
paths:
  /integrators/timeline/v3/events/{eventTemplateId}/{eventId}:
    get:
      tags:
        - Basic
      summary: Obtenir une instance d'événement
      description: >-
        Récupérer une instance d'événement, spécifiée par l'ID du modèle et l'ID
        de l'événement.
      operationId: get-/integrators/timeline/v3/events/{eventTemplateId}/{eventId}_getById
      parameters:
        - name: eventId
          in: path
          description: ''
          required: true
          style: simple
          explode: false
          schema:
            type: string
        - name: eventTemplateId
          in: path
          description: ''
          required: true
          style: simple
          explode: false
          schema:
            type: string
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TimelineEventResponse'
        default:
          $ref: '#/components/responses/Error'
          description: ''
      deprecated: true
      security:
        - oauth2:
            - crm.objects.contacts.highly_sensitive.read.v2
        - oauth2:
            - crm.objects.contacts.sensitive.read.v2
        - oauth2:
            - crm.schemas.contacts.read
        - oauth2:
            - crm.objects.contacts.read
        - oauth2:
            - crm.objects.companies.highly_sensitive.read.v2
        - oauth2:
            - crm.objects.companies.read
        - oauth2:
            - crm.schemas.companies.read
        - oauth2:
            - crm.objects.companies.sensitive.read.v2
        - oauth2:
            - crm.objects.deals.highly_sensitive.read.v2
        - oauth2:
            - crm.objects.deals.read
        - oauth2:
            - crm.schemas.deals.read
        - oauth2:
            - crm.objects.deals.sensitive.read.v2
        - oauth2:
            - tickets
        - oauth2:
            - tickets.sensitive.v2
        - oauth2:
            - tickets.highly_sensitive.v2
        - oauth2:
            - timeline.read
        - oauth2:
            - timeline
components:
  schemas:
    TimelineEventResponse:
      required:
        - eventTemplateId
        - id
        - objectType
        - tokens
      type: object
      properties:
        createdAt:
          type: string
          description: Non utilis.
          format: date-time
        customObjectTypeId:
          type: string
        domain:
          type: string
          description: Le domaine de l'événement (souvent associé à utk).
        email:
          type: string
          description: >-
            L'adresse e-mail utilisée pour des événements spécifiques aux
            contacts. Cela peut être utilisé pour identifier des contacts
            existants, en créer de nouveaux ou changer l'e-mail d'un contact
            existant (si associé à `objectId`).
        eventTemplateId:
          type: string
          description: L'ID du modèle d'événement.
        extraData:
          type: object
          properties: {}
          description: >-
            Données supplémentaires spécifiques à l'événement pouvant être
            interprétées par le markdown du modèle.
        id:
          type: string
          description: >-
            Identifiant pour l'événement. Celui-ci doit être unique à
            l'application et au modèle d'événement. Si vous utilisez le même ID
            pour différents objets CRM, le dernier à être traité l'emportera et
            le premier ne bénéficiera pas d'une fiche d'informations. Vous
            pouvez également utiliser `{{uuid}}` n'importe où dans l'ID pour
            générer une chaîne unique, garantissant l'unicité.
        objectId:
          type: string
          description: >-
            L'identifiant de l'objet CRM. Cela est requis pour chaque événement
            autre que les contacts (où utk ou e-mail peuvent être utilisés).
        objectType:
          type: string
          description: Le ObjectType associé au EventTemplate.
        timelineIFrame:
          $ref: '#/components/schemas/TimelineEventIFrame'
        timestamp:
          type: string
          description: >-
            L'heure à laquelle l'événement s'est produit. Si non spécifiée,
            l'heure actuelle sera supposée. Cela est utilisé pour déterminer où
            un événement sera affiché sur la chronologie de l'objet CRM.
          format: date-time
        tokens:
          type: object
          additionalProperties:
            type: string
          description: >-
            Une collection de clés de jetons et de valeurs associées aux jetons
            de modèle.
        utk:
          type: string
          description: >-
            Utilisez le paramètre `utk` pour associer un événement à un contact
            par `usertoken`. Ceci est recommandé si vous ne connaissez pas
            l'e-mail d'un utilisateur, mais que vous avez un jeton utilisateur
            identifiant dans vos cookies.
    TimelineEventIFrame:
      required:
        - headerLabel
        - height
        - linkLabel
        - url
        - width
      type: object
      properties:
        headerLabel:
          type: string
          description: Le libellé de la fenêtre modale qui affiche le contenu de l'iframe.
        height:
          type: integer
          description: La hauteur de la fenêtre modale en pixels.
          format: int32
        linkLabel:
          type: string
          description: Le texte affichant le lien qui affichera l'iframe.
        url:
          type: string
          description: L'URI du contenu de l'iframe.
        width:
          type: integer
          description: La largeur de la fenêtre modale en pixels.
          format: int32
    Error:
      required:
        - category
        - correlationId
        - message
      type: object
      properties:
        category:
          type: string
          description: La catégorie d'erreur
        context:
          type: object
          additionalProperties:
            type: array
            items:
              type: string
          description: Contexte concernant la condition d'erreur
          example: >-
            {invalidPropertyName=[propertyValue], missingScopes=[scope1,
            scope2]}
        correlationId:
          type: string
          description: >-
            Un identifiant unique pour la demande. Incluez cette valeur dans
            tous les rapports d'erreurs ou tickets d'assistance
          format: uuid
          example: aeb5f871-7f07-4993-9211-075dc63e7cbf
        errors:
          type: array
          description: informations supplémentaires à propos de l'erreur
          items:
            $ref: '#/components/schemas/ErrorDetail'
        links:
          type: object
          additionalProperties:
            type: string
          description: >-
            Une carte des noms de liens vers les URI associés contenant de la
            documentation sur l'erreur ou les mesures correctives recommandées
        message:
          type: string
          description: >-
            Un message lisible par la personne décrivant l'erreur ainsi que les
            mesures correctives possibles, le cas échéant
          example: An error occurred
        subCategory:
          type: string
          description: >-
            Une catégorie spécifique qui contient des détails plus précis sur
            l'erreur
      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
    ErrorDetail:
      required:
        - message
      type: object
      properties:
        code:
          type: string
          description: Le code du statut associé au détail de l'erreur
        context:
          type: object
          additionalProperties:
            type: array
            items:
              type: string
          description: Contexte concernant la condition d'erreur
          example: '{missingScopes=[scope1, scope2]}'
        in:
          type: string
          description: Le nom du champ ou du paramètre dans lequel l'erreur a été trouvée.
        message:
          type: string
          description: >-
            Un message lisible par la personne décrivant l'erreur ainsi que les
            mesures correctives possibles, le cas échéant
        subCategory:
          type: string
          description: >-
            Une catégorie spécifique qui contient des détails plus précis sur
            l'erreur
  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.objects.companies.highly_sensitive.read.v2: ''
            crm.objects.companies.highly_sensitive.write.v2: ''
            crm.objects.companies.read: ''
            crm.objects.companies.sensitive.read.v2: ''
            crm.objects.companies.sensitive.write.v2: ''
            crm.objects.companies.write: ''
            crm.objects.contacts.highly_sensitive.read.v2: ''
            crm.objects.contacts.highly_sensitive.write.v2: ''
            crm.objects.contacts.read: ''
            crm.objects.contacts.sensitive.read.v2: ''
            crm.objects.contacts.sensitive.write.v2: ''
            crm.objects.contacts.write: ''
            crm.objects.deals.highly_sensitive.read.v2: ''
            crm.objects.deals.highly_sensitive.write.v2: ''
            crm.objects.deals.read: ''
            crm.objects.deals.sensitive.read.v2: ''
            crm.objects.deals.sensitive.write.v2: ''
            crm.objects.deals.write: ''
            crm.schemas.companies.read: ''
            crm.schemas.companies.write: ''
            crm.schemas.contacts.read: ''
            crm.schemas.contacts.write: ''
            crm.schemas.deals.read: ''
            crm.schemas.deals.write: ''
            developers-read: ''
            developers-write: ''
            tickets: ''
            tickets.highly_sensitive.v2: ''
            tickets.sensitive.v2: ''
            timeline: ''
            timeline.read: ''
            timeline.write: ''

````