changedInput schema / properties / alias / description
Previous value: -"Connection alias registered via brapi_connect. Omit to read the connection registered under alias `default` — i.e. a prior brapi_connect call that did not specify an alias. Calls that used a non-default alias must pass that same alias here."New value: +"Connection alias. Omit to use alias `default`. An alias registered via brapi_connect works, and so does one the server has a URL configured for (a built-in alias, an operator-configured alias, or `default` on a deployment with a default server), which connects on first use. Calls that used a non-default alias must pass that same alias here."
addedInput schema / properties / crop / pattern
Added value: +"\\S"
changedInput schema / properties / loadLimit / description
Previous value: -"Cap on rows returned inline. Omit for the deployment default. Rows beyond the cap land in a dataframe; query with brapi_dataframe_query (SQL) instead of paging row-by-row."New value: +"Cap on rows returned inline in results[]. Omit for the deployment default. results[] also stops at a 24,000-byte budget, whichever bound comes first, and keeps at least one row when any matched. When results[] holds fewer rows than matched, the matched rows are staged in a dataframe (marked truncated if the upstream walk stopped short); query it with brapi_dataframe_query (SQL) instead of paging row-by-row."
changedInput schema / properties / locations / description
Previous value: -"Filter by locationDbIds (server-side identifiers, not display names)."New value: +"Filter by locationDbIds (server-side identifiers, not display names). On servers that ignore this filter on /studies, it is applied client-side over the scanned studies, and a study with no locationDbId never matches."
addedInput schema / properties / locations / items / pattern
Added value: +"\\S"
addedInput schema / properties / programs / items / pattern
Added value: +"\\S"
addedInput schema / properties / seasons / items / pattern
Added value: +"\\S"
addedInput schema / properties / studyNames / items / pattern
Added value: +"\\S"
addedInput schema / properties / trialTypes / items / pattern
Added value: +"\\S"
addedInput schema / properties / trials / items / pattern
Added value: +"\\S"
changedOutput schema / properties / alias / description
Previous value: -"Alias of the registered BrAPI connection the call used."New value: +"Connection alias the call used."
changedOutput schema / properties / appliedFilters / description
Previous value: -"The final filter map sent to the server (named + extraFilters)."New value: +"Filter map sent upstream (named filters plus extraFilters)."
addedOutput schema / properties / cap
Added value: +{
+ "description": "The effective loadLimit when truncated; shown is below it when the 24,000-byte inline budget bound first (notice says which).",
+ "exclusiveMinimum": 0,
+ "maximum": 9007199254740991,
+ "type": "integer"
+}
addedOutput schema / properties / clientSideFilters
Added value: +{
+ "additionalProperties": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "description": "Filters this server ignores on /studies, applied to the scanned rows instead of sent upstream, keyed by input name.",
+ "propertyNames": {
+ "type": "string"
+ },
+ "type": "object"
+}
changedOutput schema / properties / dataframe / description
Previous value: -"Dataframe handle when the full result set was materialized as a dataframe. Query it with brapi_dataframe_query (SQL)."New value: +"The matched rows, staged as a dataframe when results[] holds fewer."
changedOutput schema / properties / dataframe / properties / columnLegend / description
Previous value: -"Maps a sanitized column name back to its original upstream key, for columns renamed to clear the SQL-safe-identifier gate (e.g. `end` → `end_`). Present only when a column was renamed — write SQL against the sanitized (left-hand) names."New value: +"Sanitized column name → original upstream key, present only when a column was renamed to be SQL-safe (e.g. `end` → `end_`). SQL uses the sanitized names."
changedOutput schema / properties / dataframe / properties / columns / description
Previous value: -"Full column list of the dataframe."New value: +"Every column name."
changedOutput schema / properties / dataframe / properties / columns / items / description
Previous value: -"Column name from the materialized rows."New value: +"Column name."
changedOutput schema / properties / dataframe / properties / createdAt / description
Previous value: -"ISO 8601 timestamp the dataframe was created."New value: +"ISO 8601 creation time."
changedOutput schema / properties / dataframe / properties / expiresAt / description
Previous value: -"ISO 8601 timestamp after which the dataframe metadata will be purged. Re-run the find_* tool to refresh, or copy results out before expiry."New value: +"ISO 8601 time the dataframe metadata is purged; copy rows out before, or re-run the producing tool."
changedOutput schema / properties / dataframe / properties / maxRows / description
Previous value: -"Cap that was applied at create time, when truncation occurred."New value: +"Row cap that ended the pull, present only when that cap fired."
changedOutput schema / properties / dataframe / properties / rowCount / description
Previous value: -"Number of rows materialized in the dataframe."New value: +"Rows in the dataframe."
changedOutput schema / properties / dataframe / properties / tableName / description
Previous value: -"Dataframe name. Use with brapi_dataframe_describe (schema + provenance) and brapi_dataframe_query (SQL)."New value: +"Table name for brapi_dataframe_describe and brapi_dataframe_query."
changedOutput schema / properties / dataframe / properties / totalCount / description
Previous value: -"Total rows reported by the upstream server (may exceed rowCount when truncated)."New value: +"Upstream-reported row total, when known; can exceed rowCount."
changedOutput schema / properties / dataframe / properties / truncated / description
Previous value: -"True when the dataframe hit a row cap before exhausting upstream."New value: +"True when the dataframe holds less than the upstream reports: a cap, failed page, deadline, or short upstream ended the pull, or it was skipped. warnings says which. Absent otherwise."
changedOutput schema / properties / distributions / description
Previous value: -"Value frequency per field across the full result set."New value: +"Value frequency per field across every matched row fetched."
changedOutput schema / properties / error / properties / data / properties / reason / description
Previous value: -"Machine-readable failure mode. Declared by this tool: `unknown_alias`: No connection has been registered under the requested alias. `all_filters_dropped`: The active dialect dropped every filter the agent supplied — the upstream server does not honor any of the requested scope filters on this endpoint, so the call would silently widen to the unfiltered baseline. Other values are possible when a failure originates below the handler."New value: +"Machine-readable failure mode. Declared by this tool: `unknown_alias`: No connection is registered under the requested alias, and the server has no base URL configured for it to connect on first use. `auth_token_exchange_failed`: Connecting the alias on first use, the SGN or OAuth token exchange against the BrAPI /token endpoint failed. `auth_no_access_token`: Connecting the alias on first use, the token endpoint answered without returning an access token. `capability_discovery_unavailable`: Neither /serverinfo nor /calls listed any call, and at least one of them timed out, was unreachable, or answered 429 or a 5xx other than 501, so nothing was cached. `upstream_unauthorized`: The BrAPI server answered HTTP 401: it requires credentials, or rejected the ones sent. `upstream_forbidden`: The BrAPI server answered HTTP 403: the credentials sent, or their absence, lack access. `alias_base_url_invalid`: The base URL configured on the server for this alias is not an absolute http(s) URL, or carries credentials. `private_address_blocked`: The base URL configured for this alias, or its token URL, is on a private or reserved address this server may not reach. `all_filters_dropped`: The active dialect dropped every filter the agent supplied — the upstream server does not honor any of the requested scope filters on this endpoint, so the call would silently widen to the unfiltered baseline. Other values are possible when a failure originates below the handler."
changedOutput schema / properties / error / properties / data / properties / reason / examples
Previous value: -[
- "unknown_alias",
- "all_filters_dropped"
-]New value: +[
+ "unknown_alias",
+ "auth_token_exchange_failed",
+ "auth_no_access_token",
+ "capability_discovery_unavailable",
+ "upstream_unauthorized",
+ "upstream_forbidden",
+ "alias_base_url_invalid",
+ "private_address_blocked",
+ "all_filters_dropped"
+]
changedOutput schema / properties / notice / description
Previous value: -"Guidance when no rows were returned — how to broaden filters or retry."New value: +"Why results[] is empty, or which bound cut it short and the dataframe holding the matched rows."
changedOutput schema / properties / refinementHint / description
Previous value: -"Suggested next-step query refinement when the result set is large."New value: +"Suggested refinement when the result set is large."
changedOutput schema / properties / results / description
Previous value: -"Rows returned in-context (up to loadLimit)."New value: +"Leading matched rows, up to loadLimit and a 24,000-byte budget, whichever binds first."
addedOutput schema / properties / shown
Added value: +{
+ "description": "Length of results[] when truncated.",
+ "exclusiveMinimum": 0,
+ "maximum": 9007199254740991,
+ "type": "integer"
+}
changedOutput schema / properties / totalCount / description
Previous value: -"Total rows reported by the server."New value: +"Total rows reported by the server, else the rows scanned; with `locations` applied client-side, the matched rows fetched."
addedOutput schema / properties / truncated
Added value: +{
+ "description": "True when results[] holds fewer rows than matched because loadLimit or the inline byte budget bound.",
+ "type": "boolean"
+}