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

# Create a project

> Learn how to create a project using the UI, REST API, or CLI

The Openlayer workspace is organized around **projects**. Each project represents an AI
initiative within your organization and provides a structured space to evaluate, observe, and govern
your AI efforts.

This guide walks you through creating a project using both the UI and programmatically.

> [!NOTE]
>
> **Prerequisite**: you need an [Openlayer account](https://app.openlayer.com/)
> to follow this guide.

![Create new project](https://mintcdn.com/openlayer-44/jN8MTVdaEnRVD4sY/images/how-to-guides/create_new_project.png?fit=max\&auto=format\&n=jN8MTVdaEnRVD4sY\&q=85\&s=f8d319191d02743c4195ca387dd0463c)

## Create a project in the UI

The UI is the quickest way to set up a new project.

Choose **Code you own** when you can integrate Openlayer into your code, using [`openlayer init`](https://docs.openlayer.com/api-reference/cli/commands/init) for initial setup or [`openlayer link`](https://docs.openlayer.com/api-reference/cli/commands/link) to connect a directory to an existing project. Choose **Vendor AI** for third-party tools or systems whose code you do not own, then connect code or telemetry later if the system supports it.

1. Log into your [Openlayer account](https://app.openlayer.com/)
2. Navigate to the workspace home page.
3. Click the **"Create"** button on the top right.
4. Choose the option that fits your project, then follow the onboarding prompts.

[After the project is created](#next-steps), you are ready to start using it to evaluate your AI system.

## Project tags

Project tags are workspace-scoped labels with a name and color. Create a tag once and attach it to
any number of projects. Renaming or recoloring a tag updates it everywhere, while deleting a tag
removes it from every project that uses it. On the **Projects** page, use the **Tags** filter to find
projects by tag.

## Create a project using the REST API or CLI

You can also create projects using our [REST API](https://docs.openlayer.com/api-reference/rest/overview.md) or [CLI tool](https://docs.openlayer.com/api-reference/cli/overview.md).
This is particularly useful for automation workflows or CI/CD integration.

To authenticate, you need to [create an API key](https://docs.openlayer.com/workspace-and-projects/find-your-api-key.md).

> [tab] REST API
>
> You can create a project by making a POST request to the `/projects` endpoint. Refer
> to the [Create project API reference page](https://docs.openlayer.com/api-reference/rest/projects/create-project.md) for details.
>
> ```bash cURL theme={null}
> curl --request POST \
>   --url https://api.openlayer.com/v1/projects \
>   --header 'Authorization: Bearer <YOUR_API_KEY>' \
>   --header 'Content-Type: application/json' \
>   --data '{
>     "name": "My Project",
>     "description": "My project description.",
>     "taskType": "llm-base"
>   }'
> ```
>
> ```python Python theme={null}
> from openlayer import Openlayer
>
> client = Openlayer()
> project = client.projects.create(
>   name="My Project",
>   description="My project description.",
>   taskType="llm-base"
> )
> ```
>
> ```typescript TypeScript theme={null}
> import Openlayer from 'openlayer';
>
> const openlayer = new Openlayer();
> const project = await openlayer.projects.create({
>   name: 'My Project',
>   description: 'My project description.',
>   taskType: 'llm-base'
> });
> ```
>
> ```java Java theme={null}
> import com.openlayer.api.client.OpenlayerClient;
> import com.openlayer.api.client.okhttp.OpenlayerOkHttpClient;
> import com.openlayer.api.models.ProjectCreateParams;
> import com.openlayer.api.models.ProjectCreateResponse;
>
> OpenlayerClient client = OpenlayerOkHttpClient.fromEnv();
>
> ProjectCreateParams params = ProjectCreateParams.builder()
>     .name("My Project")
>     .description("My project description.")
>     .taskType(ProjectCreateParams.TaskType.LLM_BASE)
>     .build();
>
> ProjectCreateResponse project = client.projects().create(params);
> ```
>
> ```go Go theme={null}
> package main
>
> import (
>   "context"
>   "github.com/openlayer-ai/openlayer-go"
>   "github.com/openlayer-ai/openlayer-go/option"
> )
>
> client := openlayer.NewClient()
> project, err := client.Projects.New(context.TODO(), openlayer.ProjectNewParams{
>   Name: openlayer.F("My Project"),
>   TaskType: openlayer.F(openlayer.ProjectNewParamsTaskTypeLlmBase),
> })
> if err != nil {
>   panic(err.Error())
> }
> ```

> [tab] CLI
>
> First, make sure you have the [CLI installed](https://docs.openlayer.com/api-reference/cli/overview.md#installing-the-openlayer-cli).
>
> Then, run the [openlayer login](https://docs.openlayer.com/api-reference/cli/commands/login.md) command and use your API key when prompted to authenticate:
>
> ```bash theme={null}
> openlayer login
> ```
>
> Finally, run the [openlayer link](https://docs.openlayer.com/api-reference/cli/commands/link.md) command to create (or connect to) a project:
>
> ```bash theme={null}
> openlayer link
> ```

## Next steps

Once you have created a project, you can immediately start evaluating your AI system. Common
paths are:

* [Monitoring mode overview](https://docs.openlayer.com/monitoring/overview.md), to learn how to start observing and testing your live AI system.
* [Development mode overview](https://docs.openlayer.com/development/overview.md), to learn how to incorporate Openlayer tests into your CI/CD pipeline.

## FAQ

> [accordion] Can I control which users have access to a project?
>
> Yes, Openlayer supports **role-based access control** (RBAC) at the project level.
>
> You can create access groups with different roles, such as "Admin," "Member," "Viewer," and others. Refer to
> the [Access groups page](https://docs.openlayer.com/security/access-groups.md) for details.

> [accordion] What are the project modes?
>
> A project on Openlayer has different modes, such as "Development" and "Monitoring."
> Each mode has a particular purpose in the AI lifecycle:
>
> * [**Development mode**](https://docs.openlayer.com/development/overview.md) is used pre-production and helps you iterate on your AI system, test each version, and track improvements across them.
> * [**Monitoring mode**](https://docs.openlayer.com/monitoring/overview.md) is used in production and helps you observe and test an AI system that is serving live requests.


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