{
  "opencollection": "1.0.0",
  "info": {
    "name": "Duvo Public Agent Folders Team API",
    "version": "1.0.0"
  },
  "items": [
    {
      "info": {
        "name": "Team",
        "type": "folder"
      },
      "items": [
        {
          "info": {
            "name": "Get Team",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.duvo.ai/v2/teams/:teamId",
            "params": [
              {
                "name": "teamId",
                "value": "",
                "type": "path",
                "description": "Team ID"
              }
            ],
            "auth": {
              "type": "bearer",
              "token": "{{bearerToken}}"
            }
          },
          "docs": "Get a team by ID. The caller must be scoped to the requested team."
        },
        {
          "info": {
            "name": "Get Profile",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.duvo.ai/v2/profile",
            "auth": {
              "type": "bearer",
              "token": "{{bearerToken}}"
            }
          },
          "docs": "Get the profile of the authenticated user (the owner of the API key)."
        },
        {
          "info": {
            "name": "List My Teams",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.duvo.ai/v2/teams",
            "auth": {
              "type": "bearer",
              "token": "{{bearerToken}}"
            }
          },
          "docs": "List teams the authenticated caller can act on. Team-scoped API keys see only the key's team; user-scoped API keys and OAuth callers see every team they're a member of."
        },
        {
          "info": {
            "name": "List Team Members",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.duvo.ai/v2/teams/:teamId/members",
            "params": [
              {
                "name": "limit",
                "value": "",
                "type": "query",
                "description": "Number of members per page (1-100, default 50)"
              },
              {
                "name": "offset",
                "value": "",
                "type": "query",
                "description": "Number of members to skip"
              },
              {
                "name": "search",
                "value": "",
                "type": "query",
                "description": "Optional case-insensitive name or email search"
              },
              {
                "name": "teamId",
                "value": "",
                "type": "path",
                "description": "Team ID"
              }
            ],
            "auth": {
              "type": "bearer",
              "token": "{{bearerToken}}"
            }
          },
          "docs": "List members of a team. The authenticated session or API key must be scoped to the requested team."
        }
      ]
    }
  ],
  "bundled": true
}