Submit feedback
string
required
issue or feature_request. Any other value is treated as issue.string | number | boolean | string[]
A field configured in Settings → Feedback. Required fields must be present. Email and URL fields are validated; attachment fields accept image data URIs.
string | number | boolean
Up to 20 scalar fields not in the saved configuration. Extra strings are stripped of HTML and truncated to 500 characters.
200:
Configured
text fields are truncated to 500 characters and long_text fields to 10,000. A configured attachment field accepts up to 5 PNG, JPEG, or WebP data:image/...;base64,... values; an image whose base64 content exceeds 5 * 1024 * 1024 * 1.4 characters is skipped. Unknown arrays and objects are not stored.
Ingest App Logs
x-aiola-key is preferred. Authorization: Bearer <project-key> is also accepted. See App Logs over HTTP for complete runtime examples.
string
Human-readable event message. At least
message or exception is required.string
The dashboard understands
fatal, error, warning, info, and debug. The endpoint accepts and stores any string; an absent or empty value defaults to error.object
Exception
type, value, and optional stacktrace.frames.object
String key/value metadata.
environment and release tags are fallbacks for their top-level fields. A numeric status_code tag is clamped to 0–65535.array
Prior events with
timestamp, category, message, optional level, and optional data.object
Optional
url, method, headers, query_string, and body.string
string
string
string
An ISO 8601 timestamp. Invalid or absent values use the current time.
object
Optional
id, email, username, and ip_address.object
Optional
browser, os, device, and runtime objects.200:
Messages and exception values are truncated after 8,192 characters, stack frames after 200, breadcrumbs to the newest 100, and tags to the first 50. Tag values, retained request-header values, and user ID/email/username are capped at 500 characters; request bodies at 4,096. The ingest removes
authorization, cookie, set-cookie, x-aiola-key, x-api-key, x-auth-token, and proxy-authorization request headers.
Collect browser analytics
string
required
The site’s public analytics tracking ID.
string
An 8–64 character hexadecimal/hyphen ID. The collector creates a UUID if it is absent or invalid.
number
Per-page event sequence, clamped to
0–4294967295.string
Tracker version. The current browser tracker sends
2.string
Empty for a page view;
_leave, _identify, and custom names have special handling.string
JSON serialized as a string.
string
string
string
When present, must equal the configured domain or one of its subdomains. Omitting it bypasses host authorization and loses the event’s host value, so the collector cannot distinguish production, preview, and other hosts.
string
string
string
string
string
string
string
number
Seconds, clamped to
0–3600.204 with no response body. Excluded traffic and recognized bot traffic also return 204; a 204 therefore means accepted or intentionally ignored, not necessarily stored as a human event.
The browser tracker sends at most 30 events per 10 seconds. It truncates event names to 100 characters and replaces
event_data with {} when its serialized length exceeds 6,000 characters. The collector caps paths and queries at 2,000 characters, host and title at 500, identity at 200, and screen/language at 20; collector-side event_name storage is capped at 200 and event_data is replaced with {} beyond 8,000.
Ingest bot and crawler analytics
string
required
The site’s public analytics tracking ID.
string
Requested path; defaults to
/ and is capped at 2,000 characters.string
When present, must equal the configured domain or one of its subdomains; capped at 500 characters. Omitting it bypasses host authorization and stores no host, so crawler telemetry cannot be attributed or filtered by hostname.
string
required
The crawler’s original User-Agent. It is capped at 1,000 characters and must match a crawler in AI Crawlers.
string
Optional two-letter uppercase country code.
T1, XX, and invalid values are stored as empty.number
HTTP status returned to the crawler. Defaults to
200; values outside 100–599 become 200.204 with no response body. Unknown crawler User-Agents are intentionally ignored with the same 204 response.
Owner-side endpoints
These endpoints belong to the signed-in desktop application. They require an Aiola user session and subscription access through the app’s authenticated request client; a project key is not accepted.
See Setup Health for scan results and remediation behavior.

