---
title: "[Preview] Create a project"
method: POST
path: "/companies/{companyId}/projects"
tags: ["projects"]
---

# \[Preview\] Create a project

`POST /companies/{companyId}/projects`

## Request

- Base URL: `https://api.bokio.se/v1`
- URL: `https://api.bokio.se/v1/companies/{companyId}/projects`
- Auth: HTTP bearer

Creates a new project for the company.

A dimension 6 (Project) tag value is created automatically using the `projectNumber`
as its tag. If the company does not yet have a Project tag group, one is created.

The company must have the Tags feature enabled in their price plan.

**Preview:** This endpoint is in preview and may change or be removed before general availability.
[Read the full preview policy](/reference/versioning#preview)

**Scope:** `projects:write`

## Request body

- ProjectWrite
  - `name` string, required: Name of the project
  - `projectNumber` string, required: The project number, unique per company. Used as the dimension 6 tag value.
  - `startDate` string, date, nullable: The date the project starts (yyyy-MM-dd)
  - `endDate` string, date, nullable: The date the project ends (yyyy-MM-dd)
  - `customerRef` CustomerRef, nullable: Reference to a customer
    - `id` string, uuid: Unique identifier of the customer
    - `name` string: Name of the customer
    - `customerNumber` string: Customer number of the referenced customer

## Response `200`

Project created

- Project
  - `id` string, uuid, required: Unique identifier of the project
  - `name` string, required: Name of the project
  - `projectNumber` string, required: The project number, unique per company. Used as the dimension 6 tag value.
  - `status` 'active' | 'archived', required: The lifecycle status of the project
  - `startDate` string, date, nullable: The date the project starts (yyyy-MM-dd)
  - `endDate` string, date, nullable: The date the project ends (yyyy-MM-dd)
  - `customerRef` CustomerRef, nullable: Reference to a customer
    - `id` string, uuid: Unique identifier of the customer
    - `name` string: Name of the customer
    - `customerNumber` string: Customer number of the referenced customer
  - `tagRef` ProjectTagRef, required
    - `id` string, uuid: Unique identifier of the tag value
    - `name` string: The tag value (the project number)

## Other responses

- `400`: Validation error. Possible reasons: - Missing required fields - Duplicate project number (must be unique per company) - The referenced customer does not exist - endDate is before startDate
- `403`: Forbidden. The company's price plan does not include API access, or the integration does not have the required scope. See [price plan requirements](price-plan-requirements#handling-403-responses) for details on how to handle this response.

## Changes

- **2026-11-03** `9395020f3da2`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/bokio/apis/company-api/changes/companies/:companyId/projects/post.md)

---

[API](https://skmtc.dev/bokio/apis/company-api.md) - [All operations](https://skmtc.dev/bokio/apis/company-api/llms.txt) - [OpenAPI document](https://skmtc.dev/bokio/apis/company-api/revisions/9395020f3da2?raw)
