{
  "opencollection": "1.0.0",
  "info": {
    "name": "Cursor Cloud Agents API",
    "version": "1.0.0"
  },
  "request": {
    "auth": {
      "type": "basic",
      "username": "{{username}}",
      "password": "{{password}}"
    }
  },
  "items": [
    {
      "info": {
        "name": "Agents",
        "type": "folder"
      },
      "items": [
        {
          "info": {
            "name": "List agents",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.cursor.com/v1/agents",
            "params": [
              {
                "name": "limit",
                "value": "",
                "type": "query",
                "description": "Number of agents to return."
              },
              {
                "name": "cursor",
                "value": "",
                "type": "query",
                "description": "Pagination cursor from the previous response."
              },
              {
                "name": "prUrl",
                "value": "",
                "type": "query",
                "description": "Filter agents by GitHub pull request URL."
              },
              {
                "name": "includeArchived",
                "value": "",
                "type": "query",
                "description": "Whether to include archived agents."
              }
            ]
          },
          "docs": "List agents for the authenticated user, newest first."
        },
        {
          "info": {
            "name": "Create an agent",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://api.cursor.com/v1/agents",
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "Create a Cloud Agent and immediately enqueue its initial run.\nThe response contains both the durable `agent` and the initial\n`run`.\n"
        },
        {
          "info": {
            "name": "Get an agent",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.cursor.com/v1/agents/:id",
            "params": [
              {
                "name": "id",
                "value": "",
                "type": "path",
                "description": "Unique identifier for the agent."
              }
            ]
          },
          "docs": "Retrieve durable metadata for an agent. Execution status lives on runs."
        },
        {
          "info": {
            "name": "Delete an agent permanently",
            "type": "http"
          },
          "http": {
            "method": "DELETE",
            "url": "https://api.cursor.com/v1/agents/:id",
            "params": [
              {
                "name": "id",
                "value": "",
                "type": "path",
                "description": "Unique identifier for the agent."
              }
            ]
          },
          "docs": "Permanently delete an agent. This action is irreversible. Use POST /v1/agents/{id}/archive for reversible removal."
        },
        {
          "info": {
            "name": "List runs",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.cursor.com/v1/agents/:id/runs",
            "params": [
              {
                "name": "id",
                "value": "",
                "type": "path",
                "description": "Unique identifier for the agent."
              },
              {
                "name": "limit",
                "value": "",
                "type": "query"
              },
              {
                "name": "cursor",
                "value": "",
                "type": "query",
                "description": "Pagination cursor from the previous response."
              }
            ]
          },
          "docs": "List runs for an agent, newest first."
        },
        {
          "info": {
            "name": "Create a run",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://api.cursor.com/v1/agents/:id/runs",
            "params": [
              {
                "name": "id",
                "value": "",
                "type": "path",
                "description": "Unique identifier for the agent."
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "Send a follow-up prompt to an existing active agent. The new\nrun uses the agent's current conversation and workspace state.\nOnly one run can be active per agent at a time.\n"
        },
        {
          "info": {
            "name": "Get a run",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.cursor.com/v1/agents/:id/runs/:runId",
            "params": [
              {
                "name": "id",
                "value": "",
                "type": "path",
                "description": "Unique identifier for the agent."
              },
              {
                "name": "runId",
                "value": "",
                "type": "path",
                "description": "Unique identifier for the run."
              }
            ]
          },
          "docs": "Retrieve status and timestamps for a specific run."
        },
        {
          "info": {
            "name": "Stream a run",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.cursor.com/v1/agents/:id/runs/:runId/stream",
            "headers": [
              {
                "name": "Last-Event-ID",
                "value": ""
              }
            ],
            "params": [
              {
                "name": "id",
                "value": "",
                "type": "path",
                "description": "Unique identifier for the agent."
              },
              {
                "name": "runId",
                "value": "",
                "type": "path",
                "description": "Unique identifier for the run."
              }
            ]
          },
          "docs": "Stream Server-Sent Events for one run. Event types are\n`status`, `assistant`, `thinking`, `tool_call`,\n`interaction_update`, `heartbeat`, `result`, `error`, and\n`done`.\n\n- `status` carries `{ runId, status }`. It has no `id` line\n  and is replayed at the top of every reconnect.\n- `result` carries `{ runId, status, text?, durationMs?,\n  git? }`; `text` is the final assistant reply, `durationMs`\n  the wall-clock duration, and `git` mirrors `Run.git`.\n- `interaction_update` carries the richer SDK-s"
        },
        {
          "info": {
            "name": "Cancel a run",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://api.cursor.com/v1/agents/:id/runs/:runId/cancel",
            "params": [
              {
                "name": "id",
                "value": "",
                "type": "path",
                "description": "Unique identifier for the agent."
              },
              {
                "name": "runId",
                "value": "",
                "type": "path",
                "description": "Unique identifier for the run."
              }
            ]
          },
          "docs": "Cancel the active run for an agent. Cancellation is terminal —\nthe run transitions to `CANCELLED`. Cancelling a run that is\nalready terminal or was never active returns\n`409 run_not_cancellable`. To continue the conversation,\ncreate a new run on the same agent.\n"
        },
        {
          "info": {
            "name": "Get agent usage",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.cursor.com/v1/agents/:id/usage",
            "params": [
              {
                "name": "id",
                "value": "",
                "type": "path",
                "description": "Unique identifier for the agent."
              },
              {
                "name": "runId",
                "value": "",
                "type": "query",
                "description": "Scope usage to a single run. Omit to return usage for every run on the agent."
              }
            ]
          },
          "docs": "Retrieve token usage for an agent, broken down per run.\n`totalUsage` sums input, output, and cache token counts across\nevery run on the agent, and `runs` lists the same breakdown for\neach run. Token usage mirrors the `tokenUsage` shape on the team\nusage events endpoint.\n\nThis endpoint is in early access. When it isn't enabled for the\naccount it returns `403 feature_unavailable`. An unknown `runId`\nreturns `404 run_not_found`.\n"
        },
        {
          "info": {
            "name": "Archive an agent",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://api.cursor.com/v1/agents/:id/archive",
            "params": [
              {
                "name": "id",
                "value": "",
                "type": "path",
                "description": "Unique identifier for the agent."
              }
            ]
          },
          "docs": "Archive an agent. Archived agents remain readable but cannot accept new runs until unarchived."
        },
        {
          "info": {
            "name": "Unarchive an agent",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://api.cursor.com/v1/agents/:id/unarchive",
            "params": [
              {
                "name": "id",
                "value": "",
                "type": "path",
                "description": "Unique identifier for the agent."
              }
            ]
          },
          "docs": "Unarchive an agent so it can accept new runs again."
        },
        {
          "info": {
            "name": "List artifacts",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.cursor.com/v1/agents/:id/artifacts",
            "params": [
              {
                "name": "id",
                "value": "",
                "type": "path",
                "description": "Unique identifier for the agent."
              }
            ]
          },
          "docs": "List artifacts produced by an agent. Each artifact's `path` is\nrelative to the workspace's `artifacts/` directory. Pass that\n`path` to GET /v1/agents/{id}/artifacts/download to obtain a\npresigned download URL.\n"
        },
        {
          "info": {
            "name": "Download an artifact",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.cursor.com/v1/agents/:id/artifacts/download",
            "params": [
              {
                "name": "id",
                "value": "",
                "type": "path",
                "description": "Unique identifier for the agent."
              },
              {
                "name": "path",
                "value": "",
                "type": "query",
                "description": "Relative artifact path under `artifacts/`."
              }
            ]
          },
          "docs": "Retrieve a temporary 15-minute presigned S3 URL for an\nartifact. The `path` query parameter must be a relative path\nunder `artifacts/` returned by GET /v1/agents/{id}/artifacts.\n"
        }
      ]
    }
  ],
  "bundled": true
}