Skip to main content
Skip table of contents

Projects

Contents

List Projects

List all projects. For more information see Projects document model.

Endpoint:

URL

/api/v2/projects/

Method

GET

Expected response code

200

Expected response type

JSON

Example:

BASH
curl -v \
    -H "Authorization: apikey $API_USER:$API_KEY" \
    $COREDATA_BASE_URL/api/v2/projects/

Example response:

Project list JSON
JSON
{
    "meta": {
        "limit": 20,
        "next": null,
        "offset": 0,
        "previous": null,
        "total_count": 392
    },
    "objects": [
        {
            "connected_users": ["padme", "rey"],
            "contacts": [],
            "created": "2016-10-06T22:11:45",
            "created_by": "Leia Organa",
            "due_date": "2016-10-13",
            "dynatype": {
                "caption_plural": "dynatypes_labels:Project_plural:",
                "caption_singular": "dynatypes_labels:Project_singular:",
                "id": "5bba058c-896e-11e6-8485-eff53da65b3d",
                "title": "Project"
            },
            "fileplan": "",
            "id": "de5717aa-8c11-11e6-b4eb-8bf745c1e91c",
            "identifier": "2016-189",
            "resource_uri": "/api/v2/projects/de5717aa-8c11-11e6-b4eb-8bf745c1e91c/",
            "responsible_users": [
                {
                    "first_name": "Padme",
                    "last_name": "Amidala",
                    "username": "padme"
                }
            ],
            "snapshot_id": "de575a58-8c11-11e6-b4eb-ab86b48b196e",
            "space": {
                "id": "1fa8f598-895b-11e6-9def-dfae3ffdca3e",
                "title": "Board meetings"
            },
            "status": "project_status:Pending:",
            "title": "Chief Executive's Report",
            "type": "Project",
            // ...
        },
        // ...
    ]
}

Result projects are sorted by creation date ascending and then by ID ascending (to get stable sorting results).

List Favourite Projects

See User home | List-favourite-Projects.

Get Project details

Get an existing Project details.

Endpoint:

URL

/api/v2/projects/$project_id/

Method

GET

Expected response code

200

Expected response type

JSON

URL parameters:

  • project_id – ID of an existing project.

Example:

BASH
project_id=d4d780ae-7758-11ee-9f6f-2b890065fae6

curl -v \
    -H "Authorization: apikey $API_USER:$API_KEY" \
    $COREDATA_BASE_URL/api/v2/projects/$project_id/

Example response:

Project details JSON
JSON
{
    "aspects": {},
    "associated_contacts_id": [],
    "associated_users": [],
    "connected_users": [
        "Administrator"
    ],
    "contacts": [],
    "created": "2023-10-30T19:16:30",
    "created_by": "Administrator Administrator",
    "description": "",
    "due_date": "2022-01-03",
    "dynatype": {
        "caption_plural": "dynatypes_labels:Project_plural:",
        "caption_singular": "dynatypes_labels:Project_singular:",
        "id": "6d97a3d8-7758-11ee-834b-c7bbcb21ca78",
        "title": "Project"
    },
    "fileplan": "",
    "fileplan_title": "",
    "id": "d4d780ae-7758-11ee-9f6f-2b890065fae6",
    "identifier": "2023-3",
    "modified": "2023-10-30T19:16:30",
    "modified_by": "Administrator Administrator",
    "path": "/domain/spaces/Spaces/Space/Projects/Project",
    "resource_uri": "/api/v2/projects/d4d780ae-7758-11ee-9f6f-2b890065fae6/",
    "responsible_users": [],
    "snapshot_id": "d4d7a4b2-7758-11ee-9f6f-bfcc6a6f39f3",
    "space": {
        "id": "ccdaa098-7758-11ee-a909-1397b0b24186",
        "title": "Space"
    },
    "status": "project_status:In_progress:",
    "status_message": "",
    "tags": [],
    "template": null,
    "title": "Project",
    "type": "Project",
    "version": "0.1"
}

Create Project

Create a project in a space.

Endpoint:

URL

/api/v2/projects/

Method

POST

Content-Type

application/json

Expected response code

201

Request JSON body properties:

Property

Type

Description

Mandatory

space

String

ID of an existing space.

Yes

title

String

Title for the new project.

Yes

aspects

JSON

A JSON object aspect value for aspects that can be set for the Project Template being created. See examples below.

No

associated_users

List[String]

A list of usernames.

No

contacts

List[String]

A list of contact IDs.

No

description

String

Description of the Project.

No

due_date

String

Project’s due date in format YYYY-MM-DD.

No

fileplan

String

ID of the Fileplan Category.

No

responsible_users

List[String]

A list of usernames.

No

status

String

Project status. Project statuses can be found in the project_status value list.

E.g. is we have a project status Pending, then the value sent in status field must be project_status:Pending:.

No

status_message

String

Project status message.

No

sub_project_of

List[String]

A list of IDs of projects created with Programme dynatype.

No

tags

List[String]

A list of tags.

No

template

String

ID of a Project Template to be used.

No

The aspects property example – assuming URL aspect exists on the Project Template:

JSON
"aspects": {
    "url": {
        "url": "www.azazo.com"
    }
}

The aspects property example – using KKS codes:

JSON
"aspects": {
    "kkscode": {
        "kks_code": ["COD____"]
    }
}

Example:

BASH
space_id=c6c574bc-7758-11ee-a909-cbd0373c1708
title="New project"

curl -v \
    -X POST \
    -H "Authorization: apikey $API_USER:$API_KEY" \
    -H "Content-Type: application/json" \
    -d "{\"title\": \"$title\", \"space\": \"$space_id\"}" \
    $COREDATA_BASE_URL/api/v2/projects/

Response contains Location header with link to the newly created project. The link contains the project ID:

CODE
Location: /api/v2/projects/d4de3d64-77ca-11ee-a3a4-ef9b9d43eefb/

Update Project

Update an existing Project.

Endpoint:

URL

/api/v2/projects/$project_id/

Method

PUT

Content-Type

application/json

Expected response code

204

URL parameters:

  • project_id – ID of an existing project to be updated.

Other request parameters in JSON body are applicable from the Create Project section above.

Example:

BASH
project_id=d4de3d64-77ca-11ee-a3a4-ef9b9d43eefb
title="Updated project"

curl -v \
    -X PUT \
    -H "Authorization: apikey $API_USER:$API_KEY" \
    -H "Content-Type: application/json" \
    -d "{\"title\": \"$title\"}" \
    $COREDATA_BASE_URL/api/v2/projects/$project_id/

Delete Project

Delete a project.

Endpoint:

URL

/api/v2/projects/$project_id/

Method

DELETE

Expected response code

204

URL parameters:

  • project_id – ID of an existing project to be deleted.

Example:

BASH
project_id=d4de3d64-77ca-11ee-a3a4-ef9b9d43eefb

curl -v \
    -X DELETE \
    -H "Authorization: apikey $API_USER:$API_KEY" \
    $COREDATA_BASE_URL/api/v2/projects/$project_id/

List Projects in a Space

List all Projects in an existing Space.

Endpoint:

URL

/api/v2/spaces/$space_id/projects/

Method

GET

Expected response code

200

Expected response type

JSON

Where:

  • space_id – ID of an existing space.

Example:

BASH
space_id=c6c574bc-7758-11ee-a909-cbd0373c1708

curl -v \
    -H "Authorization: apikey $API_USER:$API_KEY" \
    $COREDATA_BASE_URL/api/v2/spaces/$space_id/projects/

Add an existing Contact to a Project

It is possible to add an existing contact to an existing project using the Update Project endpoint.

Here is an example:

BASH
# Assume we have a project
project_id=ad2e105c-77c8-11ee-aeee-13451b1d7d84

# Get the contact ID of the project
curl -v \
    -H "Authorization: apikey $API_USER:$API_KEY" \
    $COREDATA_BASE_URL/api/v2/projects/$project_id/ | jq ".contacts"

# ...
# [
#  "73c2314c-7758-11ee-b86c-1b2d654e4cc1"
# ]

contact_id=73c2314c-7758-11ee-b86c-1b2d654e4cc1

# Assume we have another contact, not associated with the project yet. We have
# to update the project with the new list of contact including the new one.
new_contact_id=00ca5976-780c-11ee-9095-17836a4f851d

curl -v \
    -X PUT \
    -H "Authorization: apikey $API_USER:$API_KEY" \
    -H "Content-Type: application/json" \
    -d "{\"contacts\": [\"$contact_id\",\"$new_contact_id\"]}" \
    $COREDATA_BASE_URL/api/v2/projects/$project_id/

# Verify the project's contact list
curl -v \
    -H "Authorization: apikey $API_USER:$API_KEY" \
    $COREDATA_BASE_URL/api/v2/projects/$project_id/ | jq ".contacts"

# ...
# [
#  "73c2314c-7758-11ee-b86c-1b2d654e4cc1",
#  "00ca5976-780c-11ee-9095-17836a4f851d"
# ]

# ^ The project's contact list contains the new contact ID as well as the old one.

List Files in a Project

See Files [v2] | Get-Files-in-a-Project.

List Tasks in a Project

See Tasks | List-Tasks-in-a-Project.

List Folders in a Project

See Folders | List-Folders-in-a-Project.

Create Folder in a Project

See Folders | Create-a-Folder-in-a-Project.

Create Task in a Project

See Tasks | Create-Task-in-a-Project.

Create Comment for a Project

See Comments | Create-Comment.

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.