Create an internal integration or obtain an auth token from Sentry Settings > Developer Settings with 'project:releases' scope
POST to 'https://sentry.io/api/0/organizations/{org_slug}/releases/' with Authorization: Bearer YOUR_TOKEN and body '{"version": "<commit_sha_or_version>", "projects": ["<project_slug>"]}'
Upload sourcemap files via POST to '/api/0/organizations/{org_slug}/releases/{version}/files/' as multipart/form-data with fields 'file' (the file binary) and 'name' (the public URL path, e.g. '~/static/app.js.map')
Associate commits by including a 'commits' array in the release creation body or via a separate PATCH request with commit metadata (repository, id, message, author)
Optionally use the Sentry CLI ('sentry-cli releases upload-sourcemaps') to automate steps 2-4 from a CI pipeline using SENTRY_AUTH_TOKEN environment variable
Known gotchas
The 'name' field for sourcemap files must match the URL Sentry sees for the minified JS at error time (often using '~/' as a prefix for the domain); mismatches cause sourcemaps to be found but not applied
Release versions must be globally unique within an organization; re-uploading to an existing version is allowed but files already uploaded with the same name must be deleted first or will be skipped
Sourcemap files must be uploaded before events are ingested for that release; retroactive sourcemap uploads do not reprocess already-stored events
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp