---
title: "Create a column in a project"
method: POST
path: "/orgs/{org}/projects/{id}/columns"
tags: ["organization"]
---

# Create a column in a project

`POST /orgs/{org}/projects/{id}/columns`

## Path parameters

- `org` string, required
- `id` integer, required

## Request body

- CreateProjectColumnOption — CreateProjectColumnOption represents options for creating a project column
  - `color` string — Column color in 6-digit hex format, e.g. #FF0000
  - `title` string, required

## Response `201`

ProjectColumn

- ProjectColumn — ProjectColumn represents a project column (board)
  - `color` string
  - `created_at` string, date-time
  - `creator` User — User represents a user
    - `active` boolean — Is user active
    - `avatar_url` string — URL to the user's avatar
    - `created` string, date-time
    - `description` string — the user's description
    - `email` string, email
    - `followers_count` integer — user counts
    - `following_count` integer
    - `full_name` string — the user's full name
    - `html_url` string — URL to the user's gitea page
    - `id` integer — the user's id
    - `is_admin` boolean — Is the user an administrator
    - `language` string — User locale
    - `last_login` string, date-time
    - `location` string — the user's location
    - `login` string — login of the user, same as `username`
    - `login_name` string — identifier of the user, provided by the external authenticator (if configured)
    - `prohibit_login` boolean — Is user login prohibited
    - `restricted` boolean — Is user restricted
    - `source_id` integer — The ID of the user's Authentication Source
    - `starred_repos_count` integer
    - `type` 'User' | 'Organization' | 'Bot' — the user type
    - `visibility` 'public' | 'limited' | 'private' — User visibility level option: public, limited, private
    - `website` string — the user's website
  - `default` boolean
  - `id` integer
  - `project_id` integer
  - `sorting` integer
  - `title` string
  - `updated_at` string, date-time — null only for legacy rows that carry no update timestamp

## Other responses

- `403` — APIForbiddenError is a forbidden error response
- `404` — APINotFound is a not found empty response
- `422` — APIValidationError is error format response related to input validation

## Changes

- **2026-10-07** `b0b1b4890863` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/gitea/apis/gitea-api/changes/orgs/:org/projects/:id/columns/post.md)

---

[API](https://skmtc.dev/gitea/apis/gitea-api.md) · [All operations](https://skmtc.dev/gitea/apis/gitea-api/llms.txt) · [OpenAPI document](https://skmtc.dev/gitea/apis/gitea-api/revisions/b0b1b4890863?raw)
