External Services - Query

Read rows from an entity (read-only `GET`; see [`query_data`] for the `POST` form used by the console).

Gated for AI callers by the service's ai_data_access opt-in — see [temps_core::ai_tool_call::AiToolCall].

get/external-services/{service_id}/query/containers/{path}/entities/{entity}/data

Request

  • Base URL: /api (relative, and the document was published on a file host, not at the API’s origin)
  • URL: /api/external-services/{service_id}/query/containers/{path}/entities/{entity}/data
  • Auth: HTTP bearer

Path parameters

service_idinteger required

External service id

pathstring required

Container path, slash-separated (e.g. mydb/public)

entitystring required

Table, collection, key or object name

Query parameters

filterstring

JSON-encoded backend-specific filter

limitinteger

Maximum rows to return

offsetinteger

Rows to skip

sort_bystring

Field to sort by

sort_orderstring

asc or desc

Response

Query results

execution_time_msinteger required

Query execution time in milliseconds

returned_countinteger required

Number of rows returned in this response

total_countinteger required

Total number of rows matching the query (before limit/offset)

truncatedboolean required

Whether rows were dropped from this response to stay inside the byte budget.

returned_count is always the number of rows actually present, so a truncated page is still internally consistent — but a caller comparing it against the requested limit would otherwise conclude the table simply ended. Reported explicitly so a partial page is never mistaken for a complete one, by a human, a script, or a model reading a tool result.

Example response

{
  "execution_time_ms": 45,
  "fields": [
    {
      "field_type": "Int64",
      "name": "id"
    }
  ],
  "returned_count": 100,
  "total_count": 1234
}

Changes

No recorded changes to this operation across all 50 revisions of this API.