Skip to main content

HTTP

Send logs to Oodle using HTTP POST requests: from any application or system that can make HTTP requests.

Configuration

To send logs to Oodle via HTTP, you'll need the following values:

  • OODLE_INSTANCE: Your Oodle instance ID
  • OODLE_API_KEY: Your Oodle API key for authentication
  • OODLE_ENDPOINT: The Oodle endpoint URL for log ingestion

Sending Logs

Oodle can receive logs directly via HTTP POST requests. Here are a few minimal examples:

curl -X POST "https://<OODLE_ENDPOINT>/ingest/v1/logs" \
-H "Content-Type: application/json" \
-H "X-OODLE-INSTANCE: <OODLE_INSTANCE>" \
-H "X-API-KEY: <OODLE_API_KEY>" \
-d '{
"level": "info",
"timestamp": "2025-09-30T21:07:31.412Z",
"message": "Sample log message"
}'

Log Format

Logs should be sent as JSON objects, with a "message" key.

{
"message": "Your log message here",
"<OPTIONAL_ADDITIONAL_FIELD>": "<VALUE>"
}

Required Fields

  • message: The log message content

Supported Fields

The following table shows all fields Oodle supports. All of them are of type string. Any field not listed here, if sent, will be captured in the raw_log field, visible in Oodle Logs UI.

Field NameDescription
messageRequired. The log message content
timestampLog timestamp
levelLog level (debug, info, warn, error, etc.)
environmentEnvironment name (prod, staging, dev, etc.)
serviceName of the service generating the log
clusterCluster identifier
platformPlatform identifier
namespaceKubernetes namespace
log_groupLog group identifier
log_streamLog stream identifier
cloud_instance_idCloud instance identifier
nodeNode identifier
container_idContainer ID
container_imageContainer image name
container_nameContainer name
namespace_labelsKubernetes namespace labels (JSON string)
node_labelsNode labels (JSON string)
pod_labelsPod labels (JSON string)
pod_annotationsPod annotations (JSON string)
pod_ipPod IP address
pod_ipsPod IP addresses
pod_namePod name
lambda_arnAWS Lambda ARN
function_nameFunction name
task_definitionECS task definition
task_idTask identifier
trace_idDistributed tracing trace ID
span_idDistributed tracing span ID
launch_typeLaunch type (e.g., EC2, FARGATE)
source_typeSource type identifier

Timestamp and Time Formats

If the request doesn't contain timestamp, the timestamp of when the request was received is used.

The following formats are supported:

  • RFC 3339: 2006-01-02T15:04:05Z07:00
  • ISO 8601: 20060102T15:04:05.999999Z07:00
  • Epoch seconds
  • Epoch milliseconds
  • Epoch microseconds

Support

If you need assistance or have any questions, please reach out to us through:

  • The help chat widget in the bottom-right corner of this page
  • Email at support@oodle.ai