{
  "openapi": "3.1.0",
  "info": {
    "title": "SandboxAPIs — GitLab (paths only)",
    "version": "coverage-manifest-rev-5",
    "summary": "The 440 read paths SandboxAPIs serves on GitLab.",
    "description": "Every read SandboxAPIs serves on GitLab, pointed at https://gl.sandboxapis.dev.\n\n440 requests, one per served row of our coverage manifest. PATHS ONLY: this file carries no request or\nresponse schema, because a schema is the part of an API description we do not own. It is generated from\ncoverage/COVERAGE_MANIFEST.yaml — our own record of what THIS host answers — and never from a vendor's\npublished specification, several of which may not be redistributed.\n\nThe host is read-only. Every write verb answers the provider's own error shape with a message naming what was\nattempted; the \"Read-only refusal, on purpose\" folder holds one so the shape is discoverable.\n\nNo credentials are needed — any value in `apiKey` is accepted, and a real SandboxAPIs key only raises the rate\nlimit. Path variables left blank are identifiers that move when the live host re-rolls; fill them from a list\nresponse."
  },
  "servers": [
    {
      "url": "https://gl.sandboxapis.dev",
      "description": "The live GitLab host"
    }
  ],
  "security": [
    {
      "sandboxapisKey": []
    }
  ],
  "components": {
    "securitySchemes": {
      "sandboxapisKey": {
        "type": "apiKey",
        "in": "header",
        "name": "PRIVATE-TOKEN",
        "description": "PRIVATE-TOKEN: <key> (Bearer works too)"
      }
    }
  },
  "paths": {
    "/api/v4/ai/duo_workflows/code_review/custom_instructions": {
      "get": {
        "summary": "GET /api/v4/ai/duo_workflows/code_review/custom_instructions",
        "operationId": "get_api_v4_ai_duo_workflows_code_review_custom_instructions",
        "tags": [
          "gitlab duo workflows"
        ],
        "description": "Served by SandboxAPIs. Answer mode: empty. Answers an EMPTY collection, and that is the true answer for this universe — not a gap. NOBODY IN THIS ORGANIZATION WROTE CUSTOM INSTRUCTIONS FOR A CODE REVIEW. Canon records the review CONVERSATION - `review` and `review_comment`, both served on this host - and no per-merge-request instruction to an agent; inventing one would be inventing an agent's PROMPT, the same never-invent rule (2026-08-20, restated by founder ruling F6 of 2026-09-14) that keeps the serialized graph state off a Duo checkpoint and the text off a session turn. THE PARENT IS IN THE QUERY STRING, and the empty is only honest behind it: the operation declares `project_id` and `merge_request_iid` both `required: true`, so a missing one is GitLab's 400 in this host's own shape, a `project_id` that does not resolve is `404 Project Not Found`, and an iid this project has not got is the `404 Not found` the merge-request route itself answers. Unpaged. RULED 2026-09-14 by the hello-20 GitLab serving wave, on the F6 `glDelivery` decision's §5",
        "x-sandboxapis-mode": "empty",
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/ai/duo_workflows/workflows/{id}": {
      "get": {
        "summary": "GET /api/v4/ai/duo_workflows/workflows/{id}",
        "operationId": "get_api_v4_ai_duo_workflows_workflows_id",
        "tags": [
          "gitlab duo workflows"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/ai/duo_workflows/workflows/{id}/checkpoints": {
      "get": {
        "summary": "GET /api/v4/ai/duo_workflows/workflows/{id}/checkpoints",
        "operationId": "get_api_v4_ai_duo_workflows_workflows_id_checkpoints",
        "tags": [
          "gitlab duo workflows"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/ai/duo_workflows/workflows/{id}/checkpoints/{checkpoint_id}": {
      "get": {
        "summary": "GET /api/v4/ai/duo_workflows/workflows/{id}/checkpoints/{checkpoint_id}",
        "operationId": "get_api_v4_ai_duo_workflows_workflows_id_checkpoints_checkpoint_id",
        "tags": [
          "gitlab duo workflows"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "checkpoint_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/ai/duo_workflows/workflows/{id}/events": {
      "get": {
        "summary": "GET /api/v4/ai/duo_workflows/workflows/{id}/events",
        "operationId": "get_api_v4_ai_duo_workflows_workflows_id_events",
        "tags": [
          "gitlab duo workflows"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/ai/duo_workflows/workflows/{workflow_id}/trace.jsonl": {
      "get": {
        "summary": "GET /api/v4/ai/duo_workflows/workflows/{workflow_id}/trace.jsonl",
        "operationId": "get_api_v4_ai_duo_workflows_workflows_workflow_id_trace_jsonl",
        "tags": [
          "gitlab duo workflows"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "workflow_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/analytics/code_review": {
      "get": {
        "summary": "GET /api/v4/analytics/code_review",
        "operationId": "get_api_v4_analytics_code_review",
        "tags": [
          "code review analytics"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/analytics/group_activity/issues_count": {
      "get": {
        "summary": "GET /api/v4/analytics/group_activity/issues_count",
        "operationId": "get_api_v4_analytics_group_activity_issues_count",
        "tags": [
          "analytics"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/analytics/group_activity/merge_requests_count": {
      "get": {
        "summary": "GET /api/v4/analytics/group_activity/merge_requests_count",
        "operationId": "get_api_v4_analytics_group_activity_merge_requests_count",
        "tags": [
          "analytics"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/analytics/group_activity/new_members_count": {
      "get": {
        "summary": "GET /api/v4/analytics/group_activity/new_members_count",
        "operationId": "get_api_v4_analytics_group_activity_new_members_count",
        "tags": [
          "analytics"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/audit_events": {
      "get": {
        "summary": "GET /api/v4/audit_events",
        "operationId": "get_api_v4_audit_events",
        "tags": [
          "audit-events"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/audit_events/{id}": {
      "get": {
        "summary": "GET /api/v4/audit_events/{id}",
        "operationId": "get_api_v4_audit_events_id",
        "tags": [
          "audit-events"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/avatar": {
      "get": {
        "summary": "GET /api/v4/avatar",
        "operationId": "get_api_v4_avatar",
        "tags": [
          "avatars"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/broadcast_messages": {
      "get": {
        "summary": "GET /api/v4/broadcast_messages",
        "operationId": "get_api_v4_broadcast_messages",
        "tags": [
          "instance-admin"
        ],
        "description": "Served by SandboxAPIs. Answer mode: empty. Answers an EMPTY collection, and that is the true answer for this universe — not a gap. No broadcast message has ever been posted on this instance: a broadcast exists only because an admin created one, and this universe has no admin acting on it",
        "x-sandboxapis-mode": "empty",
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/events": {
      "get": {
        "summary": "GET /api/v4/events",
        "operationId": "get_api_v4_events",
        "tags": [
          "events"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/feature_flags/unleash/{project_id}": {
      "get": {
        "summary": "GET /api/v4/feature_flags/unleash/{project_id}",
        "operationId": "get_api_v4_feature_flags_unleash_project_id",
        "tags": [
          "unleash"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "project_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/feature_flags/unleash/{project_id}/client/features": {
      "get": {
        "summary": "GET /api/v4/feature_flags/unleash/{project_id}/client/features",
        "operationId": "get_api_v4_feature_flags_unleash_project_id_client_features",
        "tags": [
          "unleash"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "project_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/feature_flags/unleash/{project_id}/features": {
      "get": {
        "summary": "GET /api/v4/feature_flags/unleash/{project_id}/features",
        "operationId": "get_api_v4_feature_flags_unleash_project_id_features",
        "tags": [
          "unleash"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "project_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/group/{id}/-/packages/composer/p/{sha}": {
      "get": {
        "summary": "GET /api/v4/group/{id}/-/packages/composer/p/{sha}",
        "operationId": "get_api_v4_group_id_-_packages_composer_p_sha",
        "tags": [
          "packages"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sha",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/group/{id}/-/packages/composer/packages": {
      "get": {
        "summary": "GET /api/v4/group/{id}/-/packages/composer/packages",
        "operationId": "get_api_v4_group_id_-_packages_composer_packages",
        "tags": [
          "packages"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/groups": {
      "get": {
        "summary": "GET /api/v4/groups",
        "operationId": "get_api_v4_groups",
        "tags": [
          "groups"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/groups/{id}": {
      "get": {
        "summary": "GET /api/v4/groups/{id}",
        "operationId": "get_api_v4_groups_id",
        "tags": [
          "groups"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs"
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/groups/{id}/-/debian_distributions": {
      "get": {
        "summary": "GET /api/v4/groups/{id}/-/debian_distributions",
        "operationId": "get_api_v4_groups_id_-_debian_distributions",
        "tags": [
          "packages"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs"
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/groups/{id}/-/epics": {
      "get": {
        "summary": "GET /api/v4/groups/{id}/-/epics",
        "operationId": "get_api_v4_groups_id_-_epics",
        "tags": [
          "epics"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs"
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/groups/{id}/-/epics/{epic_iid}": {
      "get": {
        "summary": "GET /api/v4/groups/{id}/-/epics/{epic_iid}",
        "operationId": "get_api_v4_groups_id_-_epics_epic_iid",
        "tags": [
          "epics"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs"
          },
          {
            "name": "epic_iid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/groups/{id}/-/epics/{epic_iid}/issues": {
      "get": {
        "summary": "GET /api/v4/groups/{id}/-/epics/{epic_iid}/issues",
        "operationId": "get_api_v4_groups_id_-_epics_epic_iid_issues",
        "tags": [
          "epics"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs"
          },
          {
            "name": "epic_iid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/groups/{id}/-/packages/nuget/index": {
      "get": {
        "summary": "GET /api/v4/groups/{id}/-/packages/nuget/index",
        "operationId": "get_api_v4_groups_id_-_packages_nuget_index",
        "tags": [
          "packages"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs"
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/groups/{id}/-/packages/nuget/query": {
      "get": {
        "summary": "GET /api/v4/groups/{id}/-/packages/nuget/query",
        "operationId": "get_api_v4_groups_id_-_packages_nuget_query",
        "tags": [
          "packages"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs"
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/groups/{id}/-/packages/nuget/v2": {
      "get": {
        "summary": "GET /api/v4/groups/{id}/-/packages/nuget/v2",
        "operationId": "get_api_v4_groups_id_-_packages_nuget_v2",
        "tags": [
          "packages"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs"
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/groups/{id}/-/packages/nuget/v2/$metadata": {
      "get": {
        "summary": "GET /api/v4/groups/{id}/-/packages/nuget/v2/$metadata",
        "operationId": "get_api_v4_groups_id_-_packages_nuget_v2_metadata",
        "tags": [
          "packages"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs"
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/groups/{id}/-/packages/pypi/simple": {
      "get": {
        "summary": "GET /api/v4/groups/{id}/-/packages/pypi/simple",
        "operationId": "get_api_v4_groups_id_-_packages_pypi_simple",
        "tags": [
          "packages"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs"
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/groups/{id}/epics/{epic_iid}/epics": {
      "get": {
        "summary": "GET /api/v4/groups/{id}/epics/{epic_iid}/epics",
        "operationId": "get_api_v4_groups_id_epics_epic_iid_epics",
        "tags": [
          "epics"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs"
          },
          {
            "name": "epic_iid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/groups/{id}/search": {
      "get": {
        "summary": "GET /api/v4/groups/{id}/search",
        "operationId": "get_api_v4_groups_id_search",
        "tags": [
          "search"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs"
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/groups/{id}/access_requests": {
      "get": {
        "summary": "GET /api/v4/groups/{id}/access_requests",
        "operationId": "get_api_v4_groups_id_access_requests",
        "tags": [
          "access requests"
        ],
        "description": "Served by SandboxAPIs. Answer mode: empty. Answers an EMPTY collection, and that is the true answer for this universe — not a gap. Membership here is granted directly by the group's own scaffolding; nobody has ever REQUESTED access, so the pending-request list is truthfully empty. THE SUBGROUP RESOLVES HERE as of 2026-09-10 and answers the SAME empty list: an access request is an ACTION this canon records none of, which is a fact about the universe rather than about one container",
        "x-sandboxapis-mode": "empty",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs"
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/groups/{id}/access_tokens": {
      "get": {
        "summary": "GET /api/v4/groups/{id}/access_tokens",
        "operationId": "get_api_v4_groups_id_access_tokens",
        "tags": [
          "deploy-keys-tokens"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs"
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/groups/{id}/access_tokens/{token_id}": {
      "get": {
        "summary": "GET /api/v4/groups/{id}/access_tokens/{token_id}",
        "operationId": "get_api_v4_groups_id_access_tokens_token_id",
        "tags": [
          "deploy-keys-tokens"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs"
          },
          {
            "name": "token_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/groups/{id}/approval_rules": {
      "get": {
        "summary": "GET /api/v4/groups/{id}/approval_rules",
        "operationId": "get_api_v4_groups_id_approval_rules",
        "tags": [
          "merge-requests"
        ],
        "description": "Served by SandboxAPIs. Answer mode: empty. Answers an EMPTY collection, and that is the true answer for this universe — not a gap. SERVED 2026-09-12 (hello-17): an HONEST EMPTY, and gated. features.reviewPolicy exists and the route QUERIES the container's own id against scope_kind/scope rather than hard-coding [] - so it serves a namespace-scoped rule the day canon writes one. None exists: a rule is measured off the merges in its scope, the organization's merges all happen in its one project, and the subgroup owns no repository (founder ruling F1), so neither group id has a rule of its own. On every artifact without the domain the route answers the named hello-17 generation gap instead, because [] there would assert that nothing gates a merge in an organization whose every merge carried reviews",
        "x-sandboxapis-mode": "empty",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs"
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/groups/{id}/audit_events": {
      "get": {
        "summary": "GET /api/v4/groups/{id}/audit_events",
        "operationId": "get_api_v4_groups_id_audit_events",
        "tags": [
          "audit-events"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs"
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/groups/{id}/audit_events/{audit_event_id}": {
      "get": {
        "summary": "GET /api/v4/groups/{id}/audit_events/{audit_event_id}",
        "operationId": "get_api_v4_groups_id_audit_events_audit_event_id",
        "tags": [
          "groups"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs"
          },
          {
            "name": "audit_event_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/groups/{id}/avatar": {
      "get": {
        "summary": "GET /api/v4/groups/{id}/avatar",
        "operationId": "get_api_v4_groups_id_avatar",
        "tags": [
          "avatars"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs"
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/groups/{id}/badges": {
      "get": {
        "summary": "GET /api/v4/groups/{id}/badges",
        "operationId": "get_api_v4_groups_id_badges",
        "tags": [
          "badges"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs"
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/groups/{id}/badges/{badge_id}": {
      "get": {
        "summary": "GET /api/v4/groups/{id}/badges/{badge_id}",
        "operationId": "get_api_v4_groups_id_badges_badge_id",
        "tags": [
          "badges"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs"
          },
          {
            "name": "badge_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/groups/{id}/badges/render": {
      "get": {
        "summary": "GET /api/v4/groups/{id}/badges/render",
        "operationId": "get_api_v4_groups_id_badges_render",
        "tags": [
          "badges"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs"
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/groups/{id}/billable_members": {
      "get": {
        "summary": "GET /api/v4/groups/{id}/billable_members",
        "operationId": "get_api_v4_groups_id_billable_members",
        "tags": [
          "groups"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs"
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/groups/{id}/billable_members/{user_id}/indirect": {
      "get": {
        "summary": "GET /api/v4/groups/{id}/billable_members/{user_id}/indirect",
        "operationId": "get_api_v4_groups_id_billable_members_user_id_indirect",
        "tags": [
          "groups"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs"
          },
          {
            "name": "user_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/groups/{id}/billable_members/{user_id}/memberships": {
      "get": {
        "summary": "GET /api/v4/groups/{id}/billable_members/{user_id}/memberships",
        "operationId": "get_api_v4_groups_id_billable_members_user_id_memberships",
        "tags": [
          "groups"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs"
          },
          {
            "name": "user_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/groups/{id}/boards": {
      "get": {
        "summary": "GET /api/v4/groups/{id}/boards",
        "operationId": "get_api_v4_groups_id_boards",
        "tags": [
          "boards"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs"
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/groups/{id}/boards/{board_id}": {
      "get": {
        "summary": "GET /api/v4/groups/{id}/boards/{board_id}",
        "operationId": "get_api_v4_groups_id_boards_board_id",
        "tags": [
          "boards"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs"
          },
          {
            "name": "board_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/groups/{id}/boards/{board_id}/lists": {
      "get": {
        "summary": "GET /api/v4/groups/{id}/boards/{board_id}/lists",
        "operationId": "get_api_v4_groups_id_boards_board_id_lists",
        "tags": [
          "boards"
        ],
        "description": "Served by SandboxAPIs. Answer mode: empty. Answers an EMPTY collection, and that is the true answer for this universe — not a gap. The project row's ruling at the group scope, over the SAME four team boards: a GitLab board list is a label list, this canon's columns are workflow states, and no label in this project's catalogue is one — so no board in this organization has a label list configured and `[]` at 200 under a board that resolves is GitLab's own answer, matching the `lists: []` the board object publishes. The board's columns reach the surface through hide_backlog_list and hide_closed_list, which the board rows serve. The SUBGROUP owns no repository and therefore no board at all, so a board id under it is GitLab's 404 Board Not Found rather than this empty. RULED 2026-09-14 on the hello-20 GitLab history wave.",
        "x-sandboxapis-mode": "empty",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs"
          },
          {
            "name": "board_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/groups/{id}/deploy_tokens": {
      "get": {
        "summary": "GET /api/v4/groups/{id}/deploy_tokens",
        "operationId": "get_api_v4_groups_id_deploy_tokens",
        "tags": [
          "deploy-keys-tokens"
        ],
        "description": "Served by SandboxAPIs. Answer mode: empty. Answers an EMPTY collection, and that is the true answer for this universe — not a gap. This organization's one deploy token is scoped to its one REPOSITORY, which is where a registry-pull token belongs: reader.listCredentials(\"deploy-token\") (reader.ts:3085) holds one row and its scope_ref is a RepoId, so the GROUP-level list is truthfully empty while /api/v4/projects/{id}/deploy_tokens serves that row. SERVED 2026-09-10 as GitLab's empty page with the pagination headers the vendored operation's page/per_page declare, behind the hello-16 credential gate — an older artifact answers the named generation gap, not []. The subgroup resolves here and is empty for a second reason: it owns no repository and so has no registry to pull (founder ruling F1). RULED by the founder 2026-09-10",
        "x-sandboxapis-mode": "empty",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs"
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/groups/{id}/descendant_groups": {
      "get": {
        "summary": "GET /api/v4/groups/{id}/descendant_groups",
        "operationId": "get_api_v4_groups_id_descendant_groups",
        "tags": [
          "groups"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs"
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/groups/{id}/dora/metrics": {
      "get": {
        "summary": "GET /api/v4/groups/{id}/dora/metrics",
        "operationId": "get_api_v4_groups_id_dora_metrics",
        "tags": [
          "dora metrics"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs"
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/groups/{id}/enterprise_users": {
      "get": {
        "summary": "GET /api/v4/groups/{id}/enterprise_users",
        "operationId": "get_api_v4_groups_id_enterprise_users",
        "tags": [
          "enterprise users"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs"
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/groups/{id}/enterprise_users/{user_id}": {
      "get": {
        "summary": "GET /api/v4/groups/{id}/enterprise_users/{user_id}",
        "operationId": "get_api_v4_groups_id_enterprise_users_user_id",
        "tags": [
          "enterprise users"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs"
          },
          {
            "name": "user_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/groups/{id}/epic_boards": {
      "get": {
        "summary": "GET /api/v4/groups/{id}/epic_boards",
        "operationId": "get_api_v4_groups_id_epic_boards",
        "tags": [
          "epics"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs"
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/groups/{id}/epic_boards/{board_id}": {
      "get": {
        "summary": "GET /api/v4/groups/{id}/epic_boards/{board_id}",
        "operationId": "get_api_v4_groups_id_epic_boards_board_id",
        "tags": [
          "epics"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs"
          },
          {
            "name": "board_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/groups/{id}/epic_boards/{board_id}/lists": {
      "get": {
        "summary": "GET /api/v4/groups/{id}/epic_boards/{board_id}/lists",
        "operationId": "get_api_v4_groups_id_epic_boards_board_id_lists",
        "tags": [
          "epics"
        ],
        "description": "Served by SandboxAPIs. Answer mode: empty. Answers an EMPTY collection, and that is the true answer for this universe — not a gap. The issue board's ruling on the epic board, and the vendored component makes it no easier: APIEntitiesEpicBoardsList carries `label`, `position` and a `list_type` whose published members are backlog, closed and label — and the operation excludes the first two in its own description, so every servable list is a LABEL list over a label this group publishes, and no label in this universe is a workflow state. Nobody configured one, so `[]` at 200 under an epic board that RESOLVES is GitLab's own answer and matches the `lists: []` the board publishes. An epic nobody filed an issue against has no board at all and its id is GitLab's 404 Board Not Found. RULED 2026-09-14 on the hello-20 GitLab history wave.",
        "x-sandboxapis-mode": "empty",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs"
          },
          {
            "name": "board_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/groups/{id}/epics": {
      "get": {
        "summary": "GET /api/v4/groups/{id}/epics",
        "operationId": "get_api_v4_groups_id_epics",
        "tags": [
          "epics"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs"
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/groups/{id}/epics/{epic_iid}": {
      "get": {
        "summary": "GET /api/v4/groups/{id}/epics/{epic_iid}",
        "operationId": "get_api_v4_groups_id_epics_epic_iid",
        "tags": [
          "epics"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs"
          },
          {
            "name": "epic_iid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/groups/{id}/epics/{epic_iid}/award_emoji": {
      "get": {
        "summary": "GET /api/v4/groups/{id}/epics/{epic_iid}/award_emoji",
        "operationId": "get_api_v4_groups_id_epics_epic_iid_award_emoji",
        "tags": [
          "award emoji"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs"
          },
          {
            "name": "epic_iid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/groups/{id}/epics/{epic_iid}/award_emoji/{award_id}": {
      "get": {
        "summary": "GET /api/v4/groups/{id}/epics/{epic_iid}/award_emoji/{award_id}",
        "operationId": "get_api_v4_groups_id_epics_epic_iid_award_emoji_award_id",
        "tags": [
          "award emoji"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs"
          },
          {
            "name": "epic_iid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "award_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/groups/{id}/epics/{epic_iid}/issues": {
      "get": {
        "summary": "GET /api/v4/groups/{id}/epics/{epic_iid}/issues",
        "operationId": "get_api_v4_groups_id_epics_epic_iid_issues",
        "tags": [
          "epics"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs"
          },
          {
            "name": "epic_iid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/groups/{id}/epics/{epic_iid}/notes/{note_id}/award_emoji": {
      "get": {
        "summary": "GET /api/v4/groups/{id}/epics/{epic_iid}/notes/{note_id}/award_emoji",
        "operationId": "get_api_v4_groups_id_epics_epic_iid_notes_note_id_award_emoji",
        "tags": [
          "award emoji"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs"
          },
          {
            "name": "epic_iid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "note_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/groups/{id}/epics/{epic_iid}/notes/{note_id}/award_emoji/{award_id}": {
      "get": {
        "summary": "GET /api/v4/groups/{id}/epics/{epic_iid}/notes/{note_id}/award_emoji/{award_id}",
        "operationId": "get_api_v4_groups_id_epics_epic_iid_notes_note_id_award_emoji_award_id",
        "tags": [
          "award emoji"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs"
          },
          {
            "name": "epic_iid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "note_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "award_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/groups/{id}/epics/{epic_iid}/related_epics": {
      "get": {
        "summary": "GET /api/v4/groups/{id}/epics/{epic_iid}/related_epics",
        "operationId": "get_api_v4_groups_id_epics_epic_iid_related_epics",
        "tags": [
          "epics"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs"
          },
          {
            "name": "epic_iid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/groups/{id}/epics/{eventable_id}/resource_label_events": {
      "get": {
        "summary": "GET /api/v4/groups/{id}/epics/{eventable_id}/resource_label_events",
        "operationId": "get_api_v4_groups_id_epics_eventable_id_resource_label_events",
        "tags": [
          "events"
        ],
        "description": "Served by SandboxAPIs. Answer mode: empty. Answers an EMPTY collection, and that is the true answer for this universe — not a gap. NO EPIC IN THIS UNIVERSE WAS EVER LABELLED, and the epic itself says so: glEpic publishes `labels: []` on every one of the 27 epics, and hello-20's `resource_event` table is keyed on an ISSUE id (`issue TEXT NOT NULL REFERENCES issue(id)`) so not one of its 205 rows at 90 days names an epic and none ever can. `[]` at 200 under an epic that RESOLVES is therefore GitLab's own answer and the replica agreeing with itself; a feed with events in it would contradict the epic beside it (invariant #5). UNGATED, which is what separates this from a generation gap: the fact is true of every artifact, so the epic's own hello-16 gate is the only one, and a pre-hello-16 artifact answers the EPIC gap rather than this empty. RULED 2026-09-14 on the hello-20 GitLab history wave.",
        "x-sandboxapis-mode": "empty",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs"
          },
          {
            "name": "eventable_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/groups/{id}/epics/{eventable_id}/resource_state_events": {
      "get": {
        "summary": "GET /api/v4/groups/{id}/epics/{eventable_id}/resource_state_events",
        "operationId": "get_api_v4_groups_id_epics_eventable_id_resource_state_events",
        "tags": [
          "events"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs"
          },
          {
            "name": "eventable_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/groups/{id}/epics/{eventable_id}/resource_state_events/{event_id}": {
      "get": {
        "summary": "GET /api/v4/groups/{id}/epics/{eventable_id}/resource_state_events/{event_id}",
        "operationId": "get_api_v4_groups_id_epics_eventable_id_resource_state_events_event_id",
        "tags": [
          "events"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs"
          },
          {
            "name": "eventable_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "event_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/groups/{id}/epics/{noteable_id}/discussions": {
      "get": {
        "summary": "GET /api/v4/groups/{id}/epics/{noteable_id}/discussions",
        "operationId": "get_api_v4_groups_id_epics_noteable_id_discussions",
        "tags": [
          "discussions"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs"
          },
          {
            "name": "noteable_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/groups/{id}/epics/{noteable_id}/discussions/{discussion_id}": {
      "get": {
        "summary": "GET /api/v4/groups/{id}/epics/{noteable_id}/discussions/{discussion_id}",
        "operationId": "get_api_v4_groups_id_epics_noteable_id_discussions_discussion_id",
        "tags": [
          "discussions"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs"
          },
          {
            "name": "noteable_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "discussion_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/groups/{id}/epics/{noteable_id}/discussions/{discussion_id}/notes": {
      "get": {
        "summary": "GET /api/v4/groups/{id}/epics/{noteable_id}/discussions/{discussion_id}/notes",
        "operationId": "get_api_v4_groups_id_epics_noteable_id_discussions_discussion_id_notes",
        "tags": [
          "discussions"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs"
          },
          {
            "name": "noteable_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "discussion_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/groups/{id}/epics/{noteable_id}/discussions/{discussion_id}/notes/{note_id}": {
      "get": {
        "summary": "GET /api/v4/groups/{id}/epics/{noteable_id}/discussions/{discussion_id}/notes/{note_id}",
        "operationId": "get_api_v4_groups_id_epics_noteable_id_discussions_discussion_id_notes_note_id",
        "tags": [
          "discussions"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs"
          },
          {
            "name": "noteable_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "discussion_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "note_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/groups/{id}/epics/{noteable_id}/notes": {
      "get": {
        "summary": "GET /api/v4/groups/{id}/epics/{noteable_id}/notes",
        "operationId": "get_api_v4_groups_id_epics_noteable_id_notes",
        "tags": [
          "notes"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs"
          },
          {
            "name": "noteable_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/groups/{id}/epics/{noteable_id}/notes/{note_id}": {
      "get": {
        "summary": "GET /api/v4/groups/{id}/epics/{noteable_id}/notes/{note_id}",
        "operationId": "get_api_v4_groups_id_epics_noteable_id_notes_note_id",
        "tags": [
          "notes"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs"
          },
          {
            "name": "noteable_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "note_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/groups/{id}/groups/shared": {
      "get": {
        "summary": "GET /api/v4/groups/{id}/groups/shared",
        "operationId": "get_api_v4_groups_id_groups_shared",
        "tags": [
          "groups"
        ],
        "description": "Served by SandboxAPIs. Answer mode: empty. Answers an EMPTY collection, and that is the true answer for this universe — not a gap. There IS a second group as of hello-16 and this is still empty, because a SHARE is an action and canon records none: no group here has ever been shared with another. THE SUBGROUP RESOLVES HERE as of 2026-09-10 and answers the same empty list, for the same reason",
        "x-sandboxapis-mode": "empty",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs"
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/groups/{id}/hooks": {
      "get": {
        "summary": "GET /api/v4/groups/{id}/hooks",
        "operationId": "get_api_v4_groups_id_hooks",
        "tags": [
          "hooks-config"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs"
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/groups/{id}/hooks/{hook_id}": {
      "get": {
        "summary": "GET /api/v4/groups/{id}/hooks/{hook_id}",
        "operationId": "get_api_v4_groups_id_hooks_hook_id",
        "tags": [
          "hooks-config"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs"
          },
          {
            "name": "hook_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/groups/{id}/hooks/{hook_id}/events": {
      "get": {
        "summary": "GET /api/v4/groups/{id}/hooks/{hook_id}/events",
        "operationId": "get_api_v4_groups_id_hooks_hook_id_events",
        "tags": [
          "hooks-config"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs"
          },
          {
            "name": "hook_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/groups/{id}/integrations": {
      "get": {
        "summary": "GET /api/v4/groups/{id}/integrations",
        "operationId": "get_api_v4_groups_id_integrations",
        "tags": [
          "integrations"
        ],
        "description": "Served by SandboxAPIs. Answer mode: empty. Answers an EMPTY collection, and that is the true answer for this universe — not a gap. THIS ORGANIZATION WIRES ITS INTEGRATIONS AT THE PROJECT, AND GITLAB DISTINGUISHES THE TWO PLACEMENTS. hello-20's `project_integration` is keyed `(repo, kind)`: canon says the Slack workspace, the Jira project and the error tracker are the PROJECT's, and GitLab publishes a project row that came from the group with `inherited: true`. Every row this host serves at `/projects/{id}/integrations` carries `inherited: false`, so a group-level record would contradict it in the same breath - serving the three project rows here would tell a client this organization set group-wide defaults every project inherits, which is an over-claim rather than a gap. BOTH CONTAINERS ANSWER []: the subgroup owns no project to configure a default for (hello-16's founder ruling F1). Unpaged, because the group operation declares only `id`. THE ADJACENT ROW THAT IS SERVED IS NOT A COUNTER-EXAMPLE: `/api/v4/integrations/jira_forge/subscriptions` answers one row for this group because a GitLab-for-Jira Forge subscription is ALWAYS namespace-scoped and has no project-level counterpart at all, so the group is the only place this universe's Jira link can appear on that endpoint. RULED 2026-09-14 by the hello-20 GitLab serving wave: the F6 `glDelivery` decision counted this row servable, and the placement fact is what it could not be served on",
        "x-sandboxapis-mode": "empty",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs"
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/groups/{id}/invitations": {
      "get": {
        "summary": "GET /api/v4/groups/{id}/invitations",
        "operationId": "get_api_v4_groups_id_invitations",
        "tags": [
          "groups"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs"
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/groups/{id}/invited_groups": {
      "get": {
        "summary": "GET /api/v4/groups/{id}/invited_groups",
        "operationId": "get_api_v4_groups_id_invited_groups",
        "tags": [
          "groups"
        ],
        "description": "Served by SandboxAPIs. Answer mode: empty. Answers an EMPTY collection, and that is the true answer for this universe — not a gap. An INVITATION between groups is an action and canon records none, so no group here has been invited to another. THE SUBGROUP RESOLVES HERE as of 2026-09-10 and answers the same empty list, for the same reason",
        "x-sandboxapis-mode": "empty",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs"
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/groups/{id}/issues": {
      "get": {
        "summary": "GET /api/v4/groups/{id}/issues",
        "operationId": "get_api_v4_groups_id_issues",
        "tags": [
          "groups"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs"
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/groups/{id}/issues_statistics": {
      "get": {
        "summary": "GET /api/v4/groups/{id}/issues_statistics",
        "operationId": "get_api_v4_groups_id_issues_statistics",
        "tags": [
          "groups"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs"
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/groups/{id}/iterations": {
      "get": {
        "summary": "GET /api/v4/groups/{id}/iterations",
        "operationId": "get_api_v4_groups_id_iterations",
        "tags": [
          "iterations"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs"
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/groups/{id}/labels": {
      "get": {
        "summary": "GET /api/v4/groups/{id}/labels",
        "operationId": "get_api_v4_groups_id_labels",
        "tags": [
          "labels"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs"
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/groups/{id}/labels/{name}": {
      "get": {
        "summary": "GET /api/v4/groups/{id}/labels/{name}",
        "operationId": "get_api_v4_groups_id_labels_name",
        "tags": [
          "labels"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs"
          },
          {
            "name": "name",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/groups/{id}/manage/personal_access_tokens": {
      "get": {
        "summary": "GET /api/v4/groups/{id}/manage/personal_access_tokens",
        "operationId": "get_api_v4_groups_id_manage_personal_access_tokens",
        "tags": [
          "group credentials inventory"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs"
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/groups/{id}/manage/resource_access_tokens": {
      "get": {
        "summary": "GET /api/v4/groups/{id}/manage/resource_access_tokens",
        "operationId": "get_api_v4_groups_id_manage_resource_access_tokens",
        "tags": [
          "group credentials inventory"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs"
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/groups/{id}/manage/ssh_keys": {
      "get": {
        "summary": "GET /api/v4/groups/{id}/manage/ssh_keys",
        "operationId": "get_api_v4_groups_id_manage_ssh_keys",
        "tags": [
          "group credentials inventory"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs"
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/groups/{id}/member_roles": {
      "get": {
        "summary": "GET /api/v4/groups/{id}/member_roles",
        "operationId": "get_api_v4_groups_id_member_roles",
        "tags": [
          "member roles"
        ],
        "description": "Served by SandboxAPIs. Answer mode: empty. Answers an EMPTY collection, and that is the true answer for this universe — not a gap. Olympus-labs defines no custom member role — the five roles in canon's membership_role table are GitLab's own built-ins; GitLab answers `[]` at 200 for a group that has minted none. THE LIST HALF, served UNPAGINATED because the vendored operation declares `id` and nothing else. Both container ids answer it: the document restricts the operation to no particular group, so the subgroup is not denied a family this host lists it under (invariant #5). UNGATED: no generation of this universe mints a custom role — canon's five roles are GitLab's own built-ins. RULED by the founder 2026-09-12",
        "x-sandboxapis-mode": "empty",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs"
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/groups/{id}/members": {
      "get": {
        "summary": "GET /api/v4/groups/{id}/members",
        "operationId": "get_api_v4_groups_id_members",
        "tags": [
          "groups"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs"
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/groups/{id}/members/{user_id}": {
      "get": {
        "summary": "GET /api/v4/groups/{id}/members/{user_id}",
        "operationId": "get_api_v4_groups_id_members_user_id",
        "tags": [
          "groups"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs"
          },
          {
            "name": "user_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/groups/{id}/members/all": {
      "get": {
        "summary": "GET /api/v4/groups/{id}/members/all",
        "operationId": "get_api_v4_groups_id_members_all",
        "tags": [
          "groups"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs"
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/groups/{id}/members/all/{user_id}": {
      "get": {
        "summary": "GET /api/v4/groups/{id}/members/all/{user_id}",
        "operationId": "get_api_v4_groups_id_members_all_user_id",
        "tags": [
          "groups"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs"
          },
          {
            "name": "user_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/groups/{id}/merge_request_approval_setting": {
      "get": {
        "summary": "GET /api/v4/groups/{id}/merge_request_approval_setting",
        "operationId": "get_api_v4_groups_id_merge_request_approval_setting",
        "tags": [
          "merge-requests"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs"
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/groups/{id}/merge_requests": {
      "get": {
        "summary": "GET /api/v4/groups/{id}/merge_requests",
        "operationId": "get_api_v4_groups_id_merge_requests",
        "tags": [
          "merge-requests"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs"
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/groups/{id}/milestones": {
      "get": {
        "summary": "GET /api/v4/groups/{id}/milestones",
        "operationId": "get_api_v4_groups_id_milestones",
        "tags": [
          "milestones"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs"
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/groups/{id}/milestones/{milestone_id}": {
      "get": {
        "summary": "GET /api/v4/groups/{id}/milestones/{milestone_id}",
        "operationId": "get_api_v4_groups_id_milestones_milestone_id",
        "tags": [
          "milestones"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs"
          },
          {
            "name": "milestone_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/groups/{id}/milestones/{milestone_id}/issues": {
      "get": {
        "summary": "GET /api/v4/groups/{id}/milestones/{milestone_id}/issues",
        "operationId": "get_api_v4_groups_id_milestones_milestone_id_issues",
        "tags": [
          "milestones"
        ],
        "description": "Served by SandboxAPIs. Answer mode: empty. Answers an EMPTY collection, and that is the true answer for this universe — not a gap. The group milestone RESOLVES from hello-16 and nothing is assigned to it: it is the release train the repository's own milestone rolls up into, and all 24 issues that carry a milestone carry the repository's. Served as GitLab's 200 [] under a milestone that exists, rather than the 404 it was when no group milestone could exist - which is still the answer on every older pin. SERVED 2026-09-09 (hello-16)",
        "x-sandboxapis-mode": "empty",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs"
          },
          {
            "name": "milestone_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/groups/{id}/milestones/{milestone_id}/merge_requests": {
      "get": {
        "summary": "GET /api/v4/groups/{id}/milestones/{milestone_id}/merge_requests",
        "operationId": "get_api_v4_groups_id_milestones_milestone_id_merge_requests",
        "tags": [
          "milestones"
        ],
        "description": "Served by SandboxAPIs. Answer mode: empty. Answers an EMPTY collection, and that is the true answer for this universe — not a gap. The merge-request twin of the group milestone's issue list, empty for the same reason: both merge requests that carry a milestone carry the REPOSITORY's, which projects/{id}/milestones/{id}/merge_requests serves with real rows. 200 [] under a milestone that exists from hello-16; the 404 on every older pin. SERVED 2026-09-09 (hello-16)",
        "x-sandboxapis-mode": "empty",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs"
          },
          {
            "name": "milestone_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/groups/{id}/notification_settings": {
      "get": {
        "summary": "GET /api/v4/groups/{id}/notification_settings",
        "operationId": "get_api_v4_groups_id_notification_settings",
        "tags": [
          "notification settings"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs"
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/groups/{id}/packages": {
      "get": {
        "summary": "GET /api/v4/groups/{id}/packages",
        "operationId": "get_api_v4_groups_id_packages",
        "tags": [
          "packages"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs"
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/groups/{id}/pending_members": {
      "get": {
        "summary": "GET /api/v4/groups/{id}/pending_members",
        "operationId": "get_api_v4_groups_id_pending_members",
        "tags": [
          "groups"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs"
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/groups/{id}/placeholder_reassignments": {
      "get": {
        "summary": "GET /api/v4/groups/{id}/placeholder_reassignments",
        "operationId": "get_api_v4_groups_id_placeholder_reassignments",
        "tags": [
          "groups"
        ],
        "description": "Served by SandboxAPIs. Answer mode: empty. Answers an EMPTY collection, and that is the true answer for this universe — not a gap. A pending reassignment is an IMPORT artifact and this group was never imported from another instance. THE SUBGROUP RESOLVES HERE as of 2026-09-10 and answers the same empty list, for the same reason",
        "x-sandboxapis-mode": "empty",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs"
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/groups/{id}/projects": {
      "get": {
        "summary": "GET /api/v4/groups/{id}/projects",
        "operationId": "get_api_v4_groups_id_projects",
        "tags": [
          "groups"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs"
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/groups/{id}/projects/shared": {
      "get": {
        "summary": "GET /api/v4/groups/{id}/projects/shared",
        "operationId": "get_api_v4_groups_id_projects_shared",
        "tags": [
          "groups"
        ],
        "description": "Served by SandboxAPIs. Answer mode: empty. Answers an EMPTY collection, and that is the true answer for this universe — not a gap. The organization owns every project directly and none is shared in from anywhere. THE SUBGROUP RESOLVES HERE as of 2026-09-10 and answers the same empty list: it owns no project of its own (founder ruling F1) and nothing has been shared with it either",
        "x-sandboxapis-mode": "empty",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs"
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/groups/{id}/protected_branches": {
      "get": {
        "summary": "GET /api/v4/groups/{id}/protected_branches",
        "operationId": "get_api_v4_groups_id_protected_branches",
        "tags": [
          "protected-branches"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs"
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/groups/{id}/protected_branches/{name}": {
      "get": {
        "summary": "GET /api/v4/groups/{id}/protected_branches/{name}",
        "operationId": "get_api_v4_groups_id_protected_branches_name",
        "tags": [
          "protected-branches"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs"
          },
          {
            "name": "name",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/groups/{id}/protected_environments": {
      "get": {
        "summary": "GET /api/v4/groups/{id}/protected_environments",
        "operationId": "get_api_v4_groups_id_protected_environments",
        "tags": [
          "deployments"
        ],
        "description": "Served by SandboxAPIs. Answer mode: empty. Answers an EMPTY collection, and that is the true answer for this universe — not a gap. Olympus-labs protects only branches — canon's protected_ref carries two branch patterns at namespace scope and no environment, tag, merge train, push rule or external status check exists; GitLab answers `[]` at 200 for each of these lists and its own 404 for a named one. THE LIST HALF, served as GitLab's empty page with the pagination headers the operation declares. UNGATED: no generation of this universe has ever protected an environment or a tag, queued a merge train, registered an external status check or set a push rule, so every registered pin answers this same `[]`. Falsifiable: the `expectsEmpty` conformance entry reds the row the day canon grows one. RULED by the founder 2026-09-12",
        "x-sandboxapis-mode": "empty",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs"
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/groups/{id}/provisioned_users": {
      "get": {
        "summary": "GET /api/v4/groups/{id}/provisioned_users",
        "operationId": "get_api_v4_groups_id_provisioned_users",
        "tags": [
          "groups"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs"
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/groups/{id}/registry/repositories": {
      "get": {
        "summary": "GET /api/v4/groups/{id}/registry/repositories",
        "operationId": "get_api_v4_groups_id_registry_repositories",
        "tags": [
          "container-registry"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs"
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/groups/{id}/related_epic_links": {
      "get": {
        "summary": "GET /api/v4/groups/{id}/related_epic_links",
        "operationId": "get_api_v4_groups_id_related_epic_links",
        "tags": [
          "epics"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs"
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/groups/{id}/releases": {
      "get": {
        "summary": "GET /api/v4/groups/{id}/releases",
        "operationId": "get_api_v4_groups_id_releases",
        "tags": [
          "releases"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs"
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/groups/{id}/runners": {
      "get": {
        "summary": "GET /api/v4/groups/{id}/runners",
        "operationId": "get_api_v4_groups_id_runners",
        "tags": [
          "runners"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs"
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/groups/{id}/saml_group_links": {
      "get": {
        "summary": "GET /api/v4/groups/{id}/saml_group_links",
        "operationId": "get_api_v4_groups_id_saml_group_links",
        "tags": [
          "saml group links"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs"
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/groups/{id}/saml_group_links/{saml_group_name}": {
      "get": {
        "summary": "GET /api/v4/groups/{id}/saml_group_links/{saml_group_name}",
        "operationId": "get_api_v4_groups_id_saml_group_links_saml_group_name",
        "tags": [
          "saml group links"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs"
          },
          {
            "name": "saml_group_name",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/groups/{id}/saml_users": {
      "get": {
        "summary": "GET /api/v4/groups/{id}/saml_users",
        "operationId": "get_api_v4_groups_id_saml_users",
        "tags": [
          "groups"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs"
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/groups/{id}/saml/{uid}": {
      "get": {
        "summary": "GET /api/v4/groups/{id}/saml/{uid}",
        "operationId": "get_api_v4_groups_id_saml_uid",
        "tags": [
          "provider identities"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs"
          },
          {
            "name": "uid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/groups/{id}/saml/identities": {
      "get": {
        "summary": "GET /api/v4/groups/{id}/saml/identities",
        "operationId": "get_api_v4_groups_id_saml_identities",
        "tags": [
          "provider identities"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs"
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/groups/{id}/scim/{uid}": {
      "get": {
        "summary": "GET /api/v4/groups/{id}/scim/{uid}",
        "operationId": "get_api_v4_groups_id_scim_uid",
        "tags": [
          "provider identities"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs"
          },
          {
            "name": "uid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/groups/{id}/scim/identities": {
      "get": {
        "summary": "GET /api/v4/groups/{id}/scim/identities",
        "operationId": "get_api_v4_groups_id_scim_identities",
        "tags": [
          "provider identities"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs"
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/groups/{id}/service_accounts": {
      "get": {
        "summary": "GET /api/v4/groups/{id}/service_accounts",
        "operationId": "get_api_v4_groups_id_service_accounts",
        "tags": [
          "service accounts"
        ],
        "description": "Served by SandboxAPIs. Answer mode: empty. Answers an EMPTY collection, and that is the true answer for this universe — not a gap. Every actor in olympus-labs is a person on the roster — canon mints no bot principal, and a service account served here would be a member no other host lists (invariant #5); GitLab answers `[]` at 200 for a group with none. THE LIST HALF, served as GitLab's empty page with the pagination headers the operation declares. UNGATED: canon has no `ServiceAccount` in any generation — hello-17 dropped the federation domain that would have introduced one, so every registered pin answers this same `[]`. Falsifiable: the `expectsEmpty` conformance entry reds the row the day canon grows one. RULED by the founder 2026-09-12",
        "x-sandboxapis-mode": "empty",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs"
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/groups/{id}/ssh_certificates": {
      "get": {
        "summary": "GET /api/v4/groups/{id}/ssh_certificates",
        "operationId": "get_api_v4_groups_id_ssh_certificates",
        "tags": [
          "deploy-keys-tokens"
        ],
        "description": "Served by SandboxAPIs. Answer mode: empty. Answers an EMPTY collection, and that is the true answer for this universe — not a gap. A group SSH CERTIFICATE is a certificate AUTHORITY an administrator registers so members can authenticate with short-lived certificates. Registering one is an ACTION and canon records none in any generation; every `ssh-auth` row in reader.listCredentials is a plain ed25519 public key rather than a certificate, which is the same fact read from the members' end. SERVED 2026-09-10 as GitLab's empty page with the pagination headers the vendored operation's page/per_page declare, UNGATED — the fact is a property of the model rather than of the credential domain, so an older artifact answers the same empty list. The vendored document scopes this operation to \"a specified group\" and not to a top-level one, so the subgroup answers it too. RULED by the founder 2026-09-10",
        "x-sandboxapis-mode": "empty",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs"
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/groups/{id}/subgroups": {
      "get": {
        "summary": "GET /api/v4/groups/{id}/subgroups",
        "operationId": "get_api_v4_groups_id_subgroups",
        "tags": [
          "groups"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs"
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/groups/{id}/transfer_locations": {
      "get": {
        "summary": "GET /api/v4/groups/{id}/transfer_locations",
        "operationId": "get_api_v4_groups_id_transfer_locations",
        "tags": [
          "groups"
        ],
        "description": "Served by SandboxAPIs. Answer mode: empty. Answers an EMPTY collection, and that is the true answer for this universe — not a gap. The namespaces a GROUP can be transferred into. Empty for the organization because a group cannot be transferred into its own descendant and the only other namespace is one. THE SUBGROUP RESOLVES HERE as of 2026-09-10 and is empty for the OPPOSITE reason, which is why this row now carries both: the only candidate for the subgroup is the parent it already sits under, and a transfer that moves nothing is no transfer. Neither emptiness is a gap",
        "x-sandboxapis-mode": "empty",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs"
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/groups/{id}/uploads": {
      "get": {
        "summary": "GET /api/v4/groups/{id}/uploads",
        "operationId": "get_api_v4_groups_id_uploads",
        "tags": [
          "groups"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs"
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/groups/{id}/uploads/{secret}/{filename}": {
      "get": {
        "summary": "GET /api/v4/groups/{id}/uploads/{secret}/{filename}",
        "operationId": "get_api_v4_groups_id_uploads_secret_filename",
        "tags": [
          "groups"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs"
          },
          {
            "name": "secret",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filename",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/groups/{id}/uploads/{upload_id}": {
      "get": {
        "summary": "GET /api/v4/groups/{id}/uploads/{upload_id}",
        "operationId": "get_api_v4_groups_id_uploads_upload_id",
        "tags": [
          "groups"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs"
          },
          {
            "name": "upload_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/groups/{id}/variables": {
      "get": {
        "summary": "GET /api/v4/groups/{id}/variables",
        "operationId": "get_api_v4_groups_id_variables",
        "tags": [
          "variables"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs"
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/groups/{id}/variables/{key}": {
      "get": {
        "summary": "GET /api/v4/groups/{id}/variables/{key}",
        "operationId": "get_api_v4_groups_id_variables_key",
        "tags": [
          "variables"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs"
          },
          {
            "name": "key",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/groups/{id}/wikis": {
      "get": {
        "summary": "GET /api/v4/groups/{id}/wikis",
        "operationId": "get_api_v4_groups_id_wikis",
        "tags": [
          "wikis"
        ],
        "description": "Served by SandboxAPIs. Answer mode: empty. Answers an EMPTY collection, and that is the true answer for this universe — not a gap. Olympus-labs documents its services in the parthenon repository, not in a wiki — no WikiPage exists at project or group scope; GitLab answers `[]` at 200 for the wiki list and its own 404 for a slug that names nothing. THE LIST HALF, served UNPAGINATED because the vendored operation declares only `id` and `with_content` — printing pagination headers on an operation GitLab does not paginate would break invariant #2 in the name of consistency. Both container ids answer it: the document says \"for a group\" and restricts the operation to no particular one, so the subgroup is not denied a family this host lists it under (invariant #5). UNGATED: canon has no WikiPage in any generation. RULED by the founder 2026-09-12",
        "x-sandboxapis-mode": "empty",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs"
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/integrations/jira_forge/subscriptions": {
      "get": {
        "summary": "GET /api/v4/integrations/jira_forge/subscriptions",
        "operationId": "get_api_v4_integrations_jira_forge_subscriptions",
        "tags": [
          "jira forge subscriptions"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/issues": {
      "get": {
        "summary": "GET /api/v4/issues",
        "operationId": "get_api_v4_issues",
        "tags": [
          "issues"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/issues_statistics": {
      "get": {
        "summary": "GET /api/v4/issues_statistics",
        "operationId": "get_api_v4_issues_statistics",
        "tags": [
          "issues"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/issues/{id}": {
      "get": {
        "summary": "GET /api/v4/issues/{id}",
        "operationId": "get_api_v4_issues_id",
        "tags": [
          "issues"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/jobs/{id}/artifacts": {
      "get": {
        "summary": "GET /api/v4/jobs/{id}/artifacts",
        "operationId": "get_api_v4_jobs_id_artifacts",
        "tags": [
          "jobs"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/merge_requests": {
      "get": {
        "summary": "GET /api/v4/merge_requests",
        "operationId": "get_api_v4_merge_requests",
        "tags": [
          "merge-requests"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/metadata": {
      "get": {
        "summary": "GET /api/v4/metadata",
        "operationId": "get_api_v4_metadata",
        "tags": [
          "instance-admin"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/namespaces": {
      "get": {
        "summary": "GET /api/v4/namespaces",
        "operationId": "get_api_v4_namespaces",
        "tags": [
          "namespaces"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/namespaces/{id}": {
      "get": {
        "summary": "GET /api/v4/namespaces/{id}",
        "operationId": "get_api_v4_namespaces_id",
        "tags": [
          "namespaces"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/namespaces/{id}/exists": {
      "get": {
        "summary": "GET /api/v4/namespaces/{id}/exists",
        "operationId": "get_api_v4_namespaces_id_exists",
        "tags": [
          "namespaces"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/namespaces/{id}/gitlab_subscription": {
      "get": {
        "summary": "GET /api/v4/namespaces/{id}/gitlab_subscription",
        "operationId": "get_api_v4_namespaces_id_gitlab_subscription",
        "tags": [
          "namespaces"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/notification_settings": {
      "get": {
        "summary": "GET /api/v4/notification_settings",
        "operationId": "get_api_v4_notification_settings",
        "tags": [
          "notification settings"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/occurrences/vulnerabilities": {
      "get": {
        "summary": "GET /api/v4/occurrences/vulnerabilities",
        "operationId": "get_api_v4_occurrences_vulnerabilities",
        "tags": [
          "dependency management"
        ],
        "description": "Served by SandboxAPIs. Answer mode: empty. Answers an EMPTY collection, and that is the true answer for this universe — not a gap. The vulnerabilities related to one SBOM occurrence, and no occurrence in this universe has any: no security product is enabled on olympus-labs and no vulnerability exists (§A-R1 of the hello-20 batch, founder-approved 2026-09-14). THE OCCURRENCE IS A QUERY PARAMETER AND THE OPERATION DECLARES NO 404 AT ALL - 200 and 400 are its whole response set - so the honest answer for an occurrence nobody scanned is the empty list rather than a status GitLab does not return here, which is why this row is `empty` while the six addressed by a path id or digest refuse. UNGATED: no generation of this universe holds a SecurityFinding; conformance drives it against the oldest generation in the suite.",
        "x-sandboxapis-mode": "empty",
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/packages/conan/v1/conans/search": {
      "get": {
        "summary": "GET /api/v4/packages/conan/v1/conans/search",
        "operationId": "get_api_v4_packages_conan_v1_conans_search",
        "tags": [
          "packages"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/packages/conan/v1/ping": {
      "get": {
        "summary": "GET /api/v4/packages/conan/v1/ping",
        "operationId": "get_api_v4_packages_conan_v1_ping",
        "tags": [
          "packages"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/personal_access_tokens": {
      "get": {
        "summary": "GET /api/v4/personal_access_tokens",
        "operationId": "get_api_v4_personal_access_tokens",
        "tags": [
          "deploy-keys-tokens"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/personal_access_tokens/{id}": {
      "get": {
        "summary": "GET /api/v4/personal_access_tokens/{id}",
        "operationId": "get_api_v4_personal_access_tokens_id",
        "tags": [
          "deploy-keys-tokens"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/personal_access_tokens/self": {
      "get": {
        "summary": "GET /api/v4/personal_access_tokens/self",
        "operationId": "get_api_v4_personal_access_tokens_self",
        "tags": [
          "deploy-keys-tokens"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/personal_access_tokens/self/associations": {
      "get": {
        "summary": "GET /api/v4/personal_access_tokens/self/associations",
        "operationId": "get_api_v4_personal_access_tokens_self_associations",
        "tags": [
          "deploy-keys-tokens"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects": {
      "get": {
        "summary": "GET /api/v4/projects",
        "operationId": "get_api_v4_projects",
        "tags": [
          "projects"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}": {
      "get": {
        "summary": "GET /api/v4/projects/{id}",
        "operationId": "get_api_v4_projects_id",
        "tags": [
          "projects"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/search": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/search",
        "operationId": "get_api_v4_projects_id_search",
        "tags": [
          "search"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/access_requests": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/access_requests",
        "operationId": "get_api_v4_projects_id_access_requests",
        "tags": [
          "access requests"
        ],
        "description": "Served by SandboxAPIs. Answer mode: empty. Answers an EMPTY collection, and that is the true answer for this universe — not a gap. The project-scoped twin of the group access-request list, held to the same fact: membership is granted directly, so nothing is pending",
        "x-sandboxapis-mode": "empty",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/access_tokens": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/access_tokens",
        "operationId": "get_api_v4_projects_id_access_tokens",
        "tags": [
          "deploy-keys-tokens"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/access_tokens/{token_id}": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/access_tokens/{token_id}",
        "operationId": "get_api_v4_projects_id_access_tokens_token_id",
        "tags": [
          "deploy-keys-tokens"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          },
          {
            "name": "token_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/alert_management_alerts/{alert_iid}/metric_images": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/alert_management_alerts/{alert_iid}/metric_images",
        "operationId": "get_api_v4_projects_id_alert_management_alerts_alert_iid_metric_images",
        "tags": [
          "alert management"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          },
          {
            "name": "alert_iid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/analytics/deployment_frequency": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/analytics/deployment_frequency",
        "operationId": "get_api_v4_projects_id_analytics_deployment_frequency",
        "tags": [
          "analytics"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/approval_rules": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/approval_rules",
        "operationId": "get_api_v4_projects_id_approval_rules",
        "tags": [
          "merge-requests"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/approval_rules/{approval_rule_id}": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/approval_rules/{approval_rule_id}",
        "operationId": "get_api_v4_projects_id_approval_rules_approval_rule_id",
        "tags": [
          "merge-requests"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          },
          {
            "name": "approval_rule_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/approval_settings": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/approval_settings",
        "operationId": "get_api_v4_projects_id_approval_settings",
        "tags": [
          "merge-requests"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/approvals": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/approvals",
        "operationId": "get_api_v4_projects_id_approvals",
        "tags": [
          "merge-requests"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/audit_events": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/audit_events",
        "operationId": "get_api_v4_projects_id_audit_events",
        "tags": [
          "projects"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/audit_events/{audit_event_id}": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/audit_events/{audit_event_id}",
        "operationId": "get_api_v4_projects_id_audit_events_audit_event_id",
        "tags": [
          "projects"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          },
          {
            "name": "audit_event_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/avatar": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/avatar",
        "operationId": "get_api_v4_projects_id_avatar",
        "tags": [
          "avatars"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/badges": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/badges",
        "operationId": "get_api_v4_projects_id_badges",
        "tags": [
          "badges"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/badges/{badge_id}": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/badges/{badge_id}",
        "operationId": "get_api_v4_projects_id_badges_badge_id",
        "tags": [
          "badges"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          },
          {
            "name": "badge_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/badges/render": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/badges/render",
        "operationId": "get_api_v4_projects_id_badges_render",
        "tags": [
          "badges"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/boards": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/boards",
        "operationId": "get_api_v4_projects_id_boards",
        "tags": [
          "boards"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/boards/{board_id}": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/boards/{board_id}",
        "operationId": "get_api_v4_projects_id_boards_board_id",
        "tags": [
          "boards"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          },
          {
            "name": "board_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/boards/{board_id}/lists": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/boards/{board_id}/lists",
        "operationId": "get_api_v4_projects_id_boards_board_id_lists",
        "tags": [
          "boards"
        ],
        "description": "Served by SandboxAPIs. Answer mode: empty. Answers an EMPTY collection, and that is the true answer for this universe — not a gap. NO BOARD IN THIS ORGANIZATION HAS A LABEL LIST CONFIGURED. A GitLab issue-board list is a LABEL list — the vendored APIEntitiesList carries `label`, `milestone`, `iteration` and `assignee` and no `list_type` at all, and both lists operations exclude the built-in open and closed lists — while this canon's board columns are WORKFLOW STATES: /projects/{id}/labels publishes bug, enhancement, documentation, priority: high, good first issue and wontfix, and not one of them is backlog, todo, in_progress, in_review, done or canceled. Minting a label for a column would publish a label that resolves nowhere on this host (invariant #5) and invent a value (invariant #4). It is also the domain's own WIP-limit argument one level up: canon records the states the issues PASSED THROUGH, an observation, while a board list is a list somebody ADDED, a policy — and nobody here added one. The columns are not discarded: they decide hide_backlog_list and hide_closed_list on the board object, which the board rows serve and conformance asserts DIFFER from team to team. `[]` at 200 under a board that RESOLVES, matching the `lists: []` the board itself publishes; a board id nobody holds is GitLab's 404 Board Not Found. RULED 2026-09-14 on the hello-20 GitLab history wave.",
        "x-sandboxapis-mode": "empty",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          },
          {
            "name": "board_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/ci/lint": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/ci/lint",
        "operationId": "get_api_v4_projects_id_ci_lint",
        "tags": [
          "ci lint"
        ],
        "description": "Served by SandboxAPIs. Answer mode: empty. Answers an EMPTY collection, and that is the true answer for this universe — not a gap. The parthenon repository has no `.gitlab-ci.yml` — its pipelines are defined in `.circleci/` (ci_config_document, 3 rows, all under .circleci/) and `.github/workflows/`, and no tree entry names a GitLab CI file; GitLab's own answer for a project with no config is a 200 carrying `valid: false` and its own \"Please provide content of .gitlab-ci.yml\" error. NOT A COLLECTION: the operation returns `APIEntitiesCiLintResult`, an object, so the honest empty is GitLab's own failed lint rather than `[]`. `merged_yaml`, `includes` and `jobs` are OMITTED rather than nulled — there is no configuration to merge, nothing to include and no job to describe, all three are optional in the vendored component, and a null typed `string` would buy a deviation for nothing. UNGATED: no generation of this repository's tree carries a `.gitlab-ci.yml`. Falsifiable: the `expectsEmpty` conformance entry (`ciLintEmptyErrors`) names every field and reds the row the day one appears. RULED by the founder 2026-09-12",
        "x-sandboxapis-mode": "empty",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/cluster_agents": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/cluster_agents",
        "operationId": "get_api_v4_projects_id_cluster_agents",
        "tags": [
          "cluster agents"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/cluster_agents/{agent_id}": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/cluster_agents/{agent_id}",
        "operationId": "get_api_v4_projects_id_cluster_agents_agent_id",
        "tags": [
          "cluster agents"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          },
          {
            "name": "agent_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/cluster_agents/{agent_id}/tokens": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/cluster_agents/{agent_id}/tokens",
        "operationId": "get_api_v4_projects_id_cluster_agents_agent_id_tokens",
        "tags": [
          "cluster agents"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          },
          {
            "name": "agent_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/cluster_agents/{agent_id}/tokens/{token_id}": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/cluster_agents/{agent_id}/tokens/{token_id}",
        "operationId": "get_api_v4_projects_id_cluster_agents_agent_id_tokens_token_id",
        "tags": [
          "cluster agents"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          },
          {
            "name": "agent_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "token_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/cluster_agents/{agent_id}/url_configurations": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/cluster_agents/{agent_id}/url_configurations",
        "operationId": "get_api_v4_projects_id_cluster_agents_agent_id_url_configurations",
        "tags": [
          "cluster agents"
        ],
        "description": "Served by SandboxAPIs. Answer mode: empty. Answers an EMPTY collection, and that is the true answer for this universe — not a gap. A URL CONFIGURATION BELONGS TO A RECEPTIVE AGENT - one GitLab connects OUT to - and every agent in this universe connects IN, which is what a deploy run from a pipeline is. The served `…/cluster_agents/{agent_id}` rows publish `is_receptive: false`, so this empty and that flag are one fact said twice rather than two claims that could drift. THE AGENT RESOLVES FIRST, which is what makes the empty honest rather than confident: an `{agent_id}` this project has not got answers `404 Agent Not Found`, the same body the by-id route gives, and an unknown project answers `404 Project Not Found`. Unpaged, because the operation declares no `page`/`per_page`. RULED 2026-09-14 by the hello-20 GitLab serving wave, on the F6 `glDelivery` decision's §5",
        "x-sandboxapis-mode": "empty",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          },
          {
            "name": "agent_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/debian_distributions": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/debian_distributions",
        "operationId": "get_api_v4_projects_id_debian_distributions",
        "tags": [
          "packages"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/dependencies": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/dependencies",
        "operationId": "get_api_v4_projects_id_dependencies",
        "tags": [
          "dependency management"
        ],
        "description": "Served by SandboxAPIs. Answer mode: empty. Answers an EMPTY collection, and that is the true answer for this universe — not a gap. GitLab's DEPENDENCY LIST is a security-scanning surface, not a package list, and its own description says so: it partially mirrors the dependency list feature, which is available only for languages and package managers supported by Gemnasium - i.e. it reports what a dependency-SCANNING job found. No such job ran here, because no security product is enabled on olympus-labs (§A-R1 of the hello-20 batch, founder-approved 2026-09-14). THE EMPTY AND THE SBOM AGREE RATHER THAN CONTRADICTING: this universe's dependencies are real and are published where it actually records them - `render-sbom.ts` parses parthenon's own `package.json`, `go.mod` and `requirements.txt` - and what is missing is the SCAN, not the packages. UNGATED: no generation holds a scan result, so the empty is true on every artifact; conformance drives it against the oldest generation in the suite. A collection under a project that resolves.",
        "x-sandboxapis-mode": "empty",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/deploy_keys": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/deploy_keys",
        "operationId": "get_api_v4_projects_id_deploy_keys",
        "tags": [
          "deploy-keys-tokens"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/deploy_keys/{key_id}": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/deploy_keys/{key_id}",
        "operationId": "get_api_v4_projects_id_deploy_keys_key_id",
        "tags": [
          "deploy-keys-tokens"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          },
          {
            "name": "key_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/deploy_tokens": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/deploy_tokens",
        "operationId": "get_api_v4_projects_id_deploy_tokens",
        "tags": [
          "deploy-keys-tokens"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/deploy_tokens/{token_id}": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/deploy_tokens/{token_id}",
        "operationId": "get_api_v4_projects_id_deploy_tokens_token_id",
        "tags": [
          "deploy-keys-tokens"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          },
          {
            "name": "token_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/deployments": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/deployments",
        "operationId": "get_api_v4_projects_id_deployments",
        "tags": [
          "deploy-keys-tokens"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/deployments/{deployment_id}": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/deployments/{deployment_id}",
        "operationId": "get_api_v4_projects_id_deployments_deployment_id",
        "tags": [
          "deploy-keys-tokens"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          },
          {
            "name": "deployment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/deployments/{deployment_id}/merge_requests": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/deployments/{deployment_id}/merge_requests",
        "operationId": "get_api_v4_projects_id_deployments_deployment_id_merge_requests",
        "tags": [
          "deploy-keys-tokens"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          },
          {
            "name": "deployment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/dora/metrics": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/dora/metrics",
        "operationId": "get_api_v4_projects_id_dora_metrics",
        "tags": [
          "dora metrics"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/environments": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/environments",
        "operationId": "get_api_v4_projects_id_environments",
        "tags": [
          "deployments"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/environments/{environment_id}": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/environments/{environment_id}",
        "operationId": "get_api_v4_projects_id_environments_environment_id",
        "tags": [
          "deployments"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          },
          {
            "name": "environment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/error_tracking/settings": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/error_tracking/settings",
        "operationId": "get_api_v4_projects_id_error_tracking_settings",
        "tags": [
          "error tracking"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/events": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/events",
        "operationId": "get_api_v4_projects_id_events",
        "tags": [
          "events"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/external_status_checks": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/external_status_checks",
        "operationId": "get_api_v4_projects_id_external_status_checks",
        "tags": [
          "external status checks"
        ],
        "description": "Served by SandboxAPIs. Answer mode: empty. Answers an EMPTY collection, and that is the true answer for this universe — not a gap. Olympus-labs protects only branches — canon's protected_ref carries two branch patterns at namespace scope and no environment, tag, merge train, push rule or external status check exists; GitLab answers `[]` at 200 for each of these lists and its own 404 for a named one. THE LIST HALF, served as GitLab's empty page with the pagination headers the operation declares. UNGATED: no generation of this universe has ever protected an environment or a tag, queued a merge train, registered an external status check or set a push rule, so every registered pin answers this same `[]`. Falsifiable: the `expectsEmpty` conformance entry reds the row the day canon grows one. RULED by the founder 2026-09-12",
        "x-sandboxapis-mode": "empty",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/feature_flags": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/feature_flags",
        "operationId": "get_api_v4_projects_id_feature_flags",
        "tags": [
          "feature flags"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/feature_flags_user_lists": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/feature_flags_user_lists",
        "operationId": "get_api_v4_projects_id_feature_flags_user_lists",
        "tags": [
          "feature flags"
        ],
        "description": "Served by SandboxAPIs. Answer mode: empty. Answers an EMPTY collection, and that is the true answer for this universe — not a gap. NOTHING IN THIS CANON RECORDS A COHORT. hello-20's `feature_flag` carries a gate, a component, a description and two instants, and no membership at all - which is the same fact that leaves a flag's `strategies` omitted on the REST rows and at GitLab's everybody-everywhere default on the Unleash wire: a percentage rollout or a user list WOULD be a fact about this organization and there is none. So the list of user lists is empty, under a project that resolves, paginated as the operation declares. THE SERVED ROWS BESIDE THIS ONE ARE WHAT MAKE IT FALSIFIABLE: `/projects/{id}/feature_flags` publishes six gates off `reader.featureFlags(repo)`, so a reader can see that flags exist and cohorts do not, and the `expectsEmpty` conformance entry reds the day canon grows one. The by-iid half answers GitLab's own 404. RULED 2026-09-14 by the hello-20 GitLab serving wave, on the F6 `glDelivery` decision's §5 list of six rows to arm rather than serve",
        "x-sandboxapis-mode": "empty",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/feature_flags/{feature_flag_name}": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/feature_flags/{feature_flag_name}",
        "operationId": "get_api_v4_projects_id_feature_flags_feature_flag_name",
        "tags": [
          "feature flags"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          },
          {
            "name": "feature_flag_name",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/forks": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/forks",
        "operationId": "get_api_v4_projects_id_forks",
        "tags": [
          "projects"
        ],
        "description": "Served by SandboxAPIs. Answer mode: empty. Answers an EMPTY collection, and that is the true answer for this universe — not a gap. No project in this universe is a fork and none has been forked: the group owns every project and there is no namespace outside it to fork into — the same fact every project object already reports as forks_count: 0",
        "x-sandboxapis-mode": "empty",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/freeze_periods": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/freeze_periods",
        "operationId": "get_api_v4_projects_id_freeze_periods",
        "tags": [
          "freeze periods"
        ],
        "description": "Served by SandboxAPIs. Answer mode: empty. Answers an EMPTY collection, and that is the true answer for this universe — not a gap. Olympus-labs declares no deploy freeze — canon carries no freeze window; GitLab answers `[]` at 200 for a project with none. THE LIST HALF, served as GitLab's empty page with the pagination headers the operation declares. UNGATED: no generation of this universe opens a freeze window, so every registered pin answers this same `[]`. Falsifiable: the `expectsEmpty` conformance entry reds the row the day canon grows one. RULED by the founder 2026-09-12",
        "x-sandboxapis-mode": "empty",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/groups": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/groups",
        "operationId": "get_api_v4_projects_id_groups",
        "tags": [
          "projects"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/hooks": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/hooks",
        "operationId": "get_api_v4_projects_id_hooks",
        "tags": [
          "hooks-config"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/hooks/{hook_id}": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/hooks/{hook_id}",
        "operationId": "get_api_v4_projects_id_hooks_hook_id",
        "tags": [
          "hooks-config"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          },
          {
            "name": "hook_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/hooks/{hook_id}/events": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/hooks/{hook_id}/events",
        "operationId": "get_api_v4_projects_id_hooks_hook_id_events",
        "tags": [
          "hooks-config"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          },
          {
            "name": "hook_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/integrations": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/integrations",
        "operationId": "get_api_v4_projects_id_integrations",
        "tags": [
          "integrations"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/integrations/{slug}": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/integrations/{slug}",
        "operationId": "get_api_v4_projects_id_integrations_slug",
        "tags": [
          "integrations"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          },
          {
            "name": "slug",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/invitations": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/invitations",
        "operationId": "get_api_v4_projects_id_invitations",
        "tags": [
          "groups"
        ],
        "description": "Served by SandboxAPIs. Answer mode: empty. Answers an EMPTY collection, and that is the true answer for this universe — not a gap. No pending repository invitations in this universe — the repository roster is the approvers whose organization role is a plain member, plus the CI identity, and all of them were GRANTED rather than offered; GitLab's own answer for a project with none is `[]` at 200. THE GROUP TWIN IS NOT EMPTY and is served with real rows: hello-16 models an invitation as a pending membership carrying an invitee_email, two org-scope memberships are in exactly that state, and /groups/{id}/invitations has served them since wave W3 — what canon does not carry is a REPOSITORY-scoped pending membership, since reader.listMemberships(\"repo\", repo) holds six rows and every one is active. The same reading the founder made of GitHub's twin /repos/{owner}/{repo}/invitations on 2026-09-10. UNGATED: every repository membership in every generation is granted rather than offered, including the four that predate features.memberships and carry no membership table at all. Falsifiable: the `expectsEmpty` conformance entry reds this row the day the generator offers a repository seat. RULED by the founder 2026-09-12 (round 20)",
        "x-sandboxapis-mode": "empty",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/invited_groups": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/invited_groups",
        "operationId": "get_api_v4_projects_id_invited_groups",
        "tags": [
          "projects"
        ],
        "description": "Served by SandboxAPIs. Answer mode: empty. Answers an EMPTY collection, and that is the true answer for this universe — not a gap. The project-scoped twin of the group invitation list, held to the same fact: a second group exists from hello-16, and no invitation to this project has ever been made. Reviewed again 2026-09-09 against the subgroup.",
        "x-sandboxapis-mode": "empty",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/issues": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/issues",
        "operationId": "get_api_v4_projects_id_issues",
        "tags": [
          "projects"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/issues_statistics": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/issues_statistics",
        "operationId": "get_api_v4_projects_id_issues_statistics",
        "tags": [
          "projects"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/issues/{eventable_id}/resource_iteration_events": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/issues/{eventable_id}/resource_iteration_events",
        "operationId": "get_api_v4_projects_id_issues_eventable_id_resource_iteration_events",
        "tags": [
          "events"
        ],
        "description": "Served by SandboxAPIs. Answer mode: empty. Answers an EMPTY collection, and that is the true answer for this universe — not a gap. NOBODY IN THIS UNIVERSE EVER PUT AN ISSUE IN AN ITERATION AS AN ACT. canon's `ResourceEventKind` is `label` | `milestone` and nothing else, ruled in the hello-20 canon decision because a sprint is PLANNING STATE rather than something a person attached at an instant — an issue's sprint is a fact about the plan, and the plan is served as the iteration itself (/groups/{id}/iterations, coverage wave W8). And this host claims no iteration on the issue: glIssue omits the field under its 2026-08-30 bounding rule (an EE-tier field gitlab.com serializes and a self-managed CE instance omits, so this replica makes neither claim), so `[]` says exactly what the issue says. `[]` at 200 under an issue that RESOLVES; an iid nobody holds is still GitLab's own 404 Not found. UNGATED: the fact is true of every artifact, not of this snapshot, which is what separates a ruling from a generation gap wearing one's clothes. RULED 2026-09-14 on the hello-20 GitLab history wave.",
        "x-sandboxapis-mode": "empty",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          },
          {
            "name": "eventable_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/issues/{eventable_id}/resource_label_events": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/issues/{eventable_id}/resource_label_events",
        "operationId": "get_api_v4_projects_id_issues_eventable_id_resource_label_events",
        "tags": [
          "events"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          },
          {
            "name": "eventable_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/issues/{eventable_id}/resource_label_events/{event_id}": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/issues/{eventable_id}/resource_label_events/{event_id}",
        "operationId": "get_api_v4_projects_id_issues_eventable_id_resource_label_events_event_id",
        "tags": [
          "events"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          },
          {
            "name": "eventable_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "event_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/issues/{eventable_id}/resource_milestone_events": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/issues/{eventable_id}/resource_milestone_events",
        "operationId": "get_api_v4_projects_id_issues_eventable_id_resource_milestone_events",
        "tags": [
          "events"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          },
          {
            "name": "eventable_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/issues/{eventable_id}/resource_milestone_events/{event_id}": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/issues/{eventable_id}/resource_milestone_events/{event_id}",
        "operationId": "get_api_v4_projects_id_issues_eventable_id_resource_milestone_events_event_id",
        "tags": [
          "events"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          },
          {
            "name": "eventable_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "event_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/issues/{eventable_id}/resource_state_events": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/issues/{eventable_id}/resource_state_events",
        "operationId": "get_api_v4_projects_id_issues_eventable_id_resource_state_events",
        "tags": [
          "events"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          },
          {
            "name": "eventable_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/issues/{eventable_id}/resource_state_events/{event_id}": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/issues/{eventable_id}/resource_state_events/{event_id}",
        "operationId": "get_api_v4_projects_id_issues_eventable_id_resource_state_events_event_id",
        "tags": [
          "events"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          },
          {
            "name": "eventable_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "event_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/issues/{eventable_id}/resource_weight_events": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/issues/{eventable_id}/resource_weight_events",
        "operationId": "get_api_v4_projects_id_issues_eventable_id_resource_weight_events",
        "tags": [
          "events"
        ],
        "description": "Served by SandboxAPIs. Answer mode: empty. Answers an EMPTY collection, and that is the true answer for this universe — not a gap. NOBODY IN THIS UNIVERSE EVER SET AN ISSUE'S WEIGHT. canon's `ResourceEventKind` is `label` | `milestone` and nothing else, ruled in the hello-20 canon decision because a weight is a VALUE rather than a row — canon carries `issue.estimate`, which is the team's sizing and not GitLab's weight, and no event in the log ever changes it. And this host claims no weight on the issue: glIssue omits the field under its 2026-08-30 bounding rule, so `[]` says exactly what the issue says. `[]` at 200 under an issue that RESOLVES; an iid nobody holds is still GitLab's own 404 Not found. UNGATED, for the iteration row's reason. RULED 2026-09-14 on the hello-20 GitLab history wave.",
        "x-sandboxapis-mode": "empty",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          },
          {
            "name": "eventable_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/issues/{issue_iid}": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/issues/{issue_iid}",
        "operationId": "get_api_v4_projects_id_issues_issue_iid",
        "tags": [
          "projects"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          },
          {
            "name": "issue_iid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/issues/{issue_iid}/award_emoji": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/issues/{issue_iid}/award_emoji",
        "operationId": "get_api_v4_projects_id_issues_issue_iid_award_emoji",
        "tags": [
          "award emoji"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          },
          {
            "name": "issue_iid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/issues/{issue_iid}/award_emoji/{award_id}": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/issues/{issue_iid}/award_emoji/{award_id}",
        "operationId": "get_api_v4_projects_id_issues_issue_iid_award_emoji_award_id",
        "tags": [
          "award emoji"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          },
          {
            "name": "issue_iid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "award_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/issues/{issue_iid}/closed_by": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/issues/{issue_iid}/closed_by",
        "operationId": "get_api_v4_projects_id_issues_issue_iid_closed_by",
        "tags": [
          "projects"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          },
          {
            "name": "issue_iid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/issues/{issue_iid}/links": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/issues/{issue_iid}/links",
        "operationId": "get_api_v4_projects_id_issues_issue_iid_links",
        "tags": [
          "issues"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          },
          {
            "name": "issue_iid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/issues/{issue_iid}/links/{issue_link_id}": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/issues/{issue_iid}/links/{issue_link_id}",
        "operationId": "get_api_v4_projects_id_issues_issue_iid_links_issue_link_id",
        "tags": [
          "issues"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          },
          {
            "name": "issue_iid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "issue_link_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/issues/{issue_iid}/metric_images": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/issues/{issue_iid}/metric_images",
        "operationId": "get_api_v4_projects_id_issues_issue_iid_metric_images",
        "tags": [
          "metric images"
        ],
        "description": "Served by SandboxAPIs. Answer mode: empty. Answers an EMPTY collection, and that is the true answer for this universe — not a gap. RE-RULED 2026-09-12 by the founder, replacing the `generate` this row carried since the hello-18 upload wave. THE FACTS DID NOT MOVE, THE VERDICT DID. GitLab scopes this operation to INCIDENTS and this universe HAS incident issues, so the collection is addressable and real; what it holds is nothing. The responder's picture IS in this universe - it is attached to the ALERT, and /projects/{id}/alert_management_alerts/{alert_iid}/metric_images has published it since hello-18 - so rendering the same canonical object under the issue as well would publish one upload twice (invariant #5). The one file canon hangs off the incident issue is a har-summary (requests.har), a capture rather than a picture of a metric. `generate` said the opposite - that the row was waiting on canon - and a row waiting forever for a file nobody would attach is a backlog entry rather than a plan. NO GENERATION GATE, unlike the alert half: `[]` is true on every artifact this fleet has ever published, because no generation has hung an image attachment off the incident issue. Both parents still resolve. RULED by the founder 2026-09-12, reason as given in decisions/2026-09-12-2026-post-h18-serve-pass.md.",
        "x-sandboxapis-mode": "empty",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          },
          {
            "name": "issue_iid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/issues/{issue_iid}/notes/{note_id}/award_emoji": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/issues/{issue_iid}/notes/{note_id}/award_emoji",
        "operationId": "get_api_v4_projects_id_issues_issue_iid_notes_note_id_award_emoji",
        "tags": [
          "award emoji"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          },
          {
            "name": "issue_iid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "note_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/issues/{issue_iid}/notes/{note_id}/award_emoji/{award_id}": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/issues/{issue_iid}/notes/{note_id}/award_emoji/{award_id}",
        "operationId": "get_api_v4_projects_id_issues_issue_iid_notes_note_id_award_emoji_award_id",
        "tags": [
          "award emoji"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          },
          {
            "name": "issue_iid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "note_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "award_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/issues/{issue_iid}/participants": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/issues/{issue_iid}/participants",
        "operationId": "get_api_v4_projects_id_issues_issue_iid_participants",
        "tags": [
          "issues"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          },
          {
            "name": "issue_iid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/issues/{issue_iid}/related_merge_requests": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/issues/{issue_iid}/related_merge_requests",
        "operationId": "get_api_v4_projects_id_issues_issue_iid_related_merge_requests",
        "tags": [
          "issues"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          },
          {
            "name": "issue_iid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/issues/{issue_iid}/time_stats": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/issues/{issue_iid}/time_stats",
        "operationId": "get_api_v4_projects_id_issues_issue_iid_time_stats",
        "tags": [
          "issues"
        ],
        "description": "Served by SandboxAPIs. Answer mode: empty. Answers an EMPTY collection, and that is the true answer for this universe — not a gap. No persona in olympus-labs logs time against an issue or a merge request — canon records no TimeEntry; GitLab's own answer for an untracked issue is a 200 carrying `time_estimate: 0`, `total_time_spent: 0` and both human_ fields null. NOT A COLLECTION: the operation returns `APIEntitiesIssuableTimeStats`, an object, so the honest empty is the zeroed object rather than `[]`. It is the SAME object `glIssue` and `glMergeRequest` already embed as `time_stats` (`emptyTimeStats` in packages/renderer-gitlab/src/render2.ts), read from one function so the standalone endpoint and the embedded block can never disagree (invariant #5). canon's `Issue.estimate` is a story-point estimate on a fibonacci scale rather than a duration, and `time_estimate` is documented in seconds, so mapping one onto the other would be an invention. The two human_ fields are a `deviation` against the vendored component, which types them `string` with no `nullable` while real GitLab renders nil for a zero — the same two entries NULLABLE_SPEC_BUGS already carries for the embedded block. UNGATED: no generation of this universe records a time entry. RULED by the founder 2026-09-12",
        "x-sandboxapis-mode": "empty",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          },
          {
            "name": "issue_iid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/issues/{noteable_id}/discussions": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/issues/{noteable_id}/discussions",
        "operationId": "get_api_v4_projects_id_issues_noteable_id_discussions",
        "tags": [
          "discussions"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          },
          {
            "name": "noteable_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/issues/{noteable_id}/discussions/{discussion_id}": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/issues/{noteable_id}/discussions/{discussion_id}",
        "operationId": "get_api_v4_projects_id_issues_noteable_id_discussions_discussion_id",
        "tags": [
          "discussions"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          },
          {
            "name": "noteable_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "discussion_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/issues/{noteable_id}/discussions/{discussion_id}/notes": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/issues/{noteable_id}/discussions/{discussion_id}/notes",
        "operationId": "get_api_v4_projects_id_issues_noteable_id_discussions_discussion_id_notes",
        "tags": [
          "discussions"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          },
          {
            "name": "noteable_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "discussion_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/issues/{noteable_id}/discussions/{discussion_id}/notes/{note_id}": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/issues/{noteable_id}/discussions/{discussion_id}/notes/{note_id}",
        "operationId": "get_api_v4_projects_id_issues_noteable_id_discussions_discussion_id_notes_note_id",
        "tags": [
          "discussions"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          },
          {
            "name": "noteable_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "discussion_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "note_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/issues/{noteable_id}/notes": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/issues/{noteable_id}/notes",
        "operationId": "get_api_v4_projects_id_issues_noteable_id_notes",
        "tags": [
          "notes"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          },
          {
            "name": "noteable_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/issues/{noteable_id}/notes/{note_id}": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/issues/{noteable_id}/notes/{note_id}",
        "operationId": "get_api_v4_projects_id_issues_noteable_id_notes_note_id",
        "tags": [
          "notes"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          },
          {
            "name": "noteable_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "note_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/iterations": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/iterations",
        "operationId": "get_api_v4_projects_id_iterations",
        "tags": [
          "iterations"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/job_token_scope/allowlist": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/job_token_scope/allowlist",
        "operationId": "get_api_v4_projects_id_job_token_scope_allowlist",
        "tags": [
          "projects job token scope"
        ],
        "description": "Served by SandboxAPIs. Answer mode: empty. Answers an EMPTY collection, and that is the true answer for this universe — not a gap. THIS UNIVERSE HOLDS ONE PROJECT, so a cross-project job-token trust list has nothing to allow - §A-R6 of the hello-20 batch, founder-approved 2026-09-14, and the second half of the 2026-09-09 re-scope's own sentence. The allowlist names the OTHER projects a CI job's token may reach; there is no other project, and `repo` holds exactly one row on every generation. UNGATED: the one-project fact is a property of `template.ts`'s own `repos`, not of a snapshot, and hello-16's founder ruling F1 left the one subgroup owning no repository either - so the empty is true on every artifact and on every frozen pin; conformance drives it against the oldest generation in the suite. A collection under a project that resolves; `…/job_token_scope` itself is a settings object with no empty form and answers GitLab's own 404.",
        "x-sandboxapis-mode": "empty",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/job_token_scope/groups_allowlist": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/job_token_scope/groups_allowlist",
        "operationId": "get_api_v4_projects_id_job_token_scope_groups_allowlist",
        "tags": [
          "projects job token scope"
        ],
        "description": "Served by SandboxAPIs. Answer mode: empty. Answers an EMPTY collection, and that is the true answer for this universe — not a gap. The same fact one scope up: the GROUPS a CI job's token may reach. This universe holds one organization and one subgroup, and the subgroup owns no repository (hello-16's founder ruling F1), so there is no other group whose projects a token could be trusted into - §A-R6 of the hello-20 batch, founder-approved 2026-09-14. UNGATED: the containment is a property of the template rather than of a snapshot, so the empty is true on every artifact; conformance drives it against the oldest generation in the suite. A collection under a project that resolves.",
        "x-sandboxapis-mode": "empty",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/jobs": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/jobs",
        "operationId": "get_api_v4_projects_id_jobs",
        "tags": [
          "jobs"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/jobs/{job_id}": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/jobs/{job_id}",
        "operationId": "get_api_v4_projects_id_jobs_job_id",
        "tags": [
          "jobs"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          },
          {
            "name": "job_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/jobs/{job_id}/artifacts": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/jobs/{job_id}/artifacts",
        "operationId": "get_api_v4_projects_id_jobs_job_id_artifacts",
        "tags": [
          "jobs"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          },
          {
            "name": "job_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/jobs/{job_id}/artifacts/tree": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/jobs/{job_id}/artifacts/tree",
        "operationId": "get_api_v4_projects_id_jobs_job_id_artifacts_tree",
        "tags": [
          "jobs"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          },
          {
            "name": "job_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/jobs/{job_id}/trace": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/jobs/{job_id}/trace",
        "operationId": "get_api_v4_projects_id_jobs_job_id_trace",
        "tags": [
          "jobs"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          },
          {
            "name": "job_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/jobs/artifacts/{ref_name}/download": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/jobs/artifacts/{ref_name}/download",
        "operationId": "get_api_v4_projects_id_jobs_artifacts_ref_name_download",
        "tags": [
          "jobs"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          },
          {
            "name": "ref_name",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/labels": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/labels",
        "operationId": "get_api_v4_projects_id_labels",
        "tags": [
          "labels"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/labels/{name}": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/labels/{name}",
        "operationId": "get_api_v4_projects_id_labels_name",
        "tags": [
          "labels"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          },
          {
            "name": "name",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/languages": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/languages",
        "operationId": "get_api_v4_projects_id_languages",
        "tags": [
          "projects"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/members": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/members",
        "operationId": "get_api_v4_projects_id_members",
        "tags": [
          "groups"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/members/{user_id}": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/members/{user_id}",
        "operationId": "get_api_v4_projects_id_members_user_id",
        "tags": [
          "groups"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          },
          {
            "name": "user_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/members/all": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/members/all",
        "operationId": "get_api_v4_projects_id_members_all",
        "tags": [
          "groups"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/members/all/{user_id}": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/members/all/{user_id}",
        "operationId": "get_api_v4_projects_id_members_all_user_id",
        "tags": [
          "groups"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          },
          {
            "name": "user_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/merge_request_approval_setting": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/merge_request_approval_setting",
        "operationId": "get_api_v4_projects_id_merge_request_approval_setting",
        "tags": [
          "merge-requests"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/merge_requests": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/merge_requests",
        "operationId": "get_api_v4_projects_id_merge_requests",
        "tags": [
          "merge-requests"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/merge_requests/{eventable_id}/resource_label_events": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/merge_requests/{eventable_id}/resource_label_events",
        "operationId": "get_api_v4_projects_id_merge_requests_eventable_id_resource_label_events",
        "tags": [
          "events"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          },
          {
            "name": "eventable_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/merge_requests/{eventable_id}/resource_label_events/{event_id}": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/merge_requests/{eventable_id}/resource_label_events/{event_id}",
        "operationId": "get_api_v4_projects_id_merge_requests_eventable_id_resource_label_events_event_id",
        "tags": [
          "events"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          },
          {
            "name": "eventable_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "event_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/merge_requests/{eventable_id}/resource_milestone_events": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/merge_requests/{eventable_id}/resource_milestone_events",
        "operationId": "get_api_v4_projects_id_merge_requests_eventable_id_resource_milestone_events",
        "tags": [
          "events"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          },
          {
            "name": "eventable_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/merge_requests/{eventable_id}/resource_milestone_events/{event_id}": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/merge_requests/{eventable_id}/resource_milestone_events/{event_id}",
        "operationId": "get_api_v4_projects_id_merge_requests_eventable_id_resource_milestone_events_event_id",
        "tags": [
          "events"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          },
          {
            "name": "eventable_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "event_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/merge_requests/{eventable_id}/resource_state_events": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/merge_requests/{eventable_id}/resource_state_events",
        "operationId": "get_api_v4_projects_id_merge_requests_eventable_id_resource_state_events",
        "tags": [
          "events"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          },
          {
            "name": "eventable_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/merge_requests/{eventable_id}/resource_state_events/{event_id}": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/merge_requests/{eventable_id}/resource_state_events/{event_id}",
        "operationId": "get_api_v4_projects_id_merge_requests_eventable_id_resource_state_events_event_id",
        "tags": [
          "events"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          },
          {
            "name": "eventable_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "event_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/merge_requests/{merge_request_iid}": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/merge_requests/{merge_request_iid}",
        "operationId": "get_api_v4_projects_id_merge_requests_merge_request_iid",
        "tags": [
          "merge-requests"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          },
          {
            "name": "merge_request_iid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/merge_requests/{merge_request_iid}/approval_rules": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/merge_requests/{merge_request_iid}/approval_rules",
        "operationId": "get_api_v4_projects_id_merge_requests_merge_request_iid_approval_rules",
        "tags": [
          "merge-requests"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          },
          {
            "name": "merge_request_iid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/merge_requests/{merge_request_iid}/approval_rules/{approval_rule_id}": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/merge_requests/{merge_request_iid}/approval_rules/{approval_rule_id}",
        "operationId": "get_api_v4_projects_id_merge_requests_merge_request_iid_approval_rules_approval_rule_id",
        "tags": [
          "merge-requests"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          },
          {
            "name": "merge_request_iid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "approval_rule_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/merge_requests/{merge_request_iid}/approval_state": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/merge_requests/{merge_request_iid}/approval_state",
        "operationId": "get_api_v4_projects_id_merge_requests_merge_request_iid_approval_state",
        "tags": [
          "merge-requests"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          },
          {
            "name": "merge_request_iid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/merge_requests/{merge_request_iid}/approvals": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/merge_requests/{merge_request_iid}/approvals",
        "operationId": "get_api_v4_projects_id_merge_requests_merge_request_iid_approvals",
        "tags": [
          "merge-requests"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          },
          {
            "name": "merge_request_iid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/merge_requests/{merge_request_iid}/award_emoji": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/merge_requests/{merge_request_iid}/award_emoji",
        "operationId": "get_api_v4_projects_id_merge_requests_merge_request_iid_award_emoji",
        "tags": [
          "award emoji"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          },
          {
            "name": "merge_request_iid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/merge_requests/{merge_request_iid}/award_emoji/{award_id}": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/merge_requests/{merge_request_iid}/award_emoji/{award_id}",
        "operationId": "get_api_v4_projects_id_merge_requests_merge_request_iid_award_emoji_award_id",
        "tags": [
          "award emoji"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          },
          {
            "name": "merge_request_iid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "award_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/merge_requests/{merge_request_iid}/blockees": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/merge_requests/{merge_request_iid}/blockees",
        "operationId": "get_api_v4_projects_id_merge_requests_merge_request_iid_blockees",
        "tags": [
          "merge-requests"
        ],
        "description": "Served by SandboxAPIs. Answer mode: empty. Answers an EMPTY collection, and that is the true answer for this universe — not a gap. Canon models no dependency between merge requests, so no merge request blocks or is blocked by another",
        "x-sandboxapis-mode": "empty",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          },
          {
            "name": "merge_request_iid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/merge_requests/{merge_request_iid}/blocks": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/merge_requests/{merge_request_iid}/blocks",
        "operationId": "get_api_v4_projects_id_merge_requests_merge_request_iid_blocks",
        "tags": [
          "merge-requests"
        ],
        "description": "Served by SandboxAPIs. Answer mode: empty. Answers an EMPTY collection, and that is the true answer for this universe — not a gap. The other direction of the merge-request dependency pair, held to the same fact: canon models no dependency between merge requests",
        "x-sandboxapis-mode": "empty",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          },
          {
            "name": "merge_request_iid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/merge_requests/{merge_request_iid}/changes": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/merge_requests/{merge_request_iid}/changes",
        "operationId": "get_api_v4_projects_id_merge_requests_merge_request_iid_changes",
        "tags": [
          "merge-requests"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          },
          {
            "name": "merge_request_iid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/merge_requests/{merge_request_iid}/closes_issues": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/merge_requests/{merge_request_iid}/closes_issues",
        "operationId": "get_api_v4_projects_id_merge_requests_merge_request_iid_closes_issues",
        "tags": [
          "merge-requests"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          },
          {
            "name": "merge_request_iid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/merge_requests/{merge_request_iid}/commits": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/merge_requests/{merge_request_iid}/commits",
        "operationId": "get_api_v4_projects_id_merge_requests_merge_request_iid_commits",
        "tags": [
          "merge-requests"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          },
          {
            "name": "merge_request_iid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/merge_requests/{merge_request_iid}/context_commits": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/merge_requests/{merge_request_iid}/context_commits",
        "operationId": "get_api_v4_projects_id_merge_requests_merge_request_iid_context_commits",
        "tags": [
          "merge-requests"
        ],
        "description": "Served by SandboxAPIs. Answer mode: empty. Answers an EMPTY collection, and that is the true answer for this universe — not a gap. A context commit is one a person manually ATTACHES to a merge request to widen the diff a reviewer sees. It is an action, canon models no such action, and so no merge request carries one. Unpaginated: the vendored document declares no page/per_page on this operation. RULED by the founder 2026-09-09",
        "x-sandboxapis-mode": "empty",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          },
          {
            "name": "merge_request_iid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/merge_requests/{merge_request_iid}/diffs": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/merge_requests/{merge_request_iid}/diffs",
        "operationId": "get_api_v4_projects_id_merge_requests_merge_request_iid_diffs",
        "tags": [
          "merge-requests"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          },
          {
            "name": "merge_request_iid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/merge_requests/{merge_request_iid}/draft_notes": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/merge_requests/{merge_request_iid}/draft_notes",
        "operationId": "get_api_v4_projects_id_merge_requests_merge_request_iid_draft_notes",
        "tags": [
          "merge-requests"
        ],
        "description": "Served by SandboxAPIs. Answer mode: empty. Answers an EMPTY collection, and that is the true answer for this universe — not a gap. A draft note is an unsubmitted review comment, by definition never visible to anyone but its author; every review in this universe is already submitted, so the draft list is truthfully empty",
        "x-sandboxapis-mode": "empty",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          },
          {
            "name": "merge_request_iid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/merge_requests/{merge_request_iid}/notes/{note_id}/award_emoji": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/merge_requests/{merge_request_iid}/notes/{note_id}/award_emoji",
        "operationId": "get_api_v4_projects_id_merge_requests_merge_request_iid_notes_note_id_award_emoji",
        "tags": [
          "award emoji"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          },
          {
            "name": "merge_request_iid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "note_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/merge_requests/{merge_request_iid}/notes/{note_id}/award_emoji/{award_id}": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/merge_requests/{merge_request_iid}/notes/{note_id}/award_emoji/{award_id}",
        "operationId": "get_api_v4_projects_id_merge_requests_merge_request_iid_notes_note_id_award_emoji_award_id",
        "tags": [
          "award emoji"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          },
          {
            "name": "merge_request_iid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "note_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "award_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/merge_requests/{merge_request_iid}/participants": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/merge_requests/{merge_request_iid}/participants",
        "operationId": "get_api_v4_projects_id_merge_requests_merge_request_iid_participants",
        "tags": [
          "merge-requests"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          },
          {
            "name": "merge_request_iid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/merge_requests/{merge_request_iid}/pipelines": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/merge_requests/{merge_request_iid}/pipelines",
        "operationId": "get_api_v4_projects_id_merge_requests_merge_request_iid_pipelines",
        "tags": [
          "merge-requests"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          },
          {
            "name": "merge_request_iid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/merge_requests/{merge_request_iid}/raw_diffs": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/merge_requests/{merge_request_iid}/raw_diffs",
        "operationId": "get_api_v4_projects_id_merge_requests_merge_request_iid_raw_diffs",
        "tags": [
          "merge-requests"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          },
          {
            "name": "merge_request_iid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/merge_requests/{merge_request_iid}/related_issues": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/merge_requests/{merge_request_iid}/related_issues",
        "operationId": "get_api_v4_projects_id_merge_requests_merge_request_iid_related_issues",
        "tags": [
          "merge-requests"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          },
          {
            "name": "merge_request_iid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/merge_requests/{merge_request_iid}/reviewers": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/merge_requests/{merge_request_iid}/reviewers",
        "operationId": "get_api_v4_projects_id_merge_requests_merge_request_iid_reviewers",
        "tags": [
          "merge-requests"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          },
          {
            "name": "merge_request_iid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/merge_requests/{merge_request_iid}/status_checks": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/merge_requests/{merge_request_iid}/status_checks",
        "operationId": "get_api_v4_projects_id_merge_requests_merge_request_iid_status_checks",
        "tags": [
          "external status checks"
        ],
        "description": "Served by SandboxAPIs. Answer mode: empty. Answers an EMPTY collection, and that is the true answer for this universe — not a gap. Olympus-labs protects only branches — canon's protected_ref carries two branch patterns at namespace scope and no environment, tag, merge train, push rule or external status check exists; GitLab answers `[]` at 200 for each of these lists and its own 404 for a named one. THE LIST HALF, and the merge request RESOLVES — so the empty page is a statement about that merge request rather than about an iid nobody has. Served UNPAGINATED because the vendored operation declares only its two path parameters; printing pagination headers on an operation GitLab does not paginate would break invariant #2 in the name of consistency. UNGATED: no generation of this universe has ever protected an environment or a tag, queued a merge train, registered an external status check or set a push rule. RULED by the founder 2026-09-12",
        "x-sandboxapis-mode": "empty",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          },
          {
            "name": "merge_request_iid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/merge_requests/{merge_request_iid}/time_stats": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/merge_requests/{merge_request_iid}/time_stats",
        "operationId": "get_api_v4_projects_id_merge_requests_merge_request_iid_time_stats",
        "tags": [
          "merge-requests"
        ],
        "description": "Served by SandboxAPIs. Answer mode: empty. Answers an EMPTY collection, and that is the true answer for this universe — not a gap. No persona in olympus-labs logs time against an issue or a merge request — canon records no TimeEntry; GitLab's own answer for an untracked issue is a 200 carrying `time_estimate: 0`, `total_time_spent: 0` and both human_ fields null. NOT A COLLECTION: the operation returns `APIEntitiesIssuableTimeStats`, an object, so the honest empty is the zeroed object rather than `[]`. It is the SAME object `glIssue` and `glMergeRequest` already embed as `time_stats` (`emptyTimeStats` in packages/renderer-gitlab/src/render2.ts), read from one function so the standalone endpoint and the embedded block can never disagree (invariant #5). canon's `Issue.estimate` is a story-point estimate on a fibonacci scale rather than a duration, and `time_estimate` is documented in seconds, so mapping one onto the other would be an invention. The two human_ fields are a `deviation` against the vendored component, which types them `string` with no `nullable` while real GitLab renders nil for a zero — the same two entries NULLABLE_SPEC_BUGS already carries for the embedded block. UNGATED: no generation of this universe records a time entry. RULED by the founder 2026-09-12",
        "x-sandboxapis-mode": "empty",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          },
          {
            "name": "merge_request_iid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/merge_requests/{merge_request_iid}/versions": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/merge_requests/{merge_request_iid}/versions",
        "operationId": "get_api_v4_projects_id_merge_requests_merge_request_iid_versions",
        "tags": [
          "merge-requests"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          },
          {
            "name": "merge_request_iid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/merge_requests/{merge_request_iid}/versions/{version_id}": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/merge_requests/{merge_request_iid}/versions/{version_id}",
        "operationId": "get_api_v4_projects_id_merge_requests_merge_request_iid_versions_version_id",
        "tags": [
          "merge-requests"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          },
          {
            "name": "merge_request_iid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "version_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/merge_requests/{noteable_id}/discussions": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/merge_requests/{noteable_id}/discussions",
        "operationId": "get_api_v4_projects_id_merge_requests_noteable_id_discussions",
        "tags": [
          "discussions"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          },
          {
            "name": "noteable_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/merge_requests/{noteable_id}/discussions/{discussion_id}": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/merge_requests/{noteable_id}/discussions/{discussion_id}",
        "operationId": "get_api_v4_projects_id_merge_requests_noteable_id_discussions_discussion_id",
        "tags": [
          "discussions"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          },
          {
            "name": "noteable_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "discussion_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/merge_requests/{noteable_id}/discussions/{discussion_id}/notes": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/merge_requests/{noteable_id}/discussions/{discussion_id}/notes",
        "operationId": "get_api_v4_projects_id_merge_requests_noteable_id_discussions_discussion_id_notes",
        "tags": [
          "discussions"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          },
          {
            "name": "noteable_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "discussion_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/merge_requests/{noteable_id}/discussions/{discussion_id}/notes/{note_id}": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/merge_requests/{noteable_id}/discussions/{discussion_id}/notes/{note_id}",
        "operationId": "get_api_v4_projects_id_merge_requests_noteable_id_discussions_discussion_id_notes_note_id",
        "tags": [
          "discussions"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          },
          {
            "name": "noteable_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "discussion_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "note_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/merge_requests/{noteable_id}/notes": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/merge_requests/{noteable_id}/notes",
        "operationId": "get_api_v4_projects_id_merge_requests_noteable_id_notes",
        "tags": [
          "notes"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          },
          {
            "name": "noteable_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/merge_requests/{noteable_id}/notes/{note_id}": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/merge_requests/{noteable_id}/notes/{note_id}",
        "operationId": "get_api_v4_projects_id_merge_requests_noteable_id_notes_note_id",
        "tags": [
          "notes"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          },
          {
            "name": "noteable_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "note_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/merge_trains": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/merge_trains",
        "operationId": "get_api_v4_projects_id_merge_trains",
        "tags": [
          "merge trains"
        ],
        "description": "Served by SandboxAPIs. Answer mode: empty. Answers an EMPTY collection, and that is the true answer for this universe — not a gap. Olympus-labs protects only branches — canon's protected_ref carries two branch patterns at namespace scope and no environment, tag, merge train, push rule or external status check exists; GitLab answers `[]` at 200 for each of these lists and its own 404 for a named one. THE LIST HALF, served as GitLab's empty page with the pagination headers the operation declares. UNGATED: no generation of this universe has ever protected an environment or a tag, queued a merge train, registered an external status check or set a push rule, so every registered pin answers this same `[]`. Falsifiable: the `expectsEmpty` conformance entry reds the row the day canon grows one. RULED by the founder 2026-09-12",
        "x-sandboxapis-mode": "empty",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/milestones": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/milestones",
        "operationId": "get_api_v4_projects_id_milestones",
        "tags": [
          "milestones"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/milestones/{milestone_id}": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/milestones/{milestone_id}",
        "operationId": "get_api_v4_projects_id_milestones_milestone_id",
        "tags": [
          "milestones"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          },
          {
            "name": "milestone_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/milestones/{milestone_id}/issues": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/milestones/{milestone_id}/issues",
        "operationId": "get_api_v4_projects_id_milestones_milestone_id_issues",
        "tags": [
          "milestones"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          },
          {
            "name": "milestone_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/milestones/{milestone_id}/merge_requests": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/milestones/{milestone_id}/merge_requests",
        "operationId": "get_api_v4_projects_id_milestones_milestone_id_merge_requests",
        "tags": [
          "milestones"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          },
          {
            "name": "milestone_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/notification_settings": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/notification_settings",
        "operationId": "get_api_v4_projects_id_notification_settings",
        "tags": [
          "notification settings"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/packages": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/packages",
        "operationId": "get_api_v4_projects_id_packages",
        "tags": [
          "packages"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/packages/{package_id}": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/packages/{package_id}",
        "operationId": "get_api_v4_projects_id_packages_package_id",
        "tags": [
          "packages"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          },
          {
            "name": "package_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/packages/{package_id}/package_files": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/packages/{package_id}/package_files",
        "operationId": "get_api_v4_projects_id_packages_package_id_package_files",
        "tags": [
          "packages"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          },
          {
            "name": "package_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/packages/{package_id}/package_files/{package_file_id}/download": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/packages/{package_id}/package_files/{package_file_id}/download",
        "operationId": "get_api_v4_projects_id_packages_package_id_package_files_package_file_id_download",
        "tags": [
          "packages"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          },
          {
            "name": "package_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "package_file_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/packages/{package_id}/pipelines": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/packages/{package_id}/pipelines",
        "operationId": "get_api_v4_projects_id_packages_package_id_pipelines",
        "tags": [
          "packages"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          },
          {
            "name": "package_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/packages/cargo/config.json": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/packages/cargo/config.json",
        "operationId": "get_api_v4_projects_id_packages_cargo_config_json",
        "tags": [
          "packages"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/packages/conan/v1/conans/search": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/packages/conan/v1/conans/search",
        "operationId": "get_api_v4_projects_id_packages_conan_v1_conans_search",
        "tags": [
          "packages"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/packages/conan/v1/ping": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/packages/conan/v1/ping",
        "operationId": "get_api_v4_projects_id_packages_conan_v1_ping",
        "tags": [
          "packages"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/packages/conan/v2/conans/search": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/packages/conan/v2/conans/search",
        "operationId": "get_api_v4_projects_id_packages_conan_v2_conans_search",
        "tags": [
          "packages"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/packages/helm/{channel}/index.yaml": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/packages/helm/{channel}/index.yaml",
        "operationId": "get_api_v4_projects_id_packages_helm_channel_index_yaml",
        "tags": [
          "packages"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          },
          {
            "name": "channel",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/packages/nuget/index": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/packages/nuget/index",
        "operationId": "get_api_v4_projects_id_packages_nuget_index",
        "tags": [
          "packages"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/packages/nuget/query": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/packages/nuget/query",
        "operationId": "get_api_v4_projects_id_packages_nuget_query",
        "tags": [
          "packages"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/packages/nuget/v2": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/packages/nuget/v2",
        "operationId": "get_api_v4_projects_id_packages_nuget_v2",
        "tags": [
          "packages"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/packages/nuget/v2/$metadata": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/packages/nuget/v2/$metadata",
        "operationId": "get_api_v4_projects_id_packages_nuget_v2_metadata",
        "tags": [
          "packages"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/packages/protection/rules": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/packages/protection/rules",
        "operationId": "get_api_v4_projects_id_packages_protection_rules",
        "tags": [
          "projects"
        ],
        "description": "Served by SandboxAPIs. Answer mode: empty. Answers an EMPTY collection, and that is the true answer for this universe — not a gap. These govern who may PUBLISH into a registry; a read-only mirror accepts no publishes, so nothing has ever configured a rule here — and real GitLab answers a project with none configured 200 []",
        "x-sandboxapis-mode": "empty",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/packages/pypi/simple": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/packages/pypi/simple",
        "operationId": "get_api_v4_projects_id_packages_pypi_simple",
        "tags": [
          "packages"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/packages/rubygems/api/v1/dependencies": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/packages/rubygems/api/v1/dependencies",
        "operationId": "get_api_v4_projects_id_packages_rubygems_api_v1_dependencies",
        "tags": [
          "packages"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/pipeline_schedules": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/pipeline_schedules",
        "operationId": "get_api_v4_projects_id_pipeline_schedules",
        "tags": [
          "pipelines"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/pipeline_schedules/{pipeline_schedule_id}": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/pipeline_schedules/{pipeline_schedule_id}",
        "operationId": "get_api_v4_projects_id_pipeline_schedules_pipeline_schedule_id",
        "tags": [
          "pipelines"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          },
          {
            "name": "pipeline_schedule_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/pipeline_schedules/{pipeline_schedule_id}/pipelines": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/pipeline_schedules/{pipeline_schedule_id}/pipelines",
        "operationId": "get_api_v4_projects_id_pipeline_schedules_pipeline_schedule_id_pipelines",
        "tags": [
          "pipelines"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          },
          {
            "name": "pipeline_schedule_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/pipeline_schedules/{pipeline_schedule_id}/variables/{key}": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/pipeline_schedules/{pipeline_schedule_id}/variables/{key}",
        "operationId": "get_api_v4_projects_id_pipeline_schedules_pipeline_schedule_id_variables_key",
        "tags": [
          "pipelines"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          },
          {
            "name": "pipeline_schedule_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "key",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/pipelines": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/pipelines",
        "operationId": "get_api_v4_projects_id_pipelines",
        "tags": [
          "pipelines"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/pipelines/{pipeline_id}": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/pipelines/{pipeline_id}",
        "operationId": "get_api_v4_projects_id_pipelines_pipeline_id",
        "tags": [
          "pipelines"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          },
          {
            "name": "pipeline_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/pipelines/{pipeline_id}/bridges": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/pipelines/{pipeline_id}/bridges",
        "operationId": "get_api_v4_projects_id_pipelines_pipeline_id_bridges",
        "tags": [
          "pipelines"
        ],
        "description": "Served by SandboxAPIs. Answer mode: empty. Answers an EMPTY collection, and that is the true answer for this universe — not a gap. A bridge is a job that triggers a downstream pipeline; this universe's CI is a single project's pipeline with no downstream trigger, so the bridge list is truthfully empty",
        "x-sandboxapis-mode": "empty",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          },
          {
            "name": "pipeline_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/pipelines/{pipeline_id}/jobs": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/pipelines/{pipeline_id}/jobs",
        "operationId": "get_api_v4_projects_id_pipelines_pipeline_id_jobs",
        "tags": [
          "pipelines"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          },
          {
            "name": "pipeline_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/pipelines/{pipeline_id}/test_report": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/pipelines/{pipeline_id}/test_report",
        "operationId": "get_api_v4_projects_id_pipelines_pipeline_id_test_report",
        "tags": [
          "pipelines"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          },
          {
            "name": "pipeline_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/pipelines/{pipeline_id}/test_report_summary": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/pipelines/{pipeline_id}/test_report_summary",
        "operationId": "get_api_v4_projects_id_pipelines_pipeline_id_test_report_summary",
        "tags": [
          "pipelines"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          },
          {
            "name": "pipeline_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/pipelines/{pipeline_id}/trigger_jobs": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/pipelines/{pipeline_id}/trigger_jobs",
        "operationId": "get_api_v4_projects_id_pipelines_pipeline_id_trigger_jobs",
        "tags": [
          "pipelines"
        ],
        "description": "Served by SandboxAPIs. Answer mode: empty. Answers an EMPTY collection, and that is the true answer for this universe — not a gap. GitLab's other name for the same thing the bridges row carries, held to the same fact: this CI triggers no downstream pipeline",
        "x-sandboxapis-mode": "empty",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          },
          {
            "name": "pipeline_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/pipelines/{pipeline_id}/variables": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/pipelines/{pipeline_id}/variables",
        "operationId": "get_api_v4_projects_id_pipelines_pipeline_id_variables",
        "tags": [
          "pipelines"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          },
          {
            "name": "pipeline_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/pipelines/latest": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/pipelines/latest",
        "operationId": "get_api_v4_projects_id_pipelines_latest",
        "tags": [
          "pipelines"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/protected_branches": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/protected_branches",
        "operationId": "get_api_v4_projects_id_protected_branches",
        "tags": [
          "protected-branches"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/protected_branches/{name}": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/protected_branches/{name}",
        "operationId": "get_api_v4_projects_id_protected_branches_name",
        "tags": [
          "protected-branches"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          },
          {
            "name": "name",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/protected_environments": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/protected_environments",
        "operationId": "get_api_v4_projects_id_protected_environments",
        "tags": [
          "deployments"
        ],
        "description": "Served by SandboxAPIs. Answer mode: empty. Answers an EMPTY collection, and that is the true answer for this universe — not a gap. Olympus-labs protects only branches — canon's protected_ref carries two branch patterns at namespace scope and no environment, tag, merge train, push rule or external status check exists; GitLab answers `[]` at 200 for each of these lists and its own 404 for a named one. THE LIST HALF, served as GitLab's empty page with the pagination headers the operation declares. UNGATED: no generation of this universe has ever protected an environment or a tag, queued a merge train, registered an external status check or set a push rule, so every registered pin answers this same `[]`. Falsifiable: the `expectsEmpty` conformance entry reds the row the day canon grows one. RULED by the founder 2026-09-12",
        "x-sandboxapis-mode": "empty",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/protected_tags": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/protected_tags",
        "operationId": "get_api_v4_projects_id_protected_tags",
        "tags": [
          "protected-branches"
        ],
        "description": "Served by SandboxAPIs. Answer mode: empty. Answers an EMPTY collection, and that is the true answer for this universe — not a gap. Olympus-labs protects only branches — canon's protected_ref carries two branch patterns at namespace scope and no environment, tag, merge train, push rule or external status check exists; GitLab answers `[]` at 200 for each of these lists and its own 404 for a named one. THE LIST HALF, served as GitLab's empty page with the pagination headers the operation declares. UNGATED: no generation of this universe has ever protected an environment or a tag, queued a merge train, registered an external status check or set a push rule, so every registered pin answers this same `[]`. Falsifiable: the `expectsEmpty` conformance entry reds the row the day canon grows one. RULED by the founder 2026-09-12",
        "x-sandboxapis-mode": "empty",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/registry/protection/repository/rules": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/registry/protection/repository/rules",
        "operationId": "get_api_v4_projects_id_registry_protection_repository_rules",
        "tags": [
          "projects"
        ],
        "description": "Served by SandboxAPIs. Answer mode: empty. Answers an EMPTY collection, and that is the true answer for this universe — not a gap. These govern who may PUBLISH into a registry; a read-only mirror accepts no publishes, so nothing has ever configured a rule here — and real GitLab answers a project with none configured 200 []",
        "x-sandboxapis-mode": "empty",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/registry/protection/tag/rules": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/registry/protection/tag/rules",
        "operationId": "get_api_v4_projects_id_registry_protection_tag_rules",
        "tags": [
          "projects"
        ],
        "description": "Served by SandboxAPIs. Answer mode: empty. Answers an EMPTY collection, and that is the true answer for this universe — not a gap. These govern who may PUBLISH into a registry; a read-only mirror accepts no publishes, so nothing has ever configured a rule here — and real GitLab answers a project with none configured 200 []",
        "x-sandboxapis-mode": "empty",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/registry/repositories": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/registry/repositories",
        "operationId": "get_api_v4_projects_id_registry_repositories",
        "tags": [
          "container-registry"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/registry/repositories/{repository_id}/tags": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/registry/repositories/{repository_id}/tags",
        "operationId": "get_api_v4_projects_id_registry_repositories_repository_id_tags",
        "tags": [
          "container-registry"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          },
          {
            "name": "repository_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/registry/repositories/{repository_id}/tags/{tag_name}": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/registry/repositories/{repository_id}/tags/{tag_name}",
        "operationId": "get_api_v4_projects_id_registry_repositories_repository_id_tags_tag_name",
        "tags": [
          "container-registry"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          },
          {
            "name": "repository_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "tag_name",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/releases": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/releases",
        "operationId": "get_api_v4_projects_id_releases",
        "tags": [
          "releases"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/releases/{tag_name}": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/releases/{tag_name}",
        "operationId": "get_api_v4_projects_id_releases_tag_name",
        "tags": [
          "releases"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          },
          {
            "name": "tag_name",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/releases/{tag_name}/assets/links": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/releases/{tag_name}/assets/links",
        "operationId": "get_api_v4_projects_id_releases_tag_name_assets_links",
        "tags": [
          "releases"
        ],
        "description": "Served by SandboxAPIs. Answer mode: empty. Answers an EMPTY collection, and that is the true answer for this universe — not a gap. No release in olympus-labs carries an asset link — canon's release names a tag and a description and nothing is attached to it; GitLab answers `[]` at 200 for a release with no links and its own 404 for a link id. THE LIST HALF: the release TAG must resolve first, so a tag nobody cut is still `404 Release Not Found`. Paginated, per the operation's own `page`/`per_page`. UNGATED: `canon.Release` (packages/canon/src/entities.ts:342) has carried the same nine fields in every generation and not one of them is an attachment. Falsifiable: the `expectsEmpty` entry reds the row the day a release grows a link. RULED by the founder 2026-09-12",
        "x-sandboxapis-mode": "empty",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          },
          {
            "name": "tag_name",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/remote_mirrors": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/remote_mirrors",
        "operationId": "get_api_v4_projects_id_remote_mirrors",
        "tags": [
          "remote mirrors"
        ],
        "description": "Served by SandboxAPIs. Answer mode: empty. Answers an EMPTY collection, and that is the true answer for this universe — not a gap. Nothing here mirrors to or from another host: a remote mirror exists only because someone configured one, and this universe accepts no writes",
        "x-sandboxapis-mode": "empty",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/repository/archive": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/repository/archive",
        "operationId": "get_api_v4_projects_id_repository_archive",
        "tags": [
          "repository-files"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/repository/blobs/{sha}": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/repository/blobs/{sha}",
        "operationId": "get_api_v4_projects_id_repository_blobs_sha",
        "tags": [
          "repository-files"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          },
          {
            "name": "sha",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/repository/blobs/{sha}/raw": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/repository/blobs/{sha}/raw",
        "operationId": "get_api_v4_projects_id_repository_blobs_sha_raw",
        "tags": [
          "repository-files"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          },
          {
            "name": "sha",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/repository/branches": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/repository/branches",
        "operationId": "get_api_v4_projects_id_repository_branches",
        "tags": [
          "branches-tags"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/repository/branches/{branch}": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/repository/branches/{branch}",
        "operationId": "get_api_v4_projects_id_repository_branches_branch",
        "tags": [
          "branches-tags"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          },
          {
            "name": "branch",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      },
      "head": {
        "summary": "HEAD /api/v4/projects/{id}/repository/branches/{branch}",
        "operationId": "head_api_v4_projects_id_repository_branches_branch",
        "tags": [
          "branches-tags"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          },
          {
            "name": "branch",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/repository/commits": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/repository/commits",
        "operationId": "get_api_v4_projects_id_repository_commits",
        "tags": [
          "commits"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/repository/commits/{noteable_id}/discussions": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/repository/commits/{noteable_id}/discussions",
        "operationId": "get_api_v4_projects_id_repository_commits_noteable_id_discussions",
        "tags": [
          "discussions"
        ],
        "description": "Served by SandboxAPIs. Answer mode: empty. Answers an EMPTY collection, and that is the true answer for this universe — not a gap. No commit in this universe carries a comment — DECISIONS 2026-08-20 [commit-detail] ruled it per endpoint and that ruling stands (the 2026-08-29 entry superseded only its three-verdict bar); GitLab's own answer for a commit with no notes is `[]` at 200. THE LIST HALF: the commit must resolve first (reader.getCommitBySha), so a sha nobody pushed is still GitLab's 404 rather than a cheerful `[]`. UNGATED: packages/canon/src/notes.ts:52 records that hello-17's entity-note domain may not declare a `commit` parent until this ruling is reversed, so no generation of this universe carries a commit note. Falsifiable: the `expectsEmpty` entry reds the row the day one appears. RULED by the founder 2026-09-12",
        "x-sandboxapis-mode": "empty",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          },
          {
            "name": "noteable_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/repository/commits/{sha}": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/repository/commits/{sha}",
        "operationId": "get_api_v4_projects_id_repository_commits_sha",
        "tags": [
          "commits"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          },
          {
            "name": "sha",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/repository/commits/{sha}/comments": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/repository/commits/{sha}/comments",
        "operationId": "get_api_v4_projects_id_repository_commits_sha_comments",
        "tags": [
          "commits"
        ],
        "description": "Served by SandboxAPIs. Answer mode: empty. Answers an EMPTY collection, and that is the true answer for this universe — not a gap. No commit in this universe carries a comment — DECISIONS 2026-08-20 [commit-detail] ruled it per endpoint and that ruling stands (the 2026-08-29 entry superseded only its three-verdict bar); GitLab's own answer for a commit with no notes is `[]` at 200. THE LIST HALF: the commit must resolve first (reader.getCommitBySha), so a sha nobody pushed is still GitLab's 404 rather than a cheerful `[]`. UNGATED: packages/canon/src/notes.ts:52 records that hello-17's entity-note domain may not declare a `commit` parent until this ruling is reversed, so no generation of this universe carries a commit note. Falsifiable: the `expectsEmpty` entry reds the row the day one appears. RULED by the founder 2026-09-12",
        "x-sandboxapis-mode": "empty",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          },
          {
            "name": "sha",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/repository/commits/{sha}/diff": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/repository/commits/{sha}/diff",
        "operationId": "get_api_v4_projects_id_repository_commits_sha_diff",
        "tags": [
          "commits"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          },
          {
            "name": "sha",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/repository/commits/{sha}/merge_requests": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/repository/commits/{sha}/merge_requests",
        "operationId": "get_api_v4_projects_id_repository_commits_sha_merge_requests",
        "tags": [
          "commits"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          },
          {
            "name": "sha",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/repository/commits/{sha}/refs": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/repository/commits/{sha}/refs",
        "operationId": "get_api_v4_projects_id_repository_commits_sha_refs",
        "tags": [
          "commits"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          },
          {
            "name": "sha",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/repository/commits/{sha}/sequence": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/repository/commits/{sha}/sequence",
        "operationId": "get_api_v4_projects_id_repository_commits_sha_sequence",
        "tags": [
          "commits"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          },
          {
            "name": "sha",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/repository/commits/{sha}/statuses": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/repository/commits/{sha}/statuses",
        "operationId": "get_api_v4_projects_id_repository_commits_sha_statuses",
        "tags": [
          "commits"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          },
          {
            "name": "sha",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/repository/compare": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/repository/compare",
        "operationId": "get_api_v4_projects_id_repository_compare",
        "tags": [
          "repository-files"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/repository/contributors": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/repository/contributors",
        "operationId": "get_api_v4_projects_id_repository_contributors",
        "tags": [
          "repository-files"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/repository/diverging_commits": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/repository/diverging_commits",
        "operationId": "get_api_v4_projects_id_repository_diverging_commits",
        "tags": [
          "repository-files"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/repository/files/{file_path}": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/repository/files/{file_path}",
        "operationId": "get_api_v4_projects_id_repository_files_file_path",
        "tags": [
          "repository-files"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          },
          {
            "name": "file_path",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      },
      "head": {
        "summary": "HEAD /api/v4/projects/{id}/repository/files/{file_path}",
        "operationId": "head_api_v4_projects_id_repository_files_file_path",
        "tags": [
          "repository-files"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          },
          {
            "name": "file_path",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/repository/files/{file_path}/blame": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/repository/files/{file_path}/blame",
        "operationId": "get_api_v4_projects_id_repository_files_file_path_blame",
        "tags": [
          "repository-files"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          },
          {
            "name": "file_path",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      },
      "head": {
        "summary": "HEAD /api/v4/projects/{id}/repository/files/{file_path}/blame",
        "operationId": "head_api_v4_projects_id_repository_files_file_path_blame",
        "tags": [
          "repository-files"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          },
          {
            "name": "file_path",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/repository/files/{file_path}/raw": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/repository/files/{file_path}/raw",
        "operationId": "get_api_v4_projects_id_repository_files_file_path_raw",
        "tags": [
          "repository-files"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          },
          {
            "name": "file_path",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/repository/merge_base": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/repository/merge_base",
        "operationId": "get_api_v4_projects_id_repository_merge_base",
        "tags": [
          "repository-files"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/repository/tags": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/repository/tags",
        "operationId": "get_api_v4_projects_id_repository_tags",
        "tags": [
          "branches-tags"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/repository/tags/{tag_name}": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/repository/tags/{tag_name}",
        "operationId": "get_api_v4_projects_id_repository_tags_tag_name",
        "tags": [
          "branches-tags"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          },
          {
            "name": "tag_name",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/repository/tree": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/repository/tree",
        "operationId": "get_api_v4_projects_id_repository_tree",
        "tags": [
          "repository-files"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/resource_groups": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/resource_groups",
        "operationId": "get_api_v4_projects_id_resource_groups",
        "tags": [
          "ci resource groups"
        ],
        "description": "Served by SandboxAPIs. Answer mode: empty. Answers an EMPTY collection, and that is the true answer for this universe — not a gap. No pipeline in olympus-labs serializes on a resource group — every job in canon runs without a concurrency lock; GitLab answers `[]` at 200 for a project with none. THE LIST HALF, served as GitLab's empty page with the pagination headers the operation declares. UNGATED: no generation of this universe takes a concurrency lock on a job, so every registered pin answers this same `[]`. Falsifiable: the `expectsEmpty` conformance entry reds the row the day canon grows one. RULED by the founder 2026-09-12",
        "x-sandboxapis-mode": "empty",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/runners": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/runners",
        "operationId": "get_api_v4_projects_id_runners",
        "tags": [
          "runners"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/secure_files": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/secure_files",
        "operationId": "get_api_v4_projects_id_secure_files",
        "tags": [
          "secure files"
        ],
        "description": "Served by SandboxAPIs. Answer mode: empty. Answers an EMPTY collection, and that is the true answer for this universe — not a gap. Olympus-labs stores no CI secure file — canon holds no secret VALUE and no uploaded secret FILE; GitLab answers `[]` at 200 for a project with none. THE LIST HALF, served as GitLab's empty page with the pagination headers the operation declares. UNGATED: no generation of this universe stores a secret VALUE or an uploaded secret FILE — hello-19's `ci_binding` stores secret NAMES and dates and has no column that could hold a value, which is asserted as SQL rather than reviewed — so every registered pin answers this same `[]`, and so does every generation after it. Falsifiable: the `expectsEmpty` conformance entry reds the row the day canon grows one. RULED by the founder 2026-09-12; the clause was narrowed on 2026-09-12 in hello-19 wave W-b (founder call F4) from the broader claim that canon holds no secret material of any kind — same conclusion, same mode, same review date, and a narrower fact that stays permanently checkable now that a generation stores secret NAMES",
        "x-sandboxapis-mode": "empty",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/service_accounts": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/service_accounts",
        "operationId": "get_api_v4_projects_id_service_accounts",
        "tags": [
          "service accounts"
        ],
        "description": "Served by SandboxAPIs. Answer mode: empty. Answers an EMPTY collection, and that is the true answer for this universe — not a gap. Every actor in olympus-labs is a person on the roster — canon mints no bot principal, and a service account served here would be a member no other host lists (invariant #5); GitLab answers `[]` at 200 for a group with none. THE LIST HALF, served as GitLab's empty page with the pagination headers the operation declares. UNGATED: canon has no `ServiceAccount` in any generation — hello-17 dropped the federation domain that would have introduced one, so every registered pin answers this same `[]`. Falsifiable: the `expectsEmpty` conformance entry reds the row the day canon grows one. RULED by the founder 2026-09-12",
        "x-sandboxapis-mode": "empty",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/services": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/services",
        "operationId": "get_api_v4_projects_id_services",
        "tags": [
          "integrations"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/services/{slug}": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/services/{slug}",
        "operationId": "get_api_v4_projects_id_services_slug",
        "tags": [
          "integrations"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          },
          {
            "name": "slug",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/share_locations": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/share_locations",
        "operationId": "get_api_v4_projects_id_share_locations",
        "tags": [
          "projects"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/snippets": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/snippets",
        "operationId": "get_api_v4_projects_id_snippets",
        "tags": [
          "snippets"
        ],
        "description": "Served by SandboxAPIs. Answer mode: empty. Answers an EMPTY collection, and that is the true answer for this universe — not a gap. No snippet exists in this organization — every shared file in olympus-labs lives in the parthenon repository and no persona has ever posted a snippet; GitLab answers `[]` at 200 for a snippet list and its own 404 for a snippet id that names nothing. THE LIST HALF, served as GitLab's empty page with the pagination headers the operation declares (`page`/`per_page`). UNGATED: canon has no `Snippet` entity in any generation — packages/canon/src/avatars-reactions.ts:188 names it as the blocker the hello-15 reaction domain could not answer — so every registered pin answers this same `[]`. Falsifiable: the `expectsEmpty` conformance entry reds the row the day canon grows a snippet. RULED by the founder 2026-09-12",
        "x-sandboxapis-mode": "empty",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/starrers": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/starrers",
        "operationId": "get_api_v4_projects_id_starrers",
        "tags": [
          "projects"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/statistics": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/statistics",
        "operationId": "get_api_v4_projects_id_statistics",
        "tags": [
          "projects"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/storage": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/storage",
        "operationId": "get_api_v4_projects_id_storage",
        "tags": [
          "projects"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/templates/{type}": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/templates/{type}",
        "operationId": "get_api_v4_projects_id_templates_type",
        "tags": [
          "project templates"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          },
          {
            "name": "type",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/templates/{type}/{name}": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/templates/{type}/{name}",
        "operationId": "get_api_v4_projects_id_templates_type_name",
        "tags": [
          "project templates"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          },
          {
            "name": "type",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "name",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/terraform/state_protection_rules": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/terraform/state_protection_rules",
        "operationId": "get_api_v4_projects_id_terraform_state_protection_rules",
        "tags": [
          "projects"
        ],
        "description": "Served by SandboxAPIs. Answer mode: empty. Answers an EMPTY collection, and that is the true answer for this universe — not a gap. These govern who may PUBLISH into a registry; a read-only mirror accepts no publishes, so nothing has ever configured a rule here — and real GitLab answers a project with none configured 200 []",
        "x-sandboxapis-mode": "empty",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/transfer_locations": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/transfer_locations",
        "operationId": "get_api_v4_projects_id_transfer_locations",
        "tags": [
          "projects"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/triggers": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/triggers",
        "operationId": "get_api_v4_projects_id_triggers",
        "tags": [
          "variables"
        ],
        "description": "Served by SandboxAPIs. Answer mode: empty. Answers an EMPTY collection, and that is the true answer for this universe — not a gap. A PIPELINE TRIGGER IS A TOKEN, and canon stores no token of any kind - the PagerDuty routing-key rule (2026-09-03) and hello-19's masked-binding rule, which is asserted as SQL on every compiled artifact (`COUNT(*) FROM ci_binding WHERE masked = 1 AND value IS NOT NULL` is 0). Nobody in olympus-labs ever created one, so the list is empty: §A-R6 of the hello-20 batch, founder-approved 2026-09-14, and the 2026-09-09 re-scope's own words - the trigger rows are the tokens that start a pipeline from outside, and canon stores none. WHAT THIS ORGANIZATION DOES START PIPELINES WITH IS ALREADY SERVED: hello-15's `workflow_schedule` answers `/api/v4/projects/{id}/pipeline_schedules`, which is the nightly release this universe really runs, so the empty here withholds nothing a caller cannot find. UNGATED: no generation stores a token; conformance drives it against the oldest generation in the suite. A collection under a project that resolves; the row addressed by `{trigger_id}` answers GitLab's own 404.",
        "x-sandboxapis-mode": "empty",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/uploads": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/uploads",
        "operationId": "get_api_v4_projects_id_uploads",
        "tags": [
          "projects"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/uploads/{secret}/{filename}": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/uploads/{secret}/{filename}",
        "operationId": "get_api_v4_projects_id_uploads_secret_filename",
        "tags": [
          "projects"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          },
          {
            "name": "secret",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filename",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/uploads/{upload_id}": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/uploads/{upload_id}",
        "operationId": "get_api_v4_projects_id_uploads_upload_id",
        "tags": [
          "projects"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          },
          {
            "name": "upload_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/users": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/users",
        "operationId": "get_api_v4_projects_id_users",
        "tags": [
          "projects"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/variables": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/variables",
        "operationId": "get_api_v4_projects_id_variables",
        "tags": [
          "variables"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/variables/{key}": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/variables/{key}",
        "operationId": "get_api_v4_projects_id_variables_key",
        "tags": [
          "variables"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          },
          {
            "name": "key",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/vulnerabilities": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/vulnerabilities",
        "operationId": "get_api_v4_projects_id_vulnerabilities",
        "tags": [
          "vulnerabilities"
        ],
        "description": "Served by SandboxAPIs. Answer mode: empty. Answers an EMPTY collection, and that is the true answer for this universe — not a gap. NO SECURITY PRODUCT IS ENABLED ON olympus-labs AND NO VULNERABILITY EXISTS - the founder's ruling of 2026-09-12 on `/projects/{id}/vulnerabilities/{noteable_id}/notes`, applied to its own family as §A-R1 of the hello-20 batch and approved 2026-09-14. AND IT CANNOT BE BUILT, which is what makes this permanent rather than a deferral: `render-sbom.ts` parses this repository's REAL manifests, so the components this universe declares are `express@4.18.2`, `github.com/google/uuid v1.3.0` and `httpx==0.24.1` - real packages at real versions - and a generated finding over them would be a false claim about a third party's software. The same fact is why hello-20's F8 derives this namespace's plan rung as `premium` rather than Ultimate, so the money surface and this one agree. UNGATED: no generation of this universe holds a SecurityFinding (`packages/canon/src/notes.ts` records it as the entity hello-17's entity-note domain is still missing), so the empty is true on every artifact and on every frozen pin - conformance drives it against the OLDEST generation in the suite rather than against hello-20, which is what would catch a generation gap wearing a ruling's clothes. A collection under a project that resolves; the six rows in this family addressed by an id or a digest answer GitLab's own 404 instead.",
        "x-sandboxapis-mode": "empty",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/vulnerability_findings": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/vulnerability_findings",
        "operationId": "get_api_v4_projects_id_vulnerability_findings",
        "tags": [
          "vulnerabilities"
        ],
        "description": "Served by SandboxAPIs. Answer mode: empty. Answers an EMPTY collection, and that is the true answer for this universe — not a gap. The same fact one operation along: a FINDING is what a scanner reports before anybody triages it into a vulnerability, and no scanner ran here. NO SECURITY PRODUCT IS ENABLED ON olympus-labs (§A-R1 of the hello-20 batch, founder-approved 2026-09-14, extending the ruling of 2026-09-12), and it cannot be built without making a false claim about the real third-party packages `render-sbom.ts` publishes from this repository's own manifests. UNGATED: no generation of this universe holds a SecurityFinding, so the empty is true on every artifact; conformance drives it against the oldest generation in the suite. A collection under a project that resolves.",
        "x-sandboxapis-mode": "empty",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{id}/wikis": {
      "get": {
        "summary": "GET /api/v4/projects/{id}/wikis",
        "operationId": "get_api_v4_projects_id_wikis",
        "tags": [
          "wikis"
        ],
        "description": "Served by SandboxAPIs. Answer mode: empty. Answers an EMPTY collection, and that is the true answer for this universe — not a gap. Olympus-labs documents its services in the parthenon repository, not in a wiki — no WikiPage exists at project or group scope; GitLab answers `[]` at 200 for the wiki list and its own 404 for a slug that names nothing. THE LIST HALF, served UNPAGINATED because the vendored operation declares only `id` and `with_content` — printing pagination headers on an operation GitLab does not paginate would break invariant #2 in the name of consistency. Both container ids answer it: the document says \"for a group\" and restricts the operation to no particular one, so the subgroup is not denied a family this host lists it under (invariant #5). UNGATED: canon has no WikiPage in any generation. RULED by the founder 2026-09-12",
        "x-sandboxapis-mode": "empty",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "olympus-labs%2Fparthenon"
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{project_id}/packages/nuget/v2/FindPackagesById\\(\\)": {
      "get": {
        "summary": "GET /api/v4/projects/{project_id}/packages/nuget/v2/FindPackagesById\\(\\)",
        "operationId": "get_api_v4_projects_project_id_packages_nuget_v2_FindPackagesById",
        "tags": [
          "packages"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "project_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/projects/{project_id}/packages/nuget/v2/Packages\\(\\)": {
      "get": {
        "summary": "GET /api/v4/projects/{project_id}/packages/nuget/v2/Packages\\(\\)",
        "operationId": "get_api_v4_projects_project_id_packages_nuget_v2_Packages",
        "tags": [
          "packages"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "project_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/registry/repositories/{id}": {
      "get": {
        "summary": "GET /api/v4/registry/repositories/{id}",
        "operationId": "get_api_v4_registry_repositories_id",
        "tags": [
          "container-registry"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/runners": {
      "get": {
        "summary": "GET /api/v4/runners",
        "operationId": "get_api_v4_runners",
        "tags": [
          "runners"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/runners/{id}": {
      "get": {
        "summary": "GET /api/v4/runners/{id}",
        "operationId": "get_api_v4_runners_id",
        "tags": [
          "runners"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/runners/{id}/jobs": {
      "get": {
        "summary": "GET /api/v4/runners/{id}/jobs",
        "operationId": "get_api_v4_runners_id_jobs",
        "tags": [
          "runners"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/runners/{id}/projects": {
      "get": {
        "summary": "GET /api/v4/runners/{id}/projects",
        "operationId": "get_api_v4_runners_id_projects",
        "tags": [
          "runners"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/search": {
      "get": {
        "summary": "GET /api/v4/search",
        "operationId": "get_api_v4_search",
        "tags": [
          "search"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/service_accounts": {
      "get": {
        "summary": "GET /api/v4/service_accounts",
        "operationId": "get_api_v4_service_accounts",
        "tags": [
          "service accounts"
        ],
        "description": "Served by SandboxAPIs. Answer mode: empty. Answers an EMPTY collection, and that is the true answer for this universe — not a gap. Every actor in olympus-labs is a person on the roster — canon mints no bot principal, and a service account served here would be a member no other host lists (invariant #5); GitLab answers `[]` at 200 for a group with none. THE LIST HALF, served as GitLab's empty page with the pagination headers the operation declares. UNGATED: canon has no `ServiceAccount` in any generation — hello-17 dropped the federation domain that would have introduced one, so every registered pin answers this same `[]`. Falsifiable: the `expectsEmpty` conformance entry reds the row the day canon grows one. RULED by the founder 2026-09-12",
        "x-sandboxapis-mode": "empty",
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/snippets": {
      "get": {
        "summary": "GET /api/v4/snippets",
        "operationId": "get_api_v4_snippets",
        "tags": [
          "snippets"
        ],
        "description": "Served by SandboxAPIs. Answer mode: empty. Answers an EMPTY collection, and that is the true answer for this universe — not a gap. No snippet exists in this organization — every shared file in olympus-labs lives in the parthenon repository and no persona has ever posted a snippet; GitLab answers `[]` at 200 for a snippet list and its own 404 for a snippet id that names nothing. THE LIST HALF, served as GitLab's empty page with the pagination headers the operation declares (`page`/`per_page`). UNGATED: canon has no `Snippet` entity in any generation — packages/canon/src/avatars-reactions.ts:188 names it as the blocker the hello-15 reaction domain could not answer — so every registered pin answers this same `[]`. Falsifiable: the `expectsEmpty` conformance entry reds the row the day canon grows a snippet. RULED by the founder 2026-09-12",
        "x-sandboxapis-mode": "empty",
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/snippets/all": {
      "get": {
        "summary": "GET /api/v4/snippets/all",
        "operationId": "get_api_v4_snippets_all",
        "tags": [
          "snippets"
        ],
        "description": "Served by SandboxAPIs. Answer mode: empty. Answers an EMPTY collection, and that is the true answer for this universe — not a gap. No snippet exists in this organization — every shared file in olympus-labs lives in the parthenon repository and no persona has ever posted a snippet; GitLab answers `[]` at 200 for a snippet list and its own 404 for a snippet id that names nothing. THE LIST HALF, served as GitLab's empty page with the pagination headers the operation declares (`page`/`per_page`). UNGATED: canon has no `Snippet` entity in any generation — packages/canon/src/avatars-reactions.ts:188 names it as the blocker the hello-15 reaction domain could not answer — so every registered pin answers this same `[]`. Falsifiable: the `expectsEmpty` conformance entry reds the row the day canon grows a snippet. RULED by the founder 2026-09-12",
        "x-sandboxapis-mode": "empty",
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/snippets/public": {
      "get": {
        "summary": "GET /api/v4/snippets/public",
        "operationId": "get_api_v4_snippets_public",
        "tags": [
          "snippets"
        ],
        "description": "Served by SandboxAPIs. Answer mode: empty. Answers an EMPTY collection, and that is the true answer for this universe — not a gap. No snippet exists in this organization — every shared file in olympus-labs lives in the parthenon repository and no persona has ever posted a snippet; GitLab answers `[]` at 200 for a snippet list and its own 404 for a snippet id that names nothing. THE LIST HALF, served as GitLab's empty page with the pagination headers the operation declares (`page`/`per_page`). UNGATED: canon has no `Snippet` entity in any generation — packages/canon/src/avatars-reactions.ts:188 names it as the blocker the hello-15 reaction domain could not answer — so every registered pin answers this same `[]`. Falsifiable: the `expectsEmpty` conformance entry reds the row the day canon grows a snippet. RULED by the founder 2026-09-12",
        "x-sandboxapis-mode": "empty",
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/templates/dockerfiles": {
      "get": {
        "summary": "GET /api/v4/templates/dockerfiles",
        "operationId": "get_api_v4_templates_dockerfiles",
        "tags": [
          "templates"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/templates/dockerfiles/{name}": {
      "get": {
        "summary": "GET /api/v4/templates/dockerfiles/{name}",
        "operationId": "get_api_v4_templates_dockerfiles_name",
        "tags": [
          "templates"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "name",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/templates/gitignores": {
      "get": {
        "summary": "GET /api/v4/templates/gitignores",
        "operationId": "get_api_v4_templates_gitignores",
        "tags": [
          "templates"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/templates/gitignores/{name}": {
      "get": {
        "summary": "GET /api/v4/templates/gitignores/{name}",
        "operationId": "get_api_v4_templates_gitignores_name",
        "tags": [
          "templates"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "name",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/templates/gitlab_ci_ymls": {
      "get": {
        "summary": "GET /api/v4/templates/gitlab_ci_ymls",
        "operationId": "get_api_v4_templates_gitlab_ci_ymls",
        "tags": [
          "templates"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/templates/gitlab_ci_ymls/{name}": {
      "get": {
        "summary": "GET /api/v4/templates/gitlab_ci_ymls/{name}",
        "operationId": "get_api_v4_templates_gitlab_ci_ymls_name",
        "tags": [
          "templates"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "name",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/templates/licenses": {
      "get": {
        "summary": "GET /api/v4/templates/licenses",
        "operationId": "get_api_v4_templates_licenses",
        "tags": [
          "templates"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/templates/licenses/{name}": {
      "get": {
        "summary": "GET /api/v4/templates/licenses/{name}",
        "operationId": "get_api_v4_templates_licenses_name",
        "tags": [
          "templates"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "name",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/todos": {
      "get": {
        "summary": "GET /api/v4/todos",
        "operationId": "get_api_v4_todos",
        "tags": [
          "todos"
        ],
        "description": "Served by SandboxAPIs. Answer mode: empty. Answers an EMPTY collection, and that is the true answer for this universe — not a gap. The calling persona has no pending to-do — canon carries no per-person work queue and every review request it would echo is already served at /merge_requests; GitLab answers `[]` at 200 for a caller with an empty queue. THE LIST HALF, served as GitLab's empty page with the pagination headers the operation declares. UNGATED: canon carries no per-person work queue in any generation, so every registered pin answers this same `[]`. Falsifiable: the `expectsEmpty` conformance entry reds the row the day canon grows one. RULED by the founder 2026-09-12",
        "x-sandboxapis-mode": "empty",
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/topics": {
      "get": {
        "summary": "GET /api/v4/topics",
        "operationId": "get_api_v4_topics",
        "tags": [
          "project topics"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/topics/{id}": {
      "get": {
        "summary": "GET /api/v4/topics/{id}",
        "operationId": "get_api_v4_topics_id",
        "tags": [
          "project topics"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/user": {
      "get": {
        "summary": "GET /api/v4/user",
        "operationId": "get_api_v4_user",
        "tags": [
          "users"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/user_counts": {
      "get": {
        "summary": "GET /api/v4/user_counts",
        "operationId": "get_api_v4_user_counts",
        "tags": [
          "users"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/user/emails": {
      "get": {
        "summary": "GET /api/v4/user/emails",
        "operationId": "get_api_v4_user_emails",
        "tags": [
          "users"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/user/emails/{email_id}": {
      "get": {
        "summary": "GET /api/v4/user/emails/{email_id}",
        "operationId": "get_api_v4_user_emails_email_id",
        "tags": [
          "users"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "email_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/user/gpg_keys": {
      "get": {
        "summary": "GET /api/v4/user/gpg_keys",
        "operationId": "get_api_v4_user_gpg_keys",
        "tags": [
          "deploy-keys-tokens"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/user/gpg_keys/{key_id}": {
      "get": {
        "summary": "GET /api/v4/user/gpg_keys/{key_id}",
        "operationId": "get_api_v4_user_gpg_keys_key_id",
        "tags": [
          "deploy-keys-tokens"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "key_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/user/keys": {
      "get": {
        "summary": "GET /api/v4/user/keys",
        "operationId": "get_api_v4_user_keys",
        "tags": [
          "deploy-keys-tokens"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/user/keys/{key_id}": {
      "get": {
        "summary": "GET /api/v4/user/keys/{key_id}",
        "operationId": "get_api_v4_user_keys_key_id",
        "tags": [
          "deploy-keys-tokens"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "key_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/user/preferences": {
      "get": {
        "summary": "GET /api/v4/user/preferences",
        "operationId": "get_api_v4_user_preferences",
        "tags": [
          "users"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/user/status": {
      "get": {
        "summary": "GET /api/v4/user/status",
        "operationId": "get_api_v4_user_status",
        "tags": [
          "users"
        ],
        "description": "Served by SandboxAPIs. Answer mode: empty. Answers an EMPTY collection, and that is the true answer for this universe — not a gap. Nobody in olympus-labs sets a status message — canon's person carries no availability, emoji or status text; GitLab's own answer for a user who has set none is a 200 with every field null. NOT A COLLECTION: `APIEntitiesUserStatus` is an object, so the honest empty is the all-null object rather than `[]`. All five fields are a `deviation` against the vendored component, which types each of them `string` with no `nullable` while GitLab renders `Entities::UserStatus` over a person who has set no status and every field comes out nil. UNGATED: `canon.Person` (packages/canon/src/entities.ts:79) has carried id, archetype, teams, utcOffsetMinutes, isBot and member in every generation and has grown only `aiTool`/`extraAiTools` since, so no artifact of this universe has ever held an availability, an emoji or a status text. RULED by the founder 2026-09-12",
        "x-sandboxapis-mode": "empty",
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/users": {
      "get": {
        "summary": "GET /api/v4/users",
        "operationId": "get_api_v4_users",
        "tags": [
          "users"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/users/{id}": {
      "get": {
        "summary": "GET /api/v4/users/{id}",
        "operationId": "get_api_v4_users_id",
        "tags": [
          "users"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/users/{id}/associations_count": {
      "get": {
        "summary": "GET /api/v4/users/{id}/associations_count",
        "operationId": "get_api_v4_users_id_associations_count",
        "tags": [
          "users"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/users/{id}/events": {
      "get": {
        "summary": "GET /api/v4/users/{id}/events",
        "operationId": "get_api_v4_users_id_events",
        "tags": [
          "events"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/users/{id}/followers": {
      "get": {
        "summary": "GET /api/v4/users/{id}/followers",
        "operationId": "get_api_v4_users_id_followers",
        "tags": [
          "users"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/users/{id}/following": {
      "get": {
        "summary": "GET /api/v4/users/{id}/following",
        "operationId": "get_api_v4_users_id_following",
        "tags": [
          "users"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/users/{id}/gpg_keys": {
      "get": {
        "summary": "GET /api/v4/users/{id}/gpg_keys",
        "operationId": "get_api_v4_users_id_gpg_keys",
        "tags": [
          "deploy-keys-tokens"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/users/{id}/gpg_keys/{key_id}": {
      "get": {
        "summary": "GET /api/v4/users/{id}/gpg_keys/{key_id}",
        "operationId": "get_api_v4_users_id_gpg_keys_key_id",
        "tags": [
          "deploy-keys-tokens"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "key_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/users/{id}/keys/{key_id}": {
      "get": {
        "summary": "GET /api/v4/users/{id}/keys/{key_id}",
        "operationId": "get_api_v4_users_id_keys_key_id",
        "tags": [
          "deploy-keys-tokens"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "key_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/users/{user_id}/contributed_projects": {
      "get": {
        "summary": "GET /api/v4/users/{user_id}/contributed_projects",
        "operationId": "get_api_v4_users_user_id_contributed_projects",
        "tags": [
          "projects"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "user_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/users/{user_id}/keys": {
      "get": {
        "summary": "GET /api/v4/users/{user_id}/keys",
        "operationId": "get_api_v4_users_user_id_keys",
        "tags": [
          "deploy-keys-tokens"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "user_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/users/{user_id}/memberships": {
      "get": {
        "summary": "GET /api/v4/users/{user_id}/memberships",
        "operationId": "get_api_v4_users_user_id_memberships",
        "tags": [
          "users"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "user_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/users/{user_id}/project_deploy_keys": {
      "get": {
        "summary": "GET /api/v4/users/{user_id}/project_deploy_keys",
        "operationId": "get_api_v4_users_user_id_project_deploy_keys",
        "tags": [
          "deploy-keys-tokens"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "user_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/users/{user_id}/projects": {
      "get": {
        "summary": "GET /api/v4/users/{user_id}/projects",
        "operationId": "get_api_v4_users_user_id_projects",
        "tags": [
          "projects"
        ],
        "description": "Served by SandboxAPIs. Answer mode: empty. Answers an EMPTY collection, and that is the true answer for this universe — not a gap. The projects a person owns in their OWN namespace. Canon models no personal namespace — the group owns every project — so nobody owns one. users/{id}/contributed_projects answers the question this is often mistaken for, and it is served with real rows. RULED by the founder 2026-09-09; a subgroup and group-level objects are on hello-16",
        "x-sandboxapis-mode": "empty",
        "parameters": [
          {
            "name": "user_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/users/{user_id}/starred_projects": {
      "get": {
        "summary": "GET /api/v4/users/{user_id}/starred_projects",
        "operationId": "get_api_v4_users_user_id_starred_projects",
        "tags": [
          "projects"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "user_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/users/{user_id}/status": {
      "get": {
        "summary": "GET /api/v4/users/{user_id}/status",
        "operationId": "get_api_v4_users_user_id_status",
        "tags": [
          "users"
        ],
        "description": "Served by SandboxAPIs. Answer mode: empty. Answers an EMPTY collection, and that is the true answer for this universe — not a gap. Nobody in olympus-labs sets a status message — canon's person carries no availability, emoji or status text; GitLab's own answer for a user who has set none is a 200 with every field null. NOT A COLLECTION: `APIEntitiesUserStatus` is an object, so the honest empty is the all-null object rather than `[]`. All five fields are a `deviation` against the vendored component, which types each of them `string` with no `nullable` while GitLab renders `Entities::UserStatus` over a person who has set no status and every field comes out nil. UNGATED: `canon.Person` (packages/canon/src/entities.ts:79) has carried id, archetype, teams, utcOffsetMinutes, isBot and member in every generation and has grown only `aiTool`/`extraAiTools` since, so no artifact of this universe has ever held an availability, an emoji or a status text. RULED by the founder 2026-09-12",
        "x-sandboxapis-mode": "empty",
        "parameters": [
          {
            "name": "user_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/v4/version": {
      "get": {
        "summary": "GET /api/v4/version",
        "operationId": "get_api_v4_version",
        "tags": [
          "instance-admin"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "responses": {
          "200": {
            "description": "The provider's own response shape. This document describes paths only and carries no schema."
          }
        }
      }
    },
    "/api/graphql": {
      "post": {
        "summary": "POST /api/graphql",
        "operationId": "post_graphql",
        "tags": [
          "graphql"
        ],
        "description": "GraphQL. The served schema is a subset; an uncovered field answers with an explicit coverage error in `errors[]`, never a silent null.",
        "x-sandboxapis-mode": "derive",
        "responses": {
          "200": {
            "description": "A GraphQL response. This document describes paths only."
          }
        }
      }
    }
  }
}
