The Atatus Log Ingest API allows you to send logs from any application, service, or script directly to Atatus over HTTP, without requiring a dedicated log agent or integration.

Prerequisites

You need an Ingest API Key to authenticate requests.

  1. Go to Atatus Dashboard → Settings → Account Settings → API Keys.
  2. Copy an existing key of type INGEST_LICENSE_KEY, or generate a new one.
Note:

Keep your API key secure. Do not expose it in client-side code or public repositories.

API Endpoint

POST https://intake-logs.atatus.com/ingest/v1/logs

Send a Single Log

copy
icon/buttons/copy
curl -X POST \
  -H "Content-Type: application/json" \
  -H "x-api-key: <YOUR_API_KEY>" \
  -d '{
    "source": "nodejs",
    "service": "order-service",
    "hostname": "order-server-27",
    "message": "Fatal error: Cannot open privilege tables: Table acme.orders does not exist"
  }' \
  "https://intake-logs.atatus.com/ingest/v1/logs"

Send Multiple Logs in a Batch

You can send an array of log objects in a single request to reduce HTTP overhead:

copy
icon/buttons/copy
curl -X POST \
  -H "Content-Type: application/json" \
  -H "x-api-key: <YOUR_API_KEY>" \
  -d '[
    {
      "source": "nodejs",
      "service": "order-service",
      "hostname": "order-server-27",
      "message": "Order #1042 created successfully"
    },
    {
      "source": "nodejs",
      "service": "order-service",
      "hostname": "order-server-27",
      "message": "Payment failed for order #1043: Gateway timeout"
    }
  ]' \
  "https://intake-logs.atatus.com/ingest/v1/logs"

Request Parameters

Headers

Header Required Description
Content-Type Required Must be application/json
x-api-key Required Your Atatus Ingest API Key. Find it here

Body Fields

Field Type Required Description
message string Required The log message content
source string Recommended The technology or language generating the log (e.g., nodejs, python, java)
service string Recommended The name of the service or application sending the log (e.g., order-service)
hostname string Recommended The hostname or identifier of the server sending the log
timestamp string Optional ISO 8601 timestamp (e.g., 2024-01-15T10:30:00Z). Defaults to the time of receipt if omitted

Example with All Fields

copy
icon/buttons/copy
{
  "source": "java",
  "service": "payment-service",
  "hostname": "payment-server-01",
  "timestamp": "2024-01-15T10:30:00Z",
  "message": "Payment gateway timeout after 30s for transaction ID txn_abc123",
}