Projects
API endpoints for projects
List projects
GET /api/v1/projects
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
status | query | string (active, paused, done, backlog, cancelled) | No | — |
containerId | query | string | No | — |
organisationId | query | string | No | Organisation scope id; use personal for personal projects |
categoryId | query | string | No | — |
labelId | query | string | No | — |
hasExternalLink | query | boolean | No | — |
externalLinkProvider | query | string | No | — |
createdAtEq | query | number | No | — |
createdAtGte | query | number | No | — |
createdAtLte | query | number | No | — |
updatedAtEq | query | number | No | — |
updatedAtGte | query | number | No | — |
updatedAtLte | query | number | No | — |
Example request
curl -X GET \
"https://api.usemonoid.com/api/v1/projects?status=<status>&containerId=<containerId>&organisationId=<organisationId>&categoryId=<categoryId>&labelId=<labelId>&hasExternalLink=<hasExternalLink>&externalLinkProvider=<externalLinkProvider>&createdAtEq=<createdAtEq>&createdAtGte=<createdAtGte>&createdAtLte=<createdAtLte>&updatedAtEq=<updatedAtEq>&updatedAtGte=<updatedAtGte>&updatedAtLte=<updatedAtLte>" \
-H "Authorization: Bearer <API_KEY>" \
-H "Content-Type: application/json"Example response
Status: 200
{
"data": [
{
"_id": "string",
"userId": "string",
"title": "string",
"description": "string",
"status": "active",
"containerId": "string",
"category": {
"_id": "string",
"name": "string",
"color": "string",
"entityType": "string",
"organisationId": "string"
},
"labels": [
{}
],
"updatedAt": 0
}
]
}Other statuses: 401, 403.
Response body type
{ data: Project[] }
Create project
POST /api/v1/projects
Example request
curl -X POST \
"https://api.usemonoid.com/api/v1/projects" \
-H "Authorization: Bearer <API_KEY>" \
-H "Content-Type: application/json"
-d '{"title":"string","description":"string","status":"active","containerId":"string"}'Example response
Status: 201
{
"data": {
"_id": "string",
"userId": "string",
"title": "string",
"description": "string",
"status": "active",
"containerId": "string",
"category": {
"_id": "string",
"name": "string",
"color": "string",
"entityType": "string",
"organisationId": "string"
},
"labels": [
{
"_id": "string",
"name": "string",
"color": "string",
"entityType": "string",
"organisationId": "string"
}
],
"updatedAt": 0
}
}Other statuses: 400, 401, 402, 403, 500.
Response body type
{ data: Project }
Get project by id
GET /api/v1/projects/{id}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | Yes | Path parameter. |
includeCategory | query | boolean | No | — |
includeLabels | query | boolean | No | — |
Example request
curl -X GET \
"https://api.usemonoid.com/api/v1/projects/<id>?includeCategory=<includeCategory>&includeLabels=<includeLabels>" \
-H "Authorization: Bearer <API_KEY>" \
-H "Content-Type: application/json"Example response
Status: 200
{
"data": {
"_id": "string",
"userId": "string",
"title": "string",
"description": "string",
"status": "active",
"containerId": "string",
"category": {
"_id": "string",
"name": "string",
"color": "string",
"entityType": "string",
"organisationId": "string"
},
"labels": [
{
"_id": "string",
"name": "string",
"color": "string",
"entityType": "string",
"organisationId": "string"
}
],
"updatedAt": 0
}
}Other statuses: 401, 403, 404.
Response body type
{ data: Project }
Update project
PATCH /api/v1/projects/{id}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | Yes | Path parameter. |
Example request
curl -X PATCH \
"https://api.usemonoid.com/api/v1/projects/<id>" \
-H "Authorization: Bearer <API_KEY>" \
-H "Content-Type: application/json"
-d '{"title":"string","description":"string","status":"active","containerId":"string"}'Example response
Status: 200
{
"data": {
"_id": "string",
"userId": "string",
"title": "string",
"description": "string",
"status": "active",
"containerId": "string",
"category": {
"_id": "string",
"name": "string",
"color": "string",
"entityType": "string",
"organisationId": "string"
},
"labels": [
{
"_id": "string",
"name": "string",
"color": "string",
"entityType": "string",
"organisationId": "string"
}
],
"updatedAt": 0
}
}Other statuses: 400, 401, 403, 404, 500.
Response body type
{ data: Project }
Delete project
DELETE /api/v1/projects/{id}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | Yes | Path parameter. |
Example request
curl -X DELETE \
"https://api.usemonoid.com/api/v1/projects/<id>" \
-H "Authorization: Bearer <API_KEY>" \
-H "Content-Type: application/json"Other statuses: 401, 403, 404, 500.
Response body type
—
Set project category
PATCH /api/v1/projects/{id}/category
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | Yes | Path parameter. |
Example request
curl -X PATCH \
"https://api.usemonoid.com/api/v1/projects/<id>/category" \
-H "Authorization: Bearer <API_KEY>" \
-H "Content-Type: application/json"
-d '{"categoryId":"string"}'Other statuses: 400, 401, 403, 404.
Response body type
—
Clear project category
DELETE /api/v1/projects/{id}/category
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | Yes | Path parameter. |
Example request
curl -X DELETE \
"https://api.usemonoid.com/api/v1/projects/<id>/category" \
-H "Authorization: Bearer <API_KEY>" \
-H "Content-Type: application/json"Other statuses: 401, 403, 404.
Response body type
—
Add project label
POST /api/v1/projects/{id}/labels
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | Yes | Path parameter. |
Example request
curl -X POST \
"https://api.usemonoid.com/api/v1/projects/<id>/labels" \
-H "Authorization: Bearer <API_KEY>" \
-H "Content-Type: application/json"
-d '{"labelId":"string"}'Other statuses: 400, 401, 403, 404.
Response body type
—
Remove project label
DELETE /api/v1/projects/{id}/labels/{labelId}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | Yes | Path parameter. |
Example request
curl -X DELETE \
"https://api.usemonoid.com/api/v1/projects/<id>/labels/{labelId}" \
-H "Authorization: Bearer <API_KEY>" \
-H "Content-Type: application/json"Other statuses: 401, 403, 404.
Response body type
—
© 2025 MONOid
All rights reserved.
All rights reserved.