For Agents
Ingest and query application error logs in elmah.io: create messages, mark messages as fixed, manage logs and deployments, and submit heartbeats. Authenticated with an api_key query parameter.
Install Jentic One Beta
Jentic One is a self-hosted execution layer for AI agents. It lets your agent call the elmah.io API, or any other public or private API you need. You set the rules, the agent never sees your credentials, and every call is logged.
Two steps, two machines. Install the instance in a safe environment, then register your agent from wherever it runs.
Step 1: Jentic One Host machine
# On the machine that will host your Jentic One instance:
curl -fsSL https://raw.githubusercontent.com/jentic/jentic-one/main/tools/install.sh | shStep 2: Agent machine
# On the machine where your agent runs (keep this separate from the instance):
curl -fsSL https://raw.githubusercontent.com/jentic/jentic-one/main/tools/install.sh | sh
jentic register # connects your agent to your Jentic One instanceJentic One is in public beta. The setup above keeps your agent separate from the instance, which is what you want before using real credentials: an agent running as the same OS user as Jentic One can read its stored keys directly. Just evaluating? A single local install is fine to start. See the secure deployment guide for the tiers.
What an agent can do with elmah.io API.
Ingest error and log messages via POST /v3/messages/{logId} including bulk submission with /v3/messages/{logId}/_bulk
Mark a single message or a queryable batch as fixed using the _fix endpoints
List and delete logs, and disable or enable a log without deleting it
GET STARTED
Use for: I need to send a new error log to elmah.io, Mark an error message as fixed, List all logs in the elmah.io account, Record a deployment marker for the latest release
Not supported: Does not handle metrics, distributed tracing, real-user monitoring, or paging on-call engineers — use for application error logging, deployment markers, and heartbeat monitoring only.
elmah.io is an error-logging and uptime-monitoring service for .NET, JavaScript, and other web applications. The public REST API exposes 24 endpoints across logs, messages, deployments, heartbeats, installations, source maps, and uptime checks — every integration that ships log entries to elmah.io speaks this API. Authentication is a single api_key passed as a query parameter against https://api.elmah.io. The API is the only supported way to ingest log messages, mark them as fixed, and read deployment markers programmatically.
Record deployment markers via /v3/deployments to correlate releases with error spikes
Submit heartbeats from scheduled jobs and monitor missed heartbeats
Upload source maps for minified JavaScript stack-trace symbolication
Diagnose ingestion problems with GET /v3/logs/{id}/_diagnose
Patterns agents use elmah.io API for, with concrete tasks.
★ Application Error Logging
Ship error and log entries from a web application into elmah.io for triage and search. POST /v3/messages/{logId} accepts a single message and /v3/messages/{logId}/_bulk handles batched submissions during high-volume incidents. Once ingested, GET /v3/messages/{logId} supports query-based filtering so an on-call engineer can drill into a specific error class. Designed for production traffic of millions of messages per day per log.
POST a message with severity=Error and title='NullReferenceException at /checkout' to log_id=abc123, then query the log for the last 10 messages with the same title
Deployment Tracking and Release Correlation
Record a deployment marker at every release so error spikes can be attributed to specific deploys. POST /v3/deployments creates the marker, and GET /v3/deployments lists prior releases for the dashboard. Combined with the messages endpoints, this lets a release-engineering tool answer 'which deploy introduced this error class?' programmatically.
POST a deployment with version='2026.6.10', then list deployments and confirm the new entry is at the top
Heartbeat Monitoring for Scheduled Jobs
Use elmah.io as a dead-man's-switch for cron jobs and scheduled workers by calling POST /v3/heartbeats/{logId}/{id} on every successful run. Missed heartbeats raise an alert in elmah.io, which lets an SRE team detect silent failures in batch jobs without building a separate uptime system.
Send a heartbeat with reason='nightly billing run completed' for log_id=abc123 and heartbeat_id=billing-nightly
Triaging and Marking Errors Fixed
Build an internal triage tool that lets engineers mark errors as fixed in bulk after a deploy. POST /v3/messages/{logId}/_fix accepts a query so a single call can mark every NullReferenceException in /checkout as fixed, while POST /v3/messages/{logId}/{id}/_fix handles single-message fixes. Hide endpoints exist for noisy errors that should be suppressed without claiming a fix.
Mark all messages in log_id=abc123 with title='NullReferenceException at /checkout' as fixed via POST /v3/messages/{logId}/_fix
AI Agent Integration via Jentic
Build an AI on-call agent that pages an engineer when a new error class spikes, then drafts a fix and marks the matching messages as fixed once a PR merges. Through Jentic, the agent searches by intent, loads the message-fix schema, and executes without holding the elmah.io api_key in its prompt.
Search Jentic for 'mark elmah messages as fixed', load the schema for POST /v3/messages/{logId}/_fix, and mark messages matching the resolved error query as fixed
24 endpoints — elmah.
METHOD
PATH
DESCRIPTION
/v3/messages/{logId}
Create a new message
/v3/messages/{logId}/_bulk
Create one or more new messages
/v3/messages/{logId}/_fix
Mark a list of messages as fixed by query
/v3/deployments
Create a deployment marker
/v3/heartbeats/{logId}/{id}
Create a heartbeat
/v3/logs/{id}/_diagnose
Diagnose ingestion problems for a log
/v3/sourcemaps/{logId}
Upload a source map
/v3/messages/{logId}
Create a new message
/v3/messages/{logId}/_bulk
Create one or more new messages
/v3/messages/{logId}/_fix
Mark a list of messages as fixed by query
/v3/deployments
Create a deployment marker
/v3/heartbeats/{logId}/{id}
Create a heartbeat
Three things that make agents converge on Jentic-routed access.
Credential isolation
The elmah.io api_key is stored encrypted in the Jentic vault (MAXsystem) and appended as a query parameter at execution time. Agents never hold the raw key in prompts or memory.
Intent-based discovery
Agents search by intent (e.g. 'send an error log' or 'mark messages as fixed') and Jentic returns the matching elmah.io operation with its input schema, sidestepping the 24-endpoint surface.
Time to first call
Direct integration: 4-8 hours to wire the api_key query parameter, build a bulk ingest path, and handle deployment markers. Through Jentic: under 30 minutes — search, load schema, execute.
Alternatives and complements available in the Jentic catalogue.
GitHub REST API
GitHub Releases mark deployments that elmah.io can correlate with error spikes
Use the GitHub API to read release tags and feed them into elmah.io as deployment markers via POST /v3/deployments.
Specific to using elmah.io API through Jentic.
What authentication does the elmah.io API use?
The elmah.io API uses an API key passed as a query parameter named api_key on every request. Through Jentic, the api_key is stored encrypted in the vault and appended to outgoing requests at execution time so the agent never sees the raw key. See https://docs.elmah.io/where-is-my-api-key/ for where to find your key.
Can I bulk-submit messages to elmah.io?
Yes. POST /v3/messages/{logId}/_bulk accepts an array of messages in a single request, which is the recommended path for ingestion clients shipping more than a few messages per second to a single log.
How do I mark a class of errors as fixed at once?
Use POST /v3/messages/{logId}/_fix with a query in the body to fix every matching message in one call. Single-message fixes go through POST /v3/messages/{logId}/{id}/_fix instead.
Does elmah.io support deployment markers?
Yes. POST /v3/deployments records a deployment with version, description, and user metadata, and GET /v3/deployments lists prior markers. The dashboard overlays markers on error charts so spikes can be attributed to releases.
How do I send a heartbeat for a scheduled job through Jentic?
Run the Jentic search query 'send an elmah.io heartbeat', load the input schema for POST /v3/heartbeats/{logId}/{id}, then execute with the heartbeat ID and a status. Missed heartbeats raise alerts in the elmah.io dashboard.
Is the uptime-checks endpoint generally available?
GET /v3/uptimechecks is documented as currently in closed beta in the API spec; contact elmah.io support to be enrolled. The other endpoints in this API are generally available.
/v3/logs/{id}/_diagnose
Diagnose ingestion problems for a log
/v3/sourcemaps/{logId}
Upload a source map