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
The name of the project. Must be unique within the team. Example: "Mobile App Development"
A unique project key (typically 2-5 uppercase letters). Used as a prefix for task IDs. Example: "MAD"
The ID of the client associated with this project. If not provided, uses the internal client of the team. Example: 10
Detailed description of the project. Example: "Development of a cross-platform mobile application for iOS and Android"
The ID of the team this project belongs to. Defaults to the current user’s team if not provided. Example: 1
User ID(s) of the project manager(s). Can be a single ID or an array of IDs. Example: [5, 7] or "5"
User ID of the QA lead for this project. Defaults to the current user if not provided. Example: 8
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"
Group ID(s) associated with this project. Can be a single ID or an array of IDs. Example: [1, 2] or "1,2"
The start date of the project (ISO 8601 format). Example: "2025-12-01T00:00:00Z"
The due date for project completion (ISO 8601 format). Example: "2026-06-30T23:59:59Z"
Whether the project is billable to the client. Allowed values: "yes", "no"Default: "yes"
Visibility setting for the project. When provided, sets visiblity to 1. Example: 1
Response
The unique identifier of the newly created project.
Detailed description of the project.
The ID of the team this project belongs to.
Client information associated with this project. URL to the client’s profile picture.
Array of user IDs who are project managers.
Array of user IDs assigned to this project.
Array of group IDs associated with this project.
Array of user IDs watching this project.
The start date of the project.
The due date of the project.
Whether the project is billable.
Billable status as string (“yes” or “no”).
Visibility setting for the project.
Visibility flag (1 if visibility is set, 0 otherwise).
Array of tasks in the project (empty for new projects).
Number of completed tasks (0 for new projects).
User ID of the project creator.
The timestamp when the project was created.
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
409 Conflict - Duplicate Project Name
409 Conflict - Duplicate Key
409 Conflict - Empty Key
409 Conflict - Empty Project Name
401 Unauthorized
400 Bad Request
{
"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
Bearer authentication header of the form Bearer <token> , where <token> is your auth token.
The name of the project (must be unique within team)
Unique project key (2-5 uppercase letters)
The ID of the client associated with this project
Detailed description of the project
Example: "Development of a cross-platform mobile application for iOS and Android"
The ID of the team this project belongs to
User ID(s) of project manager(s)
User ID(s) of team members
Group ID(s) associated with this project
The start date of the project
The due date for project completion
Whether the project is billable
Available options:
yes,
no
Visibility setting for the project
Project created successfully
Example: "Development of a cross-platform mobile application"
Example: "https://app.thareja.ai/profiles/acme.jpg"