---
title: Projects REST API
description: "File a job under a project with project_id, list only that project's jobs, and file a whole batch under it. Projects are created in the web app or the CLI."
tags:
  - rest
  - projects
---
The Projects API lets you group computational jobs into logical units for collaboration, billing, and access control. Reach for it when you want to organize the work you run through the [Jobs API](/docs/api/rest-jobs) rather than tracking loose jobs. Projects are the organizational container the rest of the job-running surface hangs off of.

  beginner
  10 min
  [authentication](/docs/api/authentication)

## Projects API

A project groups the jobs, files and members of one line of work, and scopes who can see them.

The public REST API does not create, rename or delete projects. Manage them in the web app, or with the [CLI](/docs/cli): `ivybloom projects list`, `ivybloom projects info` and `ivybloom projects init`. Over the REST API you use a project through its `id`:

---

## File a Job Under a Project

Submit through the [Jobs API](/docs/api/rest-jobs#submit-job) with `project_id` set. You need access to the project.

---

## List a Project's Jobs

`GET /api/v1/jobs?projectId=<id>` ([reference](/docs/api/reference/get-api-v1-jobs)) returns only the jobs in that project.

---

## Batch Into a Project

`POST /api/v1/jobs/batch` ([reference](/docs/api/reference/post-v1-jobs-batch)) takes `projectId` and files every job in the batch under it.

## Read next

- [Jobs API](/docs/api/rest-jobs) — job submission and management
- [Artifacts](/docs/api/rest-artifacts) — download project job outputs
