List views for org
Page the caller’s org for one target, returning only the Views they may see.
Visibility lives in OpenFGA rather than in a column, so it cannot be a WHERE clause the
way query_layouts_for_org filters on accessibility. A page of rows is read first and
then narrowed with a batch check, the same shape workspaces_service uses.
That check runs after LIMIT, so a page shrinks on the way out — and with Views private
by default, most of a page being dropped is the ordinary case rather than the edge. An
author with thirty private Views and twenty shared ones would get arbitrarily short pages,
and a client paging until it saw fewer rows than it asked for would stop in the middle of
the list. So this reads repeatedly until it can hand back a full page.
Each read asks for only the shortfall it still has to cover. A page can only shrink under filtering, so that is as much over-fetching as is ever useful, and it makes overshoot impossible — which matters because the page token is an offset over rows: truncating an oversized read would drop rows the token has already counted, and they would never be seen again. The token returned is the one belonging to the last read actually made.
Reading on is bounded by MAX_PAGE_FILL_READS; see it for why filling is best-effort.
Access control
- Restricted tokens need the API scope
api.everything_else
/v1/viewsAuthorizationBearer token · headerrequiredtargetstringrequiredpage_tokenstringX-Roboto-Org-IdstringX-Roboto-User-IdstringOK
dataobjectrequiredShow propertiesHide properties
itemsViewRecord[]requiredShow propertiesHide properties
ViewRecordview_idstringrequirednamestringrequiredorg_idstringrequiredtargetQueryTargetrequiredThe type of resource a specific query is requesting.
collectionsdatasetsdevicesfilessessionstopicstopic_message_pathseventsdefinitionViewDefinitionrequiredThe saved contents of a View: what its author searched for, and how they were shown it.
Stored as JSON, with no schema constraint behind it: this model is the only thing enforcing the shape.
A View records intent, not a query. It holds what the author expressed — filter controls
or RoboQL text — and the client rebuilds an executable query from that on load. It does not
hold a ready-made :class:~roboto.query.QuerySpecification, because one cannot be stored
faithfully: Comparator has no way to say "the last 7 days", so translating a relative
date filter resolves it to fixed instants. A stored query would show the week the View was
saved forever after, presented as though it were live.
Intent is nonetheless recorded in a typed form — :class:~roboto.query.SavedFilters — so
that anything able to call the API can create a View, not only a client that already knows
how a filter control is shaped. A filter-backed View still has to be translated into a query
before it runs, and the Roboto web app is what does that; a RoboQL View needs no
translation, since its text runs anywhere.
A View's search target is not part of this definition. The View itself carries it, and repeating it here would let the two disagree.
Show propertiesHide properties
schemestringroboqlstring | nullShow propertiesHide properties
stringnullfiltersSavedFilters | nullShow propertiesHide properties
filtersStringFilter | NumericFilter | MetricFilter | DateFilter | BooleanFilter | SetFilter | EnumFilter | IdentityFilter[]Show propertiesHide properties
StringFilter | NumericFilter | MetricFilter | DateFilter | BooleanFilter | SetFilter | EnumFilter | IdentityFilterfieldstringrequiredtypestringcomparatorstringrequiredEQUALSNOT_EQUALSCONTAINSNOT_CONTAINSLIKENOT_LIKEIS_NULLIS_NOT_NULLvaluesstring[]fieldstringrequiredtypestringcomparatorstringrequiredEQUALSNOT_EQUALSGREATER_THANLESS_THANGREATER_THAN_OR_EQUALLESS_THAN_OR_EQUALIS_NULLIS_NOT_NULLvaluesnumber[]fieldstringrequiredtypestringunitstring | nullShow propertiesHide properties
stringnullcomparatorstringrequiredEQUALSNOT_EQUALSGREATER_THANLESS_THANGREATER_THAN_OR_EQUALLESS_THAN_OR_EQUALIS_NULLIS_NOT_NULLvaluesnumber[]fieldstringrequiredtypestringcomparatorstringrequiredLESS_THANGREATER_THANIS_NULLIS_NOT_NULLBETWEENTODAYLAST_3_HOURSLAST_8_HOURSLAST_24_HOURSLAST_7_DAYSLAST_30_DAYSLAST_90_DAYSTHIS_MONTHvaluesstring[]fieldstringrequiredtypestringcomparatorstringrequiredEQUALSIS_NULLIS_NOT_NULLvaluesboolean[]fieldstringrequiredtypestringcomparatorstringrequiredCONTAINSNOT_CONTAINSvaluesstring[]fieldstringrequiredtypestringcomparatorstringrequiredEQUALSNOT_EQUALSIS_NULLIS_NOT_NULLvaluesstring[]fieldstringrequiredtypestringcomparatorstringrequiredIS_USERIS_DEVICEIS_INVOCATIONIS_INTEGRATIONIS_ORGIS_ANY_USERIS_ANY_DEVICEIS_ANY_INVOCATIONIS_ANY_INTEGRATIONIS_ANY_ORGvaluesLabeledOption[]Show propertiesHide properties
LabeledOptionvaluestringrequiredlabelstringrequiredmatch_modeFilterMatchModeHow separate filters combine.
ANDORnulldisplayViewDisplayHow a View presents its results: which columns, in what order, sorted how, how many rows.
Presentation state only. Nothing here changes which records match.
Show propertiesHide properties
visible_columnsstring[]sort_bystring | nullShow propertiesHide properties
stringnullsort_directionSortDirection | nullShow propertiesHide properties
stringnullpage_sizeinteger | nullShow propertiesHide properties
integernullschema_versionintegerrequiredcreatedstring<date-time>requiredcreated_bystringrequiredmodifiedstring<date-time>requiredmodified_bystringrequiredvisibilityViewVisibility | nullShow propertiesHide properties
stringnullnext_tokenstring | nullShow propertiesHide properties
stringnulltotal_countinteger | nullShow propertiesHide properties
integernullThrown when the conversation context (messages, system prompt, tool results) exceeds the model's context window limit.
The token estimate and the model's context limit are not carried on the exception, so a caller cannot read usage numbers off it.
errorobjectShow propertiesHide properties
error_codenumbermessagestringstack_tracestring | nullThrown when authentication fails
errorobjectShow propertiesHide properties
error_codenumbermessagestringstack_tracestring | nullThrown if an operation would exceed a user or org level limit.
errorobjectShow propertiesHide properties
error_codenumbermessagestringstack_tracestring | nullThrown if a user is attempting to perform an action unrecognized by the Roboto platform.
errorobjectShow propertiesHide properties
error_codenumbermessagestringstack_tracestring | nullThrown if there is a conflict between a resource you're creating and another existing resource
errorobjectShow propertiesHide properties
error_codenumbermessagestringstack_tracestring | nullThrown if a resource is missing or expired.
errorobjectShow propertiesHide properties
error_codenumbermessagestringstack_tracestring | nullAn error the platform reported that this SDK release cannot resolve to a specific exception class.
Reported for an element of a :py:class:~roboto.http.BatchResponse whose error names a code this release
defines no class for, or that arrived without a code, without a message, or as text that is not an
error envelope at all. It carries whatever code and message the platform sent, so a caller handling the
failure still learns what went wrong; when no message could be read, the message is the error's raw text.
The error envelope carries no status code, so http_status_code reports the 500 inherited from
:py:class:RobotoDomainException rather than the status the failure actually had.
errorobjectShow propertiesHide properties
error_codenumbermessagestringstack_tracestring | nullThrown by shimmed out APIs which have not yet been implemented
errorobjectShow propertiesHide properties
error_codenumbermessagestringstack_tracestring | nullThrown when a service is unavailable, such as when it's under heavy load and can't accept new requests. This is expected to be transient and ought to be retried.
errorobjectShow propertiesHide properties
error_codenumbermessagestringstack_tracestring | nullThrown when the service times out while processing a request. This is exepcted to be transient and ought to be retried.
errorobjectShow propertiesHide properties
error_codenumbermessagestringstack_tracestring | nullThrown when the server cannot complete the request because the response payload exceeds a storage or transport capacity limit (e.g., Lambda response size). This is NOT expected to be transient and should NOT be retried.
errorobjectShow propertiesHide properties
error_codenumbermessagestringstack_tracestring | null