API for Project

Welcome to the zipBoard platform REST API reference. This API is essential for connecting remotely with zipBoard, regardless of whether you are building an application, scripting interactions with zipBoard or building some other integration. 

This page documents the REST resources available in the zipBoard platform, along with the expected HTTP response codes and sample requests for interacting with projects in zipBoard.

Before you start working with the API, you will need to generate an API key and also get an idea of the URI Structure that needs to be followed. Please follow this article for more information on that.

Get Projects 

GET https://app.zipboard.co/api/v1/projects    

  • Returns a full representation of the project.
  • A project JSON consists of the issue key, a collection of fields, a link to the workflow transition sub-resource, and (optionally) the HTML rendered values of any fields that support it
  • For projects to be visible, the user must be logged in and authenticated. If no user is logged in, then the project data will not be visible.

HEADERS

Content-Type                  application/json

Authorization                  Authorization token

URL Params
        Required:

None

        Optional:

id:                        String                    id of the project to return for the project

Body Params

        Required:

                orgid:                  String                      org id of the project to return for the project

        Optional:

                projectid:            String                      id of the project to return for the project

Role:                   String                      role to return for the project (owner, manager, reviewer)

owner:                Boolean                   true to return project where user is owner

Request

var http = require('http');
Http.request({
	method: 'GET',
	url: `https://app.zipboard.co/api/v1/projects`,
	body: {},
});

Response

  {
    "status": "Success",
    "status code": 200,
    "message": "Successfully retrieved projects.",
    "data": [
        {
            "_id": "hoPjX5nfZomWKPsihw",
            "title": "project 1",
            "description": "",
            "createdOn": "2019-01-17T11:37:56.942Z",
            "ownerId": "N6dRgcj2RkAwBu948",
            "orgId": -1,
            "screenCount": 3,
            "taskCount": 2,
            "isEnabled": true,
            "projectId": "P00001",
            "collaborators": [
                {
                    "userId": "N6dRgcj2RkAwBu948",
                    "userName": "Rahil",
                    "role": "Owner"
                }
            ],
            "feeds": [
                {
                    "id": "b67c2b151780a616f2990bd0",
                    "text": "created 'project 1'.",
                    "createdAt": "2019-01-17T11:37:57.060Z",
                    "userId": "N6dRgcj2RkAwBu948",
                    "userName": "Rahil"
                },
                {
                    "id": "7187e34c272e99b149bb3e9b",
                    "text": "Inserted url: http://google.com",
                    "createdAt": "2019-01-17T11:38:08.089Z",
                    "userId": "N6dRgcj2RkAwBu948",
                    "userName": "Rahil"
                },
                {
                    "id": "b37aa5dd69b5cb6cb7586c96",
                    "text": " created a new task:'<img/src=x onerror=alert(1)>'.",
                    "createdAt": "2019-01-18T05:22:14.574Z",
                    "userId": "N6dRgcj2RkAwBu948",
                    "userName": "Rahil",
                    "linkUrl":        "/project/hoPjX5nfZomWKPsiw/-1/tasks/-1/30db1560d34b063ac5d19645"
                }
            ],
            "lastUpdated": "2019-01-18T05:22:14.847Z"
        }
    ]
}

Create Projects 

POST https://app.zipboard.co/api/v1/projects

  • Creates a new project for the user.
  • Returns the project data of the newly created project.

 HEADERS

Content-Type                         application/json

Authorization                          Authorization token

URL Params
        Required:

None

        Optional:

None

Body Params

        Required:

                title:                        String                                         Title for the project

        Optional:

                    orgid:                       String                                         org id where you want to create the project

                    description               String                                        Description for the project

projectid                  String                                        Custom project id for the project

                   

Request

var http = require('http');
Http.request({
	method: 'POST',
	url: `https://app.zipboard.co/api/v1/projects`,
	body: {
		title: "text for title of project",
		orgid: ''  //id of the org to be fetched from org api
	},
});

Response

{
    "status": "Success",
    "status code": 201,
    "_id": "ai6h7kXa4qseu6mom",
    "message": "Project successfully created!",
    "data": [
        {
            "_id": "ai6h7kXa4qseu6mom",
            "title": "text for title of project",
            "description": null,
            "createdOn": "2019-01-24T05:43:04.983Z",
            "ownerId": "N6dRgcj2RkAwBu948",
            "orgId": -1,
            "screenCount": 0,
            "taskCount": 1,
            "isEnabled": true,
            "projectId": "P00003",
            "collaborators": [
                {
                    "userId": "N6dRgcj2RkAwBu948",
                    "userName": "Rahil",
                    "role": "Owner"
                }
            ],
            "feeds": [
                {
                    "id": {
                        "_str": "61de98d288444b9913ad4edb"
                    },
                    "text": "created 'text for title of project'.",
                    "createdAt": "2019-01-24T05:43:04.983Z",
                    "userId": "N6dRgcj2RkAwBu948",
                    "userName": "Rahil"
                }
            ]
        }
    ]
}

Update Projects   

PUT  https://app.zipboard.co/api/v1/projects/:id

  • Updates the existing project for the user, data required (projectId).
  • To update a project, the role of the current user should be ‘Owner’ or ‘Manager’ (if he/she is a current project owner).
  • Returns the updated project data.

HEADERS

Content-Type                         application/json

Authorization                          Authorization token  // the key which we generate from the user

URL Params
        Required:

id:                           String                                              id of the project to be updated

Body Params

        Required:

                At least one is required from optional Body Params.

        Optional:

                title                        String                                      Title for the project

description             String                                      description for the project

                projectid                String                                      Custom project id for the project(P-0000001)

                collabemail           [String]                                    email id of the collaborator in array

Request

var http = require('http');
Http.request({
	method: 'PUT',
	url: `https://app.zipboard.co/api/v1/projects/ai6h7kXa4qseu6mom`,
	body: {
		title: "Project-1",
		projectid: 'P-0000001'
                collabemail: ['[email protected]', '[email protected]']
	},
});

Response

{
	"status": "Success",
	"status code": 200,
	"message": "Project successfully updated.",
	"data": [{
		"_id": "ai6h7kXa4qseu6mom",
		"title": "Project-1",
		"description": null,
		"createdOn": "2019-01-24T05:43:04.983Z",
		"ownerId": "N6dRgcj2RkAwBu948",
		"orgId": -1,
		"screenCount": 0,
		"taskCount": 1,
		"isEnabled": true,
		"projectId": "P0003",
		"collaborators": [{
			"userId": "N6dRgcj2RkAwBu948",
			"userName": "Rahil",
			"role": "Owner"
		}],
		"feeds": [{
			"id": "61de98d288444b9913ad4edb",
			"text": "created 'text for title of project'.",
			"createdAt": "2019-01-24T05:43:04.983Z",
			"userId": "N6dRgcj2RkAwBu948",
			"userName": "Rahil"
		}]
	}]
}

Delete Projects 

   DEL https://app.zipboard.co/api/v1/projects/:id

  • Deletes the existing project for the user, data required (projectId).
  • To delete the project role of the current user should be Owner or Manager (if he/she is a current project owner).
  • Return project data of deleted project.

HEADERS

Content-Type                           application/json

Authorization                            Authorization token

URL Params
        Required:

id:                              String                                              id of the project to be deleted

        Optional:

                None

Body Params

        Required:

                None                

        Optional:

None

Request

var http = require('http');
Http.request({
	method: 'DELETE',
	url: `https://app.zipboard.co/api/v1/projects/KnrhKgqLozPqrSSbm`,
});

Response

{
	"status": "Success",
	"status code": 200,
	"message": "Project successfully deleted."
}

If you have any questions, you can check out our Forum.

Did this answer your question? Thanks for the feedback There was a problem submitting your feedback. Please try again later.

Still need help? Contact Us Contact Us