Skip to content

Projects API

Create, read, update, and delete projects.

Projects are the top-level container for a single application or service.

List projects

GET/api/projectsBearer Token

Query:

ParameterTypeDescription
pagenumber1-indexed page (default: 1)
pageSizenumberpage size (default: 20, max: 100)

Response: 200 OK (PagedResult<ProjectDto>)

Get project

GET/api/projects/{id}Bearer Token

Create project

POST/api/projectsBearer Token

Body:

{
  "name": "Customer Portal",
  "slug": "customer-portal",
  "description": "Automated verification for the portal",
  "runtimeSurface": "web"
}

Use "runtimeSurface": "api" for API projects, or "runtimeSurface": "mobile" with platform for Appium-backed app projects.

Update project

PUT/api/projects/{id}Bearer Token

Delete project

DELETE/api/projects/{id}Bearer Token

Runtime settings

GET/api/projects/{projectId}/runtime-settingsBearer Token

Returns the project's runtime surface and mobile defaults.

PUT/api/projects/{projectId}/runtime-settingsBearer Token

Use this endpoint to switch a project between web, mobile, and API execution.

For API projects:

{
  "runtimeSurface": "api",
  "mobileRuntime": null
}

API projects use the selected environment baseUrl as the API base URL.

{
  "runtimeSurface": "mobile",
  "mobileRuntime": {
    "appiumServerUrl": "https://appium.example.com",
    "platform": "android",
    "deviceName": "Pixel 8",
    "automationName": "UiAutomator2",
    "androidAppPackage": "com.example.app",
    "androidAppActivity": ".MainActivity"
  }
}

For iOS apps, use platform: "ios" and iosBundleId instead of Android package/activity fields.

Test mobile connection

POST/api/projects/{projectId}/runtime-settings/test-mobile-connectionBearer Token

Body:

{
  "appiumServerUrl": "https://appium.example.com"
}

Response: 200 OK

{
  "ok": true,
  "message": "Connected to Appium 2.0.0.",
  "version": "2.0.0"
}