### Get All Environments Source: https://developers.qase.io/reference/get-environments Retrieves all environments stored in the selected project. ```APIDOC ## Get All Environments ### Description This method allows to retrieve all environments stored in selected project. ### Method GET ### Endpoint /environments ``` -------------------------------- ### Get All Projects Source: https://developers.qase.io/reference/get-projects Retrieves a paginated list of all projects associated with the authenticated account. ```APIDOC ## GET /project ### Description This method allows to retrieve all projects available for your account. You can limit and offset params to paginate. ### Method GET ### Endpoint /project ### Parameters #### Query Parameters - **limit** (integer) - Optional - A number of entities in result set. Default: 10, Minimum: 1, Maximum: 100 - **offset** (integer) - Optional - How many entities should be skipped. Default: 0, Minimum: 0, Maximum: 100000 ### Response #### Success Response (200) - **status** (boolean) - Indicates if the request was successful. - **result** (object) - Contains the list of projects and pagination details. - **total** (integer) - Total number of projects available. - **filtered** (integer) - Number of projects matching the filter (if any). - **count** (integer) - Number of projects returned in this response. - **entities** (array) - An array of project objects. - **title** (string) - The title of the project. - **code** (string) - The unique code for the project. - **counts** (object) - Counts of related entities within the project. - **cases** (integer) - **suites** (integer) - **milestones** (integer) - **runs** (object) - **total** (integer) - **active** (integer) - **defects** (object) - **total** (integer) - **open** (integer) #### Error Response (400) Bad Request. #### Error Response (401) Unauthorized. #### Error Response (403) Forbidden. #### Error Response (429) Too Many Requests. ``` -------------------------------- ### Get Suites Source: https://developers.qase.io/reference/get-suites Retrieves a list of suites with optional filtering and pagination. ```APIDOC ## GET /suites ### Description Retrieves a list of suites. Supports filtering by project and pagination. ### Method GET ### Endpoint /suites ### Query Parameters - **project** (string) - Optional - The project ID to filter suites by. - **limit** (integer) - Optional - The maximum number of entities to return. Defaults to 10. Minimum 1, Maximum 100. - **offset** (integer) - Optional - The number of entities to skip. Defaults to 0. Minimum 0, Maximum 100000. ### Response #### Success Response (200) - **suites** (array) - A list of suite objects. - **count** (integer) - The total number of suites available. ### Response Example ```json { "suites": [ { "id": "string", "title": "string", "description": "string", "preconditions": "string", "steps": "string", "severity": "string", "priority": "string", "type": "string", "milestone_id": 0, "suite_id": 0, "parent_id": 0, "created_by": 0, "modified_by": 0, "creation_date": "string", "last_modification_date": "string", "order": 0, "status": "string", "is_shared": true } ], "count": 0 } ``` ``` -------------------------------- ### Get All Plans Source: https://developers.qase.io/reference/get-plans Retrieves all plans stored within a specified project. Supports filtering and pagination. ```APIDOC ## GET /plan/{code} ### Description This method allows to retrieve all plans stored in selected project. ### Method GET ### Endpoint /plan/{code} ### Parameters #### Path Parameters - **code** (string) - Required - Code of project, where to search entities. #### Query Parameters - **limit** (integer) - Optional - A number of entities in result set. Default: 10, Minimum: 1, Maximum: 100 - **offset** (integer) - Optional - How many entities should be skipped. Default: 0 ### Responses #### Success Response (200) - **status** (boolean) - Indicates if the request was successful. - **result** (object) - Contains the list of plans. - **total** (integer) - Total number of plans available. - **filtered** (integer) - Number of plans matching the filter. - **count** (integer) - Number of plans returned in this response. - **entities** (array) - An array of Plan objects. - **id** (integer) - Unique identifier for the plan. - **title** (string) - The title of the plan. - **description** (string) - Optional description of the plan. - **cases_count** (integer) - The number of cases associated with the plan. - **created_at** (string) - Timestamp when the plan was created (ISO 8601 format). - **updated_at** (string) - Timestamp when the plan was last updated (ISO 8601 format). #### Error Response (400) Bad Request. #### Error Response (401) Unauthorized. #### Error Response (403) Forbidden. #### Error Response (404) Not Found. #### Error Response (429) Too Many Requests. ``` -------------------------------- ### Get all configuration groups with configurations Source: https://developers.qase.io/reference/get-configurations This method allows to retrieve all configurations groups with configurations. ```APIDOC ## GET /configuration/{code} ### Description Retrieves all configuration groups with their associated configurations for a given project code. ### Method GET ### Endpoint /configuration/{code} ### Parameters #### Path Parameters - **code** (string) - Required - Code of project, where to search entities. ### Response #### Success Response (200) - **status** (boolean) - Indicates if the request was successful. - **result** (object) - Contains the list of configurations. - **total** (integer) - The total number of configuration groups. - **filtered** (integer) - The number of configuration groups that match the filter (if any). - **count** (integer) - The number of configuration groups returned in this response. - **entities** (array) - A list of configuration groups. - **id** (integer) - The unique identifier of the configuration group. - **title** (string) - The name of the configuration group. - **configurations** (array) - A list of configurations within the group. - **id** (integer) - The unique identifier of the configuration. - **title** (string) - The name of the configuration. #### Response Example ```json { "status": true, "result": { "total": 10, "filtered": 10, "count": 5, "entities": [ { "id": 1, "title": "Browser Settings", "configurations": [ { "id": 101, "title": "Chrome" }, { "id": 102, "title": "Firefox" } ] }, { "id": 2, "title": "Environment Variables", "configurations": [ { "id": 201, "title": "Staging" }, { "id": 202, "title": "Production" } ] } ] } } ``` ``` -------------------------------- ### Get a specific environment Source: https://developers.qase.io/reference/get-environment Retrieves a specific environment using its project code and ID. ```APIDOC ## GET /environment/{code}/{id} ### Description This method allows to retrieve a specific environment. ### Method GET ### Endpoint /environment/{code}/{id} ### Parameters #### Path Parameters - **code** (string) - Required - Code of project, where to search entities. - **id** (integer) - Required - Identifier. ### Response #### Success Response (200) - **status** (boolean) - Indicates if the request was successful. - **result** (object) - Contains the environment details. - **id** (integer) - The unique identifier of the environment. - **title** (string) - The title of the environment. - **description** (string) - Optional description of the environment. - **slug** (string) - The slug representation of the environment. - **host** (string) - Optional host of the environment. #### Response Example ```json { "status": true, "result": { "id": 1, "title": "Production", "description": "Production environment", "slug": "prod", "host": "https://example.com" } } ``` ``` -------------------------------- ### Get All Test Cases Source: https://developers.qase.io/reference/get-cases Retrieves a list of test cases. Supports filtering and pagination. ```APIDOC ## GET /cases ### Description Retrieves a list of test cases. Supports filtering and pagination. ### Method GET ### Endpoint /cases ### Query Parameters - **limit** (integer) - Optional - The maximum number of test cases to return. - **offset** (integer) - Optional - The number of test cases to skip. - **search** (string) - Optional - Search term to filter test cases by title or description. - **suite_id** (integer) - Optional - Filter test cases by suite ID. - **status** (integer) - Optional - Filter test cases by status. - **severity** (integer) - Optional - Filter test cases by severity. - **priority** (integer) - Optional - Filter test cases by priority. - **type** (integer) - Optional - Filter test cases by type. - **layer** (integer) - Optional - Filter test cases by layer. - **milestone_id** (integer) - Optional - Filter test cases by milestone ID. - **sort_column** (string) - Optional - Column to sort by (e.g., 'id', 'title', 'created_at'). - **sort_direction** (string) - Optional - Sort direction ('asc' or 'desc'). ### Response #### Success Response (200) - **entities** (array) - An array of test case objects. - **id** (integer) - The unique identifier of the test case. - **position** (integer) - The position of the test case within its suite. - **title** (string) - The title of the test case. - **description** (string) - The description of the test case. - **preconditions** (string) - The preconditions for the test case. - **postconditions** (string) - The postconditions for the test case. - **severity** (integer) - The severity level of the test case. - **priority** (integer) - The priority level of the test case. - **type** (integer) - The type of the test case. - **layer** (integer) - The layer of the test case. - **is_flaky** (integer) - Indicates if the test case is flaky. - **behavior** (integer) - The behavior of the test case. - **automation** (integer) - The automation status of the test case. - **status** (integer) - The status of the test case. - **milestone_id** (integer) - The ID of the associated milestone. - **suite_id** (integer) - The ID of the associated suite. - **custom_fields** (array) - An array of custom field objects. - **id** (integer) - The ID of the custom field. - **value** (string) - The value of the custom field. - **attachments** (array) - An array of attachment objects. - **size** (integer) - The size of the attachment. - **mime** (string) - The MIME type of the attachment. - **filename** (string) - The name of the attachment file. - **url** (string) - The URL of the attachment. - **steps_type** (string) - The type of steps ('classic' or 'gherkin'). - **steps** (array) - An array of test step objects. - **params** (any) - Deprecated, use `parameters` instead. - **parameters** (array) - An array of parameter objects. - **total** (integer) - The total number of test cases available. - **filtered** (integer) - The number of test cases matching the filters. #### Response Example { "entities": [ { "id": 1, "position": 1, "title": "Example Test Case", "description": "This is an example test case.", "preconditions": "", "postconditions": "", "severity": 1, "priority": 1, "type": 1, "layer": 1, "is_flaky": 0, "behavior": 1, "automation": 1, "status": 1, "milestone_id": null, "suite_id": 1, "custom_fields": [ { "id": 1, "value": "Custom Value" } ], "attachments": [], "steps_type": "classic", "steps": [ { "id": 1, "position": 1, "action": "Perform action", "expected_result": "Expected result", "data": null, "step_comments": null, "attachments": [] } ], "parameters": [] } ], "total": 100, "filtered": 50 } #### Error Responses - **400** - Bad Request. - **401** - Unauthorized. - **402** - Payment Required. - **403** - Forbidden. - **404** - Not Found. - **429** - Too Many Requests. ``` -------------------------------- ### OpenAPI Definition for Get User Source: https://developers.qase.io/reference/get-user This OpenAPI 3.0.0 definition specifies the GET /user/{id} endpoint, including request parameters, response schemas, and security requirements. ```json { "openapi": "3.0.0", "info": { "title": "Qase.io TestOps API v1", "description": "Qase TestOps API v1 Specification.", "termsOfService": "https://qase.io/terms", "version": "1.0.0", "contact": { "name": "Qase.io", "url": "https://qase.io", "email": "support@qase.io" }, "license": { "name": "Apache 2.0", "url": "https://github.com/qase-tms/specs/blob/master/LICENSE" } }, "servers": [ { "url": "https://api.qase.io/v1", "description": "The production API server." } ], "paths": { "/user/{id}": { "get": { "operationId": "get-user", "tags": [ "users" ], "summary": "Get a specific user.", "description": "This method allows to retrieve a specific user.\n", "parameters": [ { "$ref": "#/components/parameters/Id" } ], "responses": { "200": { "description": "A user.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserResponse" } } } } } } } }, "components": { "schemas": { "User": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "name": { "type": "string" }, "email": { "type": "string" }, "title": { "type": "string" }, "status": { "type": "integer" } } }, "Response": { "type": "object", "properties": { "status": { "type": "boolean" } } }, "UserResponse": { "allOf": [ { "$ref": "#/components/schemas/Response" }, { "type": "object", "properties": { "result": { "$ref": "#/components/schemas/User" } } } ] } }, "securitySchemes": { "TokenAuth": { "type": "apiKey", "in": "header", "name": "Token" } }, "parameters": { "Id": { "name": "id", "in": "path", "description": "Identifier.", "required": true, "schema": { "type": "integer" } } } }, "security": [ { "TokenAuth": [] } ] } ``` -------------------------------- ### OpenAPI Definition for Get Attachment Source: https://developers.qase.io/reference/get-attachment This OpenAPI definition outlines the GET request for retrieving an attachment by its hash. It specifies the endpoint, parameters, and expected responses, including success and error codes. ```json { "openapi": "3.0.0", "info": { "title": "Qase.io TestOps API v1", "description": "Qase TestOps API v1 Specification.", "termsOfService": "https://qase.io/terms", "version": "1.0.0", "contact": { "name": "Qase.io", "url": "https://qase.io", "email": "support@qase.io" }, "license": { "name": "Apache 2.0", "url": "https://github.com/qase-tms/specs/blob/master/LICENSE" } }, "tags": [ { "name": "attachments" } ], "servers": [ { "url": "https://api.qase.io/v1", "description": "The production API server." } ], "paths": { "/attachment/{hash}": { "get": { "operationId": "get-attachment", "tags": [ "attachments" ], "summary": "Get attachment by Hash", "description": "This method allows to retrieve attachment by Hash.\n", "parameters": [ { "$ref": "#/components/parameters/Hash" } ], "responses": { "200": { "description": "Single attachment.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AttachmentResponse" } } } }, "400": { "description": "Bad Request." }, "401": { "description": "Unauthorized." }, "403": { "description": "Forbidden." }, "404": { "description": "Not Found." }, "429": { "description": "Too Many Requests." } } } } }, "components": { "schemas": { "AttachmentGet": { "type": "object", "properties": { "hash": { "type": "string" }, "file": { "type": "string" }, "mime": { "type": "string" }, "size": { "type": "integer" }, "extension": { "type": "string" }, "full_path": { "type": "string", "format": "uri" }, "url": { "type": "string" } } }, "AttachmentResponse": { "allOf": [ { "$ref": "#/components/schemas/Response" }, { "type": "object", "properties": { "result": { "$ref": "#/components/schemas/AttachmentGet" } } } ] }, "Response": { "type": "object", "properties": { "status": { "type": "boolean" } } } }, "securitySchemes": { "TokenAuth": { "type": "apiKey", "in": "header", "name": "Token" } }, "parameters": { "Hash": { "name": "hash", "in": "path", "description": "Hash.", "required": true, "schema": { "type": "string" } } } }, "security": [ { "TokenAuth": [] } ] } ``` -------------------------------- ### Create a new plan Source: https://developers.qase.io/reference/create-plan This method allows to create a plan in selected project. ```APIDOC ## POST /plan/{code} ### Description This method allows to create a plan in selected project. ### Method POST ### Endpoint /plan/{code} ### Parameters #### Path Parameters - **code** (string) - Required - Code of project, where to search entities. #### Request Body - **title** (string) - Required - Maximum length of 255. - **description** (string) - Optional - **cases** (array of integers) - Required ### Request Example { "title": "New Plan Title", "description": "Optional description for the plan", "cases": [1, 2, 3] } ### Response #### Success Response (200) - **status** (boolean) - **result** (object) - **id** (integer) #### Response Example { "status": true, "result": { "id": 123 } } ``` -------------------------------- ### OpenAPI Definition for Get System Fields Source: https://developers.qase.io/reference/get-system-fields This OpenAPI 3.0.0 definition outlines the /system_field GET endpoint, which allows retrieval of all system fields. It specifies request and response structures, including error codes. ```json { "openapi": "3.0.0", "info": { "title": "Qase.io TestOps API v1", "description": "Qase TestOps API v1 Specification.", "termsOfService": "https://qase.io/terms", "version": "1.0.0", "contact": { "name": "Qase.io", "url": "https://qase.io", "email": "support@qase.io" }, "license": { "name": "Apache 2.0", "url": "https://github.com/qase-tms/specs/blob/master/LICENSE" } }, "servers": [ { "url": "https://api.qase.io/v1", "description": "The production API server." } ], "paths": { "/system_field": { "get": { "operationId": "get-system-fields", "tags": [ "system-fields" ], "summary": "Get all System Fields", "description": "This method allows to retrieve all system fields.\n", "responses": { "200": { "description": "System Field list.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/Response" }, { "type": "object", "properties": { "result": { "type": "array", "items": { "type": "object", "properties": { "title": { "type": "string" }, "slug": { "type": "string" }, "default_value": { "type": "string", "nullable": true }, "is_required": { "type": "boolean" }, "entity": { "type": "integer", "format": "int64" }, "type": { "type": "integer", "format": "int64" }, "options": { "type": "array", "nullable": true, "items": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "title": { "type": "string" }, "slug": { "type": "string" }, "color": { "type": "string", "nullable": true }, "icon": { "type": "string", "nullable": true }, "is_default": { "type": "boolean" }, "read_only": { "type": "boolean" } } } } } } } } } ] } } } }, "400": { "description": "Bad Request." }, "401": { "description": "Unauthorized." }, "403": { "description": "Forbidden." }, "429": { "description": "Too Many Requests." } } } } }, "components": { "schemas": { "Response": { "type": "object", "properties": { "status": { "type": "boolean" } } } }, "securitySchemes": { "TokenAuth": { "type": "apiKey", "in": "header", "name": "Token" } } }, "security": [ { "TokenAuth": [] } ] } ``` -------------------------------- ### Get all environments Source: https://developers.qase.io/reference/get-environments Retrieves all environments stored in a selected project. Supports filtering by title or slug, and pagination. ```APIDOC ## GET /environment/{code} ### Description This method allows to retrieve all environments stored in selected project. ### Method GET ### Endpoint /environment/{code} ### Parameters #### Path Parameters - **code** (string) - Required - Code of project, where to search entities. #### Query Parameters - **search** (string) - Optional - A search string. Will return all environments with titles containing provided string. - **slug** (string) - Optional - A search string. Will return all environments with slugs equal to provided string. - **limit** (integer) - Optional - A number of entities in result set. Default: 10, Minimum: 1, Maximum: 100. - **offset** (integer) - Optional - How many entities should be skipped. Default: 0, Minimum: 0, Maximum: 100000. ### Response #### Success Response (200) - **status** (boolean) - Indicates if the request was successful. - **result** (object) - Contains the list of environments and pagination details. - **total** (integer) - Total number of environments. - **filtered** (integer) - Number of environments after filtering. - **count** (integer) - Number of environments in the current response. - **entities** (array) - An array of environment objects. - **id** (integer) - The unique identifier of the environment. - **title** (string) - The title of the environment. - **description** (string) - The description of the environment (nullable). - **slug** (string) - The slug of the environment. - **host** (string) - The host of the environment (nullable). #### Response Example ```json { "status": true, "result": { "total": 10, "filtered": 10, "count": 10, "entities": [ { "id": 1, "title": "Production", "description": null, "slug": "prod", "host": "https://example.com" } ] } } ``` ``` -------------------------------- ### Create Project Source: https://developers.qase.io/reference/create-project This method is used to create a new project through API. ```APIDOC ## POST /project ### Description This method is used to create a new project through API. ### Method POST ### Endpoint /project ### Request Body - **title** (string) - Required - Project title. - **code** (string) - Required - Project code. Unique for team. Digits and special characters are not allowed. - **description** (string) - Optional - Project description. - **access** (string) - Optional - Enum: [all, group, none]. - **group** (string) - Optional - Team group hash. Required if access param is set to group. - **settings** (object) - Optional - Additional project settings. ### Request Example ```json { "title": "My New Project", "code": "MNP", "description": "This is a sample project.", "access": "all" } ``` ### Response #### Success Response (200) - **status** (boolean) - Indicates if the operation was successful. - **result** (object) - Contains the created project's code. - **code** (string) - The unique code of the created project. #### Response Example ```json { "status": true, "result": { "code": "MNP" } } ``` ``` -------------------------------- ### Get a specific user Source: https://developers.qase.io/reference/get-user Retrieves the details of a specific user by their ID. ```APIDOC ## GET /user/{id} ### Description This method allows to retrieve a specific user. ### Method GET ### Endpoint /user/{id} ### Parameters #### Path Parameters - **id** (integer) - Required - Identifier. ### Response #### Success Response (200) - **status** (boolean) - Indicates if the request was successful. - **result** (object) - Contains the user details. - **id** (integer) - The user's unique identifier. - **name** (string) - The user's name. - **email** (string) - The user's email address. - **title** (string) - The user's title. - **status** (integer) - The user's status. ``` -------------------------------- ### Create Configuration Source: https://developers.qase.io/reference/create-configuration Creates a new configuration in a specified project group. Requires project code, configuration title, and group ID. ```APIDOC ## POST /configuration/{code} ### Description This method allows to create a configuration in selected project. ### Method POST ### Endpoint /configuration/{code} ### Parameters #### Path Parameters - **code** (string) - Required - Code of project, where to search entities. #### Request Body - **title** (string) - Required - Maximum length 255. - **group_id** (integer) - Required - ### Request Example { "title": "My New Configuration", "group_id": 123 } ### Response #### Success Response (200) - **status** (boolean) - Description - **result** (object) - Description - **id** (integer) - Description #### Response Example { "status": true, "result": { "id": 1 } } ``` -------------------------------- ### Get a specific run Source: https://developers.qase.io/reference/get-run This method allows to retrieve a specific run. ```APIDOC ## Get a specific run ### Description This method allows to retrieve a specific run. ### Method GET ### Endpoint /run/{run_id} ### Parameters #### Path Parameters - **run_id** (string) - Required - The ID of the run to retrieve. ``` -------------------------------- ### Get all System Fields Source: https://developers.qase.io/reference/get-system-fields Retrieves a list of all system fields. This can be used to understand the available fields for entities within Qase.io. ```APIDOC ## GET /system_field ### Description This method allows to retrieve all system fields. ### Method GET ### Endpoint /system_field ### Responses #### Success Response (200) - **result** (array) - A list of system fields. Each field includes properties like title, slug, default_value, is_required, entity, type, and options. #### Response Example ```json { "status": true, "result": [ { "title": "Priority", "slug": "priority", "default_value": null, "is_required": false, "entity": 1, "type": 1, "options": [ { "id": 1, "title": "Low", "slug": "low", "color": "#8795a2", "icon": null, "is_default": true, "read_only": false } ] } ] } ``` #### Error Responses - **400**: Bad Request. - **401**: Unauthorized. - **403**: Forbidden. - **429**: Too Many Requests. ``` -------------------------------- ### Create Run Source: https://developers.qase.io/reference/create-run Creates a new test run within a specified project. You can include all test cases or a specific subset, and configure various run properties like title, description, environment, and more. ```APIDOC ## POST /run/{code} ### Description This method allows to create a run in selected project. ### Method POST ### Endpoint /run/{code} ### Parameters #### Path Parameters - **code** (string) - Required - The project code. #### Request Body - **title** (string) - Required - Maximum 255 characters. - **description** (string) - Optional - Maximum 10000 characters. - **include_all_cases** (boolean) - Optional - If true, all test cases in the project will be included. - **cases** (array of integer) - Optional - A list of test case IDs to include in the run. - **is_autotest** (boolean) - Optional - Indicates if the run is for autotests. - **environment_id** (integer) - Optional - The ID of the environment to use for the run. Minimum value: 1. - **environment_slug** (string) - Optional - The slug of the environment to use for the run. Maximum 255 characters. - **milestone_id** (integer) - Optional - The ID of the milestone to associate with the run. Minimum value: 1. - **plan_id** (integer) - Optional - The ID of the plan to associate with the run. Minimum value: 1. - **author_id** (integer) - Optional - The ID of the author for the run. Minimum value: 1. - **tags** (array of string) - Optional - Tags to associate with the run. - **configurations** (array of integer) - Optional - IDs of configurations to use for the run. - **custom_field** (object) - Optional - A map of custom fields values (id => value). - **start_time** (string) - Optional - The start time of the run. - **end_time** (string) - Optional - The end time of the run. - **is_cloud** (boolean) - Optional - Indicates if the run is created for the Test Cases produced by AIDEN. - **cloud_run_config** (object) - Optional - Configuration for the cloud run, if applicable. - **browser** (string) - Optional - The browser to be used for the cloud run. Enum: ["chromium", "firefox", "webkit"] ### Request Example ```json { "title": "My New Run", "description": "This is a sample run created via API.", "include_all_cases": false, "cases": [1, 2, 3], "environment_id": 10, "tags": ["api", "smoke"], "custom_field": { "1": "value1", "2": "value2" }, "cloud_run_config": { "browser": "chromium" } } ``` ### Response #### Success Response (200) - **id** (integer) - The ID of the created run. #### Response Example ```json { "status": true, "result": { "id": 123 } } ``` ``` -------------------------------- ### Get a specific plan Source: https://developers.qase.io/reference/get-plan This method allows to retrieve a specific plan. ```APIDOC ## Get a specific plan ### Description This method allows to retrieve a specific plan. ### Method GET ### Endpoint /plans/{plan_id} ### Parameters #### Path Parameters - **plan_id** (string) - Required - The unique identifier of the plan to retrieve. ### Response #### Success Response (200) - **id** (string) - The unique identifier of the plan. - **name** (string) - The name of the plan. - **description** (string) - A description of the plan. - **price** (number) - The price of the plan. - **features** (array) - A list of features included in the plan. #### Response Example ```json { "id": "plan_abc123", "name": "Basic Plan", "description": "A basic plan for small teams.", "price": 10.00, "features": ["feature1", "feature2"] } ``` ``` -------------------------------- ### Get Project by Code Source: https://developers.qase.io/reference/get-project Fetches a specific project's details using its unique code. Requires authentication. ```APIDOC ## GET /project/{code} ### Description This method allows to retrieve a specific project. ### Method GET ### Endpoint /project/{code} ### Parameters #### Path Parameters - **code** (string) - Required - Code of project, where to search entities. ### Responses #### Success Response (200) - **status** (boolean) - Indicates if the request was successful. - **result** (object) - Contains the project details. - **title** (string) - The title of the project. - **code** (string) - The unique code of the project. - **counts** (object) - Counts of associated entities. - **cases** (integer) - Number of test cases. - **suites** (integer) - Number of test suites. - **milestones** (integer) - Number of milestones. - **runs** (object) - Information about test runs. - **total** (integer) - Total number of runs. - **active** (integer) - Number of active runs. - **defects** (object) - Information about defects. - **total** (integer) - Total number of defects. - **open** (integer) - Number of open defects. #### Error Response (400) Bad Request. #### Error Response (401) Unauthorized. #### Error Response (403) Forbidden. #### Error Response (404) Not Found. #### Error Response (429) Too Many Requests. ``` -------------------------------- ### OpenAPI Definition Example Source: https://developers.qase.io/reference/get-plans This snippet shows a basic OpenAPI definition including schema properties and security schemes. ```yaml openapi: 3.0.0 info: title: Sample API version: 1.0.0 paths: /items: get: summary: Get a list of items responses: '200': description: A list of items content: application/json: schema: type: array items: type: object properties: id: type: integer name: type: string servers: - url: http://api.example.com/v1 components: schemas: Item: type: object properties: id: type: integer format: int64 name: type: string price: type: number format: float minimum: 0 maximum: 100000 security: - TokenAuth: [] ``` -------------------------------- ### Get a specific defect Source: https://developers.qase.io/reference/get-defect This method allows to retrieve a specific defect. ```APIDOC ## Get a specific defect ### Description This method allows to retrieve a specific defect. ### Method GET ### Endpoint /api/v1/defects/{defect_id} ### Parameters #### Path Parameters - **defect_id** (string) - Required - The ID of the defect to retrieve. ``` -------------------------------- ### Get all runs Source: https://developers.qase.io/reference/get-runs This method allows to retrieve all runs stored in selected project. ```APIDOC ## Get all runs ### Description This method allows to retrieve all runs stored in selected project. ### Method GET ### Endpoint /runs ``` -------------------------------- ### Get All Users Source: https://developers.qase.io/reference/get-users Retrieves a list of all users with optional limit and offset parameters. ```APIDOC ## GET /user ### Description This method allows to retrieve all users. ### Method GET ### Endpoint /user ### Parameters #### Query Parameters - **limit** (integer) - Optional - A number of entities in result set. Default: 10, Minimum: 1, Maximum: 100 - **offset** (integer) - Optional - How many entities should be skipped. Default: 0, Minimum: 0, Maximum: 100000 ### Response #### Success Response (200) - **status** (boolean) - Indicates if the request was successful. - **result** (object) - Contains the list of users and pagination details. - **total** (integer) - The total number of users available. - **filtered** (integer) - The number of users matching the filter (if any). - **count** (integer) - The number of users returned in this response. - **entities** (array) - An array of user objects. - **id** (integer) - The unique identifier for the user. - **name** (string) - The name of the user. - **email** (string) - The email address of the user. - **title** (string) - The title or role of the user. - **status** (integer) - The status code of the user. ``` -------------------------------- ### Get All Shared Steps Source: https://developers.qase.io/reference/get-shared-steps Retrieves all shared steps stored in a selected project. Supports searching by name and pagination. ```APIDOC ## GET /shared_step/{code} ### Description This method allows to retrieve all shared steps stored in selected project. ### Method GET ### Endpoint /shared_step/{code} ### Parameters #### Path Parameters - **code** (string) - Required - The project code. #### Query Parameters - **search** (string) - Optional - Provide a string that will be used to search by name. - **limit** (integer) - Optional - Limits the number of results returned. - **offset** (integer) - Optional - Offsets the results by the specified amount. ### Response #### Success Response (200) - **status** (boolean) - Indicates if the request was successful. - **result** (object) - Contains the list of shared steps and pagination info. - **content** (array) - List of shared steps. - **hash** (string) - **title** (string) - **action** (string) - **expected_result** (string) - **steps** (array) - Nested steps. - **data** (string) - **cases** (array of integers) - **cases_count** (integer) - **created_at** (string, date-time) - **updated_at** (string, date-time) - **total** (integer) - Total number of shared steps available. - **filtered** (integer) - Total number of shared steps after filtering. - **count** (integer) - Number of shared steps returned in this request. - **limit** (integer) - The limit applied to the request. - **offset** (integer) - The offset applied to the request. #### Response Example ```json { "status": true, "result": { "content": [ { "hash": "a1b2c3d4e5", "title": "Login to Application", "action": "Enter username and password", "expected_result": "User is logged in successfully", "steps": [], "data": "{}", "cases": [1, 2, 3], "cases_count": 3, "created_at": "2023-01-01T10:00:00+00:00", "updated_at": "2023-01-01T10:00:00+00:00" } ], "total": 10, "filtered": 10, "count": 1, "limit": 10, "offset": 0 } } ``` ```