> ## Documentation Index
> Fetch the complete documentation index at: https://docs.userpilot.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Row Validation Rules

> When preparing your HTTP import file, ensure that each row adheres to the following validation rules:.

When preparing your HTTP import file, ensure that each row adheres to the following validation rules:

1. **Default Metadata:** If an event does not include the `metadata` key, it will be automatically assigned an empty object (`{}` ).
2. **Identify Company Event Rules:** For events with `event_type` set to `identify_company`, only the following keys are processed: `company_id`, `source`, `inserted_at`, `metadata`. Any additional keys will be ignored.
3. **URL Parsing:** If the entry has a `url` key present, the `hostname` and `pathname` fields will be overridden based on the parsed values of the `url`.
4. **Auto Properties:** Fields like `browser` and `operating_system` are automatically derived from the `user_agent` property if included in your data.
5. **Allowed Values for `source`:**
   * `web-client`: Events come directly from a web client SDK, such as a browser or a front-end application. Must include `hostname`, `pathname`, and `user_agent`. You can provide a `url` field instead of `hostname` and `pathname`.
   * `backend-http`: Events captured from backend systems via direct HTTP integration.
   * `backend-hubspot`: Events imported from HubSpot integration.
   * `backend-salesforce`: Events imported from Salesforce integration.
   * `backend-segment`: Events forwarded through Segment integration.
   * `backend-http-import`: Events imported through the HTTP Bulk Import API.
