BugSnag Upload API

Upload the symbol and mapping files that make stacktraces readable — Apple dSYMs, Android ProGuard and NDK symbols, JavaScript and React Native source maps, Dart, Linux, Breakpad, Nintendo Switch and Unity IL2CPP line mappings. Ten endpoints on upload.bugsnag.com, normally driven from CI by the BugSnag CLI.

Operations 10

POST /breakpad-symbol Breakpad symbol files #
POST /dart-symbol Dart symbol files #
POST /dsym Apple debug symbols (dSYMs) #
POST /ndk-symbol Android shared object files #
POST /linux Linux shared object files #
POST /nintendo-switch-symbol Nintendo Switch symbol files #
POST /proguard ProGuard mapping files #
POST /react-native-source-map React Native source maps #
POST /sourcemap JavaScript source maps #
POST /unity-line-mappings Unity IL2CPP line number mappings #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/bugsnag-upload-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

bugsnag-upload-api-openapi.json Raw ↑
{"openapi":"3.0.0","info":{"version":"1","title":"BugSnag - Upload API","description":"Upload symbol and mapping files to show full stacktraces in your BugSnag dashboard.\n","contact":{"name":"BugSnag Support","email":"support@bugsnag.com"}},"servers":[{"description":"For organizations with projects on app.bugsnag.com","url":"https://upload.bugsnag.com"},{"description":"For organizations with projects on app.bugsnag.smartbear.com","url":"https://upload.bugsnag.smartbear.com"},{"description":"SwaggerHub API Auto Mocking","url":"https://virtserver.swaggerhub.com/smartbear-public/bugsnag-upload-api/1"}],"tags":[{"name":"Android","description":"ProGuard/DexGuard/R8 mappings for obfuscated Java/Kotlin and NDK symbol files for shared object (.so) files"},{"name":"Apple","description":"Debug symbol (.dSYM) files for release builds"},{"name":"Dart","description":"Symbol files for split debug Dart builds"},{"name":"JavaScript","description":"Source maps for minified JavaScript"},{"name":"Linux","description":"Symbol files for shared object (.so) files"},{"name":"Minidumps","description":"Breakpad symbol files for Minidumps"},{"name":"Nintendo","description":"Symbol files for Nintendo Switch"},{"name":"Unity","description":"IL2CPP mapping files for Unity"}],"paths":{"/breakpad-symbol":{"post":{"summary":"Breakpad symbol files","description":"Upload Breakpad symbol files to allow symbolicate stacktraces within minidump files (generated when using Electron, Breakpad or Crashpad) to show human-readable stacktraces in your dashboard.\nIf your application uses native libraries (aside from Electron and its helper libraries), you will need to generate and upload symbol files for each library and platform supported to see full stacktraces for native crashes.\n","operationId":"uploadBreakpadSymbol","tags":["Minidumps"],"parameters":[{"in":"query","name":"api_key","required":true,"schema":{"type":"string"},"description":"Your BugSnag integration API key for this application."},{"in":"query","name":"overwrite","required":false,"schema":{"type":"boolean"},"description":"Whether to ignore and overwrite existing uploads with same identifier, rather than failing if a matching file exists. (Default: `true`)"},{"in":"query","name":"project_root","required":false,"schema":{"type":"string"},"description":"The root path of the project on the filesystem where the application was built."}],"requestBody":{"required":true,"description":"The API is compatible with Breakpad's `symupload` tool. Only the `api_key` in the query string and `symbol_file` form field are required to match the Breakpad Symbol file to a minidump.\n","content":{"multipart/form-data":{"schema":{"type":"object","required":["symbol_file"],"properties":{"symbol_file":{"type":"string","format":"file","description":"The Breakpad symbol file to upload as a [form-data](https://en.wikipedia.org/wiki/MIME#Form-Data) file upload."},"code_file":{"type":"string","description":"The basename of the module."},"cpu":{"type":"string","description":"The CPU that the module was built for."},"debug_file":{"type":"string","description":"The basename of the debug file."},"debug_identifier":{"type":"string","description":"The debug file's identifier."},"os":{"type":"string","description":"The operating system that the module was built for."},"product":{"type":"string","description":"The product name."},"version":{"type":"string","description":"The version of the module."}}}}}},"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"type":"string","example":"OK"}}}},"400":{"description":"A required parameter is missing","content":{"text/plain":{"schema":{"type":"string","example":"missing api_key"}}}},"401":{"description":"Invalid API key","content":{"text/plain":{"schema":{"type":"string","example":"invalid api_key"}}}},"409":{"description":"Duplicate file already exists with the same identifier (use `overwrite` to replace)","content":{"text/plain":{"schema":{"type":"string"},"examples":{"A duplicate file exists":{"value":"duplicate Breakpad symbols file"},"A duplicate file exists for the provided debug identifier":{"value":"duplicate Breakpad symbols file for debug_identifier: <id>"},"A duplicate file exists for the provided debug file":{"value":"duplicate Breakpad symbols file for debug_file: <file>"}}}}},"422":{"description":"Nothing to upload (e.g. empty file or not uploaded correctly)","content":{"text/plain":{"schema":{"type":"string","example":"received empty file"}}}}}}},"/dart-symbol":{"post":{"summary":"Dart symbol files","description":"If you build your Flutter application with debug symbols stripped (`--strip-debug-info`) you will need to upload the generated symbol files to see the source file, line number and method in stacktraces on your dashboard.\n","operationId":"uploadDartSymbol","tags":["Dart"],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"type":"object","required":["symbolFile","apiKey","buildId"],"properties":{"symbolFile":{"type":"string","format":"file","description":"The Dart symbol file as a [form-data](https://en.wikipedia.org/wiki/MIME#Form-Data) file upload."},"apiKey":{"type":"string","description":"The API key for the application's project in BugSnag."},"buildId":{"type":"string","description":"The unique ID of the build of the binary that the symbol file applies to."},"appBundleVersion":{"type":"string","description":"The bundle version (`CFBundleVersion`) of this build of the application (iOS only)."},"appVersion":{"type":"string","description":"The version of the application."},"appVersionCode":{"type":"string","description":"The version code of this build of the application (Android only)."},"overwrite":{"type":"boolean","description":"Whether to ignore and overwrite existing uploads with same identifier, rather than failing if a matching file exists. (Default: `true`)","default":true},"platform":{"type":"string","enum":["android","ios"],"description":"The application platform, either `android` or `ios`."}}}}}},"responses":{"202":{"description":"Accepted","content":{"text/plain":{"schema":{"type":"string","example":"Accepted"}}}},"400":{"description":"A required parameter is missing, the file format is not ELF or the file has an invalid build ID.","content":{"text/plain":{"schema":{"type":"string"},"examples":{"A required parameter is missing":{"value":"missing required param"},"The file format is not ELF":{"value":"invalid file format"},"File has an invalid build ID":{"value":"invalid buildId"}}}}},"401":{"description":"Invalid API key","content":{"text/plain":{"schema":{"type":"string","example":"invalid apiKey"}}}},"409":{"description":"Duplicate file already exists with the same identifier (use `overwrite` to replace)","content":{"text/plain":{"schema":{"type":"string","example":"duplicate symbols file"}}}},"422":{"description":"Nothing to upload (e.g. empty file or not uploaded correctly)","content":{"text/plain":{"schema":{"type":"string","example":"received empty file"}}}}}}},"/dsym":{"post":{"summary":"Apple debug symbols (dSYMs)","description":"Upload dSYM files to show human-readable function names, file paths, and line numbers in your stacktraces on iOS, macOS and other Apple platforms.\n","operationId":"uploadDsym","tags":["Apple"],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"type":"object","required":["apiKey","dsym"],"properties":{"dsym":{"type":"string","format":"file","description":"The dSYM to upload as a [form-data](https://en.wikipedia.org/wiki/MIME#Form-Data) file upload. Can be either:\nA single dSYM binary file (within a `.dSYM` directory, the binary is located in `Contents/Resources/DWARF` and generally has the same base name as the .dSYM file itself); or\nan archive (`.zip`) containing multiple `.dSYM` directories (as downloaded from App Store Connect).\n"},"apiKey":{"type":"string","description":"The API key for the application's project in BugSnag."},"overwrite":{"type":"boolean","description":"Whether to ignore and overwrite existing uploads with same identifier, rather than failing if a matching file exists. (Default: `true`)","default":true},"projectRoot":{"type":"string","description":"The root path of the project on the filesystem where the application was built. This is used to strip part of the path from the beginning of source file names in your dashboard."}}}}}},"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"type":"string","example":"OK"}}}},"400":{"description":"A required parameter is missing or the file format is invalid","content":{"text/plain":{"schema":{"type":"string","example":"Invalid dsym"}}}},"401":{"description":"Invalid or missing API key","content":{"text/plain":{"schema":{"type":"string"},"examples":{"Invalid API key":{"value":"invalid apiKey"},"Missing API key":{"value":"missing apiKey"}}}}}}}},"/ndk-symbol":{"post":{"summary":"Android shared object files","description":"For Android applications, when native code is used it will be compiled into shared object files, usually with the symbol names removed.\nIn order to replace the obfuscated data with a human-readable stacktrace, a shared object (`.so`) file containing those symbols is required.\nThis API relies on a build identifier generated by the NDK toolchain, see our docs for guidance on compatibility.\n","operationId":"uploadNdkSymbol","tags":["Android"],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"type":"object","required":["soFile","apiKey"],"properties":{"soFile":{"type":"string","format":"file","description":"The shared object (`.so`) file containing symbols as a [form-data](https://en.wikipedia.org/wiki/MIME#Form-Data) file upload."},"apiKey":{"type":"string","description":"The API key for the application's project in BugSnag."},"appId":{"type":"string","description":"A unique application ID, usually the package name, of the application."},"overwrite":{"type":"boolean","description":"Whether to ignore and overwrite existing uploads with same identifier, rather than failing if a matching file exists. (Default: `true`)","default":true},"projectRoot":{"type":"string","description":"The root path of the project on the filesystem where the application was built. This is used to strip part of the path from the beginning of source file names in your dashboard."},"sharedObjectName":{"type":"string","description":"The name of the shared object that the symbols are for."},"versionCode":{"type":"string","description":"The version code of this build of the application."},"versionName":{"type":"string","description":"The version of the application."}}}}}},"responses":{"202":{"description":"Accepted","content":{"text/plain":{"schema":{"type":"string","example":"Accepted"}}}},"400":{"description":"A required parameter is missing or the file format is invalid","content":{"text/plain":{"schema":{"type":"string"},"examples":{"A required parameter is missing":{"value":"missing required param: apiKey"},"A required file is missing":{"value":"missing required file: soFile"},"Unable to read ELF magic number from Shared Object file":{"value":"invalid SO file uploaded - missing ELF magic number"},"Unable to read build ID from Shared Object file":{"value":"invalid SO file uploaded - missing buildID"},"Unable to read Shared Object file":{"value":"invalid file format"}}}}},"401":{"description":"Invalid API key","content":{"text/plain":{"schema":{"type":"string","example":"invalid apiKey"}}}},"409":{"description":"Duplicate file already exists with the same identifier (use `overwrite` to replace)","content":{"text/plain":{"schema":{"type":"string","example":"duplicate symbol file"}}}},"422":{"description":"Nothing to upload (e.g. empty file or not uploaded correctly)","content":{"text/plain":{"schema":{"type":"string","example":"received empty file"}}}}}}},"/linux":{"post":{"summary":"Linux shared object files","description":"Built shared object files will usually have symbol names removed.\nIn order to replace the obfuscated data with a human-readable stacktrace, a shared object (`.so`) file containing those symbols is required.\n","operationId":"uploadLinux","tags":["Linux"],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"type":"object","required":["soFile","apiKey"],"properties":{"soFile":{"type":"string","format":"file","description":"The shared object (`.so`) file containing symbols as a [form-data](https://en.wikipedia.org/wiki/MIME#Form-Data) file upload."},"apiKey":{"type":"string","description":"The API key for the application's project in BugSnag."},"appId":{"type":"string","description":"A unique application ID of the application."},"overwrite":{"type":"boolean","description":"Whether to ignore and overwrite existing uploads with same identifier, rather than failing if a matching file exists. (Default: `true`)","default":true},"projectRoot":{"type":"string","description":"The root path of the project on the filesystem where the application was built. This is used to strip part of the path from the beginning of source file names in your dashboard."},"sharedObjectName":{"type":"string","description":"The name of the shared object that the symbols are for."},"versionName":{"type":"string","description":"The version of the application."}}}}}},"responses":{"202":{"description":"Accepted","content":{"text/plain":{"schema":{"type":"string","example":"Accepted"}}}},"400":{"description":"A required parameter is missing or the file format is invalid","content":{"text/plain":{"schema":{"type":"string"},"examples":{"A required parameter is missing":{"value":"missing required param: apiKey"},"A required file is missing":{"value":"missing required file: soFile"},"Unable to read Shared Object file":{"value":"invalid file format"}}}}},"401":{"description":"Invalid API key","content":{"text/plain":{"schema":{"type":"string","example":"invalid apiKey"}}}},"409":{"description":"Duplicate file already exists with the same identifier (use `overwrite` to replace)","content":{"text/plain":{"schema":{"type":"string","example":"duplicate symbol file"}}}},"422":{"description":"Nothing to upload (e.g. empty file or not uploaded correctly)","content":{"text/plain":{"schema":{"type":"string","example":"received empty file"}}}}}}},"/nintendo-switch-symbol":{"post":{"summary":"Nintendo Switch symbol files","description":"You will need to upload the generated symbol file for your Nintendo Switch game to see the source file, line number and method in stacktraces on your dashboard.\n","operationId":"uploadNintendoSwitchSymbol","tags":["Nintendo"],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"type":"object","required":["symbolFile","apiKey"],"properties":{"symbolFile":{"type":"string","format":"file","description":"The Nintendo Switch symbol file as a [form-data](https://en.wikipedia.org/wiki/MIME#Form-Data) file upload."},"apiKey":{"type":"string","description":"Your BugSnag integration API key for this application."},"appVersion":{"type":"string","description":"The version of the application."},"moduleName":{"type":"string","description":"The name of the module/application/binary that the symbols relate to."},"overwrite":{"type":"boolean","description":"Whether to ignore and overwrite existing uploads with same identifier, rather than failing if a matching file exists. (Default: `true`)","default":true},"projectRoot":{"type":"string","description":"The root path of the project on the filesystem where the application was built. This is used to strip part of the path from the beginning of source file names in your dashboard."}}}}}},"responses":{"202":{"description":"Accepted","content":{"text/plain":{"schema":{"type":"string","example":"Accepted"}}}},"400":{"description":"A required parameter is missing or the file format is invalid","content":{"text/plain":{"schema":{"type":"string"},"examples":{"A required parameter is missing":{"value":"missing required param: apiKey"},"A required file is missing":{"value":"missing required file: symbolFile"},"Unable to read ELF magic number from Shared Object file":{"value":"invalid symbol file uploaded - missing ELF magic number"},"Unable to read build ID from Shared Object file":{"value":"invalid symbol file uploaded - missing buildID"},"Unable to read Shared Object file":{"value":"invalid file format"}}}}},"401":{"description":"Invalid API key","content":{"text/plain":{"schema":{"type":"string","example":"invalid apiKey"}}}},"409":{"description":"Duplicate file already exists with the same identifier (use `overwrite` to replace)","content":{"text/plain":{"schema":{"type":"string","example":"duplicate symbol file"}}}},"422":{"description":"Nothing to upload (e.g. empty file or not uploaded correctly)","content":{"text/plain":{"schema":{"type":"string","example":"received empty file"}}}}}}},"/proguard":{"post":{"summary":"ProGuard mapping files","description":"If you use a tool to minify and optimize your application you will need to upload a mapping file to see full debugging information in error reports including the original class and method names.\nMapping files generated by [ProGuard](https://developer.android.com/studio/build/shrink-code.html), [DexGuard](https://www.guardsquare.com/dexguard) and [R8](https://r8.googlesource.com/r8#d8-dexer-and-r8-shrinker) are supported.\n","operationId":"uploadProguard","tags":["Android"],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"type":"object","required":["proguard","apiKey","appId","versionCode"],"properties":{"proguard":{"type":"string","format":"file","description":"The ProGuard, DexGuard or R8 mapping file to upload as a [form-data](https://en.wikipedia.org/wiki/MIME#Form-Data) file upload."},"apiKey":{"type":"string","description":"The API key for the application's project in BugSnag."},"appId":{"type":"string","description":"A unique application ID, usually the package name, of the application."},"versionCode":{"type":"string","description":"The version code of this build of the application."},"buildUUID":{"type":"string","description":"A unique identifier for this build of the application.\nThis is only required if you have multiple mapping files with the same appId and versionCode. This same ID must also be set in the BugSnag configuration in your app, so that errors match the uploaded build."},"overwrite":{"type":"boolean","description":"Whether to ignore and overwrite existing uploads with same identifier, rather than failing if a matching file exists. (Default: `true`)","default":true},"versionName":{"type":"string","description":"The version of the application."}}}}}},"responses":{"202":{"description":"Accepted","content":{"text/plain":{"schema":{"type":"string","example":"Accepted"}}}},"400":{"description":"A required parameter is missing or the file format is invalid","content":{"text/plain":{"schema":{"type":"string"},"examples":{"A required parameter is missing":{"value":"missing required param: apiKey"},"ProGuard file generated incorrectly":{"value":"proguard file generated without -keepattributes LineNumberTable"}}}}},"401":{"description":"Invalid API key","content":{"text/plain":{"schema":{"type":"string","example":"invalid apiKey"}}}},"409":{"description":"Duplicate file already exists with the same identifier (use `overwrite` to replace)","content":{"text/plain":{"schema":{"type":"string","example":"duplicate proguard file for <app ID> versionCode=<versionCode>"}}}},"422":{"description":"Nothing to upload (e.g. empty file or not uploaded correctly)","content":{"text/plain":{"schema":{"type":"string","example":"Received empty file"}}}}}}},"/react-native-source-map":{"post":{"summary":"React Native source maps","description":"Upload JavaScript source map files to de-obfuscate bundled code in your React Native application and show human-readable stacktraces on your dashboard.\n","operationId":"uploadReactNativeSourcemap","tags":["JavaScript"],"requestBody":{"description":"One or more of `appVersion`, `appBundleVersion`/`appVersionCode` and `codeBundleId` is required to uniquely identify the uploaded file and allow it to be matched to events from your application.\n","required":true,"content":{"multipart/form-data":{"schema":{"type":"object","required":["apiKey","platform","sourceMap","bundle"],"properties":{"bundle":{"type":"string","format":"file","description":"The bundled JavaScript file to upload as a [form-data](https://en.wikipedia.org/wiki/MIME#Form-Data) file upload."},"sourceMap":{"type":"string","format":"file","description":"The source map file to upload as a [form-data](https://en.wikipedia.org/wiki/MIME#Form-Data)."},"apiKey":{"type":"string","description":"The API key for the application's project in BugSnag."},"platform":{"type":"string","enum":["android","ios"],"description":"The application platform: either `android` or `ios`."},"appBundleVersion":{"type":"string","description":"The bundle version (`CFBundleVersion`) of this build of the application (iOS only)."},"appVersion":{"type":"string","description":"The version of the application."},"appVersionCode":{"type":"string","description":"The version code of this build of the application (Android only)."},"codeBundleId":{"type":"string","description":"A unique identifier for the JavaScript bundle.\nIf you use deployment tools to update your JavaScript bundle without changing the native version or build number, use this ID to uniquely identify the update.\nThis same ID must also be set in the configuration in your app, so that errors match the uploaded bundle.\n"},"dev":{"type":"boolean","description":"Indicates whether the application is a debug or release build. This value should mirror the value used when generating source map files (Default: `false`).","default":false},"overwrite":{"type":"boolean","description":"Whether to ignore and overwrite existing uploads with same identifier, rather than failing if a matching file exists. (Default: `true`)","default":true},"projectRoot":{"type":"string","description":"The root path of the project on the filesystem where the application was built. This is used to strip part of the path from the beginning of source file names in your dashboard."}}}}}},"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"type":"string","example":"OK"}}}},"400":{"description":"A required parameter is missing or the file format is invalid","content":{"text/plain":{"schema":{"type":"string"},"examples":{"A required parameter is missing":{"value":"missing required param: apiKey"},"A required file is missing":{"value":"missing required file: sourceMap"},"Invalid dev field":{"value":"invalid dev value"},"Invalid platform field":{"value":"platform must be either 'ios' or 'android'"},"Conflicting identifiers provided with codeBundleId":{"value":"<version type> cannot be provided if 'codeBundleId' set"},"Conflicting identifiers provided for platform":{"value":"'<version type>' should only be specified for <platform> platforms"},"No identifiers provided":{"value":"at least one of 'appVersion', 'appVersionCode', 'appBundleVersion', or 'codeBundleId' must be provided"}}}}},"401":{"description":"Invalid API key","content":{"text/plain":{"schema":{"type":"string","example":"invalid apiKey"}}}},"409":{"description":"Duplicate file already exists with the same identifier (use `overwrite` to replace)","content":{"text/plain":{"schema":{"type":"string","example":"duplicate source map file for <version details>"}}}},"422":{"description":"Nothing to upload (e.g. empty file or not uploaded correctly)","content":{"text/plain":{"schema":{"type":"string","example":"Received empty file"}}}}}}},"/sourcemap":{"post":{"summary":"JavaScript source maps","description":"Upload JavaScript source map files to de-obfuscate bundled code and show human-readable stacktraces on your dashboard.\nThis is required if source maps are not publicly hosted.\n","operationId":"uploadSourcemap","tags":["JavaScript"],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"type":"object","required":["apiKey","minifiedUrl","sourceMap"],"properties":{"sourceMap":{"type":"string","format":"file","description":"The source map file to upload as a [form-data](https://en.wikipedia.org/wiki/MIME#Form-Data) file upload."},"apiKey":{"type":"string","description":"The API key for the application's project in BugSnag."},"minifiedUrl":{"type":"string","description":"The URL of the minified JavaScript file that the source map relates to. Asterisks can be used as a wildcard."},"appVersion":{"type":"string","description":"The version of the application."},"minifiedFile":{"type":"string","format":"file","description":"The minified JavaScript file that the source map relates to."},"overwrite":{"type":"boolean","description":"Whether to ignore and overwrite existing uploads with same identifier, rather than failing if a matching file exists. (Default: `true`)","default":true},"projectRoot":{"type":"string","description":"The root path of the project on the filesystem where the application was built. This is used to strip part of the path from the beginning of source file names in your dashboard."},"<source>":{"type":"string","description":"The source of each source file referenced by the source map.\nThe field name `<source>` should be the URL used to access the file, and the value should be the source file contents.\nAsterisks in the field name can be used as a wildcard.\n"}}}}}},"responses":{"202":{"description":"Accepted","content":{"text/plain":{"schema":{"type":"string","example":"Accepted"}}}},"400":{"description":"A required parameter is missing or the file format is invalid","content":{"text/plain":{"schema":{"type":"string"},"examples":{"A required parameter is missing":{"value":"missing required param: apiKey"},"Conflicting identifiers provided with codeBundleId":{"value":"only one of 'appVersion' and 'codeBundleId' can be provided\""}}}}},"401":{"description":"Invalid API key","content":{"text/plain":{"schema":{"type":"string","example":"invalid apiKey"}}}},"409":{"description":"Duplicate file already exists with the same identifier (use `overwrite` to replace)","content":{"text/plain":{"schema":{"type":"string","example":"duplicate source map file for <URL> version <app version>"}}}},"422":{"description":"Nothing to upload (e.g. empty file or not uploaded correctly)","content":{"text/plain":{"schema":{"type":"string","example":"Received empty file"}}}}}}},"/unity-line-mappings":{"post":{"summary":"Unity IL2CPP line number mappings","description":"Upload the generated line mappings file (`LineNumberMappings.json`) for Unity apps built with IL2CPP to allow C# line numbers to be displayed for iOS and Android apps.\n","operationId":"uploadUnityLineMappings","tags":["Unity"],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"type":"object","required":["mappingFile","apiKey"],"properties":{"mappingFile":{"type":"string","format":"file","description":"The line number mappings to upload as a [form-data](https://en.wikipedia.org/wiki/MIME#Form-Data) file upload.\n\nCan be either:\nA single `LineNumberMappings.json` file (generated by the IL2CPP tool when using the `--emit-source-mapping` option); or\na gzip compressed version of the file.\n"},"apiKey":{"type":"string","description":"The API key for the application's project in BugSnag."},"dsymUUID":{"type":"string","description":"The UUIDs of the dSYMs for the builds that this mapping file applies to. Multiple UUIDs can be provided by repeating the form field. At least one of dsymUUID or soBuildId must be provided."},"soBuildId":{"type":"string","description":"The build ID of the shared object file (.so) for the builds that this mapping file applies to. Multiple build IDs can be provided by repeating the form field. At least one of dsymUUID or soBuildId must be provided."},"appId":{"type":"string","description":"A unique application ID, usually the package name, of the application (application ID on Android or bundle ID on iOS)."},"appVersion":{"type":"string","description":"The version of the application."},"appVersionCode":{"type":"string","description":"The [versionCode](https://developer.android.com/studio/publish/versioning) for the application. (Android only)"},"appBundleVersion":{"type":"string","description":"The [appBundleVersion](https://developer.apple.com/documentation/bundleresources/information_property_list/cfbundleversion) for the application. (iOS only)"},"projectRoot":{"type":"string","description":"The root path of the project on the filesystem where the source files lie. This will be stripped off from the file name in the displayed stacktraces and improves error grouping."},"overwrite":{"type":"boolean","description":"If `true`, and one or more of the provided `dsymUUID` or `soBuildId` are already associated with a different line mappings file, they will be associated with this line mappings file instead.\n\nIf `false`, and one or more of the provided `dsymUUID` or `soBuildId` are already associated with a different line mappings file, the request will be rejected with a `409` error.\n\nNote: if the same line mappings file has already been uploaded, any of the provided `dsymUUID` or `soBuildId` that are not already associated will be associated with the line mappings file, regardless of the `overwrite` flag.\n","default":false}}}}}},"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"type":"string","example":"OK"}}}},"400":{"description":"A required parameter is missing or the file format is invalid","content":{"text/plain":{"schema":{"type":"string"},"examples":{"Missing required file":{"value":"missing required file: mappingFile"},"Missing required param":{"value":"missing required param: apiKey"},"Invalid file format":{"value":"Received invalid Unity mappings file"},"Invalid dSYM UUID":{"value":"invalid dsymUUID format: <id>"},"Invalid SO build ID":{"value":"invalid soBuildId format: <id>"},"Missing dSYM UUID and SO build ID":{"value":"missing required param: at least one of dsymUUID or soBuildId must be provided"}}}}},"401":{"description":"Indicates that the provided apiKey doesn’t correspond to a BugSnag project","content":{"text/plain":{"schema":{"type":"string","example":"invalid apiKey"}}}},"409":{"description":"One or more of the provided `dsymUUID`s or `soBuildId`s are already associated with a different line mappings file (use `overwrite` to replace)","content":{"text/plain":{"schema":{"type":"string","example":"Unity line mapping already exists for one or more of the supplied dSYM or shared object IDs"}}}},"422":{"description":"Indicates that the uploaded file is empty","content":{"text/plain":{"schema":{"type":"string","example":"Received empty file"}}}}}}}}}