> ## Documentation Index
> Fetch the complete documentation index at: https://docs.prophecy.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Create project

> Create a SQL project with the `addProject` GraphQL mutation.

Use the `addProject` mutation to create a project owned by a team. The example on this page creates a SQL project for a Prophecy In Memory fabric, with Simple Git on a Prophecy-managed repository. Everyone works on one `dev` branch, and [publishing a release](https://docs.prophecy.ai/api-reference/projects/publish-release.md) merges it into `main`.

```
POST /api/md/graphql
```

After you create the project, [add pipelines](https://docs.prophecy.ai/api-reference/pipelines/create-pipeline.md) and build them in Prophecy before you release the project.

## Arguments

**name** `string` *required*

Name of the project, for example `sales_reporting`. The deploy project API needs this name.

**ownerUID** `string` *required*

ID (not the name) of the team that will own the project, as returned in `data.addTeam._id` when
you [create the team](https://docs.prophecy.ai/api-reference/teams/create-team.md).

**mainBranch** `string` *required*

Name of the main branch, for example `main`.

**providerType** `string` *required*

Provider type. Use `ProphecyManaged` for Prophecy In Memory.

The example also sets these arguments inline in the mutation: `language: sql`, `forkMode: Single`, `versionControlMode: Simple`, `defaultTransformationEntity: Pipeline`, `dependencyProjectUIDs: []`, and `isImport: false`.

## Response

**data.addProject.\_id** `string`

ID of the project. Pipeline, commit, publish, list releases, and trigger calls need this ID.

**data.addProject.name** `string`

Name of the project.

```bash cURL theme={null}
QUERY=$(tr '\n' ' ' <<'EOF'
mutation($name: String!, $team: String!, $main: String!, $provider: String!) {
  addProject(
    name: $name, ownerUID: $team, mainBranch: $main, providerType: $provider,
    language: sql, forkMode: Single, versionControlMode: Simple,
    defaultTransformationEntity: Pipeline, dependencyProjectUIDs: [], isImport: false
  ) { _id name }
}
EOF
)
VARS='{"name": "<PROJECT_NAME>", "team": "<TEAM_ID>", "main": "main", "provider": "ProphecyManaged"}'
curl -sS "$PROPHECY_URL/api/md/graphql" \
  -H "X-Auth-Token: $PROPHECY_TOKEN" -H "Content-Type: application/json" \
  -d "$(printf '{"query": "%s", "variables": %s}' "$QUERY" "$VARS")"
```

```json Response theme={null}
{
  "data": {
    "addProject": {
      "_id": "28",
      "name": "sales_reporting"
    }
  }
}
```


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.