Skip to main content

Data Manager Validations - Approve

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

/o/data-manager/validations/approve

Overview

Approves selected validation records and marks them resolved.

Authentication

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

Permissions

Requires data_manager Read permission for this endpoint.

Request Parameters

ParameterTypeRequiredDescription
app_idStringYesTarget app ID.
validationIdsJSON String (Array)YesArray of validation document IDs to approve.
api_keyStringConditionalRequired if auth_token is not provided.
auth_tokenStringConditionalRequired if api_key is not provided.

validationIds Array Structure

validationIds is a JSON-stringified array of validation record IDs.

Decoded example:

["67b85e7a9f2d3e0012ab9c10", "67b85e7a9f2d3e0012ab9c11"]

Parameter Semantics

FieldExpected valuesBehavior
validationIdsJSON array of document IDsMust be a JSON-stringified array of validation record IDs.
Validation targetevent / segmentDrives whether event status or segment status is updated in drill_meta.
Validation typeunexpected, unplanned, GLOBAL_REGEX, SEGMENT_REGEX, data_type_mismatch, missing_segmentationOnly unexpected/unplanned trigger approval meta updates; others are effectively no-op for approval path.

Examples

Approve multiple validation records

/o/data-manager/validations/approve?
app_id=64f5c0d8f4f7ac0012ab3456&
validationIds=["67b85e7a9f2d3e0012ab9c10","67b85e7a9f2d3e0012ab9c11"]

Approve a single segment validation

/o/data-manager/validations/approve?
app_id=64f5c0d8f4f7ac0012ab3456&
validationIds=["67b85e7a9f2d3e0012ab9c10"]

Response

Success Response

Full success:

"Success"

Partial failures:

{
"67b85e7a9f2d3e0012ab9c10": "failed"
}

Response Fields

FieldTypeDescription
(root value)String"Success" on full success.
validationIdStringPresent in partial-failure map output, value "failed".

Error Responses

  • 500
{
"result": "Error"
}

Behavior

Behavior Modes

ModeTriggerProcessing PathResponse Shape
Full successAll selected items processedUpdates drill meta/status where applicable, marks validations resolved, logs approvals."Success"
Partial failureSome validation items cannot be approved (for example missing parent event for segment target)Skips failed item(s), tracks failure map, continues other items.Object keyed by validation ID with "failed"

Impact on Other Data

  • Updates countly_drill.drill_meta for approved event/segment statuses.
  • Updates countly.validation_errors{appId} to set resolved=true and lastresolvedAt.
  • Invalidates Data Manager cache for app.

Operational Considerations

  • Handler processes validations sequentially to preserve parent-event/segment dependency behavior.

Limitations

  • Malformed validationIds JSON returns generic 500 Error.
  • This endpoint currently requires Read permission even though it mutates data.
Implementation details

Audit & System Logs

ActionTriggerPayload
dm-event-approveApproved event-level validation{ event: JSON.stringify(eventMeta), ev: validation.event }
dm-segment-approveApproved segment-level validation{ event: JSON.stringify(eventMeta), ev: validation.event, segment: validation.segment }

Database Collections

CollectionUsed forData touched by this endpoint
countly.validation_errors{appId}Validation workflow stateMarks selected validations as resolved and updates resolution timestamps.
countly_drill.drill_metaEvent/segment approval stateUpdates event or segment status metadata for approve-eligible validation types.
countly.systemlogsAudit trailWrites dm-event-approve / dm-segment-approve for processed approvals.