Skip to content

Projects

Create and manage projects via the Smoketest API.

View as Markdown

Projects are the top-level container for tests. Each project has a name and an optional base URL.

The project object

JSON
{
  "id": "018e5678-abcd-7000-8000-abc123456789",
  "workspaceId": "018e1234-abcd-7000-8000-abc123456789",
  "name": "Marketing Site",
  "url": "https://acme.com",
  "createdAt": "2026-02-01T10:00:00.000Z",
  "updatedAt": "2026-05-10T08:15:00.000Z"
}
FieldTypeDescription
idUUIDUnique identifier
workspaceIdUUIDWorkspace this project belongs to
namestringDisplay name
urlstring | nullBase URL of the product being tested
createdAtISO 8601Creation timestamp
updatedAtISO 8601Last updated timestamp

List projects

GEThttps://api.smoketest.sh/v1/projectsscope: read

Returns all projects in the workspace, ordered by creation date.

Shell
curl https://api.smoketest.sh/v1/projects \
  -H "Authorization: Bearer $SMOKETEST_API_KEY"

Sample response

JSON
[
  {
    "id": "018e5678-abcd-7000-8000-abc123456789",
    "workspaceId": "018e1234-abcd-7000-8000-abc123456789",
    "name": "Marketing Site",
    "url": "https://acme.com",
    "createdAt": "2026-02-01T10:00:00.000Z",
    "updatedAt": "2026-05-10T08:15:00.000Z"
  },
  {
    "id": "018e9999-abcd-7000-8000-abc123456789",
    "workspaceId": "018e1234-abcd-7000-8000-abc123456789",
    "name": "Admin Dashboard",
    "url": "https://admin.acme.com",
    "createdAt": "2026-03-15T09:00:00.000Z",
    "updatedAt": "2026-03-15T09:00:00.000Z"
  }
]

Create a project

POSThttps://api.smoketest.sh/v1/projectsscope: write

Body

name
stringrequired
Display name for the project
url
stringoptional
Base URL of the product being tested
Shell
curl -X POST https://api.smoketest.sh/v1/projects \
  -H "Authorization: Bearer $SMOKETEST_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name": "Marketing Site", "url": "https://acme.com"}'

Sample response201 Created

JSON
{
  "id": "018e5678-abcd-7000-8000-abc123456789",
  "workspaceId": "018e1234-abcd-7000-8000-abc123456789",
  "name": "Marketing Site",
  "url": "https://acme.com",
  "createdAt": "2026-06-03T10:00:00.000Z",
  "updatedAt": "2026-06-03T10:00:00.000Z"
}

Get a project

GEThttps://api.smoketest.sh/v1/projects/:idscope: read

Path parameters

id
UUIDrequired
Project ID
Shell
curl https://api.smoketest.sh/v1/projects/018e5678-abcd-7000-8000-abc123456789 \
  -H "Authorization: Bearer $SMOKETEST_API_KEY"

Update a project

PATCHhttps://api.smoketest.sh/v1/projects/:idscope: write

All body fields are optional — only send the fields you want to change.

Path parameters

id
UUIDrequired
Project ID

Body

name
stringoptional
New display name
url
string | nulloptional
New base URL, or null to clear it
Shell
curl -X PATCH https://api.smoketest.sh/v1/projects/018e5678-abcd-7000-8000-abc123456789 \
  -H "Authorization: Bearer $SMOKETEST_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name": "Marketing Site v2"}'

Delete a project

Permanently deletes the project and all its tests and run history.

DELETEhttps://api.smoketest.sh/v1/projects/:idscope: write

Path parameters

id
UUIDrequired
Project ID

Returns 204 No Content.

Shell
curl -X DELETE https://api.smoketest.sh/v1/projects/018e5678-abcd-7000-8000-abc123456789 \
  -H "Authorization: Bearer $SMOKETEST_API_KEY"

On this page