Skip to content

Reading your site ​

With the default Level 1 exposure, an assistant can read everything about your site's structure and content, but change nothing.

Structure ​

  • The whole model at once: every post type, taxonomy and fieldset, in one call. This is how an assistant gets its bearings.
  • Search by name: find "phone" across every fieldset, field and post type.
  • The fields of a post type, taxonomy or users: every field that applies, merged across fieldsets, including which ones are hidden by conditional logic.
  • Field types, dynamic data paths and visibility rule types available on this site.
  • System status: which field types the site has, its requirements, and whether a configuration lock is on.
  • These docs, matching your installed version.

Content ​

  • Find posts, terms and users by type, status, author, taxonomy term, search text, or field values ("Books where isbn is not empty and publisher is empty").
  • Count them, optionally grouped by type, status, taxonomy or role.
  • Read one entry's field values.
  • Read option page settings.

Field values are read one entry at a time, on purpose: a search returns which entries match, and the assistant reads the ones it needs.

Only simple fields can be used as filters. Lists, groups, repeaters, relational fields and galleries are stored as structured data, so the assistant has to read those values and filter them itself.

Checking before changing ​

Two read abilities let an assistant test ideas without saving anything:

  • Validate a configuration: check a proposed post type, taxonomy or fieldset, and get back every error.
  • Evaluate an expression: render a VX Script expression against a real post, to test a dynamic tag before using it.

What reading doesn't include ​

Password fields are never returned. User email addresses are only included when the assistant asks for them explicitly. Reading also returns the activity log, which contains earlier values of changed fields.

Technical details for LLMs
  • Grounding: vx-framework/get-site-blueprint (whole model + guidance block), vx-framework/search-site-model, vx-framework/get-object-fields (merged fields for one object, with shadowed / conditional flags), vx-framework/get-field-types (pass types / include_schemas for settings schemas and form_columns), vx-framework/get-dynamic-data-catalog, vx-framework/list-visibility-rules, vx-framework/get-system-status, vx-framework/search-docs / vx-framework/list-docs / vx-framework/get-doc, vx-framework/describe-abilities (full write contracts).
  • Geo: vx-framework/get-geo-settings (which geocoder is configured, and whether address search will resolve).
  • Config reads: vx-framework/list-* / vx-framework/get-* for post types, taxonomies, fieldsets (config_hash); config-as-code status vx-framework/get-config-status, vx-framework/get-config-source, vx-framework/get-config-conflicts, vx-framework/get-config-diff, vx-framework/export-config; vx-framework/list-revisions, vx-framework/get-revision; vx-framework/list-field-migrations, vx-framework/preview-field-migration; vx-framework/list-changes.
  • Content reads: vx-framework/query-posts, vx-framework/count-posts, vx-framework/get-post-values; vx-framework/query-terms, vx-framework/count-terms, vx-framework/get-term-values; vx-framework/query-users (include_email opt-in), vx-framework/count-users, vx-framework/get-user-values. Queries page with limit / offset and return next_offset until the last page.
  • Option pages and dictionaries: vx-framework/list-option-pages, vx-framework/get-option-page, vx-framework/get-option-page-values; vx-framework/list-dictionaries, vx-framework/get-dictionary-entries. A dictionary passed to vx-framework/validate-config is always scope: envelope.
  • Value reads are keyed by field key; every missing field appears in omitted with a reason: empty (use include_empty), excluded_type, not_readable, no_output, truncated (re-read by naming it in fields). empty means nothing is stored: a Switcher listed there was never saved, while one saved off reads false. relation_depth defaults to 0 (ids).
  • field_filters: [ { field, op, value? } ], ops =, !=, contains, >, <, empty, not_empty; all must match; empty also matches never-saved. Structured fields (lists, containers, ranges, relational and media fields) are refused with an explanation. Taxonomy assignments use terms.
  • Dry-run: vx-framework/validate-config ({ type, key?, config }; scope: object = partial update merged onto an existing object, scope: envelope = full definition). vx-framework/evaluate-expression.

Documentation for the VX Framework.