Skip to main content

REST API Ingestion

Use REST API ingestion only for trusted server-side integrations. Mobile, browser, and desktop clients should use the SDKs instead of calling this API directly.

Endpoint

https://sdk.drivemetadata.com/v2/data-collector

Request

curl --location 'https://sdk.drivemetadata.com/v2/data-collector' \
--header 'Content-Type: application/json' \
--header 'User-Agent: <user_agent>' \
--data '{
"metaData": {
"appDetails": {
"app_id": 3020,
"bundle": "com.example.app",
"name": "Example App",
"version": "545",
"build": "3.0.1.545"
},
"attributionData": {
"install_version": "",
"google_play_instant": ""
},
"device": {
"device_internal_id": "device_internal_id",
"google_advertising_id": "gaid",
"ad_tracking_enabled": true,
"make": "Google",
"model": "Pixel",
"platform": "Android",
"os_platform_version": "14",
"device_type": "Mobile",
"is_mobile": true,
"is_tablet": false,
"android_uuid": "android_uuid",
"cpu_architecture": "arm64",
"screen": {
"width": 1080,
"height": 2400,
"screen_dpi": 3
}
},
"ip": "203.0.113.10",
"ua": "<user_agent>",
"requestId": "b41f9095-2e35-404a-b504-14cb167e863d",
"requestReceivedAt": "2025-02-25 16:10:16",
"requestSentAt": "2025-02-25 16:10:16",
"timestamp": "2025-02-25 16:10:16",
"anonymousId": "5cf174b2-b1d5-418f-9796-e4bc71f94185",
"eventType": "install",
"requestFrom": "4",
"token": "server_or_ingestion_token",
"clientId": 1635
}
}'

Required Metadata

FieldDescription
metaDataRoot collector payload object.
appDetailsApp ID, bundle, name, version, and build details.
ipRequest IP address.
uaUser-agent string.
requestIdUnique request identifier.
requestReceivedAtUTC timestamp when the request was received by your system.
requestSentAtUTC timestamp when the request was forwarded to DriveMetaData.
timestampUTC event timestamp.
eventTypeEvent type such as install, purchase, or signup.
tokenToken provisioned by DriveMetaData for ingestion.
clientIdDriveMetaData client identifier.

Timestamps use YYYY-MM-DD HH:mm:ss in UTC.

Success Response

{
"eventCode": 200,
"success": true,
"message": "Your request has been submitted.",
"requestAcknowledgementID": "6226dbfc-ce05-47e4-b0ab-60395494a686"
}

Use requestAcknowledgementID when reconciling ingestion logs.

Error Response

Invalid keys or malformed payloads return an error response with details:

{
"eventCode": 403,
"success": false,
"message": "Unrecognized field \"requesstId\" ..."
}

Validate request keys against the ingestion model before sending production traffic.

Limits and Verification

  • Standard rate limit: 50 requests per second unless your plan states otherwise.
  • Use response status and requestAcknowledgementID for delivery checks.
  • Confirm ingestion in DriveMetaData conversion logs when available.
  • Use SDKs for client-side mobile, browser, and desktop integrations.

DriveMetaData conversion log verification