Hey everyone,
I’m currently working on a script that retrieves logs from one of our JSON sources and formats them into UDM events for ingestion into Google SecOps using the Ingestion API.
Here’s an example of the formatted UDM payload I’m trying to send:
{
"customerId": "Obfuscated",
"log_type": "Obfuscated",
"events": [
{
"metadata": {
"eventTimestamp": "2025-10-29T16:17:30.954000+00:00",
"eventType": "GENERIC_EVENT"
},
"additional": {
"severity": "DEBUG",
"message": "SUCCESS - Authorization Code Generated"
}
}
]
}
Whenever I include the log_type field, the API responds with:
[ERROR] HTTP 400 Bad Request
{
"error": {
"code": 400,
"message": "Request contains an invalid argument.",
"status": "INVALID_ARGUMENT"
}
}
However, if I remove the log_type field, the request succeeds and returns HTTP 200 OK.
According to Google’s documentation, the log_type parameter is required and should be included in the body as shown here:
👉 https://cloud.google.com/chronicle/docs/reference/ingestion-api
Has anyone else run into this issue? Is there something I’m missing in how the log_type parameter should be structured or where it should be placed in the request body?
Thanks in advance for any insights!
