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"
}
formatcan 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.