List pollable Automation resources

GET/api/automation/resources

Discovery endpoint for a polling trigger. Returns every RISE resource that can be polled by timestamp, together with the path to poll it, the columns the cursor is built from, the field to de-duplicate on, and whether the resource can detect updates as well as new records. Call this once when building the connector: the list is derived from the live REST resource catalogue and the live database schema, so it stays correct as RISE and the plugin change. Resources with no date column at all (small lookup tables such as taxes, items and labels) cannot be polled by timestamp and are reported under meta.not_pollable instead - read those through their own REST endpoints.

Headers

FieldTypeDescription
authtoken String Authentication token, generated from admin area
curl -X GET "https://yoursite.com/api/automation/resources" \
  -H "authtoken: YOUR_API_TOKEN"

Success-Response:

HTTP/1.1 200 OK
{
  "status": true,
  "data": [
    {
      "key": "clients",
      "label": "client",
      "plural": "clients",
      "trigger_label": "New clients",
      "description": "Clients are the converted customer companies that projects, invoices, estimates, tickets and contracts are attached to.",
      "poll_path": "/api/automation/poll/clients",
      "sample_path": "/api/automation/sample/clients",
      "cursor_fields": ["created_date"],
      "order_by": "created_date",
      "dedupe_key": "id",
      "detects_updates": false
    },
    {
      "key": "tickets",
      "label": "ticket",
      "plural": "tickets",
      "trigger_label": "New or updated tickets",
      "description": "Support tickets raised by clients or staff, with a ticket type, assignee, status and a thread of ticket comments.",
      "poll_path": "/api/automation/poll/tickets",
      "sample_path": "/api/automation/sample/tickets",
      "cursor_fields": ["created_at", "last_activity_at", "client_last_activity_at", "closed_at"],
      "order_by": "created_at",
      "dedupe_key": "id",
      "detects_updates": true
    }
  ],
  "meta": {
    "count": 2,
    "not_pollable": [
      { "key": "taxes", "reason": "The taxes table has no date column, so it cannot be filtered by a since cursor." }
    ],
    "dedupe_key": "id",
    "default_limit": 50,
    "max_limit": 100,
    "default_lookback_hours": 24,
    "since_formats": ["2026-07-21T09:30:00Z", "2026-07-21T11:30:00+02:00", "2026-07-21 09:30:00", "2026-07-21", "1753090200"],
    "timezone": "UTC",
    "server_time": "2026-07-21T09:45:12+00:00",
    "authentication": { "header": "authtoken", "query_parameter_supported": false }
  }
}

Error-Response:

HTTP/1.1 500 Internal Server Error
{ "status": false, "messages": { "error": "The automation request could not be completed. The details were written to the RISE error log." } }
MethodGET
Path/api/automation/resources
GroupAutomation
Sincev1.0.0
Defined inRestApi/Controllers/AutomationController.php