Skip to main content
POST
/
api
/
v3
/
project
/
create
Create a new project
curl --request POST \
  --url https://app.thareja.ai/api/v3/project/create \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "project": "Mobile App Development",
  "key": "MAD",
  "client_id": 10,
  "description": "Development of a cross-platform mobile application for iOS and Android",
  "team_id": 1,
  "project_manager": [
    5,
    7
  ],
  "qa_lead": 8,
  "users": [
    1,
    2,
    3,
    4
  ],
  "groups": [
    1,
    2
  ],
  "start_date": "2025-12-01T00:00:00Z",
  "due_date": "2026-06-30T23:59:59Z",
  "billable": "yes",
  "visible": 1
}
'
{
  "error": "This project name is already exist in your organization"
}

Overview

Create a new project in your workspace. Projects help organize tasks, track progress, and manage team collaboration. Each project requires a unique name and key within the team.

Request Body

project
string
required
The name of the project. Must be unique within the team.Example: "Mobile App Development"
key
string
required
A unique project key (typically 2-5 uppercase letters). Used as a prefix for task IDs.Example: "MAD"
client_id
integer
required
The ID of the client associated with this project. If not provided, uses the internal client of the team.Example: 10
description
string
Detailed description of the project.Example: "Development of a cross-platform mobile application for iOS and Android"
team_id
integer
The ID of the team this project belongs to. Defaults to the current user’s team if not provided.Example: 1
project_manager
array|string
User ID(s) of the project manager(s). Can be a single ID or an array of IDs.Example: [5, 7] or "5"
qa_lead
integer
User ID of the QA lead for this project. Defaults to the current user if not provided.Example: 8
users
array|string
User ID(s) of team members assigned to this project. Can be a single ID or an array of IDs.Example: [1, 2, 3, 4] or "1,2,3"
groups
array|string
Group ID(s) associated with this project. Can be a single ID or an array of IDs.Example: [1, 2] or "1,2"
start_date
string
The start date of the project (ISO 8601 format).Example: "2025-12-01T00:00:00Z"
due_date
string
The due date for project completion (ISO 8601 format).Example: "2026-06-30T23:59:59Z"
billable
string
default:"yes"
Whether the project is billable to the client.Allowed values: "yes", "no"Default: "yes"
visible
integer
Visibility setting for the project. When provided, sets visiblity to 1.Example: 1

Response

id
integer
The unique identifier of the newly created project.
project
string
The name of the project.
key
string
The unique project key.
project_description
string
Detailed description of the project.
team_id
integer
The ID of the team this project belongs to.
client
object
Client information associated with this project.
project_manager
array
Array of user IDs who are project managers.
qa_lead
integer
User ID of the QA lead.
users
array
Array of user IDs assigned to this project.
groups
array
Array of group IDs associated with this project.
watcher
array
Array of user IDs watching this project.
starting_date
string
The start date of the project.
due_date
string
The due date of the project.
isBillable
boolean
Whether the project is billable.
billable
string
Billable status as string (“yes” or “no”).
visible
integer
Visibility setting for the project.
visiblity
integer
Visibility flag (1 if visibility is set, 0 otherwise).
task
array
Array of tasks in the project (empty for new projects).
completed
integer
Number of completed tasks (0 for new projects).
user_id
integer
User ID of the project creator.
created_at
string
The timestamp when the project was created.
updated_at
string
The timestamp when the project was last updated.

Example Request

curl --request POST \
  --url https://app.thareja.ai/api/v3/mobile/project/create \
  --header 'Authorization: Bearer YOUR_API_TOKEN' \
  --header 'Content-Type: application/json' \
  --data '{
    "project": "Mobile App Development",
    "key": "MAD",
    "description": "Development of a cross-platform mobile application for iOS and Android",
    "team_id": 1,
    "client_id": 10,
    "project_manager": [5, 7],
    "qa_lead": 8,
    "users": [1, 2, 3, 4],
    "groups": [1, 2],
    "start_date": "2025-12-01T00:00:00Z",
    "due_date": "2026-06-30T23:59:59Z",
    "billable": "yes",
    "visible": 1
  }'

Example Request (JavaScript)

fetch('https://app.thareja.ai/api/v3/mobile/project/create', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer YOUR_API_TOKEN',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    project: "Mobile App Development",
    key: "MAD",
    description: "Development of a cross-platform mobile application for iOS and Android",
    team_id: 1,
    client_id: 10,
    project_manager: [5, 7],
    qa_lead: 8,
    users: [1, 2, 3, 4],
    groups: [1, 2],
    start_date: "2025-12-01T00:00:00Z",
    due_date: "2026-06-30T23:59:59Z",
    billable: "yes",
    visible: 1
  })
})
.then(response => response.json())
.then(data => console.log(data));

Example Response

{
  "id": 123,
  "project": "Mobile App Development",
  "key": "MAD",
  "project_description": "Development of a cross-platform mobile application for iOS and Android",
  "team_id": 1,
  "client": {
    "id": 10,
    "name": "Acme Corporation",
    "profile": "https://app.thareja.ai/profiles/acme.jpg"
  },
  "project_manager": [5, 7],
  "qa_lead": 8,
  "users": ["1", "2", "3", "4"],
  "groups": [1, 2],
  "watcher": [],
  "starting_date": "2025-12-01T00:00:00Z",
  "due_date": "2026-06-30T23:59:59Z",
  "isBillable": true,
  "billable": "yes",
  "visible": 1,
  "visiblity": 1,
  "task": [],
  "completed": 0,
  "user_id": 1,
  "created_at": "2025-11-28T10:30:00Z",
  "updated_at": "2025-11-28T10:30:00Z"
}

Error Responses

{
  "error": "This project name is already exist in your organization"
}

Notes

  • Unique constraints: Both project name and key must be unique within the team
  • Key format: Project keys are automatically converted to uppercase and special characters are removed
  • Default team: If team_id is not provided, the current user’s team is used
  • Default client: If no client_id is provided, the internal client of the team is used (or created if it doesn’t exist)
  • Default QA lead: If not provided, defaults to the current user
  • Array or string: Fields like project_manager, users, and groups accept both array format and comma-separated string format
  • Billable default: Projects are billable by default unless explicitly set to “no”
  • Groups: When groups are provided, the project is automatically added to those groups
  • Case sensitivity: Project names are automatically capitalized

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Body

application/json
project
string
required

The name of the project (must be unique within team)

Example:

"Mobile App Development"

key
string
required

Unique project key (2-5 uppercase letters)

Example:

"MAD"

client_id
integer<int64>
required

The ID of the client associated with this project

Example:

10

description
string

Detailed description of the project

Example:

"Development of a cross-platform mobile application for iOS and Android"

team_id
integer<int64>

The ID of the team this project belongs to

Example:

1

project_manager

User ID(s) of project manager(s)

Example:
[5, 7]
qa_lead
integer<int64>

User ID of the QA lead

Example:

8

users

User ID(s) of team members

Example:
[1, 2, 3, 4]
groups

Group ID(s) associated with this project

Example:
[1, 2]
start_date
string<date-time>

The start date of the project

Example:

"2025-12-01T00:00:00Z"

due_date
string<date-time>

The due date for project completion

Example:

"2026-06-30T23:59:59Z"

billable
enum<string>
default:yes

Whether the project is billable

Available options:
yes,
no
Example:

"yes"

visible
integer

Visibility setting for the project

Example:

1

Response

Project created successfully

id
integer<int64>
Example:

123

project
string
Example:

"Mobile App Development"

key
string
Example:

"MAD"

project_description
string
Example:

"Development of a cross-platform mobile application"

team_id
integer<int64>
Example:

1

client
object
project_manager
integer[]
Example:
[5, 7]
qa_lead
integer
Example:

8

users
string[]
Example:
["1", "2", "3", "4"]
groups
integer[]
Example:
[1, 2]
watcher
integer[]
starting_date
string<date-time>
due_date
string<date-time>
isBillable
boolean
Example:

true

billable
string
Example:

"yes"

visible
integer
Example:

1

visiblity
integer
Example:

1

task
object[]
completed
integer
Example:

0

user_id
integer
Example:

1

created_at
string<date-time>
updated_at
string<date-time>