CINXE.COM
BugSnag docs › API
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <!-- Always force latest IE rendering engine or request Chrome Frame --> <meta content="IE=edge,chrome=1" http-equiv="X-UA-Compatible"> <meta name="viewport" content="width=device-width, initial-scale=1"> <meta name="description" content="Access your data, build custom integrations, report releases, and upload symbol mappings."> <title>BugSnag docs › API</title> <link rel="icon" type="image/png" href="/assets/images/favicon2-96.png" sizes="96x96"> <link href="/assets/stylesheets/all.css" rel="stylesheet" /> <link rel="canonical" href="https://docs.bugsnag.com/api/"> <!-- BugSnag --> <script src="//d2wy8f7a9ursnm.cloudfront.net/v7/bugsnag.min.js"></script> <script> Bugsnag.start({ apiKey: '1adb72945c3fe4df9da3638ec54c5e4f', enabledReleaseStages: ['preview', 'production'], releaseStage: 'production' }) </script> <!-- CookieHub --> <script type="text/javascript"> var cpm = {}; (function(h,u,b){ var d=h.getElementsByTagName("script")[0],e=h.createElement("script"); e.async=true;e.src='https://cookiehub.net/c2/93363859.js'; e.onload=function(){u.cookiehub.load(b);} d.parentNode.insertBefore(e,d); })(document,window,cpm); </script> <!-- Segment --> <script type="text/plain" data-consent="analytics"> !function(){var analytics=window.analytics=window.analytics||[];if(!analytics.initialize)if(analytics.invoked)window.console&&console.error&&console.error("Segment snippet included twice.");else{analytics.invoked=!0;analytics.methods=["trackSubmit","trackClick","trackLink","trackForm","pageview","identify","reset","group","track","ready","alias","page","once","off","on"];analytics.factory=function(t){return function(){var e=Array.prototype.slice.call(arguments);e.unshift(t);analytics.push(e);return analytics}};for(var t=0;t<analytics.methods.length;t++){var e=analytics.methods[t];analytics[e]=analytics.factory(e)}analytics.load=function(t){var e=document.createElement("script");e.type="text/javascript";e.async=!0;e.src=("https:"===document.location.protocol?"https://":"http://")+"cdn.segment.com/analytics.js/v1/"+t+"/analytics.min.js";var n=document.getElementsByTagName("script")[0];n.parentNode.insertBefore(e,n)};analytics.SNIPPET_VERSION="3.1.0"; // Track page views in Segment unless PetalBot is the source of the request. // PetalBot requests translate to a lot of MTUs (unique monthly users) in Segment which are billable. if (!/PetalBot/i.test(window.navigator.userAgent)) { analytics.load("68nit8nqeCaJTiD3u6961Prq8ZrNFMSF"); analytics.page() }}}(); </script> <!-- Global site tag (gtag.js) - Google Ads: 987941250 --> <script type="text/plain" data-consent="marketing" async src="https://www.googletagmanager.com/gtag/js?id=AW-987941250"></script> <script type="text/plain" data-consent="marketing"> window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'AW-987941250'); </script> <!-- Event snippet for Sign-up 2020-04-30 conversion page In your html page, add the snippet and call gtag_report_conversion when someone clicks on the chosen link or button. --> <script type="text/plain" data-consent="marketing"> function gtag_report_conversion(url) { var callback = function () { if (typeof(url) != 'undefined') { window.location = url; } }; gtag('event', 'conversion', { 'send_to': 'AW-987941250/AllYCPWI684BEIKTi9cD', 'event_callback': callback }); return false; } </script> <!-- 6sense --> <script type="text/plain" data-consent="marketing"> window._6si = window._6si || []; window._6si.push(['enableEventTracking', true]); window._6si.push(['setToken', '8e0ea75c2ca92b31dec5baa7e7cf66be']); window._6si.push(['setEndpoint', 'b.6sc.co']); (function() { var gd = document.createElement('script'); gd.type = 'text/javascript'; gd.async = true; gd.src = '//j.6sc.co/6si.min.js'; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(gd, s); })(); </script> </head> <body class="api api_index"> <div class="Main"> <nav class="Sidebar"> <button class="Sidebar-toggle" onclick="document.body.classList.toggle('show-sidebar')"> <img class="Sidebar-icon Sidebar-icon-menu no-open" src="/assets/images/icons/menu.svg" /> <img class="Sidebar-icon Sidebar-icon-close no-open" src="/assets/images/icons/close.svg" /> </button> <div class="Sidebar-content"> <a class="Sidebar-logo" href="/"></a> <div class="Sidebar-search"> <input class="Sidebar-searchInput js-searchInput" type="search" placeholder="Search docs..."/> </div> <div class="Sidebar-sectionsScrollbarHider "> <div class="Sidebar-sections"> <div class="Sidebar-section"> <div class="Sidebar-sectionHeader">API documentation</div> <a href="/api/data-access/" class="Sidebar-navLink"> Data access API </a><a href="/api/error-reporting/" class="Sidebar-navLink"> Error reporting API </a><a href="/api/build/" class="Sidebar-navLink"> Build API </a><a href="/api/sessions/" class="Sidebar-navLink"> Sessions API </a><a href="/api/js-source-map-upload/" class="Sidebar-navLink"> JavaScript source map upload </a><a href="/api/rn-source-map-upload/" class="Sidebar-navLink"> React Native source map upload </a><a href="/api/dsym-upload/" class="Sidebar-navLink"> dSYM file upload </a><a href="/api/android-mapping-upload/" class="Sidebar-navLink"> Android mapping upload </a><a href="/api/ndk-symbol-mapping-upload/" class="Sidebar-navLink"> NDK symbol upload </a><a href="/api/breakpad-symbol-upload/" class="Sidebar-navLink"> Breakpad symbol upload </a><a href="/api/dart-symbol-upload/" class="Sidebar-navLink"> Dart symbol upload </a><a href="/api/nintendo-switch-symbol-upload/" class="Sidebar-navLink"> Nintendo Switch symbol upload </a> </div> </div> </div> </div> </nav> <div class="Content"> <div class="TopBar"> <div class="TopBar-content Grid"> <div class="TopBar-breadcrumbs"> <a href="/" class="TopBar-breadcrumb"> Docs </a><a href="/api/" class="TopBar-breadcrumb"> API </a> </div> <div class="TopBar-buttons"> <a class="TopBar-button" href="https://www.bugsnag.com">bugsnag.com</a> <a class="TopBar-button is-primary" href="https://app.bugsnag.com/user/new/" onclick="gtag_report_conversion();">Start Free Trial</a> </div> </div> </div> <div class="Typography Grid"> <h1>API documentation</h1> <p>Access your data, build custom integrations, report releases, and upload symbol mappings.</p> <div class="Blocks"> <a class="Blocks-block" href="data-access/" data-sidebar-label="Data access API"> <div class="Blocks-content"> <div class="Blocks-header">Data access API</div> <div class="Blocks-description">Access information about your organization, projects, errors, and more to build custom integrations.</div> </div> </a> <a class="Blocks-block" href="error-reporting/" data-sidebar-label="Error reporting API"> <div class="Blocks-content"> <div class="Blocks-header">Error reporting API</div> <div class="Blocks-description">Notify BugSnag of an error or exception in web, mobile or desktop applications.</div> </div> </a> <a class="Blocks-block" href="build/" data-sidebar-label="Build API"> <div class="Blocks-content"> <div class="Blocks-header">Build API</div> <div class="Blocks-description">Provide extra information whenever you build, release, or deploy your application.</div> </div> </a> <a class="Blocks-block" href="sessions/" data-sidebar-label="Sessions API"> <div class="Blocks-content"> <div class="Blocks-header">Sessions API</div> <div class="Blocks-description">Report sessions of your application to compare release stability scores.</div> </div> </a> <a class="Blocks-block" href="js-source-map-upload/" data-sidebar-label="JavaScript source map upload"> <div class="Blocks-content"> <div class="Blocks-header">JavaScript source map upload</div> <div class="Blocks-description">Upload source map files to allow BugSnag to de-obfuscate your JavaScript stack traces.</div> </div> </a> <a class="Blocks-block" href="rn-source-map-upload/" data-sidebar-label="React Native source map upload"> <div class="Blocks-content"> <div class="Blocks-header">React Native source map upload</div> <div class="Blocks-description">Upload source map files to allow BugSnag to de-obfuscate React Native JavaScript stack traces.</div> </div> </a> <a class="Blocks-block" href="dsym-upload/" data-sidebar-label="dSYM file upload"> <div class="Blocks-content"> <div class="Blocks-header">dSYM file upload</div> <div class="Blocks-description">Upload dSYM files to allow BugSnag to show human-friendly function names, file paths, and line numbers in your iOS, macOS, and tvOS stacktraces.</div> </div> </a> <a class="Blocks-block" href="android-mapping-upload/" data-sidebar-label="Android mapping upload"> <div class="Blocks-content"> <div class="Blocks-header">Android mapping upload</div> <div class="Blocks-description">Upload Android mapping files to allow BugSnag to de-obfuscate your Android stack traces.</div> </div> </a> <a class="Blocks-block" href="ndk-symbol-mapping-upload/" data-sidebar-label="NDK symbol upload"> <div class="Blocks-content"> <div class="Blocks-header">NDK symbol upload</div> <div class="Blocks-description">Upload shared object symbol files to allow BugSnag to make your Android NDK stack traces readable.</div> </div> </a> <a class="Blocks-block" href="breakpad-symbol-upload/" data-sidebar-label="Breakpad symbol upload"> <div class="Blocks-content"> <div class="Blocks-header">Breakpad symbol upload</div> <div class="Blocks-description">Upload Breakpad symbol files to allow BugSnag to symbolicate minidumps.</div> </div> </a> <a class="Blocks-block" href="dart-symbol-upload/" data-sidebar-label="Dart symbol upload"> <div class="Blocks-content"> <div class="Blocks-header">Dart symbol upload</div> <div class="Blocks-description">Upload Dart symbol files to allow BugSnag to symbolicate Dart stacktraces.</div> </div> </a> <a class="Blocks-block" href="nintendo-switch-symbol-upload/" data-sidebar-label="Nintendo Switch symbol upload"> <div class="Blocks-content"> <div class="Blocks-header">Nintendo Switch symbol upload</div> <div class="Blocks-description">Upload Nintendo Switch symbol files to allow BugSnag to symbolicate stacktraces.</div> </div> </a> </div> </div> </div> </div> <div class="Background"> <div class="Background-left"></div> <div class="Background-right"></div> </div> <!-- Docs search --> <script src="https://cdn.jsdelivr.net/docsearch.js/2/docsearch.min.js"></script><script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.4/jquery.min.js"></script><script src="/assets/javascripts/all.js"></script> <script type="text/javascript"> docsearch({ apiKey: '95e256f960a70c3f7fa9c722dbe28130', appId: 'F9ABIKS431', indexName: 'bugsnag', inputSelector: '.js-searchInput', debug: true, algoliaOptions: { hitsPerPage: 20 } }); </script> <!-- Zendesk Widget --> <script> // Standard Zendesk snippet window.zEmbed||function(e,t){var n,o,d,i,s,a=[],r=document.createElement("iframe");window.zEmbed=function(){a.push(arguments)},window.zE=window.zE||window.zEmbed,r.src="javascript:false",r.title="",r.role="presentation",(r.frameElement||r).style.cssText="display: none",d=document.getElementsByTagName("script"),d=d[d.length-1],d.parentNode.insertBefore(r,d),i=r.contentWindow,s=i.document;try{o=s}catch(e){n=document.domain,r.src='javascript:var d=document.open();d.domain="'+n+'";void(0);',o=s}o.open()._l=function(){var o=this.createElement("script");n&&(this.domain=n),o.id="js-iframe-async",o.src=e,this.t=+new Date,this.zendeskHost=t,this.zEQueue=a,this.body.appendChild(o)},o.write('<body onload="document._l();">'),o.close()}("https://assets.zendesk.com/embeddable_framework/main.js","bugsnag.zendesk.com"); // Don't allow the widget to set cookies: https://developer.zendesk.com/embeddables/docs/widget/settings#cookies window.zESettings = { cookies: false }; // Force the widget locale to be en-US to encourage customers to send in support queries in English zE('webWidget', 'setLocale', 'en-US'); // Some custom code to turn support@bugsnag.com links into Zendesk triggers $('[href="mailto:support@bugsnag.com"], [href="mailto:enterprise@bugsnag.com"], [href="mailto:notifiers@bugsnag.com"]').on('click', function(e) { // Only do this if Zendesk has loaded. Otherwise, fall back to mailto behavior if (window.zEmbed.activate) { window.zEmbed.activate(); e.preventDefault(); } }); </script> </body> </html>