--- stage: Monitor group: Observability info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://handbook.gitlab.com/handbook/product/ux/technical-writing/#assignments --- # Error Tracking settings API **(FREE ALL)** > [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/34940) in GitLab 12.7. ## Error Tracking project settings The project settings API allows you to retrieve the [Error Tracking](../operations/error_tracking.md) settings for a project. Only for users with Maintainer role for the project. ### Get Error Tracking settings ```plaintext GET /projects/:id/error_tracking/settings ``` | Attribute | Type | Required | Description | | --------- | ------- | -------- | --------------------- | | `id` | integer | yes | The ID or [URL-encoded path of the project](rest/index.md#namespaced-path-encoding) owned by the authenticated user | ```shell curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/1/error_tracking/settings" ``` Example response: ```json { "active": true, "project_name": "sample sentry project", "sentry_external_url": "https://sentry.io/myawesomeproject/project", "api_url": "https://sentry.io/api/0/projects/myawesomeproject/project", "integrated": false } ``` ### Create Error Tracking settings > - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/393035/) in GitLab 15.10. The API allows you to create Error Tracking settings for a project. Only for users with Maintainer role for the project. NOTE: This API is only available when used with [integrated error tracking](../operations/error_tracking.md#integrated-error-tracking). ```plaintext PUT /projects/:id/error_tracking/settings ``` Supported attributes: | Attribute | Type | Required | Description | | ------------ | ------- |----------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------| | `id` | integer | yes | The ID or [URL-encoded path of the project](rest/index.md#namespaced-path-encoding) owned by the authenticated user. | | `active` | boolean | yes | Pass `true` to enable the error tracking setting configuration or `false` to disable it. | | `integrated` | boolean | yes | Pass `true` to enable the integrated error tracking backend. [Available in](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/68260) GitLab 14.2 and later. | Example request: ```shell curl --request PUT --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/1/error_tracking/settings?active=true&integrated=true" ``` Example response: ```json { "active": true, "project_name": null, "sentry_external_url": null, "api_url": null, "integrated": true } ``` ### Enable or disable the Error Tracking project settings The API allows you to enable or disable the Error Tracking settings for a project. Only for users with the Maintainer role for the project. ```plaintext PATCH /projects/:id/error_tracking/settings ``` | Attribute | Type | Required | Description | | ------------ | ------- | -------- | --------------------- | | `id` | integer | yes | The ID or [URL-encoded path of the project](rest/index.md#namespaced-path-encoding) owned by the authenticated user. | | `active` | boolean | yes | Pass `true` to enable the already configured error tracking settings or `false` to disable it. | | `integrated` | boolean | no | Pass `true` to enable the integrated error tracking backend. [Available in](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/68260) GitLab 14.2 and later. | ```shell curl --request PATCH --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/1/error_tracking/settings?active=true" ``` Example response: ```json { "active": true, "project_name": "sample sentry project", "sentry_external_url": "https://sentry.io/myawesomeproject/project", "api_url": "https://sentry.io/api/0/projects/myawesomeproject/project", "integrated": false } ``` ## Error Tracking client keys > [Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/68384) in GitLab 14.3. For [integrated error tracking](https://gitlab.com/gitlab-org/gitlab/-/issues/329596) feature. Only for users with the Maintainer role for the project. ### List project client keys ```plaintext GET /projects/:id/error_tracking/client_keys ``` | Attribute | Type | Required | Description | | --------- | ---- | -------- | ----------- | | `id` | integer/string | yes | The ID or [URL-encoded path of the project](rest/index.md#namespaced-path-encoding) owned by the authenticated user. | ```shell curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/5/error_tracking/client_keys" ``` Example response: ```json [ { "id": 1, "active": true, "public_key": "glet_aa77551d849c083f76d0bc545ed053a3", "sentry_dsn": "https://glet_aa77551d849c083f76d0bc545ed053a3@example.com/errortracking/api/v1/projects/5" }, { "id": 3, "active": true, "public_key": "glet_0ff98b1d849c083f76d0bc545ed053a3", "sentry_dsn": "https://glet_aa77551d849c083f76d0bc545ed053a3@example.com/errortracking/api/v1/projects/5" } ] ``` ### Create a client key Creates a new client key for a project. The public key attribute is generated automatically. ```plaintext POST /projects/:id/error_tracking/client_keys ``` | Attribute | Type | Required | Description | | --------- | ---- | -------- | ----------- | | `id` | integer/string | yes | The ID or [URL-encoded path of the project](rest/index.md#namespaced-path-encoding) owned by the authenticated user. | ```shell curl --request POST --header "PRIVATE-TOKEN: " --header "Content-Type: application/json" \ "https://gitlab.example.com/api/v4/projects/5/error_tracking/client_keys" ``` Example response: ```json { "id": 3, "active": true, "public_key": "glet_0ff98b1d849c083f76d0bc545ed053a3", "sentry_dsn": "https://glet_aa77551d849c083f76d0bc545ed053a3@example.com/errortracking/api/v1/projects/5" } ``` ### Delete a client key Removes a client key from the project. ```plaintext DELETE /projects/:id/error_tracking/client_keys/:key_id ``` | Attribute | Type | Required | Description | | --------- | ---- | -------- | ----------- | | `id` | integer/string | yes | The ID or [URL-encoded path of the project](rest/index.md#namespaced-path-encoding) owned by the authenticated user. | | `key_id` | integer | yes | The ID of the client key. | ```shell curl --request DELETE --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api/v4/projects/5/error_tracking/client_keys/13" ```