Skip to main content
POST
Create test

Authorizations

Authorization
string
header
required

Personal access token, sent as Authorization: Bearer <token>.

Path Parameters

app_id
string
required

ID of the app.

Body

application/json
name
string
required

Short name for the test.

Required string length: 1 - 100
Example:

"Create a project"

goal
string
required

What the testing agent should try to do, in plain language.

Required string length: 1 - 500
Example:

"Sign up, create a project called Launch, and check that it appears on the dashboard."

role
string | null

Role to run the test as, such as admin. Leave it out to let Base44 pick one from the name or goal.

Maximum string length: 100
Example:

"admin"

Response

The created test.

Fields the FE actually reads, plus the metadata the runtime slice needs (role for per-flow role-aware runs, revision for optimistic-concurrency, source so AI-generated rows can be styled differently, etc.).

id
string
required

ID of the test.

Example:

"68a1c2e4f0b3d9001a7e5c21"

app_id
string
required

ID of the app the test belongs to.

Example:

"6820f3a4e7b91d003c45a1f2"

name
string
required

Short name of the test.

Example:

"Create a project"

goal
string
required

What the testing agent tries to do, in plain language.

Example:

"Sign up, create a project called Launch, and check that it appears on the dashboard."

source
string
required

manual for a test you created, app_context for one Base44 generated from the app.

Example:

"manual"

revision
integer
required

Starts at 1 and goes up each time the test is edited.

Example:

1

created_date
string
required

When the test was created, as an ISO 8601 UTC timestamp.

Example:

"2026-09-28T10:15:00+00:00"

updated_date
string
required

When the test last changed, as an ISO 8601 UTC timestamp.

Example:

"2026-09-28T10:15:00+00:00"

role
string | null

Role set on the test, or null when none is set. A test without one can still run as a role its name or goal names. The run's flow_role shows the role actually used.

Example:

"admin"