Skip to main content

/i/apps/delete

Endpoint

/i/apps/delete

Overview

Delete an app and trigger full app-data cleanup across core and integrated feature datasets.

Authentication

  • 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

  • Global admin permission is required by route-level validation.

Request Parameters

ParameterTypeRequiredDescription
api_keyStringYes (or use auth_token)Dashboard API authentication key.
auth_tokenStringYes (or use api_key)Dashboard auth token.
argsJSON String (Object)YesDelete payload.

args Object Structure

FieldTypeRequiredDescription
app_idStringYesApp ID to delete.

Response

Success Response

{
"result": "Success"
}

Response Fields

FieldTypeDescription
resultStringDeletion status string.

Error Responses

Status Code: 400 Bad Request

{
"result": "Error: Validation error details"
}

Status Code: 403 Forbidden

{
"result": "Application is locked"
}

Status Code: 500 Internal Server Error

{
"result": "Error deleting app"
}

Behavior/Processing

Behavior Modes

ModeTriggerProcessing PathResponse Shape
App deleteApp exists and is not lockedRemoves app record, removes app image, clears app references in members/groups, starts app data cleanup flow.Wrapped string { "result": "Success" }
Locked app blockedApp exists and locked is trueRejects deletion without cleanup.Wrapped string { "result": "Application is locked" }

Impact on Other Data

  • Removes app permission references from member and group documents.
  • Removes app-user collections and app-merge collections.
  • Removes aggregated and granular analytics data for the app.
  • Dispatches app-delete integration hooks for additional feature cleanup.

Database Collections

CollectionUsed forData touched by this endpoint
countly.appsApp definition removalDeletes the target app document.
countly.membersPermission cleanupPulls deleted app from apps, admin_of, user_of, and permission maps.
countly.groupsGroup permission cleanupRemoves deleted app from group permission structures when Groups is enabled.
countly.app_users{appId}App-user data cleanupDrops app-user profile collection for deleted app.
countly.app_user_mergesMerge metadata cleanupRemoves merge metadata entries for deleted app.
countly.app_user_merges{appId}Legacy merge cleanupDrops app-specific merge collection.
countly.users, countly.carriers, countly.devices, countly.device_details, countly.citiesAggregated analytics cleanupRemoves app-scoped aggregated analytics documents.
countly.top_eventsTop events cleanupRemoves top-events rows for the deleted app.
countly.eventsEvent metadata cleanupRemoves app event metadata document.
countly.events_dataEvent aggregate cleanupRemoves app event aggregate documents.
countly.long_tasksTask cleanupDeletes app-scoped long-task records and results.
countly.notesNotes cleanupRemoves app-scoped notes.
countly_drill.drill_eventsGranular event cleanupRemoves app granular events through granular-data cleanup flow.
countly_drill.drill_metaDrill metadata cleanupRemoves app drill metadata documents.
countly_fsApp image cleanupDeletes app image from app image storage.

Examples

Example 1: Delete app

/i/apps/delete?api_key=YOUR_API_KEY&args={"app_id":"64b0ac10c2c3ce0012dd1001"}
{
"result": "Success"
}

Operational Considerations

  • This endpoint is destructive and should be treated as irreversible.
  • Cleanup spans many collections and integrations; endpoint success means cleanup was initiated and core deletion path completed.
  • For large apps, full cleanup can take noticeable time across background operations.

Limitations

  • Locked apps cannot be deleted.
  • Route-level validation requires global admin access.

Last Updated

2026-02-17