---
title: "Create Project(s)"
method: POST
path: "/attendance/projects"
tags: ["Projects"]
---

# Create Project(s)

`POST /attendance/projects`

Create one or more projects with the specified fields. Supports bulk creation of up to 100 projects in a single request.
<p><b>Project Tracking</b>:</p> <ul> <li><b>By Project</b>: Use `/project/billable` field, do not pass `/project/taskIds`</li> <li><b>By Task</b>: Use `/project/taskIds` field, do not pass `/project/billable`</li> </ul> <p><b>Note</b>: Projects are created as `active` by default. To update the status, use <a href="/reference/post_attendance-project-archive" target="_blank">archive</a>/<a href="/reference/post_attendance-project-restore" target="_blank">restore</a> endpoints</p>
<p><b>Testing notes</b>:</p>
  <ul>
  <li>Use the testing widget's <b>Try It!</b> option to test this endpoint.</li>
  <li>Use the <b>Examples > Request Example</b> option to see how to initiate body parameters.</li>
  <li>For custom fields, use the <b>Examples > Request Example > Create project with custom fields</b> and copy to an external API client tool to change parameters.</li>
  </ul>

## Request body

- ProjectCreateRequest — Request schema for creating projects
  - `items` ProjectCreateRequestObject[], required — List of projects to create (1-100 items)
    - `objectType` 'project', required — Type of the object
    - `fields` object, required — Project fields for create request
      - `/project/name` object, required — The project name must be unique
        - `value` string
      - `/project/description` object — The description of this project to explain what the project is about
        - `value` string
      - `/project/billable` object — If tracking by project, this field is mandatory. It determines Whether this project is billable when tracking billing by project. If tracking by task, you must not pass this field.
        - `value` boolean
      - `/project/clientReference` object — This is a reference to a project client. Use the <a href="/reference/post_attendance-project-clients-search" target="_blank">project client search endpoint</a> to get the client ID you should pass here.
        - `value` integer
      - `/project/audienceSelector` object, required — Employees assigned to this project. Only assigned employees can log attendance entries for the project. Use `mode=all` to allow all employees or `mode=explicit` to specify employees in `employeeIds`. See <a href="/reference/post_people-search" target="_blank">Search for employees</a> to get the employee IDs.
        - `value` object
          - `mode` 'all' | 'explicit'
          - `employeeIds` string[] — An array of employee IDs to assign. Note that if using `mode=all` this array will be ignored.
      - `/project/taskIds` object — Required for tracking billing by task. When `taskIds` is provided, project's `billable` parameter in not allowed. The attendance entries are tracked at the task level, and the billable flag of the task determines whether the attendance entry is billable or not. Employees assigned to the project must select a task when logging attendance entries. Use the <a href="/reference/post_attendance-project-tasks-search" target="_blank">project task search endpoint</a> to get the task IDs.
        - `value` integer[]

## Response `201`

Project created successfully

- ProjectCreateResponse
  - `ids` integer[] — Array of unique identifiers of the created projects

## Other responses

- `400` — The request is malformed or includes invalid parameters
- `401` — Authentication failed. Check your service user credentials
- `403` — The service user or token is missing the required permissions to access the requested data
- `429` — Rate limit exceeded - see <a href="https://apidocs.hibob.com/reference/projects#rate-limiting">Rate limits</a>
- `500` — An unexpected error occurred. Try again or contact support if the issue persists.

---

[API](https://skmtc.net/hibob/apis/employee-data-api.md) · [All operations](https://skmtc.net/hibob/apis/employee-data-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/hibob/employee-data-api/versions/0781ebbdda91/schema)
