API Documentation
LogBlazer has a single endpoint for ingesting logs. Send a POST request with your log data and it will appear in your dashboard. You can also attach monitor data to display the latest state on your project dashboard.
Base URL
https://app.logblazer.com Endpoint
/api/logs/{api_key}
The api_key is a UUID unique to each project. You can find it in your project settings on the LogBlazer dashboard. No other authentication is required — the key in the URL is your credential.
Request
Headers
Content-Type: application/json Body (JSON)
| Field | Type | Required | Description |
|---|---|---|---|
payload | string | Yes | The log message content. |
status | string | No | One of: SUCCESS, FAILURE, WARNING, NOTICE. Defaults to NOTICE. |
source | string | No | Identifies the origin of the log (e.g. web-server, cron-worker, deploy-script). Max 255 characters. |
monitor_title | string | No* | Display name for the monitor on your project dashboard (e.g. CPU Usage, Deploy Status). Max 255 characters. |
monitor_type | string | No* | One of: status, boolean, number, text. Determines how the value is displayed on the dashboard. |
monitor_value | string | No* | The current value for this monitor (e.g. healthy, true, 42). Max 255 characters. |
* Monitor fields are optional, but if any one is provided then all three (monitor_title, monitor_type, monitor_value) are required together.
Monitors
Monitors let you display the latest state of a value on your project dashboard. Each log entry can optionally include monitor data. The dashboard shows the most recent value for each unique monitor_title within a project.
Monitor types
| Type | Description |
|---|---|
status | A status label such as healthy, degraded, or down. |
boolean | A true/false value (e.g. true or false). |
number | A numeric value (e.g. 42, 99.8). |
text | Free-form text (e.g. v2.4.1, us-east-1). |
Example: sending a monitor
curl -X POST https://app.logblazer.com/api/logs/YOUR_API_KEY \
-H "Content-Type: application/json" \
-d '{
"payload": "Health check passed",
"status": "SUCCESS",
"source": "health-checker",
"monitor_title": "API Status",
"monitor_type": "status",
"monitor_value": "healthy"
}' Response
201 Created
{
"message": "Log received"
} 404 Not Found
Returned when the API key does not match any project.
422 Unprocessable Entity
Returned when validation fails (e.g. missing payload or invalid status value).
Examples
cURL
curl -X POST https://app.logblazer.com/api/logs/YOUR_API_KEY \
-H "Content-Type: application/json" \
-d '{"payload": "User signed up", "status": "SUCCESS", "source": "auth-service"}' JavaScript (fetch)
await fetch("https://app.logblazer.com/api/logs/YOUR_API_KEY", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({
payload: "Deployment finished",
status: "SUCCESS",
source: "deploy-script"
})
}); PHP
$response = Http::post("https://app.logblazer.com/api/logs/YOUR_API_KEY", [
'payload' => 'Database backup completed',
'status' => 'SUCCESS',
'source' => 'backup-worker',
]); Python
import requests
requests.post("https://app.logblazer.com/api/logs/YOUR_API_KEY", json={
"payload": "Cron job failed: timeout after 30s",
"status": "FAILURE",
"source": "cron-worker"
}) Bash (minimal)
# Minimum required — just the payload
curl -X POST https://app.logblazer.com/api/logs/YOUR_API_KEY \
-H "Content-Type: application/json" \
-d '{"payload": "Something happened"}' Quick reference
Authentication
API key in the URL path. No headers or tokens needed.
Content type
Always application/json.
Status values
SUCCESS, FAILURE, WARNING, NOTICE
Monitor types
status, boolean, number, text
Rate limits
None currently enforced.