Sentry
This page contains the setup guide and reference information for the Sentry source connector.
Prerequisites
To set up the Sentry source connector, you need:
- A Sentry organization slug
- One or more project slugs in that organization
- A Sentry authentication token with the scopes required by the streams you sync
For Sentry SaaS, you can create an organization-wide token with a Sentry internal integration. Configure the integration with read access for organizations, projects, and issues and events to sync every stream.
Set up the Sentry connector in Airbyte
- In Airbyte, select Sources, then select New source.
- Select Sentry.
- For Authentication Tokens, enter your Sentry authentication token.
- For Host Name, keep
sentry.iofor Sentry SaaS, or enter the hostname of your self-hosted Sentry server withouthttps://or a path. You can also use your Sentry SaaS region-specific domain, such asus.sentry.io,us2.sentry.io, orde.sentry.io. - For Organization, enter the organization slug. Use the slug from your Sentry URL, such as
my-orginhttps://my-org.sentry.io, not the display name. - For Projects, enter one or more project slugs. The
events,issues, andproject_detailstreams sync each project you list. Organization-level streams aren't limited to these projects. Setup only checks the first project, so a misspelled slug later in the list shows up as an error on the first sync. - Optionally, for Events start date, enter the earliest date to sync events from, in UTC, such as
2026-01-01T00:00:00Z. Only the first sync of theeventsstream uses it, and later syncs continue from where the previous sync stopped. Other streams always sync their full history. Leave it empty to sync every event Sentry still has. - Optionally, turn off Events full payload to sync summary events without stack traces. When it's on, Sentry returns at most 10 events per page.
- Optionally, for Number of concurrent workers, enter a value from 1 through 20. The default is 5. With several projects, this also sets how many projects are read at once.
- Leave Discover Event Fields empty. None of the connector's streams read this setting.
- Select Set up source.
Supported sync modes
The Sentry source connector supports these sync modes:
Supported streams
| Stream | Data synced | Supported sync modes | Cursor field |
|---|---|---|---|
| Events | Error events for each configured project | Full refresh, incremental | dateCreated |
| Issues | Issues for each configured project | Full refresh, incremental | lastSeen |
| Projects | Projects in the configured organization | Full refresh, incremental | dateCreated |
| Project Detail | Full details for each configured project | Full refresh | — |
| All Projects Detail | Full details for every project in the configured organization | Full refresh | — |
| Releases | Releases in the configured organization | Full refresh, incremental | dateCreated |
The all_projects_detail stream makes one project-detail request for every project returned by the organization-level list endpoint.
Incremental sync behavior
The streams differ in how much filtering Sentry does for you, which changes what an incremental sync returns:
eventspasses the cursor value to Sentry in thestartquery parameter, so Sentry returns only events created after the previous sync. Unless Events full payload is off, the stream also requests full event bodies, including stack traces, so records are large compared to the other streams.- With several projects,
eventsandissueskeep a separate cursor for each project. A project you add to an existing connection doesn't start from the beginning: its first sync starts from the most recent cursor of the projects already synced, so its older events and issues are skipped. To sync its history, refresh theeventsandissuesstreams after you add it, which re-reads every project in those streams, or sync the new project in its own connection. issuesfilters server-side with alastSeen:>{cursor}search query. An issue is synced again every time Sentry sees it again, so a long-lived issue produces a new record in many syncs.projectsandreleasesusedateCreated, and neither endpoint accepts a date filter. The connector reads the list and drops records created before the previous sync's cursor value. Because the cursor is a creation timestamp, later changes to a project or release, such as a status change or a new deploy, don't generate a new record. Sync these streams in full refresh mode if you need their current values.
The projects stream now returns only projects in the configured organization. The avatar, color, isInternal, isPublic, organization, and status fields return null in this stream. Sync all_projects_detail to retrieve these fields for every project. For upgrade instructions, see the Sentry migration guide.
Authentication token scopes
The authentication token must include the scopes required by the streams you sync. To sync every stream, grant org:read, event:read, and project:read.
| Stream | Endpoint | Required scope |
|---|---|---|
| Events | GET /api/0/projects/{organization}/{project}/events/ | project:read |
| Issues | GET /api/0/projects/{organization}/{project}/issues/ | event:read |
| Projects | GET /api/0/organizations/{organization}/projects/ | org:read |
| Project Detail | GET /api/0/projects/{organization}/{project}/ | project:read |
| All Projects Detail | GET /api/0/projects/{organization}/{project}/ (per org project) | org:read, project:read |
| Releases | GET /api/0/organizations/{organization}/releases/ | project:read |
If the token is missing a scope, the corresponding stream returns an HTTP 403 error. See the Sentry permissions and scopes reference for details.
Airbyte tests the connection by reading the details of the first project in Projects, so setup fails without project:read on that project, even if you plan to sync only organization-level streams.
Limitations and troubleshooting
Event retention
Sentry SaaS retains error events for 30 or 90 days, depending on your plan. If you use Full Refresh - Overwrite, a sync replaces older destination records with only the events still available from Sentry. Use an append mode if you need to keep events beyond Sentry's data retention period.
Rate limits
Sentry applies request and concurrency limits per caller and endpoint. The limits are returned in the X-Sentry-Rate-Limit-* response headers and can vary by endpoint. If syncs receive HTTP 429 responses, reduce Number of concurrent workers. See Sentry's rate limit documentation.
Deprecated endpoints
Sentry marks the project-scoped issues endpoint that the issues stream uses as deprecated, and recommends the organization-level issues endpoint instead. The endpoint still returns data, and Sentry's API deprecation policy requires advance notice before removal. Version 1.0.0 made the equivalent switch for the projects stream after Sentry deprecated the legacy projects endpoint.
Organization or project not found
If setup or a sync fails with the error Sentry organization or project is missing or invalid. Check the organization and every slug in Projects., Sentry returned HTTP 404 for a request. A failed sync also lists the request that failed, which shows the organization and project slug Sentry didn't find. Check the following:
- Organization and Projects contain slugs, not display names. Slugs are lowercase and use hyphens instead of spaces.
- Each project belongs to the configured organization.
- Host Name matches the region or self-hosted server where the organization lives. For example, an organization on
de.sentry.ioreturns 404 when you queryus.sentry.io. - The token was issued for that organization. An internal integration token only works for the organization that owns the integration.
Airbyte rejects empty or whitespace-only values for Organization and Projects before contacting Sentry.
Pinning a connection to version 1.0.16 or earlier
In version 1.1.0, the Project setting became Projects, a list. The connector converts an existing single slug to a one-item list the first time version 1.1.0 runs, and Airbyte saves the converted setting. Existing connections keep their events and issues cursors and don't need any action.
If you pin a connection back to version 1.0.16 or earlier after that conversion, the connection fails until you edit Projects back to a single slug. Earlier versions can't read the per-project cursors that 1.1.0 saves, so the first sync after the rollback re-reads the events and issues streams in full.
IP allow list
If you use Airbyte Cloud and your organization restricts access to specific IPs, add the Airbyte Cloud IP addresses to your allow list.
Reference
Config fields reference
Changelog
Expand to review
| Version | Date | Pull Request | Subject |
|---|---|---|---|
| 1.1.1 | 2026-11-03 | 90736 | Update dependencies |
| 1.1.0 | 2026-10-30 | 89563 | Sync multiple projects (existing single-project settings are migrated automatically), and add the Events start date (start_date) and Events full payload (events_full_payload) options |
| 1.0.16 | 2026-10-20 | 89398 | Update dependencies |
| 1.0.15 | 2026-10-13 | 88408 | Type the sentry:replay_rage_click_issues project option as boolean in project_detail and all_projects_detail |
| 1.0.14 | 2026-10-13 | 88806 | Update dependencies |
| 1.0.13 | 2026-10-06 | 88017 | Update dependencies |
| 1.0.12 | 2026-09-29 | 87328 | Update dependencies |
| 1.0.11 | 2026-09-22 | 86799 | Update dependencies |
| 1.0.10 | 2026-09-16 | 78108 | Improve Sentry configuration validation and 404 error messaging. |
| 1.0.9 | 2026-09-15 | 86225 | Update dependencies |
| 1.0.8 | 2026-09-08 | 85631 | Update dependencies |
| 1.0.7 | 2026-08-18 | 84735 | Update dependencies |
| 1.0.6 | 2026-08-11 | 84114 | Update dependencies |
| 1.0.5 | 2026-08-04 | 83604 | Update dependencies |
| 1.0.4 | 2026-07-28 | 83101 | Update dependencies |
| 1.0.3 | 2026-07-21 | 82603 | Update dependencies |
| 1.0.2 | 2026-07-14 | 82008 | Update dependencies |
| 1.0.1 | 2026-07-13 | 81707 | Scope the 1.0.0 breaking change to the projects stream and emphasize the risk of data loss in the migration guide |
| 1.0.0 | 2026-07-13 | 80190 | Breaking: migrate the projects stream to the org-scoped endpoint (Sentry deprecated the legacy /projects/ endpoint). The stream now returns only projects belonging to the configured organization, and no longer returns avatar, color, isInternal, isPublic, organization, status. Added the all_projects_detail stream, which returns full project details (including those six fields) for every project in the organization. See the migration guide. |
| 0.9.27 | 2026-06-30 | 81219 | Update dependencies |
| 0.9.26 | 2026-06-23 | 80622 | Update dependencies |
| 0.9.25 | 2026-06-16 | 80036 | Update dependencies |
| 0.9.24 | 2026-06-09 | 79482 | Update dependencies |
| 0.9.23 | 2026-06-02 | 78975 | Update dependencies |
| 0.9.22 | 2026-06-01 | 78537 | Add user-configurable num_workers concurrency setting (default 5, tested optimal at 7) |
| 0.9.22-rc.2 | 2026-05-27 | 78468 | Concurrency tuning iteration 2 — bump default_concurrency from 7 to 8 |
| 0.9.22-rc.1 | 2026-05-26 | 78444 | Concurrency tuning — bump default_concurrency from 5 to 7 for progressive rollout |
| 0.9.21 | 2026-04-28 | 77407 | Update dependencies |
| 0.9.20 | 2026-04-21 | 76772 | Update dependencies |
| 0.9.19 | 2026-03-31 | 75797 | Update dependencies |
| 0.9.18 | 2026-03-24 | 75330 | Update dependencies |
| 0.9.17 | 2026-03-10 | 74601 | Update dependencies |
| 0.9.16 | 2026-03-03 | 73562 | Update dependencies |
| 0.9.15 | 2026-02-03 | 72578 | Update dependencies |
| 0.9.14 | 2026-01-20 | 72096 | Update dependencies |
| 0.9.13 | 2026-01-14 | 71517 | Update dependencies |
| 0.9.12 | 2025-12-18 | 70669 | Update dependencies |
| 0.9.11 | 2025-11-25 | 70115 | Update dependencies |
| 0.9.10 | 2025-11-18 | 69655 | Update dependencies |
| 0.9.9 | 2025-10-29 | 68882 | Update dependencies |
| 0.9.8 | 2025-10-22 | 68591 | Add suggestedStreams |
| 0.9.7 | 2025-10-21 | 68468 | Update dependencies |
| 0.9.6 | 2025-10-14 | 67945 | Update dependencies |
| 0.9.5 | 2025-10-07 | 67221 | Update dependencies |
| 0.9.4 | 2025-09-30 | 66859 | Update dependencies |
| 0.9.3 | 2025-09-24 | 66627 | Update dependencies |
| 0.9.2 | 2025-09-09 | 66114 | Update dependencies |
| 0.9.1 | 2025-08-24 | 65501 | Update dependencies |
| 0.9.0 | 2025-08-21 | 64879 | Update events stream to use start and query params instead of filtering on source side |
| 0.8.17 | 2025-08-10 | 64850 | Update dependencies |
| 0.8.16 | 2025-08-02 | 64455 | Update dependencies |
| 0.8.15 | 2025-07-26 | 63965 | Update dependencies |
| 0.8.14 | 2025-07-20 | 63667 | Update dependencies |
| 0.8.13 | 2025-07-05 | 62716 | Update dependencies |
| 0.8.12 | 2025-06-28 | 61458 | Update dependencies |
| 0.8.11 | 2025-05-24 | 60461 | Update dependencies |
| 0.8.10 | 2025-05-15 | 60295 | Fix missing records for events stream |
| 0.8.9 | 2025-05-10 | 60171 | Update dependencies |
| 0.8.8 | 2025-05-04 | 59571 | Update dependencies |
| 0.8.7 | 2025-04-27 | 58970 | Update dependencies |
| 0.8.6 | 2025-04-19 | 58446 | Update dependencies |
| 0.8.5 | 2025-04-12 | 57927 | Update dependencies |
| 0.8.4 | 2025-04-05 | 57473 | Update dependencies |
| 0.8.3 | 2025-03-29 | 56847 | Update dependencies |
| 0.8.2 | 2025-03-22 | 56263 | Update dependencies |
| 0.8.1 | 2025-03-08 | 55062 | Update dependencies |
| 0.8.0 | 2025-03-05 | 55215 | Fix lints for events stream |
| 0.7.0 | 2025-02-25 | 46664 | Converting to manifest-only format |
| 0.6.11 | 2025-02-22 | 54521 | Update dependencies |
| 0.6.10 | 2025-02-15 | 54100 | Update dependencies |
| 0.6.9 | 2025-02-08 | 53513 | Update dependencies |
| 0.6.8 | 2025-02-01 | 52979 | Update dependencies |
| 0.6.7 | 2025-01-25 | 52503 | Update dependencies |
| 0.6.6 | 2025-01-18 | 51896 | Update dependencies |
| 0.6.5 | 2025-01-11 | 51335 | Update dependencies |
| 0.6.4 | 2025-01-04 | 50930 | Update dependencies |
| 0.6.3 | 2024-12-28 | 50709 | Update dependencies |
| 0.6.2 | 2024-12-21 | 49058 | Starting with this version, the Docker image is now rootless. Please note that this and future versions will not be compatible with Airbyte versions earlier than 0.64 |
| 0.6.1 | 2024-11-04 | 43855 | Update dependencies |
| 0.6.0 | 2024-10-30 | 47988 | Upgrade the CDK and startup files to sync incremental streams concurrently |
| 0.5.3 | 2024-06-06 | 39180 | [autopull] Upgrade base image to v1.2.2 |
| 0.5.2 | 2024-05-20 | 38263 | Replace AirbyteLogger with logging.Logger |
| 0.5.1 | 2024-04-01 | 36731 | Add %Y-%m-%dT%H:%M:%S%z to date time formats. |
| 0.5.0 | 2024-03-27 | 35755 | Migrate to low-code. |
| 0.4.2 | 2024-03-25 | 36448 | Unpin CDK version |
| 0.4.1 | 2024-02-12 | 35145 | Manage dependencies with Poetry |
| 0.4.0 | 2024-01-05 | 32957 | Added undeclared fields to schema and migrated to base image |
| 0.3.0 | 2023-09-05 | 30192 | Added undeclared fields to schema |
| 0.2.4 | 2023-08-14 | 29401 | Fix null value in stream state |
| 0.2.3 | 2023-08-03 | 29023 | Add incremental for issues stream |
| 0.2.2 | 2023-05-02 | 25759 | Change stream that used in check_connection |
| 0.2.1 | 2023-04-27 | 25602 | Add validation of project and organization names during connector setup |
| 0.2.0 | 2023-04-03 | 23923 | Add Releases stream |
| 0.1.12 | 2023-03-01 | 23619 | Fix bug when stream state is None or any other bad value occurs |
| 0.1.11 | 2023-02-02 | 22303 | Turn ON default AvailabilityStrategy |
| 0.1.10 | 2023-01-27 | 22041 | Set AvailabilityStrategy for streams explicitly to None |
| 0.1.9 | 2022-12-20 | 21864 | Add state persistence to incremental sync |
| 0.1.8 | 2022-12-20 | 20709 | Add incremental sync |
| 0.1.7 | 2022-09-30 | 17466 | Migrate to per-stream states |
| 0.1.6 | 2022-08-29 | 16112 | Revert back to the Python CDK |
| 0.1.5 | 2022-08-24 | 15911 | Bugfix to allowing reading schemas at runtime |
| 0.1.4 | 2022-08-19 | 15800 | Bugfix to allow reading sentry.yaml at runtime |
| 0.1.3 | 2022-08-17 | 15734 | Fix yaml based on the new schema validator |
| 0.1.2 | 2021-12-28 | 15345 | Migrate to config-based framework |
| 0.1.1 | 2021-12-28 | 8628 | Update fields in source-connectors specifications |
| 0.1.0 | 2021-10-12 | 6975 | New Source: Sentry |