{"id":10181,"library":"qase-api-v2-client","title":"Qase TestOps API V2 Client","description":"The `qase-api-v2-client` library provides a Python client for interacting with the Qase TestOps API V2. It allows users to programmatically manage projects, test cases, runs, and other entities within Qase. The current version is 2.0.6, and it is part of a larger `qase-python` monorepo, with updates typically occurring when the Qase API specification changes or bug fixes are introduced across the ecosystem.","status":"active","version":"2.0.6","language":"python","source_language":"en","source_url":"https://github.com/qase-tms/qase-python","tags":["Qase","TestOps","API client","testing","test management"],"install":[{"cmd":"pip install qase-api-v2-client","lang":"bash","label":"Install stable version"}],"dependencies":[{"reason":"Provides shared models and utilities used by the Qase Python ecosystem.","package":"qase-python-commons","optional":false},{"reason":"HTTP client for making API requests.","package":"urllib3","optional":false},{"reason":"Used for data validation and settings management.","package":"pydantic","optional":false}],"imports":[{"wrong":"from qase import ApiClient","symbol":"ApiClient","correct":"import qase"}],"quickstart":{"code":"import os\nfrom qase_api_v2_client import ApiClient, Configuration\nfrom qase_api_v2_client.api.projects_api import ProjectsApi\nfrom qase_api_v2_client.exceptions import ApiException\n\n# Configure API key authentication\nconfiguration = Configuration()\nconfiguration.api_key['TokenAuth'] = os.environ.get('QASE_API_TOKEN', 'YOUR_QASE_API_TOKEN_HERE')\n\n# IMPORTANT: The client is named 'v2-client' but its default host is 'v1'.\n# Explicitly set the host to the Qase API V2 endpoint.\nconfiguration.host = os.environ.get('QASE_API_BASE_URL', 'https://api.qase.io/v2')\n\n# Create an instance of the API client\napi_client = ApiClient(configuration)\n\n# Create an instance of a specific API service, e.g., ProjectsApi\nprojects_api = ProjectsApi(api_client)\n\ntry:\n    # Example: List projects\n    response = projects_api.get_projects()\n    print(f\"Successfully connected to Qase API V2. Found {response.total} projects.\")\n    if response.entities:\n        print(f\"First project: {response.entities[0].title} (Code: {response.entities[0].code})\")\nexcept ApiException as e:\n    print(f\"Error calling Qase API: {e.status} - {e.body}\")\n    if e.status == 401:\n        print(\"Please check your QASE_API_TOKEN and ensure it's valid for the v2 API.\")\n    elif e.status == 404 and 'v1' in configuration.host:\n        print(\"Consider changing QASE_API_BASE_URL to 'https://api.qase.io/v2'.\")\nexcept Exception as e:\n    print(f\"An unexpected error occurred: {e}\")","lang":"python","description":"This quickstart demonstrates how to initialize the Qase API V2 client, authenticate using an API token (preferably from environment variables), and make a basic call to list projects. It explicitly highlights and corrects the common pitfall of the default API host."},"warnings":[{"fix":"Set `configuration.host = 'https://api.qase.io/v2'` or ensure `os.environ['QASE_API_BASE_URL'] = 'https://api.qase.io/v2'` before initializing the `Configuration`.","message":"The `qase-api-v2-client` library, despite its name, defaults its `Configuration.host` to `https://api.qase.io/v1`. To use the Qase API V2, you *must* explicitly set `configuration.host = 'https://api.qase.io/v2'` or configure `QASE_API_BASE_URL` environment variable.","severity":"gotcha","affected_versions":"All versions up to 2.0.6"},{"fix":"Review the Qase API V2 documentation and the `qase-api-v2-client` source code/examples for the new API structure and model definitions. Your existing V1 API calls will not work directly.","message":"Migrating from a Qase API v1 client to `qase-api-v2-client` will involve significant breaking changes. API endpoints, request/response models, and method signatures are different, reflecting the V2 API specification.","severity":"breaking","affected_versions":"All versions (when upgrading from V1 client)"},{"fix":"Always check the release notes on GitHub for `qase-api-v2-client` specifically and the overall `qase-python` project when upgrading to new major or minor versions to anticipate changes.","message":"This library is part of the `qase-python` monorepo. While it is a standalone install, updates to shared components (like `qase-python-commons`) or new API versions may prompt updates to this client, potentially changing method signatures or data models.","severity":"gotcha","affected_versions":"All versions"}],"env_vars":null,"search_vec":"'2.0.6':44 'across':71 'allow':26 'api':3,9,23,63,76 'bug':67 'case':33 'chang':65 'client':5,11,16,77 'current':41 'ecosystem':73 'entiti':37 'fix':68 'interact':18 'introduc':70 'larger':51 'librari':12 'manag':30,80 'monorepo':55 'occur':59 'part':48 'programmat':29 'project':31 'provid':13 'python':15,54 'qase':1,8,21,39,53,62,74 'qase-api-v2-client':7 'qase-python':52 'run':34 'specif':64 'test':32,78,79 'testop':2,22,75 'typic':58 'updat':57 'user':27 'v2':4,10,24 'version':42 'within':38","created_at":"2026-04-17T01:22:47.787006+00:00","updated_at":"2026-04-17T01:22:47.787006+00:00","problems":null,"ecosystem":"pypi","meta_description":null,"install_score":null,"quickstart_score":null,"quickstart_tag":null,"pypi_latest":"2.0.7","cli_name":"","cli_version":null,"type":"library","homepage":"https://qase.io","github":"https://github.com/qase-tms/qase-python","docs":null,"changelog":null,"pypi":"https://pypi.org/project/qase-api-v2-client/","npm":null,"openapi_spec":null,"status_page":null,"smithery":null,"categories":["testing","http-networking"],"base_url":null,"auth_type":null,"provenance":{"verified_status":"passing","verified_at":"2026-07-03","last_verified":"2026-07-03","next_check":"2026-08-02","install_tag":null}}