# Zoho Bug Tracker Integration via LowCodeAPI
## Overview
Bug tracking
## Base Endpoint
```
https://api.lowcodeapi.com/zohobugtracker/
```
## Authentication
LowCodeAPI handles authentication automatically. You only need to:
1. **Sign up** at [Zoho Bug Tracker](https://www.zoho.com/bugtracker)
2. **Get your credentials** from [credential page](https://accounts.zoho.com/developerconsole)
3. **Connect your account** in LowCodeAPI dashboard
4. **Use your `api_token`** in all requests
**Auth Type**: OAUTH2.0
## API Categories
- **Bugs** - 20 endpoints
- **Dashboard** - 3 endpoints
- **Documents and Folders** - 6 endpoints
- **Events** - 4 endpoints
- **Forums** - 16 endpoints
- **Milestones** - 6 endpoints
- **Portals ** - 1 endpoints
- **Projects** - 6 endpoints
- **Tags** - 6 endpoints
- **Timesheets** - 6 endpoints
- **Users** - 10 endpoints
## Common Endpoints
### Category: Bugs
#### All Bugs
**Method**: `GET` | **LowCodeAPI Path**: `/restapi/portal/portal_id/projects/project_id/bugs`
**Full URL**:
```
https://api.lowcodeapi.com/zohobugtracker/restapi/portal/portal_id/projects/project_id/bugs?index={index}&range={range}&statustype={statustype}&cview_id={cview_id}&sort_column={sort_column}&sort_order={sort_order}&status={status}&severity={severity}&classification={classification}&module={module}&milestone={milestone}&flag={flag}&assignee={assignee}&assignee_zpuid={assignee_zpuid}&escalation={escalation}&reporter={reporter}&affected={affected}&last_modified_time={last_modified_time}&reverse_order={reverse_order}&time={time}&api_token={api_token}
```
**Description**: Gets all the bugs in the given project
**Path Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`portal_id` | string | Yes | Portal ID |
|`project_id` | string | Yes | Project ID |
**Query Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`index` | number | No | Start index |
|`range` | number | No | Number of records (bugs) |
|`statustype` | string | No | Accepted values: open/closed |
|`cview_id` | number | No | Custom View ID |
|`sort_column` | string | No | Accepted values: created_time/last_modified_time/end_date |
|`sort_order` | string | No | Accepted Value: ascending/descending |
|`status` | array | No | Status IDs as comma separated array |
|`severity` | array | No | Severity IDs as comma separated array |
|`classification` | array | No | Classification IDs as comma separated array |
|`module` | array | No | Module IDs as comma separated array |
|`milestone` | array | No | Milestons IDs as comma separated array |
|`flag` | string | No | Accepted values: Internal/External |
|`assignee` | array | No | Specify ZUID of the assignee |
|`assignee_zpuid` | array | No | Specify ZPUID of the assignee |
|`escalation` | array | No | Escalation IDs as comma separated array |
|`reporter` | array | No | Reporter IDs as comma separated array |
|`affected` | array | No | Affected milestone IDs as comma separated array |
|`last_modified_time` | number | No | The time when the bug was last updated |
|`reverse_order` | boolean | No | Specify true if the bugs are to be displayed in reverse order, else false |
|`time` | array | No | Sort bugs by due date |
---
#### Bug Details
**Method**: `GET` | **LowCodeAPI Path**: `/restapi/portal/portal_id/projects/project_id/bugs/bug_id`
**Full URL**:
```
https://api.lowcodeapi.com/zohobugtracker/restapi/portal/portal_id/projects/project_id/bugs/bug_id?api_token={api_token}
```
**Description**: Gets the details of the bug
**Path Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`portal_id` | string | Yes | Portal ID |
|`project_id` | string | Yes | Project ID |
|`bug_id` | string | Yes | Bug ID |
---
#### Create a Bug
**Method**: `POST` | **LowCodeAPI Path**: `/restapi/portal/portal_id/projects/project_id/bugs`
**Full URL**:
```
https://api.lowcodeapi.com/zohobugtracker/restapi/portal/portal_id/projects/project_id/bugs?api_token={api_token}
```
**Description**: Creates a bug
**Path Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`portal_id` | string | Yes | Portal ID |
|`project_id` | string | Yes | Project ID |
**Request Body**:
```json
{
"title": "<string>"
}
```
---
#### Update a Bug
**Method**: `POST` | **LowCodeAPI Path**: `/restapi/portal/portal_id/projects/project_id/bugs/bug_id`
**Full URL**:
```
https://api.lowcodeapi.com/zohobugtracker/restapi/portal/portal_id/projects/project_id/bugs/bug_id?api_token={api_token}
```
**Description**: Updates the bug
**Path Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`portal_id` | string | Yes | Portal ID |
|`project_id` | string | Yes | Project ID |
|`bug_id` | string | Yes | Bug ID |
**Request Body**:
```json
{
"key": "value"
}
```
---
#### Delete a Bug
**Method**: `DELETE` | **LowCodeAPI Path**: `/restapi/portal/portal_id/projects/project_id/bugs/bug_id`
**Full URL**:
```
https://api.lowcodeapi.com/zohobugtracker/restapi/portal/portal_id/projects/project_id/bugs/bug_id?api_token={api_token}
```
**Description**: Deletes the bug
**Path Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`portal_id` | string | Yes | Portal ID |
|`project_id` | string | Yes | Project ID |
|`bug_id` | string | Yes | Bug ID |
---
#### Add Comment
**Method**: `POST` | **LowCodeAPI Path**: `/restapi/portal/portal_id/projects/project_id/bugs/bug_id/comments`
**Full URL**:
```
https://api.lowcodeapi.com/zohobugtracker/restapi/portal/portal_id/projects/project_id/bugs/bug_id/comments?api_token={api_token}
```
**Description**: Add comment to a bug
**Path Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`portal_id` | string | Yes | Portal ID |
|`project_id` | string | Yes | Project ID |
|`bug_id` | string | Yes | Bug ID |
**Request Body**:
```json
{
"content": "<string>"
}
```
---
#### Get Comment
**Method**: `GET` | **LowCodeAPI Path**: `/restapi/portal/portal_id/projects/project_id/bugs/bug_id/comments`
**Full URL**:
```
https://api.lowcodeapi.com/zohobugtracker/restapi/portal/portal_id/projects/project_id/bugs/bug_id/comments?index={index}&range={range}&api_token={api_token}
```
**Description**: Fetch comments for the bug
**Path Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`portal_id` | string | Yes | Portal ID |
|`project_id` | string | Yes | Project ID |
|`bug_id` | string | Yes | Bug ID |
**Query Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`index` | number | No | Start index |
|`range` | number | No | Range of bugs (Max limit 100) |
---
#### Get Comments for Mutiple Bugs
**Method**: `GET` | **LowCodeAPI Path**: `/restapi/portal/portal_id/projects/project_id/bugs/comments`
**Full URL**:
```
https://api.lowcodeapi.com/zohobugtracker/restapi/portal/portal_id/projects/project_id/bugs/comments?index={index}&range={range}&bug_ids={bug_ids}&api_token={api_token}
```
**Description**: Fetch comments for multiple bugs
**Path Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`portal_id` | string | Yes | Portal ID |
|`project_id` | string | Yes | Project ID |
**Query Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`index` | number | No | Start index |
|`range` | number | No | Range of comments (Max limit 50) |
|`bug_ids` | number | No | Bug IDs (Max limit is 25 bugs / request. Mandatory parameter) |
---
#### Delete Comment
**Method**: `DELETE` | **LowCodeAPI Path**: `/restapi/portal/portal_id/projects/project_id/bugs/bug_id/comments/comment_id`
**Full URL**:
```
https://api.lowcodeapi.com/zohobugtracker/restapi/portal/portal_id/projects/project_id/bugs/bug_id/comments/comment_id?api_token={api_token}
```
**Description**: Delete a bug's comment
**Path Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`portal_id` | string | Yes | Portal ID |
|`project_id` | string | Yes | Project ID |
|`bug_id` | string | Yes | Bug ID |
|`comment_id` | string | Yes | Comment ID |
---
#### Get Bug Timer
**Method**: `GET` | **LowCodeAPI Path**: `/restapi/portal/portal_id/projects/project_id/bugs/bug_id/timer`
**Full URL**:
```
https://api.lowcodeapi.com/zohobugtracker/restapi/portal/portal_id/projects/project_id/bugs/bug_id/timer?api_token={api_token}
```
**Description**: Get timer details for a bug
**Path Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`portal_id` | string | Yes | Portal ID |
|`project_id` | string | Yes | Project ID |
|`bug_id` | string | Yes | Bug ID |
---
#### Get Bug Custom Views
**Method**: `GET` | **LowCodeAPI Path**: `/restapi/portal/portal_id/projects/project_id/bugs/customviews`
**Full URL**:
```
https://api.lowcodeapi.com/zohobugtracker/restapi/portal/portal_id/projects/project_id/bugs/customviews?index={index}&range={range}&api_token={api_token}
```
**Description**: Get customviews for bugs
**Path Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`portal_id` | string | Yes | Portal ID |
|`project_id` | string | Yes | Project ID |
**Query Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`index` | number | No | Starting index of the bug |
|`range` | number | No | Number of bugs |
---
#### Get Bug Attachments
**Method**: `GET` | **LowCodeAPI Path**: `/restapi/portal/portal_id/projects/project_id/bugs/bug_id/attachments`
**Full URL**:
```
https://api.lowcodeapi.com/zohobugtracker/restapi/portal/portal_id/projects/project_id/bugs/bug_id/attachments?api_token={api_token}
```
**Description**: Get details of attachments for a bug
**Path Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`portal_id` | string | Yes | Portal ID |
|`project_id` | string | Yes | Project ID |
|`bug_id` | string | Yes | Bug ID |
---
#### Get Bug Resolution
**Method**: `GET` | **LowCodeAPI Path**: `/restapi/portal/portal_id/projects/project_id/bugs/bug_id/resolution`
**Full URL**:
```
https://api.lowcodeapi.com/zohobugtracker/restapi/portal/portal_id/projects/project_id/bugs/bug_id/resolution?api_token={api_token}
```
**Description**: Get bug's resolution
**Path Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`portal_id` | string | Yes | Portal ID |
|`project_id` | string | Yes | Project ID |
|`bug_id` | string | Yes | Bug ID |
---
#### Add Bug Follower
**Method**: `POST` | **LowCodeAPI Path**: `/restapi/portal/portal_id/projects/project_id/bugs/bug_id/bugfollowers`
**Full URL**:
```
https://api.lowcodeapi.com/zohobugtracker/restapi/portal/portal_id/projects/project_id/bugs/bug_id/bugfollowers?api_token={api_token}
```
**Description**: Add follower to a bug
**Path Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`portal_id` | string | Yes | Portal ID |
|`project_id` | string | Yes | Project ID |
|`bug_id` | string | Yes | Bug ID |
**Request Body**:
```json
{
"key": "value"
}
```
---
#### Get Bug Followers
**Method**: `GET` | **LowCodeAPI Path**: `/restapi/portal/portal_id/projects/project_id/bugs/bug_id/bugfollowers`
**Full URL**:
```
https://api.lowcodeapi.com/zohobugtracker/restapi/portal/portal_id/projects/project_id/bugs/bug_id/bugfollowers?api_token={api_token}
```
**Description**: Get list of followers for the bug
**Path Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`portal_id` | string | Yes | Portal ID |
|`project_id` | string | Yes | Project ID |
|`bug_id` | string | Yes | Bug ID |
---
*Note: Showing 15 of 20 endpoints in this category.*
---
### Category: Dashboard
#### Project Activities
**Method**: `GET` | **LowCodeAPI Path**: `/restapi/portal/portal_id/projects/project_id/activities`
**Full URL**:
```
https://api.lowcodeapi.com/zohobugtracker/restapi/portal/portal_id/projects/project_id/activities?index={index}&range={range}&api_token={api_token}
```
**Description**: List all the recent activities of the project
**Path Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`portal_id` | string | Yes | Portal ID |
|`project_id` | string | Yes | Project ID |
**Query Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`index` | number | No | Index number of the project activity |
|`range` | number | No | Range of the project activities |
---
#### Project Status
**Method**: `GET` | **LowCodeAPI Path**: `/restapi/portal/portal_id/projects/project_id/statuses`
**Full URL**:
```
https://api.lowcodeapi.com/zohobugtracker/restapi/portal/portal_id/projects/project_id/statuses?index={index}&range={range}&api_token={api_token}
```
**Description**: Gets the statuses for the given project
**Path Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`portal_id` | string | Yes | Portal ID |
|`project_id` | string | Yes | Project ID |
**Query Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`index` | number | No | Index number of the project status |
|`range` | number | No | Range of the project statuses |
---
#### Add Project Status
**Method**: `POST` | **LowCodeAPI Path**: `/restapi/portal/portal_id/projects/project_id/statuses`
**Full URL**:
```
https://api.lowcodeapi.com/zohobugtracker/restapi/portal/portal_id/projects/project_id/statuses?api_token={api_token}
```
**Description**: Adds a new status for the given project
**Path Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`portal_id` | string | Yes | Portal ID |
|`project_id` | string | Yes | Project ID |
**Request Body**:
```json
{
"content": "<string>"
}
```
---
### Category: Documents and Folders
#### All documents
**Method**: `GET` | **LowCodeAPI Path**: `/restapi/portal/portal_id/projects/project_id/documents`
**Full URL**:
```
https://api.lowcodeapi.com/zohobugtracker/restapi/portal/portal_id/projects/project_id/documents?index={index}&range={range}&folder_id={folder_id}&sort_column={sort_column}&sort_order={sort_order}&category={category}&action={action}&api_token={api_token}
```
**Description**: Gets all the documents in the given project
**Path Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`portal_id` | string | Yes | Portal ID |
|`project_id` | string | Yes | Project ID |
**Query Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`index` | number | No | Index number of the document |
|`range` | number | No | Range of the documents |
|`folder_id` | number | No | ID of the project folder |
|`sort_column` | string | No | Sort based on date order, kind or name |
|`sort_order` | string | No | Specify the sorting order(ascending or descending) |
|`category` | string | No | Document category |
|`action` | string | No | Range of the documents |
---
#### Version details of the document
**Method**: `GET` | **LowCodeAPI Path**: `/restapi/portal/portal_id/projects/project_id/documents/document_id`
**Full URL**:
```
https://api.lowcodeapi.com/zohobugtracker/restapi/portal/portal_id/projects/project_id/documents/document_id?version={version}&api_token={api_token}
```
**Description**: Fetch the version details of the document
**Path Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`portal_id` | string | Yes | Portal ID |
|`project_id` | string | Yes | Project ID |
|`document_id` | string | Yes | Document ID |
**Query Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`version` | string | No | Version of the document |
---
#### Add document
**Method**: `POST` | **LowCodeAPI Path**: `/restapi/portal/portal_id/projects/project_id/documents`
**Full URL**:
```
https://api.lowcodeapi.com/zohobugtracker/restapi/portal/portal_id/projects/project_id/documents?api_token={api_token}
```
**Description**: Add a document
**Path Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`portal_id` | string | Yes | Portal ID |
|`project_id` | string | Yes | Project ID |
---
#### Upload a document to the project
**Method**: `POST` | **LowCodeAPI Path**: `/restapi/portal/portal_id/projects/project_id/documents/document_id`
**Full URL**:
```
https://api.lowcodeapi.com/zohobugtracker/restapi/portal/portal_id/projects/project_id/documents/document_id?api_token={api_token}
```
**Description**: Uploads a document to the project
**Path Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`portal_id` | string | Yes | Portal ID |
|`project_id` | string | Yes | Project ID |
|`document_id` | string | Yes | Document ID |
**Request Body**:
```json
{
"uploaddoc": "<file>"
}
```
---
#### Delete document
**Method**: `DELETE` | **LowCodeAPI Path**: `/restapi/portal/portal_id/projects/project_id/documents/document_id`
**Full URL**:
```
https://api.lowcodeapi.com/zohobugtracker/restapi/portal/portal_id/projects/project_id/documents/document_id?api_token={api_token}
```
**Description**: Deletes the document
**Path Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`portal_id` | string | Yes | Portal ID |
|`project_id` | string | Yes | Project ID |
|`document_id` | string | Yes | Document ID |
---
#### All folders
**Method**: `GET` | **LowCodeAPI Path**: `/restapi/portal/portal_id/projects/project_id/folders`
**Full URL**:
```
https://api.lowcodeapi.com/zohobugtracker/restapi/portal/portal_id/projects/project_id/folders?api_token={api_token}
```
**Description**: Returns all the folders from the project specified
**Path Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`portal_id` | string | Yes | Portal ID |
|`project_id` | string | Yes | Project ID |
---
### Category: Events
#### All Events
**Method**: `GET` | **LowCodeAPI Path**: `/restapi/portal/portal_id/projects/project_id/events`
**Full URL**:
```
https://api.lowcodeapi.com/zohobugtracker/restapi/portal/portal_id/projects/project_id/events?index={index}&range={range}&status={status}&api_token={api_token}
```
**Description**: Gets all the events in the given project
**Path Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`portal_id` | string | Yes | Portal ID |
|`project_id` | string | Yes | Project ID |
**Query Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`index` | number | No | Index number of the event |
|`range` | number | No | Range of the events |
|`status` | string | Yes | Status of the event must be open or closed |
---
#### Add Event
**Method**: `POST` | **LowCodeAPI Path**: `/restapi/portal/portal_id/projects/project_id/events`
**Full URL**:
```
https://api.lowcodeapi.com/zohobugtracker/restapi/portal/portal_id/projects/project_id/events?api_token={api_token}
```
**Description**: Add event
**Path Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`portal_id` | string | Yes | Portal ID |
|`project_id` | string | Yes | Project ID |
**Request Body**:
```json
{
"title": "<string>",
"date": "<string >",
"hour": "<string>",
"minutes": "<string>",
"ampm": "<string>",
"duration_hour": "<string>",
"duration_mins": "<string>",
"participants": "<number>"
}
```
---
#### Update Event
**Method**: `POST` | **LowCodeAPI Path**: `/restapi/portal/portal_id/projects/project_id/events/event_id`
**Full URL**:
```
https://api.lowcodeapi.com/zohobugtracker/restapi/portal/portal_id/projects/project_id/events/event_id?api_token={api_token}
```
**Description**: Update event
**Path Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`portal_id` | string | Yes | Portal ID |
|`project_id` | string | Yes | Project ID |
|`event_id` | string | Yes | Event ID |
**Request Body**:
```json
{
"title": "<string>",
"date": "<string >",
"hour": "<string>",
"minutes": "<string>",
"ampm": "<string>",
"duration_hour": "<string>",
"duration_mins": "<string>",
"participants": "<number>"
}
```
---
#### Delete Event
**Method**: `DELETE` | **LowCodeAPI Path**: `/restapi/portal/portal_id/projects/project_id/events/event_id`
**Full URL**:
```
https://api.lowcodeapi.com/zohobugtracker/restapi/portal/portal_id/projects/project_id/events/event_id?api_token={api_token}
```
**Description**: Delete event
**Path Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`portal_id` | string | Yes | Portal ID |
|`project_id` | string | Yes | Project ID |
|`event_id` | string | Yes | Event ID |
---
### Category: Forums
#### All Forums
**Method**: `GET` | **LowCodeAPI Path**: `/restapi/portal/portal_id/projects/project_id/forums`
**Full URL**:
```
https://api.lowcodeapi.com/zohobugtracker/restapi/portal/portal_id/projects/project_id/forums?index={index}&range={range}&category_id={category_id}&api_token={api_token}
```
**Description**: Gets all the forums in the given project
**Path Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`portal_id` | string | Yes | Portal ID |
|`project_id` | string | Yes | Project ID |
**Query Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`index` | number | No | Index number of the forum |
|`range` | number | No | Range of the forums |
|`category_id` | number | No | ID of the project category |
---
#### Get Forum Details
**Method**: `GET` | **LowCodeAPI Path**: `/restapi/portal/portal_id/projects/project_id/forums/forum_id`
**Full URL**:
```
https://api.lowcodeapi.com/zohobugtracker/restapi/portal/portal_id/projects/project_id/forums/forum_id?api_token={api_token}
```
**Description**: Lists the forum details
**Path Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`portal_id` | string | Yes | Portal ID |
|`project_id` | string | Yes | Project ID |
|`forum_id` | string | Yes | Forum ID |
---
#### Add Forum
**Method**: `POST` | **LowCodeAPI Path**: `/restapi/portal/portal_id/projects/project_id/forums`
**Full URL**:
```
https://api.lowcodeapi.com/zohobugtracker/restapi/portal/portal_id/projects/project_id/forums?api_token={api_token}
```
**Description**: Adds the forum post
**Path Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`portal_id` | string | Yes | Portal ID |
|`project_id` | string | Yes | Project ID |
**Request Body**:
```json
{
"name": "<string>",
"content": "<string>",
"category_id": "<number>"
}
```
---
#### Update Forum
**Method**: `POST` | **LowCodeAPI Path**: `/restapi/portal/portal_id/projects/project_id/forums/forum_id`
**Full URL**:
```
https://api.lowcodeapi.com/zohobugtracker/restapi/portal/portal_id/projects/project_id/forums/forum_id?api_token={api_token}
```
**Description**: Updates the forum post
**Path Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`portal_id` | string | Yes | Portal ID |
|`project_id` | string | Yes | Project ID |
|`forum_id` | string | Yes | Forum ID |
**Request Body**:
```json
{
"name": "<string>",
"content": "<string>",
"category_id": "<number>"
}
```
---
#### Delete Forum
**Method**: `DELETE` | **LowCodeAPI Path**: `/restapi/portal/portal_id/projects/project_id/forums/forum_id`
**Full URL**:
```
https://api.lowcodeapi.com/zohobugtracker/restapi/portal/portal_id/projects/project_id/forums/forum_id?api_token={api_token}
```
**Description**: Deletes the forum post
**Path Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`portal_id` | string | Yes | Portal ID |
|`project_id` | string | Yes | Project ID |
|`forum_id` | string | Yes | Forum ID |
---
#### Follow Forum
**Method**: `POST` | **LowCodeAPI Path**: `/restapi/portal/portal_id/projects/project_id/forums/forum_id/follow`
**Full URL**:
```
https://api.lowcodeapi.com/zohobugtracker/restapi/portal/portal_id/projects/project_id/forums/forum_id/follow?api_token={api_token}
```
**Description**: Follow a forum post
**Path Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`portal_id` | string | Yes | Portal ID |
|`project_id` | string | Yes | Project ID |
|`forum_id` | string | Yes | Forum ID |
---
#### Unfollow Forum
**Method**: `POST` | **LowCodeAPI Path**: `/restapi/portal/portal_id/projects/project_id/forums/forum_id/unfollow`
**Full URL**:
```
https://api.lowcodeapi.com/zohobugtracker/restapi/portal/portal_id/projects/project_id/forums/forum_id/unfollow?api_token={api_token}
```
**Description**: Unfollow a forum post
**Path Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`portal_id` | string | Yes | Portal ID |
|`project_id` | string | Yes | Project ID |
|`forum_id` | string | Yes | Forum ID |
---
#### All Forum Categories
**Method**: `GET` | **LowCodeAPI Path**: `/restapi/portal/portal_id/projects/project_id/categories`
**Full URL**:
```
https://api.lowcodeapi.com/zohobugtracker/restapi/portal/portal_id/projects/project_id/categories?api_token={api_token}
```
**Description**: Gets all the forum categories
**Path Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`portal_id` | string | Yes | Portal ID |
|`project_id` | string | Yes | Project ID |
---
#### Add Category
**Method**: `POST` | **LowCodeAPI Path**: `/restapi/portal/portal_id/projects/project_id/categories`
**Full URL**:
```
https://api.lowcodeapi.com/zohobugtracker/restapi/portal/portal_id/projects/project_id/categories?api_token={api_token}
```
**Description**: Adds the forum category
**Path Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`portal_id` | string | Yes | Portal ID |
|`project_id` | string | Yes | Project ID |
**Request Body**:
```json
{
"name": "<string>"
}
```
---
#### All Forum Comments
**Method**: `GET` | **LowCodeAPI Path**: `/restapi/portal/portal_id/projects/project_id/forums/forum_id/comments`
**Full URL**:
```
https://api.lowcodeapi.com/zohobugtracker/restapi/portal/portal_id/projects/project_id/forums/forum_id/comments?index={index}&range={range}&api_token={api_token}
```
**Description**: Gets all the forum comments
**Path Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`portal_id` | string | Yes | Portal ID |
|`project_id` | string | Yes | Project ID |
|`forum_id` | string | Yes | Forum ID |
**Query Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`index` | string | No | Index number of the forum comment |
|`range` | string | No | Range of the forum comments |
---
#### Add Forum Comment
**Method**: `POST` | **LowCodeAPI Path**: `/restapi/portal/portal_id/projects/project_id/forums/forum_id/comments`
**Full URL**:
```
https://api.lowcodeapi.com/zohobugtracker/restapi/portal/portal_id/projects/project_id/forums/forum_id/comments?api_token={api_token}
```
**Description**: Adds the forum comment
**Path Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`portal_id` | string | Yes | Portal ID |
|`project_id` | string | Yes | Project ID |
|`forum_id` | string | Yes | Forum ID |
**Request Body**:
```json
{
"content": "<string>"
}
```
---
#### Update Forum Comment
**Method**: `POST` | **LowCodeAPI Path**: `/restapi/portal/portal_id/projects/project_id/forums/forum_id/comments/comment_id`
**Full URL**:
```
https://api.lowcodeapi.com/zohobugtracker/restapi/portal/portal_id/projects/project_id/forums/forum_id/comments/comment_id?api_token={api_token}
```
**Description**: Update a forum comment
**Path Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`portal_id` | string | Yes | Portal ID |
|`project_id` | string | Yes | Project ID |
|`forum_id` | string | Yes | Forum ID |
|`comment_id` | string | Yes | Comment ID |
**Request Body**:
```json
{
"content": "<string>"
}
```
---
#### Select As Best Answer
**Method**: `POST` | **LowCodeAPI Path**: `/restapi/portal/portal_id/projects/project_id/forums/forum_id/comments/comment_id/markbestan`
**Full URL**:
```
https://api.lowcodeapi.com/zohobugtracker/restapi/portal/portal_id/projects/project_id/forums/forum_id/comments/comment_id/markbestan?api_token={api_token}
```
**Description**: Select a comment as best answer
**Path Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`portal_id` | string | Yes | Portal ID |
|`project_id` | string | Yes | Project ID |
|`forum_id` | string | Yes | Forum ID |
|`comment_id` | string | Yes | Comment ID |
---
#### Unselect As Best Answer
**Method**: `DELETE` | **LowCodeAPI Path**: `/restapi/portal/portal_id/projects/project_id/forums/forum_id/comments/comment_id/markbesta`
**Full URL**:
```
https://api.lowcodeapi.com/zohobugtracker/restapi/portal/portal_id/projects/project_id/forums/forum_id/comments/comment_id/markbesta?api_token={api_token}
```
**Description**: Unselect a comment as best answer
**Path Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`portal_id` | string | Yes | Portal ID |
|`project_id` | string | Yes | Project ID |
|`forum_id` | string | Yes | Forum ID |
|`comment_id` | string | Yes | Comment ID |
---
#### Delete Forum Category
**Method**: `DELETE` | **LowCodeAPI Path**: `/restapi/portal/portal_id/projects/project_id/categories/category_id`
**Full URL**:
```
https://api.lowcodeapi.com/zohobugtracker/restapi/portal/portal_id/projects/project_id/categories/category_id?api_token={api_token}
```
**Description**: Deletes a specific forum category
**Path Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`portal_id` | string | Yes | Portal ID |
|`project_id` | string | Yes | Project ID |
|`category_id` | string | Yes | Category ID |
---
*Note: Showing 15 of 16 endpoints in this category.*
---
### Category: Milestones
#### All Milestones
**Method**: `GET` | **LowCodeAPI Path**: `/restapi/portal/portal_id/projects/project_id/milestones`
**Full URL**:
```
https://api.lowcodeapi.com/zohobugtracker/restapi/portal/portal_id/projects/project_id/milestones?index={index}&range={range}&status={status}&display_type={display_type}&flag={flag}&owner={owner}&owner_zpuid={owner_zpuid}&api_token={api_token}
```
**Description**: Get all the milestones in the given project
**Path Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`portal_id` | string | Yes | Portal ID |
|`project_id` | string | Yes | Project ID |
**Query Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`index` | number | No | Index number of the milestone |
|`range` | number | No | Range of the milestones |
|`status` | string | No | Status of the milestone must be all or completed or notcompleted |
|`display_type` | string | No | Milestone type must be all or upcoming or delayed |
|`flag` | string | No | Milestone flag must be allflag or internal or external |
|`owner` | string | No | Specify ZUID of the owner |
|`owner_zpuid` | number | No | Specify ZPUID of the owner |
---
#### Milestone Details
**Method**: `GET` | **LowCodeAPI Path**: `/restapi/portal/portal_id/projects/project_id/milestones/milestone_id`
**Full URL**:
```
https://api.lowcodeapi.com/zohobugtracker/restapi/portal/portal_id/projects/project_id/milestones/milestone_id?api_token={api_token}
```
**Description**: Get all the details of the milestone
**Path Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`portal_id` | string | Yes | Portal ID |
|`project_id` | string | Yes | Project ID |
|`milestone_id` | string | Yes | Milestone ID |
---
#### Create Milestone
**Method**: `POST` | **LowCodeAPI Path**: `/restapi/portal/portal_id/projects/project_id/milestones`
**Full URL**:
```
https://api.lowcodeapi.com/zohobugtracker/restapi/portal/portal_id/projects/project_id/milestones?api_token={api_token}
```
**Description**: Create Milestone
**Path Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`portal_id` | string | Yes | Portal ID |
|`project_id` | string | Yes | Project ID |
**Request Body**:
```json
{
"name": "<string >",
"start_date": "<string>",
"end_date": "<string>",
"owner": "<number>",
"flag": "<string>"
}
```
---
#### Update Milestone
**Method**: `POST` | **LowCodeAPI Path**: `/restapi/portal/portal_id/projects/project_id/milestones/milestone_id`
**Full URL**:
```
https://api.lowcodeapi.com/zohobugtracker/restapi/portal/portal_id/projects/project_id/milestones/milestone_id?api_token={api_token}
```
**Description**: Update Milestone
**Path Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`portal_id` | string | Yes | Portal ID |
|`project_id` | string | Yes | Project ID |
|`milestone_id` | string | Yes | Milestone ID |
**Request Body**:
```json
{
"name": "<string >",
"start_date": "<string>",
"end_date": "<string>",
"owner": "<number>",
"flag": "<string>"
}
```
---
#### Update Milestone Status
**Method**: `POST` | **LowCodeAPI Path**: `/restapi/portal/portal_id/projects/project_id/milestones/milestone_id/status`
**Full URL**:
```
https://api.lowcodeapi.com/zohobugtracker/restapi/portal/portal_id/projects/project_id/milestones/milestone_id/status?api_token={api_token}
```
**Description**: Update Milestone Status
**Path Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`portal_id` | string | Yes | Portal ID |
|`project_id` | string | Yes | Project ID |
|`milestone_id` | string | Yes | Milestone ID |
**Request Body**:
```json
{
"status": "<number>"
}
```
---
#### Delete a Milestone
**Method**: `DELETE` | **LowCodeAPI Path**: `/restapi/portal/portal_id/projects/project_id/milestones/milestone_id`
**Full URL**:
```
https://api.lowcodeapi.com/zohobugtracker/restapi/portal/portal_id/projects/project_id/milestones/milestone_id?api_token={api_token}
```
**Description**: Delete Milestone
**Path Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`portal_id` | string | Yes | Portal ID |
|`project_id` | string | Yes | Project ID |
|`milestone_id` | string | Yes | Milestone ID |
---
### Category: Portals
#### All Portals
**Method**: `GET` | **LowCodeAPI Path**: `/restapi/portals`
**Full URL**:
```
https://api.lowcodeapi.com/zohobugtracker/restapi/portals?api_token={api_token}
```
**Description**: Gets all the portals for the logged-in user
---
### Category: Projects
#### All Projects
**Method**: `GET` | **LowCodeAPI Path**: `/restapi/portal/portal_id/projects`
**Full URL**:
```
https://api.lowcodeapi.com/zohobugtracker/restapi/portal/portal_id/projects?index={index}&range={range}&status={status}&sort_column={sort_column}&sort_order={sort_order}&api_token={api_token}
```
**Description**: Get all the projects in the portal for the logged in user
**Path Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`portal_id` | string | Yes | Portal ID |
**Query Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`index` | number | No | Index number of the project |
|`range` | number | No | Range of the projects |
|`status` | string | No | Status of the project must be active or archived or template |
|`sort_column` | string | No | Sort projects using the last modified time or time of creation |
|`sort_order` | string | No | Sort in ascending / descending order |
---
#### Project Details
**Method**: `GET` | **LowCodeAPI Path**: `/restapi/portal/portal_id/projects/project_id`
**Full URL**:
```
https://api.lowcodeapi.com/zohobugtracker/restapi/portal/portal_id/projects/project_id?api_token={api_token}
```
**Description**: Lists all the details of the project
**Path Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`portal_id` | string | Yes | Portal ID |
|`project_id` | string | Yes | Project ID |
---
#### Get Project Custom Fields
**Method**: `GET` | **LowCodeAPI Path**: `/restapi/portal/portal_id/projects/customfields`
**Full URL**:
```
https://api.lowcodeapi.com/zohobugtracker/restapi/portal/portal_id/projects/customfields?api_token={api_token}
```
**Description**: Gets all the project custom fields
**Path Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`portal_id` | string | Yes | Portal ID |
---
#### Create a Project
**Method**: `POST` | **LowCodeAPI Path**: `/restapi/portal/portal_id/projects`
**Full URL**:
```
https://api.lowcodeapi.com/zohobugtracker/restapi/portal/portal_id/projects?api_token={api_token}
```
**Description**: Create a Project
**Path Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`portal_id` | string | Yes | Portal ID |
**Request Body**:
```json
{
"name": "<string >"
}
```
---
#### Update a Project
**Method**: `POST` | **LowCodeAPI Path**: `/restapi/portal/portal_id/projects/project_id`
**Full URL**:
```
https://api.lowcodeapi.com/zohobugtracker/restapi/portal/portal_id/projects/project_id?api_token={api_token}
```
**Description**: Update a Project
**Path Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`portal_id` | string | Yes | Portal ID |
|`project_id` | string | Yes | Project ID |
**Request Body**:
```json
{
"key": "value"
}
```
---
#### Delete a Project
**Method**: `DELETE` | **LowCodeAPI Path**: `/restapi/portal/portal_id/projects/project_id`
**Full URL**:
```
https://api.lowcodeapi.com/zohobugtracker/restapi/portal/portal_id/projects/project_id?api_token={api_token}
```
**Description**: Delete a Project
**Path Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`portal_id` | string | Yes | Portal ID |
|`project_id` | string | Yes | Project ID |
---
### Category: Tags
#### Get All Tags
**Method**: `GET` | **LowCodeAPI Path**: `/api/v3/portal/portal_id/tags`
**Full URL**:
```
https://api.lowcodeapi.com/zohobugtracker/api/v3/portal/portal_id/tags?index={index}&range={range}&api_token={api_token}
```
**Description**: Fetches all the tags present in a specific portal
**Path Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`portal_id` | string | Yes | Portal ID |
**Query Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`index` | number | No | Index number of the tag |
|`range` | number | No | Range of the tags |
---
#### Create Tags
**Method**: `POST` | **LowCodeAPI Path**: `/api/v3/portal/portal_id/tags`
**Full URL**:
```
https://api.lowcodeapi.com/zohobugtracker/api/v3/portal/portal_id/tags?api_token={api_token}
```
**Description**: Creates one or more tags for a specific portal
**Path Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`portal_id` | string | Yes | Portal ID |
**Request Body**:
```json
{
"key": "value"
}
```
---
#### Update Tag
**Method**: `PATCH` | **LowCodeAPI Path**: `/api/v3/portal/portal_id/tags/tag_id`
**Full URL**:
```
https://api.lowcodeapi.com/zohobugtracker/api/v3/portal/portal_id/tags/tag_id?api_token={api_token}
```
**Description**: Updates a specific tag present in a specific portal
**Path Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`portal_id` | string | Yes | Portal ID |
|`tag_id` | string | Yes | Tag ID |
**Request Body**:
```json
{
"key": "value"
}
```
---
#### Delete Tag
**Method**: `DELETE` | **LowCodeAPI Path**: `/api/v3/portal/portal_id/tags/tag_id`
**Full URL**:
```
https://api.lowcodeapi.com/zohobugtracker/api/v3/portal/portal_id/tags/tag_id?api_token={api_token}
```
**Description**: Deletes a specific tag from a specific portal
**Path Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`portal_id` | string | Yes | Portal ID |
|`tag_id` | string | Yes | Tag ID |
---
#### Dissociate Tag
**Method**: `POST` | **LowCodeAPI Path**: `/api/v3/portal/portal_id/projects/project_id/tags/associate`
**Full URL**:
```
https://api.lowcodeapi.com/zohobugtracker/api/v3/portal/portal_id/projects/project_id/tags/associate?api_token={api_token}
```
**Description**: Dissociates a tag from a specific entity in a specific project
**Path Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`portal_id` | string | Yes | Portal ID |
|`project_id` | string | Yes | Project ID |
**Request Body**:
```json
{
"key": "value"
}
```
---
#### Get Tag Results
**Method**: `GET` | **LowCodeAPI Path**: `/api/v3/portal/portal_id/globaltags/search`
**Full URL**:
```
https://api.lowcodeapi.com/zohobugtracker/api/v3/portal/portal_id/globaltags/search?tag_id={tag_id}&index={index}&range={range}&filter={filter}&api_token={api_token}
```
**Description**: Fetches the tag results across the portal
**Path Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`portal_id` | string | Yes | Portal ID |
**Query Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`tag_id` | number | No | The unique identifier for a tag |
|`index` | number | No | The index number of the tags |
|`range` | number | No | The range of the tags |
|`filter` | string | No | The JSON has the project's name, status, and module |
---
### Category: Timesheets
#### All Time Logs
**Method**: `GET` | **LowCodeAPI Path**: `/restapi/portal/portal_id/projects/project_id/logs`
**Full URL**:
```
https://api.lowcodeapi.com/zohobugtracker/restapi/portal/portal_id/projects/project_id/logs?index={index}&range={range}&users_list={users_list}&view_type={view_type}&date={date}&bill_status={bill_status}&component_type={component_type}&api_token={api_token}
```
**Description**: Gets all the time logs in the given project
**Path Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`portal_id` | string | Yes | Portal ID |
|`project_id` | string | Yes | Project ID |
**Query Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`index` | number | No | Index of the time log |
|`range` | number | No | Range of the time logs |
|`users_list` | number | Yes | User of the time logs must be provided as all or user ID. For multiple users, the user ID must be separated by commas |
|`view_type` | string | Yes | View type of the timesheet must be provided as day or week or month |
|`date` | string | Yes | Date of the timesheet view type |
|`bill_status` | string | Yes | Timesheet billable status must be provided as All or Billable or Non Billable |
|`component_type` | string | Yes | Type of the component must be provided as bug or general |
---
#### Add Time Log for a Bug
**Method**: `POST` | **LowCodeAPI Path**: `/restapi/portal/portal_id/projects/project_id/bugs/bug_id/logs`
**Full URL**:
```
https://api.lowcodeapi.com/zohobugtracker/restapi/portal/portal_id/projects/project_id/bugs/bug_id/logs?api_token={api_token}
```
**Description**: Adds the time log to a bug
**Path Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`portal_id` | string | Yes | Portal ID |
|`project_id` | string | Yes | Project ID |
|`bug_id` | string | Yes | Bug ID |
**Request Body**:
```json
{
"date": "<string>",
"bill_status": "<string>",
"hours": "<string>"
}
```
---
#### Update Time Log for a Bug
**Method**: `POST` | **LowCodeAPI Path**: `/restapi/portal/portal_id/projects/project_id/bugs/bug_id/logs/log_id`
**Full URL**:
```
https://api.lowcodeapi.com/zohobugtracker/restapi/portal/portal_id/projects/project_id/bugs/bug_id/logs/log_id?api_token={api_token}
```
**Description**: Updates the time log for a bug
**Path Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`portal_id` | string | Yes | Portal ID |
|`project_id` | string | Yes | Project ID |
|`bug_id` | string | Yes | Bug ID |
|`log_id` | string | Yes | Log ID |
**Request Body**:
```json
{
"date": "<string>",
"bill_status": "<string>",
"hours": "<string>"
}
```
---
#### Approve Time Log for a Bug
**Method**: `POST` | **LowCodeAPI Path**: `/restapi/portal/portal_id/projects/project_id/bugs/bug_id/logs/log_id/approval`
**Full URL**:
```
https://api.lowcodeapi.com/zohobugtracker/restapi/portal/portal_id/projects/project_id/bugs/bug_id/logs/log_id/approval?api_token={api_token}
```
**Description**: Approve time log for a bug
**Path Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`portal_id` | string | Yes | Portal ID |
|`project_id` | string | Yes | Project ID |
|`bug_id` | string | Yes | Bug ID |
|`log_id` | string | Yes | Log ID |
**Request Body**:
```json
{
"key": "value"
}
```
---
#### Delete Time Log for a Bug
**Method**: `DELETE` | **LowCodeAPI Path**: `/restapi/portal/portal_id/projects/project_id/bugs/bug_id/logs/log_id`
**Full URL**:
```
https://api.lowcodeapi.com/zohobugtracker/restapi/portal/portal_id/projects/project_id/bugs/bug_id/logs/log_id?api_token={api_token}
```
**Description**: Deletes the time log for a bug
**Path Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`portal_id` | string | Yes | Portal ID |
|`project_id` | string | Yes | Project ID |
|`bug_id` | string | Yes | Bug ID |
|`log_id` | string | Yes | Log ID |
---
#### Approve Time for a General Log
**Method**: `POST` | **LowCodeAPI Path**: `/restapi/portal/portal_id/projects/project_id/logs/log_id/approval`
**Full URL**:
```
https://api.lowcodeapi.com/zohobugtracker/restapi/portal/portal_id/projects/project_id/logs/log_id/approval?api_token={api_token}
```
**Description**: Approve general time log
**Path Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`portal_id` | string | Yes | Portal ID |
|`project_id` | string | Yes | Project ID |
|`log_id` | string | Yes | Log ID |
**Request Body**:
```json
{
"key": "value"
}
```
---
### Category: Users
#### Get project users
**Method**: `GET` | **LowCodeAPI Path**: `/restapi/portal/portal_id/projects/project_id/users`
**Full URL**:
```
https://api.lowcodeapi.com/zohobugtracker/restapi/portal/portal_id/projects/project_id/users?user_type={user_type}&api_token={api_token}
```
**Description**: Gets the details of all the users in a specific project
**Path Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`portal_id` | string | Yes | Portal ID |
|`project_id` | string | Yes | Project ID |
**Query Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`user_type` | string | No | Availability status of the userAllowed values: active,inactiveallBy default, the active users will be listed |
---
#### Add Users to a Project
**Method**: `POST` | **LowCodeAPI Path**: `/restapi/portal/portal_id/projects/project_id/users`
**Full URL**:
```
https://api.lowcodeapi.com/zohobugtracker/restapi/portal/portal_id/projects/project_id/users?api_token={api_token}
```
**Description**: Adds users to a specific project
**Path Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`portal_id` | string | Yes | Portal ID |
|`project_id` | string | Yes | Project ID |
**Request Body**:
```json
{
"key": "value"
}
```
---
#### Add Users to a Portal
**Method**: `POST` | **LowCodeAPI Path**: `/restapi/portal/portal_id/users`
**Full URL**:
```
https://api.lowcodeapi.com/zohobugtracker/restapi/portal/portal_id/users?api_token={api_token}
```
**Description**: Adds users to a portal
**Path Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`portal_id` | string | Yes | Portal ID |
**Request Body**:
```json
{
"key": "value"
}
```
---
#### Update Users in a Project
**Method**: `POST` | **LowCodeAPI Path**: `/restapi/portal/portal_id/projects/project_id/users/user_id`
**Full URL**:
```
https://api.lowcodeapi.com/zohobugtracker/restapi/portal/portal_id/projects/project_id/users/user_id?api_token={api_token}
```
**Description**: Updates the details of a specific user in a project
**Path Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`portal_id` | string | Yes | Portal ID |
|`project_id` | string | Yes | Project ID |
|`user_id` | string | Yes | User ID |
**Request Body**:
```json
{
"key": "value"
}
```
---
#### Delete User from a Project
**Method**: `DELETE` | **LowCodeAPI Path**: `/restapi/portal/portal_id/project/project_id/users/user_id`
**Full URL**:
```
https://api.lowcodeapi.com/zohobugtracker/restapi/portal/portal_id/project/project_id/users/user_id?api_token={api_token}
```
**Description**: Deletes the user from a project
**Path Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`portal_id` | string | Yes | Portal ID |
|`project_id` | string | Yes | Project ID |
|`user_id` | string | Yes | User ID |
---
#### Get remaining no. of users in a portal
**Method**: `GET` | **LowCodeAPI Path**: `/restapi/portal/portal_id/users/availcount`
**Full URL**:
```
https://api.lowcodeapi.com/zohobugtracker/restapi/portal/portal_id/users/availcount?api_token={api_token}
```
**Description**: Fetches the remaining no. of users to be added in a specific portal
**Path Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`portal_id` | string | Yes | Portal ID |
---
#### Get portal users
**Method**: `GET` | **LowCodeAPI Path**: `/restapi/portal/portal_id/users`
**Full URL**:
```
https://api.lowcodeapi.com/zohobugtracker/restapi/portal/portal_id/users?user_type={user_type}&api_token={api_token}
```
**Description**: Gets the details of all users in a specific portal
**Path Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`portal_id` | string | Yes | Portal ID |
**Query Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`user_type` | string | No | Availability status of the user Allowed values: active, inactive, all By default, the active users will be listed |
---
#### Delete User from a Portal
**Method**: `DELETE` | **LowCodeAPI Path**: `/restapi/portal/portal_id/users/user_id`
**Full URL**:
```
https://api.lowcodeapi.com/zohobugtracker/restapi/portal/portal_id/users/user_id?api_token={api_token}
```
**Description**: Deletes the user from a portal
**Path Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`portal_id` | string | Yes | Portal ID |
|`user_id` | string | Yes | User ID |
---
#### Deactivate user
**Method**: `POST` | **LowCodeAPI Path**: `/restapi/portal/portal_id/users/activate`
**Full URL**:
```
https://api.lowcodeapi.com/zohobugtracker/restapi/portal/portal_id/users/activate?api_token={api_token}
```
**Description**: Deactivates a specific user from a specific portal
**Path Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`portal_id` | string | Yes | Portal ID |
**Request Body**:
```json
{
"key": "value"
}
```
---
#### Add user to a client company
**Method**: `POST` | **LowCodeAPI Path**: `/restapi/portal/portal_id/clients/client_company_id/users`
**Full URL**:
```
https://api.lowcodeapi.com/zohobugtracker/restapi/portal/portal_id/clients/client_company_id/users?api_token={api_token}
```
**Description**: Adds user to an existing client company
**Path Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`portal_id` | string | Yes | Portal ID |
|`client_company_id` | string | Yes | Client Company ID |
**Request Body**:
```json
{
"contact_email": "<string>"
}
```
---
## Complete Endpoint Reference
For a complete list of all 84 endpoints, refer to:
- **OpenAPI Definition**: `https://backend.lowcodeapi.com/zohobugtracker/definition`
- **Official Provider Documentation**: https://www.zoho.com/projects/help/rest-api/bugtracker-portal-api.html