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
| Field | Description |
|---|---|
metaData | Root collector payload object. |
appDetails | App ID, bundle, name, version, and build details. |
ip | Request IP address. |
ua | User-agent string. |
requestId | Unique request identifier. |
requestReceivedAt | UTC timestamp when the request was received by your system. |
requestSentAt | UTC timestamp when the request was forwarded to DriveMetaData. |
timestamp | UTC event timestamp. |
eventType | Event type such as install, purchase, or signup. |
token | Token provisioned by DriveMetaData for ingestion. |
clientId | DriveMetaData 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
requestAcknowledgementIDfor delivery checks. - Confirm ingestion in DriveMetaData conversion logs when available.
- Use SDKs for client-side mobile, browser, and desktop integrations.
