Project
A Project defines the schema used to generate data. Projects belong to a Project Group and are used to structure and manage data generation.
Authentication
Include the API key in the Authorization
header:
Authorization: Bearer YOUR_API_KEY
Endpoints
Create a Project
Create a new project within a specified project group.
POST /project
Parameters:
project_group_id
(required): The ID of the project group to which the project belongs.name
(required): The name of the project.data
(optional): The schema definition for the project, provided as a string.
Example Request Body
{
"project_group_id": "12345",
"name": "dev_schema"
}
Response
{
"id": "67890",
"project_group_id": "12345",
"name": "dev_schema"
}
The response includes the newly created project's id
, project_group_id
, and name
.
Get a Project
Retrieve a project by its id
or by its project_group_name
and project_name
.
GET /project/:id
GET /project/:project_group_name/:project_name
Response
{
"id": "67890",
"project_group_id": "12345",
"name": "dev_schema",
"data": "optional schema definition as a string"
}
The response includes the project's id
, project_group_id
, name
, and data
.
Update a Project
Update the schema data of an existing project.
PUT /project/:id
PUT /project/:project_group_name/:project_name
Parameters:
data
(required): The updated schema definition for the project.format
(optional): The format of the schema, accepted values areyaml
,json_schema
,json_parquet
, orsql
(defaults toyaml
).
Example Request Body
{
"data": "updated schema definition as a string",
"format": "yaml"
}
format
can be one ofyaml
,json_schema
,json_parquet
, orsql
(defaults toyaml
).
Response
{
"id": "67890",
"project_group_id": "12345",
"name": "dev_schema",
"format": "yaml"
}
The response includes the updated project's id
, project_group_id
, name
, data
, and format
.
Patch a Project
Partially update a project, such as changing its name.
PATCH /project/:id
Parameters:
name
(required): The new name of the project.
Example Request Body
{
"name": "updated_project_name"
}
Response
{
"id": "67890",
"project_group_id": "12345",
"name": "updated_project_name"
}
The response includes the updated project's id
, project_group_id
, and name
.
Delete a Project
Delete an existing project by its id
.
DELETE /project/:id
Response
{
"message": "Project deleted"
}
The response confirms that the project has been deleted.