This API allows you to create a project and manage issues and bugs
The API is not yet publically available. The api accepts data in Json or as form data.
To submit or view an order, you need to register an account.
POST /auth/signup
The request body needs to include the following properties:
username
- Stringemail
- Stringpassword
- String
Example
POST /auth/signup
{
"username": "SantaKlaus",
"email": "[email protected]"
"password": "Be4G00dB0y"
}
POST /auth/signin
The request body needs to include the following properties:
username
- Stringpassword
- String
All of those endpoints are protected by JWT.
Include in your headers
Authorization: Bearer <YOUR TOKEN>
GET /projects
Returns the list of the projects you're a part of.
GET /projects/:projectId/details
Retrieve detailed information about a project.
Response :
{
_id: projectId,
name: String,
description: String,
author: user,
team: [
{ _id, username, email},
],
admins: [
{ _id, username, email},
],
issues: [
{ _id, title},
],
createdAt: Date,
updatedAt: Date,
}
POST /projects
Allows you to create a new project. The request body needs to include the following properties:
name
- Stringdescription
- String
Example
POST /projects
Authorization: Bearer <YOUR TOKEN>
{
"name": "Santa factory",
"description": "Where all the little elves work to bring joy around the world.",
}
You need to be the author or an admin of a project to be authorized.
PUT /projects/:projectId
Update an existing project.
The request allows you to update the following properties:
name
- Stringdescription
- String
Example
PUT /projects/60b0ff873b7570331c240b7a
Authorization: Bearer <YOUR TOKEN>
{
"name": "Santa factory !",
"description": "Where all the elves work to bring joy and happiness around the world.",
}
You need to be the author or an admin of a project to be authorized.
DELETE /projects/:projectId
Delete an existing project.
Example
DELETE /projects/60b0ff873b7570331c240b7a
Authorization: Bearer <YOUR TOKEN>
You need to be the author or an admin of a project to be authorized.
PUT /projects/:projectId/addUser
Include the username in the body
username
- String
Example
PUT /projects/60b0ff873b7570331c240b7a/addUser
Authorization: Bearer <YOUR TOKEN>
{
"username": "Rudolph",
}
PUT /projects/:projectId/removeUser
Include the username in the body
username
- String
Example
PUT /projects/60b0ff873b7570331c240b7a/removeUser
Authorization: Bearer <YOUR TOKEN>
{
"username": "Rudolph",
}
PUT /projects/:projectId/addAdmin
Include the username in the body
username
- String
Example
PUT /projects/60b0ff873b7570331c240b7a/addAdmin
Authorization: Bearer <YOUR TOKEN>
{
"username": "Rudolph",
}
PUT /projects/:projectId/removeAdmin
Include the username in the body
username
- String
Example
PUT /projects/60b0ff873b7570331c240b7a/removeAdmin
Authorization: Bearer <YOUR TOKEN>
{
"username": "Rudolph",
}
GET projects/:projectId/
Returns the list of issues of that project .
GET /projects/:projectId/:issueId
Retrieve detailed information about an issue.
{
_id: issueId,
title: String,
description: String,
project: projectId ,
author: {_id, username, email},
assignedTo: [
{_id, username, email_},
],
statusText: String,
isOpen: Boolean,
createdAt: Date,
updatedAt: Date,
}
POST /projects/:projectId/
Allows you to create a new issue. The request body needs to include the following properties:
title
- String
Example
POST /projects/60b0ff873b7570331c240b7a/
Authorization: Bearer <YOUR TOKEN>
{
"title": "We need more cookies !",
}
PUT /projects/:projectId/:issueId
Update an existing issue.
The request allows you to update the following properties:
title
- Stringdescription
- StringstatusText
- StringisOpen
- String
Example
PUT /projects/60b0ff873b7570331c240b7a/PF6MflPDcuhWobZcgmJy5
Authorization: Bearer <YOUR TOKEN>
{
title: "Thanks !",
description: "They were really good.",
statusText: "We might hit you up for some more later.",
isOpen: false,
}
DELETE /projects/:projectId/:issueId
Delete an existing issue. Need to be a project admin
Example
DELETE /projects/60b0ff873b7570331c240b7a/PF6MflPDcuhWobZcgmJy5
Authorization: Bearer <YOUR TOKEN>
PUT /projects/:projectId/:issueId/assignUser
Assign a user to an existing issue. You need to be a project admin or you can only assign yourself. The request expects a username:
username
- String
Example
PUT /projects/60b0ff873b7570331c240b7a/PF6MflPDcuhWobZcgmJy5/assignUser
Authorization: Bearer <YOUR TOKEN>
{
username: "Rudolph"
}
PUT /projects/:projectId/:issueId/assignUser
Unassign a user to an existing issue. You need to be a project admin or you can only remove yourself. The request expects a username:
username
- String
Example
PUT /projects/60b0ff873b7570331c240b7a/PF6MflPDcuhWobZcgmJy5/unassignUser
Authorization: Bearer <YOUR TOKEN>
{
username: "Rudolph"
}