Error Tracking API

{{< details >}}

  • Tier: Free, Premium, Ultimate
  • Offering: GitLab.com, GitLab Self-Managed, GitLab Dedicated

{{< /details >}}

Use this API to interact with the Error Tracking feature for projects. For more information, see Error Tracking.

Prerequisites:

  • You must have at least the Maintainer role.

Get Error Tracking settings

Gets the Error Tracking settings for a specified project.

GET /projects/:id/error_tracking/settings
Attribute Type Required Description
id integer yes The ID or URL-encoded path of the project
curl --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/projects/1/error_tracking/settings"

Example response:

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

{{< history >}}

{{< /history >}}

Creates Error Tracking settings for a specified project.

{{< alert type=”note” >}}

This API is only available when used with integrated error tracking.

{{< /alert >}}

PUT /projects/:id/error_tracking/settings

Supported attributes:

Attribute Type Required Description
id integer yes The ID or URL-encoded path of the project.
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.

Example request:

curl --request PUT --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/projects/1/error_tracking/settings?active=true&integrated=true"

Example response:

{
  "active": true,
  "project_name": null,
  "sentry_external_url": null,
  "api_url": null,
  "integrated": true
}

Activate the Error Tracking project settings

Activates or deactivates Error Tracking settings for a specified project.

PATCH /projects/:id/error_tracking/settings
Attribute Type Required Description
id integer yes The ID or URL-encoded path of the project.
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.
curl --request PATCH --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/projects/1/error_tracking/settings?active=true"

Example response:

{
  "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
}

List all project client keys

Lists all integrated error tracking client keys for a specified project.

GET /projects/:id/error_tracking/client_keys
Attribute Type Required Description
id integer/string yes The ID or URL-encoded path of the project.
curl --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/projects/5/error_tracking/client_keys"

Example response:

[
  {
    "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 an integrated error tracking client key for a specified project. The public key attribute is generated automatically.

POST /projects/:id/error_tracking/client_keys
Attribute Type Required Description
id integer/string yes The ID or URL-encoded path of the project.
curl --request POST \
  --header "PRIVATE-TOKEN: <your_access_token>" \
  --header "Content-Type: application/json" \
  --url "https://gitlab.example.com/api/v4/projects/5/error_tracking/client_keys"

Example response:

{
  "id": 3,
  "active": true,
  "public_key": "glet_0ff98b1d849c083f76d0bc545ed053a3",
  "sentry_dsn": "https://glet_aa77551d849c083f76d0bc545ed053a3@example.com/errortracking/api/v1/projects/5"
}

Delete a client key

Deletes an integrated error tracking client key from a specified project.

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.
key_id integer yes The ID of the client key.
curl --request DELETE --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/projects/5/error_tracking/client_keys/13"