changedOutput schema / (root)
Previous value: -nullNew value: +{
+ "$defs": {
+ "ActionCapability": {
+ "description": "One entry in a resource's `_actions` block: may the caller perform it, and if not, why.",
+ "properties": {
+ "allowed": {
+ "type": [
+ "boolean",
+ "null"
+ ]
+ },
+ "reason": {
+ "type": [
+ "string",
+ "null"
+ ]
+ }
+ },
+ "type": [
+ "object",
+ "null"
+ ]
+ },
+ "PublicEnvironmentResponse": {
+ "description": "Public representation of an environment, returned by\n`GET /api/v1/orgs/{org}/projects/{project}/environments` (list),\n`GET .../environments/{env}` (detail), and the body of a successful create/update. Drops\ninternal fields (e.g. `ProjectId` is implicit in the route) — mirrors\n`ProjectResponse`'s minimal shape. Named `PublicEnvironmentResponse` rather than\n`EnvironmentResponse` (unlike the sibling `ProjectResponse`, which didn't collide)\nbecause the dashboard already has its own\n`EnvironmentResponse` — see\nPublicCreateEnvironmentRequest for the schemaId-collision rationale.",
+ "properties": {
+ "_actions": {
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ActionCapability"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "description": "Capability hints: which operations the authenticated caller may perform on this resource, each with allowed + optional reason. Computed from the caller's role and the resource's state. Injected at runtime; safe to ignore. Present only on top-level resource responses — nested occurrences (e.g. a rule inside a targeting-config response) do not carry it.",
+ "type": [
+ "object",
+ "null"
+ ]
+ },
+ "color": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "id": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "key": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "name": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "sortOrder": {
+ "type": [
+ "integer",
+ "null"
+ ]
+ }
+ },
+ "type": [
+ "object",
+ "null"
+ ]
+ }
+ },
+ "description": "A page of results plus an opaque cursor for the next page, or null when this is the last\npage. Wire keys are frozen: `items` (already lowercase under the camelCase policy) and\n`next_cursor` (pinned explicitly — the policy alone would emit `nextCursor`).",
+ "properties": {
+ "_actions": {
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/ActionCapability"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "description": "Capability hints: which operations the authenticated caller may perform on this resource, each with allowed + optional reason. Computed from the caller's role and the resource's state. Injected at runtime; safe to ignore. Present only on top-level resource responses — nested occurrences (e.g. a rule inside a targeting-config response) do not carry it.",
+ "type": [
+ "object",
+ "null"
+ ]
+ },
+ "items": {
+ "items": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/PublicEnvironmentResponse"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "type": [
+ "array",
+ "null"
+ ]
+ },
+ "next_cursor": {
+ "type": [
+ "string",
+ "null"
+ ]
+ }
+ },
+ "type": "object"
+}