Skip to main content

Add symbol

Endpoint

/i/crash_symbols/add_symbol

Enterprise Only
This API is available exclusively in Countly Enterprise.

Overview

Uploads a symbol/mapping file for dashboard-managed symbolication.

Authentication

  • Authentication methods:
    • API Key (parameter): api_key=YOUR_API_KEY
    • Auth Token (parameter): auth_token=YOUR_AUTH_TOKEN
    • Auth Token (header): countly-token: YOUR_AUTH_TOKEN

Permissions

  • Required permission: Create on the crashes feature

Request Parameters

ParameterTypeRequiredDescription
app_idStringYesApplication identifier
platformStringYesPlatform (android, ios, javascript, android_native, etc.)
buildStringYesBuild identifier; supports comma-separated list or JSON array string
symbolsFileYes for single-file uploadsUploaded file
symbols[]File ArrayYes for JavaScript multi-file uploadsMultiple source map files
noteStringNoNote saved in symbol document
sym_tool_verStringNoSymbol tool version
api_keyStringYes (or auth_token)API key authentication
auth_tokenStringYes (or api_key)Auth token authentication

Response

Success Response

{
"message": "Success",
"_id": "65c5e0732c5f5300121a0020"
}

Response Fields

FieldTypeDescription
messageStringSuccess message
_idStringCreated symbol document ID

Error Responses

HTTP StatusResponse
400{ "result": "Missing platform" }
400{ "result": "Missing build information" }
400{ "result": "Missing symbols/mapping file" }
400{ "result": "Multiple symbol files are only allowed for javascript platform" }
400{ "result": "The number of files uploaded exceeds the maximum allowed" }
400{ "result": "These file extensions are not allowed: ..." }
400{ "result": "This file extension is not allowed: ..." }
400{ "result": "Could not save symbol file data" }
500{ "result": "Error creating symbol file directory" }
500{ "result": "Error saving symbol files" }

Behavior/Processing

  1. Validates platform/build and uploaded file(s).
  2. Allows multiple files only for JavaScript platform.
  3. Enforces max file count via crashes.max_symbol_file (default 10).
  4. Saves files into crash_symbols storage and metadata into app symbol collection.

Database Collections

CollectionUsed forData touched by this endpoint
countly.app_crashsymbols{app_id}Endpoint data sourceStores endpoint-related records this endpoint reads or modifies.
countly_fs.crash_symbolsEndpoint data sourceStores endpoint-related records this endpoint reads or modifies.

Examples

Example 1: Upload single Android mapping file

curl -X POST "https://your-server.com/i/crash_symbols/add_symbol" \
-F "api_key=YOUR_API_KEY" \
-F "app_id=5f9c8a3b4d1e2a001f3b4567" \
-F "platform=android" \
-F "build=1.4.2" \
-F "symbols=@mapping.txt" \
-F "note=Android production mapping"

Example 2: Upload JavaScript source maps

curl -X POST "https://your-server.com/i/crash_symbols/add_symbol" \
-F "api_key=YOUR_API_KEY" \
-F "app_id=5f9c8a3b4d1e2a001f3b4567" \
-F "platform=javascript" \
-F "build=web-2026.02.15" \
-F "symbols[]=@bundle.js.map" \
-F "symbols[]=@vendor.js.map"

Limitations

  • Allowed extensions: .gz, .map, .txt, .zip.
  • Multiple file upload is JavaScript-only.
  • Max file count for JavaScript is config-driven (crashes.max_symbol_file, default 10).

Ⓔ Enterprise

This feature is part of Countly Enterprise.

Get Access:

Already a Customer? Use support portal if you have any questions


Last Updated

2026-02-16