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

# Publiek endpoint - Errors

Dit Error API-endpoint wordt geboden om aanvullende errors aan AppSignal toe te voegen, wanneer een bestaande integratie niet kan worden gebruikt of de gebruikte taal (nog) niet wordt ondersteund.

## Endpoint

Request-methode: `POST`

| Endpoint                                                                       | Beschrijving                        |
| ------------------------------------------------------------------------------ | ----------------------------------- |
| [https://appsignal-endpoint.net/errors](https://appsignal-endpoint.net/errors) | Accepteert JSON-geformatteerde data |

## URL-parameters

| Parameter | Type   | Beschrijving                                                                                               |
| --------- | ------ | ---------------------------------------------------------------------------------------------------------- |
| api\_key  | String | **Front-end** API-sleutel, te vinden in [App-instellingen](https://appsignal.com/redirect-to/app?to=info). |

```shell Shell theme={null}
https://appsignal-endpoint.net/errors?api_key=<api_key>
```

## Body-parameters

De post-body moet een JSON-object bevatten, geformatteerd als volgt:

| Parameter   | Type                     | Beschrijving                                                                                                                                                              |
| ----------- | ------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| timestamp   | Integer                  | (Epoch) timestamp waarop de error optrad                                                                                                                                  |
| action      | String                   | (Optioneel) Naam van de action waar de error optrad (bijv. `BlogpostController#show` of `UserInfoLambda#perform`)                                                         |
| namespace   | String                   | Namespace waar de error optrad (bijv. `frontend` of `lambda`)                                                                                                             |
| error       | Error                    | Error-object, zie beschrijving hieronder                                                                                                                                  |
| revision    | String                   | (Optioneel) Volledige (GIT) revisie-hash van de applicatie                                                                                                                |
| tags        | `Object<String, String>` | (Optioneel) Tags om de sample op te filteren, of om aanvullende context te bieden. Zorg ervoor dat zowel keys als values strings zijn (bijv. `{"account_id": "abc-123"}`) |
| params      | `Object<String, String>` | (Optioneel) Parameters die werden meegegeven aan de functie waar de error optrad. Zorg ervoor dat zowel keys als values strings zijn (bijv. `{"id": "abc-123"}`)          |
| environment | `Object<String, String>` | (Optioneel) Environment-waarden die waren ingesteld toen de error optrad. Zorg ervoor dat zowel keys als values strings zijn (bijv. `{"REGION": "eu-central-1"}`)         |
| breadcrumbs | `Array<Breadcrumb>`      | (Optioneel) Array van breadcrumbs, opgenomen voordat de error optrad. Zie hieronder voor een beschrijving van het Breadcrumb-object                                       |
| language    | String                   | (Optioneel) Taalstring, gebruikt om de backtrace te formatteren. Geaccepteerde waarden zijn `ruby`, `javascript`. Laat leeg bij gebruik van een andere taal               |

Error:

| Parameter | Type            | Beschrijving                                                            |
| --------- | --------------- | ----------------------------------------------------------------------- |
| name      | String          | Error-naam (bijv. `StandardError`)                                      |
| message   | String          | (Optioneel) Errorbericht                                                |
| backtrace | `Array<String>` | (Optioneel) Array van backtrace-regels, elke regel moet een string zijn |

Breadcrumb:

| Parameter | Type                     | Beschrijving                                                                   |
| --------- | ------------------------ | ------------------------------------------------------------------------------ |
| category  | String                   | Categorie waaronder het event wordt gelabeld (bijv. `network` of `navigation`) |
| action    | String                   | Contextuele informatie gerelateerd aan het event                               |
| message   | String                   | (optioneel) Een logbericht of andere string om naar AppSignal te sturen        |
| metadata  | `Object<String, String>` | (optioneel) Een object met metadata gerelateerd aan het event                  |

Bijvoorbeeld:

<CodeGroup>
  ```json JSON theme={null}
  {
    "action": "BlogpostController#show",
    "namespace": "frontend",
    "timestamp": 1559201249,
    "error": {
      "name": "StandardError",
      "message": "Error message",
      "backtrace": ["backtrace/line:1", "backtrace/line:2"]
    },
    "environment": {
      "os": "windows",
      "agent": "super secret user agent"
    },
    "params": {
      "foo": "bar"
    },
    "tags": {
      "account_id": "abc-123"
    },
    "revision": "revision-abc",
    "breadcrumbs": [
      {
        "timestamp": 1559201249,
        "category": "request",
        "action": "http://google.com",
        "message": "request failed",
        "metadata": {
          "code": "not_found"
        }
      }
    ],
    "language": "javascript"
  }
  ```
</CodeGroup>

## Voorbeeld

<CodeGroup>
  ```ruby Ruby theme={null}
  require "uri"
  require "json"
  require "net/http"

  url = URI("https://appsignal-endpoint.net/errors?api_key=FRONTEND-API-KEY")

  https = Net::HTTP.new(url.host, url.port)
  https.use_ssl = true

  request = Net::HTTP::Post.new(url)
  request["Content-Type"] = "application/json"
  request.body = JSON.dump({
    "action": "BlogpostController#show",
    "namespace": "frontend",
    "timestamp": 1640327525,
    "error": {
      "name": "StandardError",
      "message": "Error message",
      "backtrace": [
        "backtrace/line:1",
        "backtrace/line:2"
      ]
    },
    "environment": {
      "os": "windows",
      "agent": "super secret user agent"
    },
    "params": {
      "foo": "bar"
    },
    "tags": {
      "account_id": "abc-123"
    },
    "revision": "revision-abc-123",
    "breadcrumbs": [
      {
        "timestamp": 1640327525,
        "category": "request",
        "action": "http://google.com",
        "message": "request failed",
        "metadata": {
          "code": "not_found"
        }
      }
    ],
    "language": "javascript"
  })

  response = https.request(request)
  puts response.read_body
  ```
</CodeGroup>

<Tip>
  **Let op**: dit endpoint is geoptimaliseerd voor grote hoeveelheden verkeer en
  valideert de API-sleutel of payload niet; er wordt een `200` (`OK`)-respons
  geretourneerd zolang de body-grootte binnen de limiet van `200k` ligt. Dit
  betekent niet dat de aanvraag bij ontvangst wordt geaccepteerd.
</Tip>
