Untils logo untils Docs
Sign in

Last updated 17 May 2026

API reference

Methods

Get monitor

Returns a monitor.

Request

GET /api/monitor.get?monitor_id=MONITOR_ID
Parameters
monitor_id integer required query
Formatted as int64.

The monitor ID.

curl \
  -H 'Authorization: Bearer YOUR_API_TOKEN' \
  'https://untils.com/api/monitor.get?monitor_id=MONITOR_ID'

Responses

200 response

Monitor details.

Attributes

error APIError or null

Always null for successful responses. Error details are returned by non-2xx responses.

data object
data.type string
Always monitor.
data.monitor Monitor

A monitor configured to watch a subject for new results.

Example
{
  "error": null,
  "data": {
    "type": "monitor",
    "monitor": {
      "type": "monitor",
      "id": 42,
      "created_at": "2026-05-17T10:30:00Z",
      "status": "active",
      "subject": "Latest movie by Quentin Tarantino"
    }
  }
}

List monitor results

Returns results for a monitor.

Results are ordered newest first. Hidden results are included.

Request

GET /api/results.list?monitor_id=MONITOR_ID
Parameters
monitor_id integer required query
Formatted as int64.

The monitor ID.

page integer query

Page number to return. Defaults to 1.

per_page integer query

Maximum results to return. Defaults to 50.

curl \
  -H 'Authorization: Bearer YOUR_API_TOKEN' \
  'https://untils.com/api/results.list?monitor_id=MONITOR_ID'

Responses

200 response

Monitor results.

Attributes

error APIError or null

Always null for successful responses. Error details are returned by non-2xx responses.

data object
data.type string
Always results.
data.results array of Result
data.links PaginationLinks

Pagination links for a list response.

Example
{
  "error": null,
  "data": {
    "type": "results",
    "results": [
      {
        "type": "result",
        "id": 101,
        "hidden": false,
        "correction": null,
        "headline": "Once Upon a Time in Hollywood",
        "subtitle": "Released: Jul 26, 2019",
        "fields": [
          {
            "type": "result_field",
            "name": "Result",
            "value": "Once Upon a Time in Hollywood"
          },
          {
            "type": "result_field",
            "name": "Released",
            "value": "2019-07-26"
          }
        ]
      }
    ],
    "links": {
      "next": "https://untils.com/api/results.list?monitor_id=42&page=2",
      "prev": null
    }
  }
}

List latest results

Returns the 30 latest results across all active and paused monitors.

Results are ordered newest first, and hidden results are excluded.

Each item is a result summary with the monitor fields needed to render a cross-monitor activity feed.

Request

GET /api/results.list_latest
curl \
  -H 'Authorization: Bearer YOUR_API_TOKEN' \
  'https://untils.com/api/results.list_latest'

Responses

200 response

Latest monitor results.

Attributes

error APIError or null

Always null for successful responses. Error details are returned by non-2xx responses.

data object
data.type string
Always result_summaries.
data.result_summaries array of ResultSummary
Maximum 30 items.
Example
{
  "error": null,
  "data": {
    "type": "result_summaries",
    "result_summaries": [
      {
        "type": "result_summary",
        "id": 101,
        "monitor_id": 42,
        "monitor_subject": "Latest movie by Quentin Tarantino",
        "created_at": "2026-05-17T10:30:00Z",
        "headline": "Once Upon a Time in Hollywood",
        "subtitle": "Released: Jul 26, 2019",
        "fields": [
          {
            "type": "result_field",
            "name": "Result",
            "value": "Once Upon a Time in Hollywood"
          },
          {
            "type": "result_field",
            "name": "Released",
            "value": "2019-07-26"
          }
        ]
      }
    ]
  }
}

Webhooks

untils sends webhook notifications as JSON POST requests to configured webhook targets.

WebhookTestPayload

Payload sent from the webhook settings page to verify that a target can receive messages.

Attributes

type string

The type of this object.

Always webhook_message.
message object
message.type string
Always test.
message.hello_world string
Always Glad you're here.

Example

{
  "type": "webhook_message",
  "message": {
    "type": "test",
    "hello_world": "Glad you're here"
  }
}

WebhookNewResultsPayload

Payload sent when a monitor finds new results.

Attributes

type string

The type of this object.

Always webhook_message.
message object
message.type string
Always new_results.
message.monitor Monitor

A monitor configured to watch a subject for new results.

message.new_results array of Result
Minimum 1 items.
message.old_result Result

A result found by a monitor.

Example

{
  "type": "webhook_message",
  "message": {
    "type": "new_results",
    "monitor": {
      "type": "monitor",
      "id": 42,
      "created_at": "2026-05-17T10:30:00Z",
      "status": "active",
      "subject": "Latest movie by Quentin Tarantino"
    },
    "new_results": [
      {
        "type": "result",
        "id": 101,
        "hidden": false,
        "correction": null,
        "headline": "Once Upon a Time in Hollywood",
        "subtitle": "Released: Jul 26, 2019",
        "fields": [
          {
            "type": "result_field",
            "name": "Result",
            "value": "Once Upon a Time in Hollywood"
          },
          {
            "type": "result_field",
            "name": "Released",
            "value": "2019-07-26"
          }
        ]
      }
    ],
    "old_result": {
      "type": "result",
      "id": 100,
      "hidden": false,
      "correction": null,
      "headline": "The Hateful Eight",
      "subtitle": "Released: Dec 25, 2015",
      "fields": [
        {
          "type": "result_field",
          "name": "Result",
          "value": "The Hateful Eight"
        },
        {
          "type": "result_field",
          "name": "Released",
          "value": "2015-12-25"
        }
      ]
    }
  }
}

Types

APIError

Error details returned when a request cannot be completed.

Attributes

code string

A stable machine-readable error code.

message string

A human-readable explanation of the error.

Monitor

A monitor configured to watch a subject for new results.

Attributes

type string
Always monitor.
id integer
Formatted as int64.
created_at string

When this monitor was created.

Formatted as an RFC 3339 date-time string with timezone offset. Fractional seconds may be included when present.
status string

The current status of this monitor.

Possible values: validating, previewing, rejected, ready, active, paused.
subject string

The user provided query that is being monitored for new results.

Example

{
  "type": "monitor",
  "id": 42,
  "created_at": "2026-05-17T10:30:00Z",
  "status": "active",
  "subject": "Latest movie by Quentin Tarantino"
}

Result

A result found by a monitor.

Attributes

type string

The type of this object.

Always result.
id integer

The ID of this object.

Formatted as int64.
hidden boolean

Whether this result has been hidden.

correction string or null

Correction submitted for this result, if any.

headline string

Contains the primary information about the result that was found.

subtitle string

Contains supplementary information about the result that was found. If displaying on a UI, this should appear below the headline.

fields array of ResultField

Structured data extracted from the result. These fields are stable across all results on the same monitor.

Example

{
  "type": "result",
  "id": 101,
  "hidden": false,
  "correction": null,
  "headline": "Once Upon a Time in Hollywood",
  "subtitle": "Released: Jul 26, 2019",
  "fields": [
    {
      "type": "result_field",
      "name": "Result",
      "value": "Once Upon a Time in Hollywood"
    },
    {
      "type": "result_field",
      "name": "Released",
      "value": "2019-07-26"
    }
  ]
}

ResultField

A structured name and value extracted from a result.

Attributes

type string

The type of this object.

Always result_field.
name string

The field name.

value string

The field value as text.

Example

{
  "type": "result_field",
  "name": "Result",
  "value": "Once Upon a Time in Hollywood"
}

Pagination links for a list response.

Attributes

next string or null

URL for the next page, or null when no next page exists.

prev string or null

URL for the previous page, or null when no previous page exists.

Example

{
  "next": "https://untils.com/api/results.list?monitor_id=42&page=2",
  "prev": null
}

ResultSummary

Combines selected fields from Monitor and Result into one object. Useful for rendering feeds or cross-monitor views.

Attributes

type string

The type of this object.

Always result_summary.
id integer

The ID of this object.

Formatted as int64.
monitor_id integer

The ID of the monitor that produced this result.

Formatted as int64.
monitor_subject string

The user provided query for the monitor that produced this result.

created_at string

When this result was created.

Formatted as an RFC 3339 date-time string with timezone offset. Fractional seconds may be included when present.
headline string

Contains the primary information about the result that was found.

subtitle string

Contains supplementary information about the result that was found. If displaying on a UI, this should appear below the headline.

fields array of ResultField

Structured data extracted from the result. These fields are stable across all results on the same monitor.

Example

{
  "type": "result_summary",
  "id": 101,
  "monitor_id": 42,
  "monitor_subject": "Latest movie by Quentin Tarantino",
  "created_at": "2026-05-17T10:30:00Z",
  "headline": "Once Upon a Time in Hollywood",
  "subtitle": "Released: Jul 26, 2019",
  "fields": [
    {
      "type": "result_field",
      "name": "Result",
      "value": "Once Upon a Time in Hollywood"
    },
    {
      "type": "result_field",
      "name": "Released",
      "value": "2019-07-26"
    }
  ]
}