XpoLog search API

Run a search from a URL and get XML or CSV back — the searchAPI call with its time frames, pagination, limits and error codes — export a dashboard as PDF, open the Search console on a query, and use the datastream function as a volume feed.

What you will do: run a search over HTTP/S from a script and read the rows back as CSV or XML.

The product's URL-based API lives on your deployment under the /logeye context — port 30303 or 30443 on V7, the ui role's port or the Traefik edge on X8. When security is active, every call must sign in: append &autoLogin=true&username=<user>&password=<password> to the URL. That is the only mechanism the wiki documents for the URL API (no token or API key on the product side — pending engineering), so keep calls on HTTPS, give scripts a dedicated user with a View-Only policy (Policies), and prefer the SDK or a reverse proxy for anything exposed beyond the console.

Search

GET /logeye/view/api/widgetAPI.jsp?widgetId=searchAPI&searchQuery=<query>&fixedInterval=<interval>
    &startTimeFullStr=<start>&endTimeFullStr=<end>&maxNumOfRecords=<n>&resultFormat=xml|csv
    &paginate=true|false&token=<token>&maxRecordsPerPage=<n>&timeout=<ms>&abortOn=<n>
ParameterMeaning
searchQueryA query in the search language, as typed in the Search console (URL-encode it); see Search language reference
fixedIntervalOne of last15Minutes, last30Minutes, last60Minutes, last3Hours, last12Hours, last24Hours, last7Days, last14Days, last1Months, last6Months, currentDay, previousDay, currentWeek, previousWeek, allData — exactly as listed; not together with the explicit times
startTimeFullStr, endTimeFullStrBoth, in the system's date format (default MM/dd/yyyy HH:mm:ss), only when fixedInterval is absent
maxNumOfRecordsMaximum rows in the result; default from the system property widgets.searchAPI.maxNumOfRecords (100 unless changed)
resultFormatxml or csv, lower case
paginatetrue returns a token for the execution and the first page
tokenThe token from the first paginated call; each further call with it returns the next page — forward only
maxRecordsPerPageRows per page; default 100
timeoutMilliseconds the query may run; beyond it the search stops with error 3
abortOnMaximum number of results; beyond it the search stops with error 2

The response is an XML document:

<APIResult>
  <Status state="OK|Fail" token="<execution token or empty>" numberOfResults="<n>">
    <Url><!-- when OK: the file that holds the result --></Url>
    <Message><!-- when Fail --></Message>
  </Status>
  <Data><!-- the rows; CSV is wrapped in CDATA --></Data>
</APIResult>

Data carries the rows unless the result is larger than the system-configured limit; then it is empty and Url points at the result file to download. Failures carry one of:

CodeMeaning
1Internal error — retry, then contact support
2Results exceed the allowed threshold (abortOn or the system limit)
3Request timeout
4Request cancelled
5Resources exceeded — the search could not run with the available resources

Examples (replace host, port, log and app names):

/logeye/view/api/widgetAPI.jsp?widgetId=searchAPI&searchQuery=error%20or%20fail*%20in%20log.log4j*&startTimeFullStr=01/01/2026%2000:00:00&endTimeFullStr=02/02/2026%2000:00:00&maxNumOfRecords=1000&resultFormat=csv
/logeye/view/api/widgetAPI.jsp?widgetId=searchAPI&searchQuery=error%20or%20exception&fixedInterval=last7Days&maxNumOfRecords=1000&resultFormat=xml
/logeye/view/api/widgetAPI.jsp?widgetId=searchAPI&searchQuery=*%20in%20app.Windows%20Event%20Logs%20|%20count%20|%20group%20by%20event&fixedInterval=last7Days&resultFormat=csv&autoLogin=true&username=<user>&password=<password>

Dashboard as PDF

GET /logeye/view/api/dashboardAPI.jsp?action=export&appName=<App>&viewName=<Dashboard>

Returns the latest result of the dashboard as a PDF; app and dashboard names are case-insensitive. The same export exists in the console — see Saved searches and export.

Open the Search console on a query

GET /logeye/search/view/loadSearchModel.jsp?searchQuery=<query>&fixedInterval=<interval>
GET /logeye/search/view/loadSearchModel.jsp?searchQuery=<query>&startTimeFullStr=<start>&endTimeFullStr=<end>

Opens the Search console with the query executed — the link to put behind a dashboard, a ticket or a monitor alert.

A volume feed

The datastream search function returns the number of events and the volume in bytes collected for the selected period, per source when grouped; through the search API it is the product-side feed of what was ingested:

* | datastream | group by ext.log, ext.folder, ext.server | order by data volume desc | display data volume in volume format

Per folder or AppTag, the collectedDataInfo call on the Configuration API gives the counts of defined and collected logs. dock's own usage meters arrive with the heartbeat — see Usage (sign in to read).

Rate limits for the URL API are not documented — pending engineering; size the calls with maxNumOfRecords, timeout and abortOn.

Next: PortX ingest HTTP API

Source: XPLG wiki, pages 1594753063, 1597014014, 1602584807, 1594130424, 1594130411 (https://xpolog.atlassian.net/wiki/spaces/XPOL/pages/1594753063). Pending from XPLG engineering: a token or API key for the product URL API; rate limits.

XPLGXPLG
Docs

Search documentation

Search through help articles and documentation

    • Introduction
    • Create your account and workspace
    • Your first deployment in 10 minutes
    • Configure after installation
    • Register a deployment
    • Get an evaluation license
    • Next steps
    • Glossary
    • Overview and authentication
    • Product API and SDK
    • XpoLog search API
    • PortX ingest HTTP API
    • Configuration API
    • SDK and CLI reference
    • Endpoint index
Back to XPLG Dock