Hey there @pv_socal 👋
A couple of things stand out here:
The Bulk Contact Importer API (/api/3/import/bulk_import) is documented as a JSON-based import endpoint that expects a contacts array in the request body, not a CSV file upload.
For standard contact fields like First Name, the value needs to be sent as the top-level first_name property on each contact object. Custom fields are handled separately in the fields array using the custom field ID and value, so if only the custom field values are updating, that usually means the request is populating fields correctly but not passing first_name in the format expected by this endpoint.
Using email is correct here, since each contact in this import flow must include an email address and the endpoint supports creating new contacts and updating existing ones.
On your second question, this does appear to be intentional. The older bulk_import API has its own batch/status endpoints, while the newer file-upload import workflow has separate import history endpoints for recent imports. Based on that separation, batches submitted through /api/3/import/bulk_import would not be expected to appear in the UI’s Recent Imports list for file-based imports.
If your goal is specifically to upload a CSV file and have that import tracked in import history, you would want to use the newer file import endpoints instead (/api/3/import/upload or /api/3/import/ai/upload) rather than /api/3/import/bulk_import.
Let me know if you have any questions about any of the information I’ve shared and I’m glad to help out!