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

# API Markers

Les markers sont de petites icônes utilisées dans les graphiques pour indiquer
un changement. Il peut s'agir d'un déploiement avec un « Deploy marker » ou
d'un événement personnalisé avec un « Custom marker ».

Ce point de terminaison Marker permet la création et l'indexation des markers
disponibles par application.

## Types de markers

### Deploy markers

Les deploy markers sont de petits points au bas de chaque graphique qui
indiquent à quel moment une nouvelle révision d'une application a été
déployée. C'est un excellent moyen de comparer les déploiements les uns avec
les autres et de voir si la nouvelle version a augmenté ou diminué les
performances de l'application.

Une liste de ces markers est également affichée sur la page « Deploys » sur
AppSignal.com, dans un contexte d'application.

<Tip>
  Pour plus d'informations, lisez également notre [page sur les deploy
  markers](/application/markers/deploy-markers).
</Tip>

### Custom markers

Les custom markers offrent un moyen d'ajouter plus de contexte aux graphiques
en vous permettant d'ajouter vous-même des annotations. Créez un custom marker
pour les opérations de mise à l'échelle, lorsqu'il y a eu un pic soudain de
trafic ou lorsqu'une base de données rencontrait des problèmes.

<Tip>
  Pour plus d'informations, lisez également notre [page sur les custom
  markers](/application/markers/custom-markers).
</Tip>

## Création de marker

Ce point de terminaison permet la création de deploy markers et de custom
markers.

Lors de la création de la charge utile pour cette requête, vous pouvez
sélectionner le type de marker à créer en spécifiant la valeur `kind`.

|                            |                                |
| -------------------------- | ------------------------------ |
| Point de terminaison       | `/api/\[app_id\]/markers.json` |
| Méthode de requête         | POST                           |
| Contexte                   | Applications                   |
| Authentification requise ? | Oui                            |
| Formats de réponse         | JSON                           |

### Deploy marker

<Warning>
  Cette méthode de signalement des marqueurs de déploiement est **obsolète** et peut être supprimée à tout moment à l'avenir.
  Signaler des marqueurs de déploiement avec cette méthode n'est utile que pour les petites applications qui utilisent une seule instance d'application. Elle crée un nouveau marqueur de déploiement à un moment précis, indépendamment de la version réellement exécutée par l'application. Cela signifie également qu'elle est plus sujette aux erreurs en regroupant sous le déploiement des données qui ne devraient pas en faire partie. Nous détectons automatiquement le déploiement en lisant le fichier `REVISION` que Capistrano ajoute au répertoire de release depuis la gem Ruby 4.5.18.
</Warning>

| Paramètre   | Type                                                      | Description                                                                         |
| ----------- | --------------------------------------------------------- | ----------------------------------------------------------------------------------- |
| kind        | String                                                    | Le type de marker à créer - « deploy ».                                             |
| created\_at | Date - [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) | Heure à laquelle insérer le marker. Laissez vide pour utiliser l'heure actuelle.    |
| repository  | String                                                    | Lien ou référence Git, par exemple « main ».                                        |
| revision    | String                                                    | Référence de révision Git. Utilisée pour créer des liens git diff dans l'interface. |
| user        | String                                                    | Utilisateur qui a initié le déploiement.                                            |

#### Exemple de charge utile

<CodeGroup>
  ```json JSON theme={null}
  {
    "marker": {
      "kind": "deploy",
      "created_at": "2015-07-21T15:06:31.737+02:00",
      "repository": "git@github.com:company/repository.git",
      "revision": "fe001015311af4769a4dad76bdbce4c8f5d022af",
      "user": "user"
    }
  }
  ```
</CodeGroup>

#### Exemple de charge utile avec curl

<CodeGroup>
  ```bash Bash theme={null}
  curl -H "Content-Type: application/json" -XPOST https://appsignal.com/api/[app-id]/markers.json?token=[your-personal-token] \
    -d '{ "marker":{ "kind": "deploy", "repository": "git@github.com:company/repository.git", "revision": "[revision]", "user": "[user]"}}'
  ```
</CodeGroup>

Toutes les requêtes vers les points de terminaison de l'API AppSignal
nécessitent un jeton d'API personnel donné en tant que paramètre de requête
URL pour [l'authentification](/api#authentication).

### Custom marker

Utilisé pour annoter les événements qui peuvent avoir un impact sur vos
performances ou votre taux d'erreur. Exemples : mise à l'échelle/réduction de
l'infrastructure cloud, maintenance sur la base de données, cause des pics
d'erreurs.

Si vous souhaitez créer des custom markers, mais ne pas utiliser votre jeton
d'API personnel, vous pouvez utiliser le [point de terminaison
public](/api/public-endpoint/custom-markers) à la place.

| Paramètre   | Type                                                      | Description                                                                      |
| ----------- | --------------------------------------------------------- | -------------------------------------------------------------------------------- |
| kind        | String                                                    | Le type de marker à créer - « custom ».                                          |
| created\_at | Date - [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) | Heure à laquelle insérer le marker. Laissez vide pour utiliser l'heure actuelle. |
| icon        | String - Optionnel                                        | Emoji à utiliser pour ce custom marker, par défaut 🚀.                           |
| message     | String - Optionnel                                        | Message affiché au survol du marker dans l'interface. Tronqué à 200 caractères.  |

#### Exemple de charge utile

<CodeGroup>
  ```json JSON theme={null}
  {
    "marker": {
      "kind": "custom",
      "created_at": "2015-07-21T15:06:31.737+02:00",
      "icon": "💩",
      "message": "Accidentlly dropped production DB"
    }
  }
  ```
</CodeGroup>

## Index des markers

Ce point de terminaison renvoie une liste de markers. Combine à la fois les
deploy markers et les custom markers.

|                            |                                |
| -------------------------- | ------------------------------ |
| Point de terminaison       | `/api/\[app_id\]/markers.json` |
| Méthode de requête         | `GET`                          |
| Contexte                   | Applications                   |
| Authentification requise ? | Oui                            |
| Formats de réponse         | JSON                           |

### Paramètres

| Paramètre   | Type                                                                                 | Description                                                                   |
| ----------- | ------------------------------------------------------------------------------------ | ----------------------------------------------------------------------------- |
| kind        | String                                                                               | Le type de marker à créer - « custom ».                                       |
| from        | Date - [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) / Integer - timestamp UNIX | Tous les horaires sont en UTC.                                                |
| to          | Date - [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) / Integer - timestamp UNIX | Tous les horaires sont en UTC.                                                |
| limit       | Integer                                                                              | Limite le nombre de markers renvoyés.                                         |
| count\_only | Boolean                                                                              | Définir sur « true » pour renvoyer uniquement le nombre de markers existants. |

### Réponse

<CodeGroup>
  ```json JSON theme={null}
  {
    "count": 4212,
    "markers": [
      {
        "kind": "deploy",
        "id": "50a61f1b660cd3677775ccb0",
        "created_at": "2015-07-21T15:06:31.737+02:00",
        "closed_at": null,
        "live_for": 107413,
        "live_for_in_words": "1d",
        "gem_version": null,
        "repository": "git@github.com:company/repository.git",
        "revision": "fe001015311af4769a4dad76bdbce4c8f5d022af",
        "short_revision": "fe00101",
        "git_compare_url": "https://github.com/company/repository/compare/aaa...bbb",
        "user": "user",
        "exception_count": 200,
        "exception_rate": 8.81
      },
      {
        "kind": "custom",
        "icon": "💩",
        "message": "Accidentlly dropped production DB",
        "created_at": "2015-07-21T15:06:31.737+02:00"
      },
      {
        "kind": "notification",
        "message": "Appsignal API issues.",
        "created_at": "2015-07-21T15:06:31.737+02:00"
      }
    ]
  }
  ```
</CodeGroup>

Avec `"count_only": true`.

<CodeGroup>
  ```json JSON theme={null}
  {
    "count": 4212
  }
  ```
</CodeGroup>

## Affichage d'un marker

Ce point de terminaison renvoie la représentation JSON d'un seul marker.

|                            |                                              |
| -------------------------- | -------------------------------------------- |
| Point de terminaison       | `/api/\[app_id\]/markers/\[marker_id\].json` |
| Méthode de requête         | `GET`                                        |
| Contexte                   | Applications                                 |
| Authentification requise ? | Oui                                          |
| Formats de réponse         | JSON                                         |

### Paramètres

| Paramètre  | Type   | Description                |
| ---------- | ------ | -------------------------- |
| marker\_id | String | L'id du marker à renvoyer. |

### Réponse

La réponse pour les deploy markers et les custom markers est différente. Les
deploy markers contiennent plus de données sur un déploiement donné, tandis
que les custom markers ne contiennent que les données fournies lors de la
création.

#### Deploy marker

<CodeGroup>
  ```json JSON theme={null}
  {
    "id": "50a61f1b660cd3677775ccb0",
    "created_at": "2015-07-21T15:06:31.737+02:00",
    "closed_at": null,
    "live_for": 107413,
    "live_for_in_words": "1d",
    "gem_version": null,
    "repository": "git@github.com:company/repository.git",
    "revision": "fe001015311af4769a4dad76bdbce4c8f5d022af",
    "short_revision": "fe00101",
    "git_compare_url": "https://github.com/company/repository/compare/aaa...bbb",
    "user": "user",
    "exception_count": 200,
    "exception_rate": 8.81
  }
  ```
</CodeGroup>

#### Custom marker

<CodeGroup>
  ```json JSON theme={null}
  {
    "kind": "custom",
    "icon": "💩",
    "message": "Accidentlly dropped production DB",
    "created_at": "2015-07-21T15:06:31.737+02:00"
  }
  ```
</CodeGroup>

#### Notification marker

<CodeGroup>
  ```json JSON theme={null}
  {
    "kind": "notification",
    "message": "Appsignal API issues.",
    "created_at": "2015-07-21T15:06:31.737+02:00"
  }
  ```
</CodeGroup>

## Mise à jour d'un marker

Ce point de terminaison met à jour un seul marker et renvoie la représentation
JSON du marker mis à jour.

|                            |                                              |
| -------------------------- | -------------------------------------------- |
| Point de terminaison       | `/api/\[app_id\]/markers/\[marker_id\].json` |
| Méthode de requête         | PUT                                          |
| Contexte                   | Applications                                 |
| Authentification requise ? | Oui                                          |
| Formats de réponse         | JSON                                         |

### Paramètres

| Paramètre  | Type   | Description                     |
| ---------- | ------ | ------------------------------- |
| marker\_id | String | L'id du marker à mettre à jour. |

### Charge utile

La charge utile est identique à une requête de [création/POST](#marker-create)
et diffère selon le type de marker.

### Réponse

La réponse est la même qu'une requête [show/GET](#marker-show) et diffère
selon le type de marker.

## Suppression d'un marker

Ce point de terminaison supprime un seul marker.

|                            |                                              |
| -------------------------- | -------------------------------------------- |
| Point de terminaison       | `/api/\[app_id\]/markers/\[marker_id\].json` |
| Méthode de requête         | DELETE                                       |
| Contexte                   | Applications                                 |
| Authentification requise ? | Oui                                          |
| Formats de réponse         | JSON                                         |

### Paramètres

| Paramètre  | Type   | Description                 |
| ---------- | ------ | --------------------------- |
| marker\_id | String | L'id du marker à supprimer. |

### Réponse

Le corps de réponse de cette requête est vide. Le code de statut indiquera si
elle a réussi ou non.
