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

# Markers-API

Marker sind kleine Symbole, die in Graphen verwendet werden, um eine Änderung anzuzeigen. Das kann ein
Deployment mittels eines „Deploy Markers" oder ein benutzerdefiniertes Ereignis mit einem „Custom Marker" sein.

Dieser Marker-Endpunkt ermöglicht das Erstellen und Auflisten von Markern, die
pro Anwendung verfügbar sind.

## Marker-Typen

### Deploy Marker

Deploy Marker sind kleine Punkte am unteren Rand jedes Graphen, die anzeigen, wann eine
neue Revision einer Anwendung deployt wurde. Sie sind eine großartige Möglichkeit, Deployments
miteinander zu vergleichen und zu sehen, ob die neue Version die Anwendungsleistung
verbessert oder verschlechtert hat.

Eine Liste dieser Marker wird auch auf der Seite „Deploys" auf AppSignal.com
im Anwendungskontext angezeigt.

<Tip>
  Weitere Informationen finden Sie auch auf unserer [Seite zu Deploy Markern](/application/markers/deploy-markers).
</Tip>

### Custom Marker

Custom Marker bieten eine Möglichkeit, Graphen mehr Kontext hinzuzufügen, sodass Sie selbst
Anmerkungen ergänzen können. Erstellen Sie einen Custom Marker für Skalierungsoperationen, wenn es
einen plötzlichen Anstieg des Traffics gab oder wenn eine Datenbank Probleme verursacht hat.

<Tip>
  Weitere Informationen finden Sie auch auf unserer [Seite zu Custom Markern](/application/markers/custom-markers).
</Tip>

## Marker erstellen

Dieser Endpunkt ermöglicht das Erstellen von Deploy- und Custom-Markern.

Beim Erstellen der Payload für diese Anfrage können Sie über den Wert `kind` auswählen, welche Art von Marker
erstellt werden soll.

|                              |                                |
| ---------------------------- | ------------------------------ |
| Endpunkt                     | `/api/\[app_id\]/markers.json` |
| Request-Methode              | POST                           |
| Kontext                      | Anwendungen                    |
| Erfordert Authentifizierung? | Ja                             |
| Response-Formate             | JSON                           |

### Deploy Marker

<Warning>
  Diese Methode zum Melden von Deploy-Markern ist **veraltet** und kann in Zukunft jederzeit entfernt werden.
  Das Melden von Deploy-Markern mit dieser Methode ist nur für kleine Anwendungen sinnvoll, die eine einzige Anwendungsinstanz verwenden. Sie erstellt zu einem bestimmten Zeitpunkt einen neuen Deploy-Marker, unabhängig davon, welche Version die Anwendung tatsächlich ausführt. Das bedeutet auch, dass es fehleranfälliger ist, da Daten, die nicht zum Deployment gehören sollten, diesem zugeordnet werden können. Wir erkennen Deployments automatisch, indem wir die `REVISION`-Datei lesen, die Capistrano seit Ruby-Gem 4.5.18 zum Release-Verzeichnis hinzufügt.
</Warning>

| Parameter   | Typ                                                        | Beschreibung                                                                                        |
| ----------- | ---------------------------------------------------------- | --------------------------------------------------------------------------------------------------- |
| kind        | String                                                     | Die Art des zu erstellenden Markers – „deploy".                                                     |
| created\_at | Datum - [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) | Zeitpunkt, zu dem der Marker eingefügt werden soll. Leer lassen, um die aktuelle Zeit zu verwenden. |
| repository  | String                                                     | Git-Link oder -Referenz, z. B. „main".                                                              |
| revision    | String                                                     | Git-Revisionsreferenz. Wird verwendet, um Git-Diff-Links in der UI zu erstellen.                    |
| user        | String                                                     | Nutzer, der das Deployment initiiert hat.                                                           |

#### Payload-Beispiel

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

#### Payload-Beispiel mit 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>

Alle Anfragen an AppSignal-API-Endpunkte erfordern ein persönliches API-Token, das als URL-Query-Parameter zur [Authentifizierung](/api#authentication) übergeben wird.

### Custom Marker

Wird verwendet, um Ereignisse zu kennzeichnen, die sich auf Ihre Performance/Fehlerrate auswirken können. Beispiele sind: Hoch-/Herunterskalierung der Cloud-Infrastruktur, Wartung der Datenbank, Ursache für Fehlerspitzen.

Wenn Sie Custom Marker erstellen möchten, aber kein persönliches API-Token verwenden möchten, können Sie stattdessen den [Public Endpoint](/api/public-endpoint/custom-markers) verwenden.

| Parameter   | Typ                                                        | Beschreibung                                                                                        |
| ----------- | ---------------------------------------------------------- | --------------------------------------------------------------------------------------------------- |
| kind        | String                                                     | Die Art des zu erstellenden Markers – „custom".                                                     |
| created\_at | Datum - [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) | Zeitpunkt, zu dem der Marker eingefügt werden soll. Leer lassen, um die aktuelle Zeit zu verwenden. |
| icon        | String - Optional                                          | Emoji, das für diesen Custom Marker verwendet werden soll, Standard ist 🚀.                         |
| message     | String - Optional                                          | Nachricht, die beim Überfahren des Markers in der UI angezeigt wird. Auf 200 Zeichen gekürzt.       |

#### Payload-Beispiel

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

## Marker auflisten

Dieser Endpunkt gibt eine Liste der Marker zurück. Er kombiniert sowohl Deploy- als auch Custom-Marker.

|                              |                                |
| ---------------------------- | ------------------------------ |
| Endpunkt                     | `/api/\[app_id\]/markers.json` |
| Request-Methode              | `GET`                          |
| Kontext                      | Anwendungen                    |
| Erfordert Authentifizierung? | Ja                             |
| Response-Formate             | JSON                           |

### Parameter

| Parameter   | Typ                                                                                     | Beschreibung                                                                 |
| ----------- | --------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------- |
| kind        | String                                                                                  | Die Art des zu erstellenden Markers – „custom".                              |
| from        | Datum - [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) / Integer - UNIX-Zeitstempel | Alle Zeiten sind in UTC.                                                     |
| to          | Datum - [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) / Integer - UNIX-Zeitstempel | Alle Zeiten sind in UTC.                                                     |
| limit       | Integer                                                                                 | Begrenzt die Anzahl der zurückgegebenen Marker.                              |
| count\_only | Boolean                                                                                 | Auf „true" setzen, um nur die Anzahl der existierenden Marker zurückzugeben. |

### Response

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

Mit `"count_only": true`.

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

## Marker anzeigen

Dieser Endpunkt gibt die JSON-Darstellung eines einzelnen Markers zurück.

|                              |                                              |
| ---------------------------- | -------------------------------------------- |
| Endpunkt                     | `/api/\[app_id\]/markers/\[marker_id\].json` |
| Request-Methode              | `GET`                                        |
| Kontext                      | Anwendungen                                  |
| Erfordert Authentifizierung? | Ja                                           |
| Response-Formate             | JSON                                         |

### Parameter

| Parameter  | Typ    | Beschreibung                         |
| ---------- | ------ | ------------------------------------ |
| marker\_id | String | Die ID des zurückzugebenden Markers. |

### Response

Die Response für Deploy Marker und Custom Marker unterscheidet sich. Deploy Marker
enthalten mehr Daten zu einem bestimmten Deployment, während Custom Marker nur die
beim Erstellen angegebenen Daten enthalten.

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

## Marker aktualisieren

Dieser Endpunkt aktualisiert einen einzelnen Marker und gibt die JSON-Darstellung
des aktualisierten Markers zurück.

|                              |                                              |
| ---------------------------- | -------------------------------------------- |
| Endpunkt                     | `/api/\[app_id\]/markers/\[marker_id\].json` |
| Request-Methode              | PUT                                          |
| Kontext                      | Anwendungen                                  |
| Erfordert Authentifizierung? | Ja                                           |
| Response-Formate             | JSON                                         |

### Parameter

| Parameter  | Typ    | Beschreibung                            |
| ---------- | ------ | --------------------------------------- |
| marker\_id | String | Die ID des zu aktualisierenden Markers. |

### Payload

Die Payload ist dieselbe wie bei einer [create/POST](#marker-create)-Anfrage und unterscheidet sich
je nach Marker-Typ.

### Response

Die Response ist dieselbe wie bei einer [show/GET](#marker-show)-Anfrage und unterscheidet sich
je nach Marker-Typ.

## Marker löschen

Dieser Endpunkt löscht einen einzelnen Marker.

|                              |                                              |
| ---------------------------- | -------------------------------------------- |
| Endpunkt                     | `/api/\[app_id\]/markers/\[marker_id\].json` |
| Request-Methode              | DELETE                                       |
| Kontext                      | Anwendungen                                  |
| Erfordert Authentifizierung? | Ja                                           |
| Response-Formate             | JSON                                         |

### Parameter

| Parameter  | Typ    | Beschreibung                      |
| ---------- | ------ | --------------------------------- |
| marker\_id | String | Die ID des zu löschenden Markers. |

### Response

Der Response-Body dieser Anfrage ist leer. Der Statuscode gibt an, ob die Anfrage
erfolgreich war oder nicht.
