Skip to main content

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 are yaml, json_schema, json_parquet, or sql (defaults to yaml).

Example Request Body

{
"data": "updated schema definition as a string",
"format": "yaml"
}
  • format can be one of yaml, json_schema, json_parquet, or sql (defaults to yaml).

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.