Skip to main content

Edit symbol

Enterprise

This endpoint is part of Countly Enterprise. To get access, contact sales or compare versions. Existing customers can reach the support portal with questions.

Endpoint

/i/crash_symbols/edit_symbol

Overview

Updates symbol metadata and optionally replaces symbol files.

Authentication

Pass api_key or auth_token as a query parameter, or send countly-token as a header. See Authentication.

Permissions

  • Required permission: Update on the crashes feature

Request Parameters

ParameterTypeRequiredDescription
app_idStringYesApplication identifier
symbol_idStringYesSymbol document ID
platformStringNoUpdated platform
buildStringNoUpdated build (string, comma-list, or JSON array string)
noteStringNoUpdated note
symbolsFileNoReplace with one file
symbols[]File ArrayNoReplace/update JavaScript multi-file set
keepSymbols[]String ArrayNoJSON strings of files to keep for JavaScript multi-file symbols
api_keyStringYes (or auth_token)API key authentication
auth_tokenStringYes (or api_key)Auth token authentication

Examples

Example 1: Update metadata only

/i/crash_symbols/edit_symbol?api_key=YOUR_API_KEY&app_id=5f9c8a3b4d1e2a001f3b4567&symbol_id=65c5e0732c5f5300121a0020&note=Updated production symbols&build=1.4.3

Example 2: Replace JavaScript files and keep one existing file

curl -X POST "https://your-server.com/i/crash_symbols/edit_symbol" \
-F "api_key=YOUR_API_KEY" \
-F "app_id=5f9c8a3b4d1e2a001f3b4567" \
-F "symbol_id=65c5e0732c5f5300121a0020" \
-F "platform=javascript" \
-F 'keepSymbols[]={"name":"bundle.js.map","id":"tmp_123","size":1048576}' \
-F "symbols[]=@vendor.js.map"

Response

Success Response

{
"result": "Success"
}

When nothing changes:

{
"result": "Nothing to update"
}

Response Fields

FieldTypeDescription
resultStringOperation result

Error Responses

HTTP StatusResponse
400{ "result": "Missing Symbol ID" }
400{ "result": "This file extension is not allowed: ..." }
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": "Could not save symbol file data" }
404{ "result": "Symbol file document <id> not found" }
500{ "result": "Error when getting symbol file document" }
500{ "result": "Error when creating symbol file directory" }
500{ "result": "Error saving symbol files" }

Behavior

  • Supports both single-file and JavaScript multi-file replacement.
  • keepSymbols[] preserves selected existing JS files while adding new ones.
  • Deletes removed files from symbol storage after successful update.
Implementation details

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.