Open App

Projects

API endpoints for projects

List projects

GET /api/v1/projects

Parameters

NameInTypeRequiredDescription
statusquerystring (active, paused, done, backlog, cancelled)No
containerIdquerystringNo
organisationIdquerystringNoOrganisation scope id; use personal for personal projects
categoryIdquerystringNo
labelIdquerystringNo
hasExternalLinkquerybooleanNo
externalLinkProviderquerystringNo
createdAtEqquerynumberNo
createdAtGtequerynumberNo
createdAtLtequerynumberNo
updatedAtEqquerynumberNo
updatedAtGtequerynumberNo
updatedAtLtequerynumberNo

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

NameInTypeRequiredDescription
idpathstringYesPath parameter.
includeCategoryquerybooleanNo
includeLabelsquerybooleanNo

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

NameInTypeRequiredDescription
idpathstringYesPath 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

NameInTypeRequiredDescription
idpathstringYesPath 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

NameInTypeRequiredDescription
idpathstringYesPath 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

NameInTypeRequiredDescription
idpathstringYesPath 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

NameInTypeRequiredDescription
idpathstringYesPath 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

NameInTypeRequiredDescription
idpathstringYesPath 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