---
title: "Create a project view"
method: PUT
path: "/projects/{project}/views"
tags: ["project"]
---

# Create a project view

`PUT /projects/{project}/views`

Create a project view in a specific project.

## Path parameters

- `project` integer, required

## Request body

- ModelsProjectView
  - `bucket_configuration` ModelsProjectViewBucketConfiguration[] — When the bucket configuration mode is not `manual`, this field holds the options of that configuration.
    - `filter` ModelsTaskCollection
      - `filter` string — The filter query to match tasks by. Check out https://vikunja.io/docs/filters for a full explanation.
      - `filter_include_nulls` boolean — If set to true, the result will also include null values
      - `order_by` string[] — The query parameter to order the items by. This can be either asc or desc, with asc being the default.
      - `s` string
      - `sort_by` string[] — The query parameter to sort by. This is for ex. done, priority, etc.
    - `title` string
  - `bucket_configuration_mode` 'none' | 'manual' | 'filter' — The bucket configuration mode. Can be `none`, `manual` or `filter`. `manual` allows to move tasks between buckets as you normally would. `filter` creates buckets based on a filter for each bucket.
  - `created` string — A timestamp when this reaction was created. You cannot change this value.
  - `default_bucket_id` integer — The ID of the bucket where new tasks without a bucket are added to. By default, this is the leftmost bucket in a view.
  - `done_bucket_id` integer — If tasks are moved to the done bucket, they are marked as done. If they are marked as done individually, they are moved into the done bucket.
  - `filter` ModelsTaskCollection
    - `filter` string — The filter query to match tasks by. Check out https://vikunja.io/docs/filters for a full explanation.
    - `filter_include_nulls` boolean — If set to true, the result will also include null values
    - `order_by` string[] — The query parameter to order the items by. This can be either asc or desc, with asc being the default.
    - `s` string
    - `sort_by` string[] — The query parameter to sort by. This is for ex. done, priority, etc.
  - `id` integer — The unique numeric id of this view
  - `position` number — The position of this view in the list. The list of all views will be sorted by this parameter.
  - `project_id` integer — The project this view belongs to
  - `title` string — The title of this view
  - `updated` string — A timestamp when this view was updated. You cannot change this value.
  - `view_kind` 'list' | 'gantt' | 'table' | 'kanban' — The kind of this view. Can be `list`, `gantt`, `table` or `kanban`.

## Response `201`

The created project view

- ModelsProjectView
  - `bucket_configuration` ModelsProjectViewBucketConfiguration[] — When the bucket configuration mode is not `manual`, this field holds the options of that configuration.
    - `filter` ModelsTaskCollection
      - `filter` string — The filter query to match tasks by. Check out https://vikunja.io/docs/filters for a full explanation.
      - `filter_include_nulls` boolean — If set to true, the result will also include null values
      - `order_by` string[] — The query parameter to order the items by. This can be either asc or desc, with asc being the default.
      - `s` string
      - `sort_by` string[] — The query parameter to sort by. This is for ex. done, priority, etc.
    - `title` string
  - `bucket_configuration_mode` 'none' | 'manual' | 'filter' — The bucket configuration mode. Can be `none`, `manual` or `filter`. `manual` allows to move tasks between buckets as you normally would. `filter` creates buckets based on a filter for each bucket.
  - `created` string — A timestamp when this reaction was created. You cannot change this value.
  - `default_bucket_id` integer — The ID of the bucket where new tasks without a bucket are added to. By default, this is the leftmost bucket in a view.
  - `done_bucket_id` integer — If tasks are moved to the done bucket, they are marked as done. If they are marked as done individually, they are moved into the done bucket.
  - `filter` ModelsTaskCollection
    - `filter` string — The filter query to match tasks by. Check out https://vikunja.io/docs/filters for a full explanation.
    - `filter_include_nulls` boolean — If set to true, the result will also include null values
    - `order_by` string[] — The query parameter to order the items by. This can be either asc or desc, with asc being the default.
    - `s` string
    - `sort_by` string[] — The query parameter to sort by. This is for ex. done, priority, etc.
  - `id` integer — The unique numeric id of this view
  - `position` number — The position of this view in the list. The list of all views will be sorted by this parameter.
  - `project_id` integer — The project this view belongs to
  - `title` string — The title of this view
  - `updated` string — A timestamp when this view was updated. You cannot change this value.
  - `view_kind` 'list' | 'gantt' | 'table' | 'kanban' — The kind of this view. Can be `list`, `gantt`, `table` or `kanban`.

## Other responses

- `403` — The user does not have access to create a project view
- `500` — Internal error

---

[API](https://skmtc.net/go-vikunja/apis/vikunja-api.md) · [All operations](https://skmtc.net/go-vikunja/apis/vikunja-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/go-vikunja/vikunja-api/versions/feb3f68bbdf1/schema)
