Forums API

Scope: ZohoProjects.forums.{Operation}

Operations: READ, CREATE, UPDATE, DELETE, ALL

Use the ALL operation to gain the scope for all the other operations like READ, CREATE, UPDATE, and DELETE at once.

All Forums
GET  /restapi/portal/[PORTALID]/projects/[PROJECTID]/forums/
Get Forum Details
GET  /restapi/portal/[PORTALID]/projects/[PROJECTID]/forums/[FORUMID]/
Add Forum
POST  /restapi/portal/[PORTALID]/projects/[PROJECTID]/forums/
Update Forum
POST  /restapi/portal/[PORTALID]/projects/[PROJECTID]/forums/[FORUMID]/
Delete Forum
DELETE  /restapi/portal/[PORTALID]/projects/[PROJECTID]/forums/[FORUMID]/
Follow Forum
POST  /restapi/portal/[PORTALID]/projects/[PROJECTID]/forums/[FORUMID]/follow                                      
Unfollow Forum
POST /restapi/portal/[PORTALID]/projects/[PROJECTID]/forums/[FORUMID]/unfollow
All Forum Categories
GET  /restapi/portal/[PORTALID]/projects/[PROJECTID]/categories/
Add Category
POST  /restapi/portal/[PORTALID]/projects/[PROJECTID]/categories/
All Forum Comments
GET  /restapi/portal/[PORTALID]/projects/[PROJECTID]/forums/[FORUMID]/comments/
Add Forum Comment
POST  /restapi/portal/[PORTALID]/projects/[PROJECTID]/forums/[FORUMID]/comments/
Update Forum Comment
POST  /restapi/portal/[PORTALID]/projects/[PROJECTID]/forums/[FORUMID]/comments/[COMMENTID]/
Select As Best Answer
POST  /restapi/portal/[PORTALID]/projects/[PROJECTID]/forums/[FORUMID]/comments/[COMMENTID]/markbestanswer
Unselect As Best Answer
DELETE  /restapi/portal/[PORTALID]/projects/[PROJECTID]/forums/[FORUMID]/comments/[COMMENTID]/markbestanswer
Delete Forum Category
DELETE /restapi/portal/[PORTALID]/projects/[PROJECTID]/categories/[CATEGORYID]/
Delete Forum Comment
DELETE  /restapi/portal/[PORTALID]/projects/[PROJECTID]/forums/[FORUMID]/comments/[COMMENTID]/

 All Forums

Gets all the forums in the given project.

GET  /restapi/portal/[PORTALID]/projects/[PROJECTID]/forums/

Scope: ZohoProjects.forums.READ

Request Parameters

indexintIndex number of the forum.
rangeintRange of the forums.
category_idLongID of the project category.

Sample Response

Status: 200 Success

Content Type: application/json;charset=utf-8
{
  "forums": [
    {
      "comment_count": 0,
      "post_date_long": 1299607469676,
      "flag": "external",
      "link": {
        "self": {
          "url": "https://projectsapi.zoho.com/restapi/portal/2063927/projects/170876000000307037/forums/170876000000307059/"
        }
      },
      "last_modified_date": "03-08-2011",
      "last_activity_date": "03-08-2011",
      "is_sticky_post": false,
      "type": "normal",
      "content": "want ideas for Credit Check redesign.",
      "last_activity_time_long": 1299607469676,
      "last_modified_time_long": 1299607469676,
      "last_modified_time_format": "03-08-2011 10:04:29 AM",
      "posted_person": "Helen Collins",
      "category_id": "170876000000307070",
      "last_activity_time_format": "03-08-2011 10:04:29 AM",
      "post_date": "03-08-2011",
      "is_announcement_post": false,
      "name": "Credit check",
      "posted_by": "639283127",
      "post_date_format": "03-08-2011 10:04:29 AM",
      "id": "170876000000307070"
    }
  ]
}

 Get Forum Details

Lists the forum details.

GET  /restapi/portal/[PORTALID]/projects/[PROJECTID]/forums/[FORUMID]/

Scope: ZohoProjects.forums.READ

Sample Response

Status: 200 Success

Content Type: application/json;charset=utf-8
{
  "forums": [
    {
      "comment_count": 0,
      "post_date_long": 1511302977000,
      "flag": "external",
      "attachments": [],
      "link": {
        "self": {
          "url": "https://projectsapi.zoho.com/restapi/portal/2063927/projects/170876000004921003/forums/170876000004922017/"
        }
      },
      "last_modified_date": "07-11-2018",
      "last_activity_date": "07-11-2018",
      "is_sticky_post": true,
      "type": "normal",
      "content": "Tendering is the process of making an offer, bid or proposal, or expressing interest in response to an invitation or request for tender. Organizations will seek other businesses to respond to a particular need, such as the supply of goods and services, and will select an offer or tender that meets their needs and provides the best value for money.",
      "last_activity_time_long": 1531301135246,
      "last_modified_time_long": 1531301135246,
      "last_modified_time_format": "07-11-2018 02:25:35 AM",
      "posted_person": "John Marsh",
      "followers": [
        {
          "name": "Helen Collins",
          "id": 639283127
        }
      ],
      "category_id": "170876000004922020",
      "last_activity_time_format": "07-11-2018 02:25:35 AM",
      "post_date": "11-21-2017",
      "is_announcement_post": false,
      "name": "Tender publication process and selection",
      "posted_by": "639282842",
      "post_date_format": "11-21-2017 02:22:57 PM",
      "id": "170876000004922020"
    }
  ]
}

 Add Forum

Adds the forum post.

POST  /restapi/portal/[PORTALID]/projects/[PROJECTID]/forums/

Scope: ZohoProjects.forums.CREATE

Request Parameters 

name*StringName of the forum post.
content*StringContent of the forum post.                    
category_id*LongID of the project category.
uploadfileFileFile to be uploaded in the forum.
notifyStringEnter the user mail IDs to be notified. (separate the mail IDs using comma.)
stickyBooleantrue/false (True if the forum is made as sticky post or false if not.)
announcementBooleantrue/false (True if the forum is posted as an announcement or false if not.)
flagStringinternal/external (Internal if the forum is visible only to the project users or external if it is visible to both project and client users.) 
typeStringquestion/normal (Question if it is a Q&A based or normal if it is a discussion.)

Sample Response

Status: 201 Created

Content Type: application/json;charset=utf-8
{
  "forums": [
    {
      "comment_count": 0,
      "post_date_long": 1531299115114,
      "flag": "external",
      "attachments": [
        {
          "file_url": "https://projectsapi.zoho.com/portal/zylker/apidl/saveAttachment/download?file=e33420f887dcfadb6fd381f204367f07f2b877b5af8e0a3930aa98d21f783d182b373685344292526861e64104f08b9eb2cb84e94a5990d8",
          "file_name": "Project_file.jpg",
          "is_image": true,
          "file_id": "170876000004922020"
        }
      ],
      "link": {
        "self": {
          "url": "https://projectsapi.zoho.com/restapi/portal/2063927/projects/170876000004921003/forums/170876000005334011/"
        }
      },
      "last_modified_date": "07-11-2018",
      "last_activity_date": "07-11-2018",
      "is_sticky_post": true,
      "type": "question",
      "content": "The software to track billing has entered the development phase.",
      "last_activity_time_long": 1531299115114,
      "last_modified_time_long": 1531299115114,
      "last_modified_time_format": "07-11-2018 01:51:55 AM",
      "posted_person": "Helen Collins",
      "followers": [],
      "category_id": "170876000004922020",
      "last_activity_time_format": "07-11-2018 01:51:55 AM",
      "post_date": "07-11-2018",
      "is_announcement_post": false,
      "name": "Software to track billing",
      "posted_by": "639283127",
      "post_date_format": "07-11-2018 01:51:55 AM",
      "id": "170876000005334000"
    }
  ]
}

Note:

To add attachments, set content-type as multipart/form-data in the body.

 Update Forum

Updates the forum post.

POST  /restapi/portal/[PORTALID]/projects/[PROJECTID]/forums/[FORUMID]/

Scope: ZohoProjects.forums.UPDATE

Request Parameters

name*StringName of the forum post.
content*StringContent of the forum post.
category_id*LongID of the project category.
uploadfileFileFile to be uploaded in the forum.
stickyStringtrue/false (To make the post as sticky or not.)
announcementStringtrue/false (To post the forum as announcement or not.)
flagStringinternal/external (Internal if the forum is visible only to the project users and External if it is visible to both project and client users.) 
typeStringquestion/normal (Question if it is Q&A based and Normal if it is a discussion.)

Sample Response

Status: 200 Success

Content Type: application/json;charset=utf-8
{
  "forums": [
    {
      "comment_count": 0,
      "post_date_long": 1531299115114,
      "flag": "internal",
      "attachments": [
        {
          "file_url": "https://projectsapi.zoho.com/portal/zylker/apidl/saveAttachment/download?file=e33420f887dcfadb6fd381f204367f07f2b877b5af8e0a3930aa98d21f783d182b373685344292526861e64104f08b9eb2cb84e94a5990d8",
          "file_name": "Projectfile.jpg",
          "is_image": true
          "file_id": "170876000004922020"
        }
      ],
      "link": {
        "self": {
          "url": "https://projectsapi.zoho.com/restapi/portal/2063927/projects/170876000004921003/forums/170876000005334011/"
        }
      },
      "last_modified_date": "07-11-2018",
      "last_activity_date": "07-11-2018",
      "is_sticky_post": false,
      "type": "question",
      "content": "ERP system has entered phase1. Any new discoveries or planning?",
      "last_activity_time_long": 1531300702342,
      "last_modified_time_long": 1531300702342,
      "last_modified_time_format": "07-11-2018 02:18:22 AM",
      "posted_person": "Helen Collins",
      "followers": [],
      "category_id": "170876000004922020",
      "last_activity_time_format": "07-11-2018 02:18:22 AM",
      "post_date": "07-11-2018",
      "is_announcement_post": true,
      "name": "ERP phase1",
      "posted_by": "639283127",
      "post_date_format": "07-11-2018 01:51:55 AM",
      "id": "170876000005334000"
    }
  ]
}

Note:

To add attachments, set content-type as multipart/form-data in the body.

 Delete Forum

Deletes the forum post.

DELETE  /restapi/portal/[PORTALID]/projects/[PROJECTID]/forums/[FORUMID]/

Scope: ZohoProjects.forums.DELETE

Sample Response

Status: 200 Success

Content Type: application/json;charset=utf-8
{
    "response": "Forum Deleted Successfully"
}

 Follow Forum

Follow a forum post.

POST  /restapi/portal/[PORTALID]/projects/[PROJECTID]/forums/[FORUMID]/follow

Scope: ZohoProjects.forums.UPDATE

Sample Response

Status: 200 Success

Content Type: application/json;charset=utf-8
{
    "response": "You are now following this forum"
}

 Unfollow Forum

Unfollow a forum post.

POST  /restapi/portal/[PORTALID]/projects/[PROJECTID]/forums/[FORUMID]/unfollow

Scope: ZohoProjects.forums.UPDATE

Sample Response

Status: 200 Success

Content Type: application/json;charset=utf-8
{
    "response": "You have unfollowed this forum"
}

 All Forum Categories

Gets all the forum categories.

GET  /restapi/portal/[PORTALID]/projects/[PROJECTID]/categories/

Scope: ZohoProjects.forums.READ

Sample Response

Status: 200 Success

Content Type: application/json;charset=utf-8
{
    "categories": [{
        "id": 170876000000147025,
        "name": "ERP Phase III"
    }]
}

 Add Category

Adds the forum category.

POST  /restapi/portal/[PORTALID]/projects/[PROJECTID]/categories/

Scope: ZohoProjects.forums.CREATE

Request Parameters

name*StringName of the forum category.

Sample Response

Status: 201 Created

Content Type: application/json;charset=utf-8
{
    "categories": [{
        "id": 170876000001849101,
        "name": "Inventory"
    }]
}

 All Forum Comments

Gets all the forum comments.

GET  /restapi/portal/[PORTALID]/projects/[PROJECTID]/forums/[FORUMID]/comments/

Scope: ZohoProjects.forums.READ

Request Parameters

indexStringIndex number of the forum comment.
rangeStringRange of the forum comments.

Sample Response

Status: 200 Success

Content Type: application/json;charset=utf-8
{
  "comments": [
    {
      "post_date_long": 1531302117426,
      "is_best_answer": false,
      "attachments": [],
      "level": "1",
      "type": "answer",
      "content": "The development phase is completed.",
      "parent_posted_by": "-",
      "posted_person": "Helen Collins",
      "parent_id": "-",
      "post_date": "07-11-2018",
      "posted_by": "639283127",
      "root_id": "-",
      "post_date_format": "07-11-2018 02:41:57 AM",
      "id": 170876000005334000
    },
    {
      "post_date_long": 1531302652259,
      "is_best_answer": false,
      "attachments": [
        {
          "file_url": "https://projectsapi.zoho.com/portal/zylker/apidl/saveAttachment/download?file=e33420f887dcfadb6fd381f204367f07a41e19f7fa980e1f30aa98d21f783d182b373685344292526861e64104f08b9eb2cb84e94a5990d8",
          "file_name": "Project_file2.jpg",
          "is_image": true
        }
      ],
      "level": "1",
      "type": "answer",
      "content": "Quality assurance for software is required",
      "parent_posted_by": "-",
      "posted_person": "Patricia Boyle",
      "parent_id": "-",
      "post_date": "07-11-2018",
      "posted_by": "639283127",
      "root_id": "-",
      "post_date_format": "07-11-2018 02:50:52 AM",
      "id": 170876000005334050
    },
    {
      "post_date_long": 1531302692463,
      "is_best_answer": false,
      "attachments": [],
      "level": "2",
      "type": "normal",
      "content": "Update software build",
      "parent_posted_by": "639283127",
      "posted_person": "Helen Collins",
      "parent_id": "170876000005334023",
      "post_date": "07-11-2018",
      "posted_by": "639283127",
      "root_id": "170876000005334023",
      "post_date_format": "07-11-2018 02:51:32 AM",
      "id": 170876000005335000
    }
  ]
}

 Add Forum Comment

Adds the forum comment.

POST  /restapi/portal/[PORTALID]/projects/[PROJECTID]/forums/[FORUMID]/comments/

Scope: ZohoProjects.forums.CREATE

Request Parameters

content*StringContent of the forum comment.
uploadfileFileFile to be attached.
typeStringquestion/answer (If it is not a question or answer, the default type is "normal")
notify_usersStringEnter the user mail IDs to be notified (separate the mail IDs using comma.)
parent_idString Enter comment ID that needs to be replied to. 

Sample Response

Status: 201 Created

Content Type: application/json;charset=utf-8
{
  "comments": [
    {
      "post_date_long": 1531302652259,
      "is_best_answer": false,
      "attachments": [
        {
          "file_url": "https://projectsapi.zoho.com/portal/zylker/apidl/saveAttachment/download?file=e33420f887dcfadb6fd381f204367f07a41e19f7fa980e1f30aa98d21f783d182b373685344292526861e64104f08b9eb2cb84e94a5990d8",
          "file_name": "Projectfile.jpg",
          "is_image": true
        }
      ],
      "level": "1",
      "type": "answer",
      "content": "File to be uploaded in the new task list.",
      "parent_posted_by": "-",
      "posted_person": "Helen Collins",
      "parent_id": "-",
      "post_date": "07-11-2018",
      "posted_by": "639283127",
      "root_id": "-",
      "post_date_format": "07-11-2018 02:50:52 AM",
      "id": 170876000005334050
    }
  ]
}

Note:

To add attachments, set content-type as multipart/form-data in the body.

 Update Forum Comment

Update a forum comment.

POST  /restapi/portal/[PORTALID]/projects/[PROJECTID]/forums/[FORUMID]/comments/[COMMENTID]/

Scope: ZohoProjects.forums.UPDATE

Request Parameters

content*StringContent of the updated forum comment.
uploadfileFileFile to be attached.

Sample Response

Status: 200 Success

Content Type: application/json;charset=utf-8
{
  "comments": [
    {
      "post_date_long": 1530278937899,
      "is_best_answer": false,
      "attachments": [],
      "level": "1",
      "type": "normal",
      "content": "To be uploaded in the new task link.",
      "parent_posted_by": "-",
      "posted_person": "Patricia Boyle",
      "parent_id": "-",
      "post_date": "06-29-2018",
      "posted_by": "667072933",
      "root_id": "-",
      "post_date_format": "06-29-2018 06:58:57 PM",
      "id": 1265885000000056000
    }
  ]
}

Note:

To add attachments, set content-type as multipart/form-data in the body.

 Select As Best Answer

Select a comment as best answer.

POST  /restapi/portal/[PORTALID]/projects/[PROJECTID]/forums/[FORUMID]/comments/[COMMENTID]/markbestanswer

Scope: ZohoProjects.forums.UPDATE

Sample Response

Status: 200 Success

Content Type: application/json;charset=utf-8
{
    "is_best_answer": true,
    "comment_id": 3000000014005
}

Note:

Only the forum owner can select or unselect a comment as best answer.

 Unselect As Best Answer

Unselect a comment as best answer.

DELETE  /restapi/portal/[PORTALID]/projects/[PROJECTID]/forums/[FORUMID]/comments/[COMMENTID]/markbestanswer

Scope: ZohoProjects.forums.UPDATE

Sample Response

Status: 200 Success

Content Type: application/json;charset=utf-8
{
    "is_best_answer": false,
    "comment_id": 3000000014005
}

Note:

Only the forum owner can select or unselect a comment as best answer.

 Delete Forum Category

Deletes a specific forum category.

DELETE  /restapi/portal/[PORTALID]/projects/[PROJECTID]/categories/[CATEGORYID]/

Scope: ZohoProjects.forums.DELETE

Sample Response

Status: 200 Success

Content Type: application/json;charset=utf-8
{
    "response": "Forum Category Deleted Successfully"
}

 Delete Forum Comment

Deletes a specific comment in a specific forum.

DELETE  /restapi/portal/[PORTALID]/projects/[PROJECTID]/forums/[FORUMID]/comments/[COMMENTID]/

Scope: ZohoProjects.forums.DELETE

Sample Response

Status: 200 Success

Content Type: application/json;charset=utf-8
{
    "response": "Forum Comment Deleted Successfully"
}