Bugsnag Android API

ProGuard/DexGuard/R8 mappings for obfuscated Java/Kotlin and NDK symbol files for shared object (.so) files

Operations 2

Each operation below carries the questions people ask an LLM about it and the instructions they give an agent to run it. Generated by API Evangelist overlay

POST /ndk-symbol Upload Android NDK shared object symbols · Android shared object files #
Ask an LLM
“How do I get readable native stack traces for my Android NDK crashes?”
“Can I upload a stripped .so file so native frames show function names?”
Tell an agent
Upload the NDK shared object file {soFile} for app {appId}.
Upload native symbols {soFile} for Android version code {versionCode} and overwrite any existing upload.
POST /proguard Upload an Android ProGuard mapping file · ProGuard mapping files #
Ask an LLM
“How do I deobfuscate Java stack traces from a minified Android build?”
“Can I send my R8 or ProGuard mapping.txt to BugSnag for a specific version code?”
Tell an agent
Upload ProGuard mapping {proguard} for app {appId} version code {versionCode}.
Send the R8 mapping file {proguard} for build UUID {buildUUID}.

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:bugsnag-android-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-android-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  version: '1'
  title: BugSnag - Upload Android API
  description: Upload symbol and mapping files to show full stacktraces in your BugSnag dashboard.
  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
paths:
  /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.

        In order to replace the obfuscated data with a human-readable stacktrace, a shared object (`.so`) file containing those symbols is required.

        This API relies on a build identifier generated by the NDK toolchain, see our docs for guidance on compatibility.'
      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
  /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.

        Mapping files generated by ProGuard, DexGuard and R8 are supported.'
      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.

                    This 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