{
  "openapi": "3.1.0",
  "info": {
    "title": "SandboxAPIs — Cursor (paths only)",
    "version": "coverage-manifest-rev-5",
    "summary": "The 20 read paths SandboxAPIs serves on Cursor.",
    "description": "Every read SandboxAPIs serves on Cursor, pointed at https://cursor.sandboxapis.dev.\n\n20 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://cursor.sandboxapis.dev",
      "description": "The live Cursor host"
    }
  ],
  "security": [
    {
      "sandboxapisKey": []
    }
  ],
  "components": {
    "securitySchemes": {
      "sandboxapisKey": {
        "type": "http",
        "scheme": "basic",
        "description": "HTTP Basic — key as the USERNAME, empty password"
      }
    }
  },
  "paths": {
    "/analytics/ai-code/changes": {
      "get": {
        "summary": "GET /analytics/ai-code/changes",
        "operationId": "get_analytics_ai-code_changes",
        "tags": [
          "ai-code-tracking"
        ],
        "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."
          }
        }
      }
    },
    "/analytics/ai-code/changes.csv": {
      "get": {
        "summary": "GET /analytics/ai-code/changes.csv",
        "operationId": "get_analytics_ai-code_changes_csv",
        "tags": [
          "ai-code-tracking"
        ],
        "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."
          }
        }
      }
    },
    "/analytics/ai-code/commits": {
      "get": {
        "summary": "GET /analytics/ai-code/commits",
        "operationId": "get_analytics_ai-code_commits",
        "tags": [
          "ai-code-tracking"
        ],
        "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."
          }
        }
      }
    },
    "/analytics/ai-code/commits.csv": {
      "get": {
        "summary": "GET /analytics/ai-code/commits.csv",
        "operationId": "get_analytics_ai-code_commits_csv",
        "tags": [
          "ai-code-tracking"
        ],
        "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."
          }
        }
      }
    },
    "/analytics/ai-code/commits/{commitHash}": {
      "get": {
        "summary": "GET /analytics/ai-code/commits/{commitHash}",
        "operationId": "get_analytics_ai-code_commits_commitHash",
        "tags": [
          "ai-code-tracking"
        ],
        "description": "Served by SandboxAPIs. Answer mode: derive.",
        "x-sandboxapis-mode": "derive",
        "parameters": [
          {
            "name": "commitHash",
            "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."
          }
        }
      }
    },
    "/analytics/by-user/tabs": {
      "get": {
        "summary": "GET /analytics/by-user/tabs",
        "operationId": "get_analytics_by-user_tabs",
        "tags": [
          "analytics-by-user"
        ],
        "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."
          }
        }
      }
    },
    "/analytics/team/agent-edits": {
      "get": {
        "summary": "GET /analytics/team/agent-edits",
        "operationId": "get_analytics_team_agent-edits",
        "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."
          }
        }
      }
    },
    "/analytics/team/dau": {
      "get": {
        "summary": "GET /analytics/team/dau",
        "operationId": "get_analytics_team_dau",
        "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."
          }
        }
      }
    },
    "/analytics/team/leaderboard": {
      "get": {
        "summary": "GET /analytics/team/leaderboard",
        "operationId": "get_analytics_team_leaderboard",
        "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."
          }
        }
      }
    },
    "/analytics/team/models": {
      "get": {
        "summary": "GET /analytics/team/models",
        "operationId": "get_analytics_team_models",
        "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."
          }
        }
      }
    },
    "/analytics/team/tabs": {
      "get": {
        "summary": "GET /analytics/team/tabs",
        "operationId": "get_analytics_team_tabs",
        "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."
          }
        }
      }
    },
    "/teams/daily-usage-data": {
      "post": {
        "summary": "POST /teams/daily-usage-data",
        "operationId": "post_teams_daily-usage-data",
        "tags": [
          "admin-usage"
        ],
        "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."
          }
        }
      }
    },
    "/teams/filtered-usage-events": {
      "post": {
        "summary": "POST /teams/filtered-usage-events",
        "operationId": "post_teams_filtered-usage-events",
        "tags": [
          "admin-usage"
        ],
        "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."
          }
        }
      }
    },
    "/teams/members": {
      "get": {
        "summary": "GET /teams/members",
        "operationId": "get_teams_members",
        "tags": [
          "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."
          }
        }
      }
    },
    "/teams/spend": {
      "post": {
        "summary": "POST /teams/spend",
        "operationId": "post_teams_spend",
        "tags": [
          "admin-usage"
        ],
        "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."
          }
        }
      }
    },
    "/v1/agents": {
      "get": {
        "summary": "GET /v1/agents",
        "operationId": "get_v1_agents",
        "tags": [
          "cloud-agents"
        ],
        "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."
          }
        }
      }
    },
    "/v1/agents/{id}": {
      "get": {
        "summary": "GET /v1/agents/{id}",
        "operationId": "get_v1_agents_id",
        "tags": [
          "cloud-agents"
        ],
        "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."
          }
        }
      }
    },
    "/v1/me": {
      "get": {
        "summary": "GET /v1/me",
        "operationId": "get_v1_me",
        "tags": [
          "cloud-agents"
        ],
        "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."
          }
        }
      }
    },
    "/v1/models": {
      "get": {
        "summary": "GET /v1/models",
        "operationId": "get_v1_models",
        "tags": [
          "cloud-agents"
        ],
        "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."
          }
        }
      }
    },
    "/v1/repositories": {
      "get": {
        "summary": "GET /v1/repositories",
        "operationId": "get_v1_repositories",
        "tags": [
          "cloud-agents"
        ],
        "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."
          }
        }
      }
    }
  }
}
