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

# Sourcemaps-API

Sourcemaps werden verwendet, um die ursprüngliche Zeilen- und Spaltennummer aus einem Backtrace zu ermitteln, der auf eine minifizierte oder transpilierte Datei verweist.

Wir empfehlen, nach Möglichkeit [öffentliche Sourcemaps](/front-end/sourcemaps#public-sourcemaps) zu verwenden. Builds, die viele Sourcemaps erzeugen, können beim Hochladen über unseren privaten Sourcemap-Endpunkt lange dauern.

Diese API bietet eine einfache Möglichkeit, private Sourcemaps für die Verwendung mit [Frontend-Fehlern](/front-end/sourcemaps) hochzuladen.

<Warning>
  Private Sourcemaps werden nicht verwendet, um Node.js-Backtraces aufzulösen.

  Folgen Sie der [Node.js-Installationsanleitung](/nodejs/3.x/installation#typescript-support), um Ihre Anwendung so zu konfigurieren, dass sourcemappierte Backtraces ausgegeben werden.
</Warning>

## Sourcemap erstellen

Dieser Endpunkt ermöglicht das Erstellen privater Sourcemaps.

|                              |                                                                |
| ---------------------------- | -------------------------------------------------------------- |
| Endpunkt                     | `/api/sourcemaps`                                              |
| Request-Methode              | `POST`                                                         |
| Content-Type                 | `multipart/form-data`                                          |
| Erfordert Authentifizierung? | Ja ([Push-API-Schlüssel](/appsignal/terminology#push-api-key)) |
| Response-Formate             | JSON                                                           |

### Sourcemaps zuordnen

Wir gleichen die Werte für die `name[]`-Felder mit der vollständigen Backtrace-URL ab. Zum Beispiel die folgende Backtrace-Zeile:

```shell Shell theme={null}
  at https://test.local/main.abc123.js:1:92623
```

Wird mit dem `name` `https://test.local/main.abc123.js` abgeglichen.
Sie können mehrere `name`-Einträge in einer curl-Anfrage hinzufügen:

<CodeGroup>
  ```bash Bash theme={null}
  curl -k -X POST -H 'Content-Type: multipart/form-data' \
    -F 'name[]=https://test.local/main.abc123.js' \
    -F 'name[]=https://cdn.local/main.abc123.js' \
    -F 'revision=abcdef' \
    -F 'file=@/~project/main.js.map' \
    'https://appsignal.com/api/sourcemaps?push_api_key=xxx&app_name=AppSignal&environment=development'
  ```
</CodeGroup>

Beachten Sie, dass Sie nur eine Sourcemap-Datei auf einmal hochladen können. Wenn Sie also mehrere Sourcemap-Dateien haben, müssen Sie für jede Datei eine separate Upload-Anfrage senden. Die maximal zulässige Upload-Größe für eine Sourcemap-Datei beträgt 100 MB.

### Parameter

Alle Parameter außer `file` können entweder im `POST`-Body oder als `GET`-Parameter gesendet werden. Alle Parameter sind **erforderlich**.

| Parameter      | Typ               | Beschreibung                                                                                                                                                                                    |
| -------------- | ----------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `push_api_key` | String            | Der{" "} [Push-API-Schlüssel](/appsignal/terminology#push-api-key) Ihrer Organisation.                                                                                                          |
| `app_name`     | String            | Name der Anwendung in AppSignal, in der die Sourcemap verwendet werden soll.                                                                                                                    |
| `environment`  | String            | Umgebung der Anwendung in AppSignal, in der die Sourcemap verwendet werden soll.                                                                                                                |
| `revision`     | String            | Revisionsreferenz des [Deploy Markers](/application/markers/deploy-markers){" "}.                                                                                                               |
| `name`         | Array von Strings | Liste der Dateinamen, die die Sourcemap abdeckt. Dies sollte eine vollständige URL zur minifizierten JavaScript-Datei sein, wie sie im Backtrace erscheint, einschließlich aller URL-Parameter. |
| `file`         | Datei             | Sourcemap zum Hochladen.                                                                                                                                                                        |

### Responses

* Die API gibt bei Erfolg den HTTP-Statuscode `201` zurück.
* Die API gibt bei einem Validierungsfehler den HTTP-Statuscode `400` mit einer JSON-Response zurück.
* Die API gibt den HTTP-Statuscode `404` zurück, wenn für die gegebene Kombination aus App-Name, Umgebung und Push-API-Schlüssel keine App existiert.

Beispiel für einen 400-Response-Body:

<CodeGroup>
  ```json JSON theme={null}
  { "errors": ["The following errors were found: Name can't be empty"] }
  ```
</CodeGroup>

### Beispiel

<CodeGroup>
  ```bash Bash theme={null}
  curl -k -X POST -H 'Content-Type: multipart/form-data' \
    -F 'name[]=https://localhost:3000/application.min.js?vsn=d ' \
    -F 'revision=abcdef' \
    -F 'file=@/~project/application.js.map' \
    'https://appsignal.com/api/sourcemaps?push_api_key=xxx&app_name=MyApp&environment=development'
  ```
</CodeGroup>
