Zoho Projects API Documentation
Text copied
File not found

Timesheet Reports

This module covers operations related to time log reports within Zoho Projects. Use this API to retrieve time log reports at the portal or project level.

Get Time Log Report(Portal)

Retrieve time log reports from the Zoho Projects portal.

GET

/api/v3/portal/[PORTAL_ID]/timelogs/report

OAuth Scope:

ZohoProjects.timesheets.READ

Path Parameters

Param Name
Data Type
Description

Query Parameters

Param Name
Data Type
Description

Request Example

Request Example
  • cURL
  • Deluge
  • Node.js
  • Ruby
  • PHP
  • Python
  • C
  • C#
  • C++
  • Clojure
  • Go
  • HTTP
  • Java
  • JS Fetch
  • JSON
  • Kotlin
  • Objective-C
  • OCaml
  • PowerShell
  • R
  • Swift

curl -X GET \
'https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/timelogs/report?page=1&per_page=10&report_type=user&view_type=week&start_date=2023-12-20&filter=%7B%22project%22%3A%22-%22%2C%22assignee%22%3A%22-%22%2C%22billtype%22%3A%22-%22%2C%22approvaltype%22%3A%22-%22%2C%22tsheetperiod%22%3A%22-%22%2C%22clientcompany%22%3A%22-%22%2C%22content%22%3A%22-%22%2C%22invoicestatus%22%3A%22-%22%2C%22usergroups%22%3A%22-%22%2C%22criteria%22%3A%5B%7B%22field_name%22%3A%22project%22%2C%22custom_feild%22%3A%22-%22%2C%22field_type%22%3A%22-%22%2C%22criteria_condition%22%3A%22contains%22%2C%22value%22%3A%5B%221752587000000097269%22%5D%7D%5D%2C%22pattern%22%3A%221%22%2C%22UDF_CHAR_Timesheet%22%3A%22-%22%2C%22UDF_USER_Timesheet%22%3A%22-%22%2C%22UDF_LONG_Timesheet%22%3A%22-%22%2C%22UDF_DATE_Timesheet%22%3A%22-%22%2C%22UDF_DOUBLE_Timesheet%22%3A%22-%22%2C%22UDF_TEXT_Timesheet%22%3A%22-%22%2C%22UDF_ENCRYPT_Timesheet%22%3A%22-%22%7D&view_id=23806000074760021&custom_range=%7B%22start_date%22%3A%222023-12-20%22%2C%22end_date%22%3A%222024-12-20%22%7D&is_module_based_pagination=-' \
-H 'Authorization: Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa'

url = "https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/timelogs/report";
filter_value = {"project":"-","assignee":"-","billtype":"-","approvaltype":"-","tsheetperiod":"-","clientcompany":"-","content":"-","invoicestatus":"-","usergroups":"-","criteria":[{"field_name":"project","custom_feild":"-","field_type":"-","criteria_condition":"contains","value":["1752587000000097269"]}],"pattern":"1","UDF_CHAR_Timesheet":"-","UDF_USER_Timesheet":"-","UDF_LONG_Timesheet":"-","UDF_DATE_Timesheet":"-","UDF_DOUBLE_Timesheet":"-","UDF_TEXT_Timesheet":"-","UDF_ENCRYPT_Timesheet":"-"};
custom_range_value = {"start_date":"2023-12-20","end_date":"2024-12-20"};
params = Map();
params.put("page", "1");
params.put("per_page", "10");
params.put("report_type", "user");
params.put("view_type", "week");
params.put("start_date", "2023-12-20");
params.put("filter", filter_value);
params.put("view_id", "23806000074760021");
params.put("custom_range", custom_range_value);
params.put("is_module_based_pagination", "-");
response = invokeUrl
[
    url: url
    type: GET
    parameters: params
    connection: "projects"
];
info response;
const https = require('https');
const url = new URL('https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/timelogs/report');
url.searchParams.append('page', '1');
url.searchParams.append('per_page', '10');
url.searchParams.append('report_type', 'user');
url.searchParams.append('view_type', 'week');
url.searchParams.append('start_date', '2023-12-20');
url.searchParams.append('filter', '{"project":"-","assignee":"-","billtype":"-","approvaltype":"-","tsheetperiod":"-","clientcompany":"-","content":"-","invoicestatus":"-","usergroups":"-","criteria":[{"field_name":"project","custom_feild":"-","field_type":"-","criteria_condition":"contains","value":["1752587000000097269"]}],"pattern":"1","UDF_CHAR_Timesheet":"-","UDF_USER_Timesheet":"-","UDF_LONG_Timesheet":"-","UDF_DATE_Timesheet":"-","UDF_DOUBLE_Timesheet":"-","UDF_TEXT_Timesheet":"-","UDF_ENCRYPT_Timesheet":"-"}');
url.searchParams.append('view_id', '23806000074760021');
url.searchParams.append('custom_range', '{"start_date":"2023-12-20","end_date":"2024-12-20"}');
url.searchParams.append('is_module_based_pagination', '-');

const options = {
  hostname: url.hostname,
  path: url.pathname + url.search,
  method: 'GET',
  headers: {
    'Authorization': 'Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa'
  }
};

const req = https.request(options, (res) => {
  let data = '';
  res.on('data', (chunk) => { data += chunk; });
  res.on('end', () => { console.log(JSON.parse(data)); });
});

req.on('error', (err) => { console.error(err); });
req.end();
require 'net/http'
require 'uri'
require 'json'

url = URI("https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/timelogs/report")
params = {
  "page" => "1",
  "per_page" => "10",
  "report_type" => "user",
  "view_type" => "week",
  "start_date" => "2023-12-20",
  "filter" => "{\"project\":\"-\",\"assignee\":\"-\",\"billtype\":\"-\",\"approvaltype\":\"-\",\"tsheetperiod\":\"-\",\"clientcompany\":\"-\",\"content\":\"-\",\"invoicestatus\":\"-\",\"usergroups\":\"-\",\"criteria\":[{\"field_name\":\"project\",\"custom_feild\":\"-\",\"field_type\":\"-\",\"criteria_condition\":\"contains\",\"value\":[\"1752587000000097269\"]}],\"pattern\":\"1\",\"UDF_CHAR_Timesheet\":\"-\",\"UDF_USER_Timesheet\":\"-\",\"UDF_LONG_Timesheet\":\"-\",\"UDF_DATE_Timesheet\":\"-\",\"UDF_DOUBLE_Timesheet\":\"-\",\"UDF_TEXT_Timesheet\":\"-\",\"UDF_ENCRYPT_Timesheet\":\"-\"}",
  "view_id" => "23806000074760021",
  "custom_range" => "{\"start_date\":\"2023-12-20\",\"end_date\":\"2024-12-20\"}",
  "is_module_based_pagination" => "-"
}
url.query = URI.encode_www_form(params)

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)
request["Authorization"] = "Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa"

response = http.request(request)
puts response.read_body
<?php
$params = [
    'page' => '1',
    'per_page' => '10',
    'report_type' => 'user',
    'view_type' => 'week',
    'start_date' => '2023-12-20',
    'filter' => '{"project":"-","assignee":"-","billtype":"-","approvaltype":"-","tsheetperiod":"-","clientcompany":"-","content":"-","invoicestatus":"-","usergroups":"-","criteria":[{"field_name":"project","custom_feild":"-","field_type":"-","criteria_condition":"contains","value":["1752587000000097269"]}],"pattern":"1","UDF_CHAR_Timesheet":"-","UDF_USER_Timesheet":"-","UDF_LONG_Timesheet":"-","UDF_DATE_Timesheet":"-","UDF_DOUBLE_Timesheet":"-","UDF_TEXT_Timesheet":"-","UDF_ENCRYPT_Timesheet":"-"}',
    'view_id' => '23806000074760021',
    'custom_range' => '{"start_date":"2023-12-20","end_date":"2024-12-20"}',
    'is_module_based_pagination' => '-',
];
$url = "https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/timelogs/report" . "?" . http_build_query($params);

$curl = curl_init();

curl_setopt_array($curl, [
  CURLOPT_URL => $url,
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_CUSTOMREQUEST => "GET",
  CURLOPT_HTTPHEADER => [
    "Authorization: Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa"
  ],
]);

$response = curl_exec($curl);
curl_close($curl);

echo $response;
import requests

url = "https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/timelogs/report"

params = {
    "page": "1",
    "per_page": "10",
    "report_type": "user",
    "view_type": "week",
    "start_date": "2023-12-20",
    "filter": "{\"project\":\"-\",\"assignee\":\"-\",\"billtype\":\"-\",\"approvaltype\":\"-\",\"tsheetperiod\":\"-\",\"clientcompany\":\"-\",\"content\":\"-\",\"invoicestatus\":\"-\",\"usergroups\":\"-\",\"criteria\":[{\"field_name\":\"project\",\"custom_feild\":\"-\",\"field_type\":\"-\",\"criteria_condition\":\"contains\",\"value\":[\"1752587000000097269\"]}],\"pattern\":\"1\",\"UDF_CHAR_Timesheet\":\"-\",\"UDF_USER_Timesheet\":\"-\",\"UDF_LONG_Timesheet\":\"-\",\"UDF_DATE_Timesheet\":\"-\",\"UDF_DOUBLE_Timesheet\":\"-\",\"UDF_TEXT_Timesheet\":\"-\",\"UDF_ENCRYPT_Timesheet\":\"-\"}",
    "view_id": "23806000074760021",
    "custom_range": "{\"start_date\":\"2023-12-20\",\"end_date\":\"2024-12-20\"}",
    "is_module_based_pagination": "-"
}

headers = {
    "Authorization": "Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa",
}

response = requests.get(url, headers=headers, params=params)

print(response.json())
#include <stdio.h>
#include <string.h>
#include <curl/curl.h>

int main(void) {
    CURL *curl = curl_easy_init();
    if (curl) {
        char *enc_page = curl_easy_escape(curl, "1", 0);
        char *enc_per_page = curl_easy_escape(curl, "10", 0);
        char *enc_report_type = curl_easy_escape(curl, "user", 0);
        char *enc_view_type = curl_easy_escape(curl, "week", 0);
        char *enc_start_date = curl_easy_escape(curl, "2023-12-20", 0);
        char *enc_filter = curl_easy_escape(curl, "{\"project\":\"-\",\"assignee\":\"-\",\"billtype\":\"-\",\"approvaltype\":\"-\",\"tsheetperiod\":\"-\",\"clientcompany\":\"-\",\"content\":\"-\",\"invoicestatus\":\"-\",\"usergroups\":\"-\",\"criteria\":[{\"field_name\":\"project\",\"custom_feild\":\"-\",\"field_type\":\"-\",\"criteria_condition\":\"contains\",\"value\":[\"1752587000000097269\"]}],\"pattern\":\"1\",\"UDF_CHAR_Timesheet\":\"-\",\"UDF_USER_Timesheet\":\"-\",\"UDF_LONG_Timesheet\":\"-\",\"UDF_DATE_Timesheet\":\"-\",\"UDF_DOUBLE_Timesheet\":\"-\",\"UDF_TEXT_Timesheet\":\"-\",\"UDF_ENCRYPT_Timesheet\":\"-\"}", 0);
        char *enc_view_id = curl_easy_escape(curl, "23806000074760021", 0);
        char *enc_custom_range = curl_easy_escape(curl, "{\"start_date\":\"2023-12-20\",\"end_date\":\"2024-12-20\"}", 0);
        char *enc_is_module_based_pagination = curl_easy_escape(curl, "-", 0);
        char url[2048];
        snprintf(url, sizeof(url), "https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/timelogs/report?page=%s&per_page=%s&report_type=%s&view_type=%s&start_date=%s&filter=%s&view_id=%s&custom_range=%s&is_module_based_pagination=%s", enc_page, enc_per_page, enc_report_type, enc_view_type, enc_start_date, enc_filter, enc_view_id, enc_custom_range, enc_is_module_based_pagination);

        struct curl_slist *headers = NULL;
        headers = curl_slist_append(headers, "Authorization: Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa");

        curl_easy_setopt(curl, CURLOPT_URL, url);
        curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers);
        curl_easy_setopt(curl, CURLOPT_CUSTOMREQUEST, "GET");

        CURLcode res = curl_easy_perform(curl);
        if (res != CURLE_OK)
            fprintf(stderr, "curl failed: %s\n", curl_easy_strerror(res));

        curl_free(enc_page);
        curl_free(enc_per_page);
        curl_free(enc_report_type);
        curl_free(enc_view_type);
        curl_free(enc_start_date);
        curl_free(enc_filter);
        curl_free(enc_view_id);
        curl_free(enc_custom_range);
        curl_free(enc_is_module_based_pagination);
        curl_slist_free_all(headers);
        curl_easy_cleanup(curl);
    }
    return 0;
}
using System.Net.Http;
using System.Text;
using System.Web;

var client = new HttpClient();
client.DefaultRequestHeaders.Add("Authorization", "Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa");

var query = HttpUtility.ParseQueryString(string.Empty);
query["page"] = "1";
query["per_page"] = "10";
query["report_type"] = "user";
query["view_type"] = "week";
query["start_date"] = "2023-12-20";
query["filter"] = "{\"project\":\"-\",\"assignee\":\"-\",\"billtype\":\"-\",\"approvaltype\":\"-\",\"tsheetperiod\":\"-\",\"clientcompany\":\"-\",\"content\":\"-\",\"invoicestatus\":\"-\",\"usergroups\":\"-\",\"criteria\":[{\"field_name\":\"project\",\"custom_feild\":\"-\",\"field_type\":\"-\",\"criteria_condition\":\"contains\",\"value\":[\"1752587000000097269\"]}],\"pattern\":\"1\",\"UDF_CHAR_Timesheet\":\"-\",\"UDF_USER_Timesheet\":\"-\",\"UDF_LONG_Timesheet\":\"-\",\"UDF_DATE_Timesheet\":\"-\",\"UDF_DOUBLE_Timesheet\":\"-\",\"UDF_TEXT_Timesheet\":\"-\",\"UDF_ENCRYPT_Timesheet\":\"-\"}";
query["view_id"] = "23806000074760021";
query["custom_range"] = "{\"start_date\":\"2023-12-20\",\"end_date\":\"2024-12-20\"}";
query["is_module_based_pagination"] = "-";
var uriBuilder = new UriBuilder("https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/timelogs/report") { Query = query.ToString() };
var request = new HttpRequestMessage(HttpMethod.Get, uriBuilder.Uri);

var response = await client.SendAsync(request);
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
#include <iostream>
#include <string>
#include <curl/curl.h>

static size_t WriteCallback(void* contents, size_t size, size_t nmemb, std::string* output) {
    output->append((char*)contents, size * nmemb);
    return size * nmemb;
}

int main() {
    CURL* curl = curl_easy_init();
    if (curl) {
        std::string response;
        char* enc_page = curl_easy_escape(curl, "1", 0);
        char* enc_per_page = curl_easy_escape(curl, "10", 0);
        char* enc_report_type = curl_easy_escape(curl, "user", 0);
        char* enc_view_type = curl_easy_escape(curl, "week", 0);
        char* enc_start_date = curl_easy_escape(curl, "2023-12-20", 0);
        char* enc_filter = curl_easy_escape(curl, "{\"project\":\"-\",\"assignee\":\"-\",\"billtype\":\"-\",\"approvaltype\":\"-\",\"tsheetperiod\":\"-\",\"clientcompany\":\"-\",\"content\":\"-\",\"invoicestatus\":\"-\",\"usergroups\":\"-\",\"criteria\":[{\"field_name\":\"project\",\"custom_feild\":\"-\",\"field_type\":\"-\",\"criteria_condition\":\"contains\",\"value\":[\"1752587000000097269\"]}],\"pattern\":\"1\",\"UDF_CHAR_Timesheet\":\"-\",\"UDF_USER_Timesheet\":\"-\",\"UDF_LONG_Timesheet\":\"-\",\"UDF_DATE_Timesheet\":\"-\",\"UDF_DOUBLE_Timesheet\":\"-\",\"UDF_TEXT_Timesheet\":\"-\",\"UDF_ENCRYPT_Timesheet\":\"-\"}", 0);
        char* enc_view_id = curl_easy_escape(curl, "23806000074760021", 0);
        char* enc_custom_range = curl_easy_escape(curl, "{\"start_date\":\"2023-12-20\",\"end_date\":\"2024-12-20\"}", 0);
        char* enc_is_module_based_pagination = curl_easy_escape(curl, "-", 0);
        std::string url = "https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/timelogs/report";
        url += "?page=" + std::string(enc_page);
        url += "&per_page=" + std::string(enc_per_page);
        url += "&report_type=" + std::string(enc_report_type);
        url += "&view_type=" + std::string(enc_view_type);
        url += "&start_date=" + std::string(enc_start_date);
        url += "&filter=" + std::string(enc_filter);
        url += "&view_id=" + std::string(enc_view_id);
        url += "&custom_range=" + std::string(enc_custom_range);
        url += "&is_module_based_pagination=" + std::string(enc_is_module_based_pagination);

        struct curl_slist* headers = NULL;
        headers = curl_slist_append(headers, "Authorization: Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa");

        curl_easy_setopt(curl, CURLOPT_URL, url.c_str());
        curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers);
        curl_easy_setopt(curl, CURLOPT_CUSTOMREQUEST, "GET");
        curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, WriteCallback);
        curl_easy_setopt(curl, CURLOPT_WRITEDATA, &response);

        CURLcode res = curl_easy_perform(curl);
        if (res == CURLE_OK)
            std::cout << response << std::endl;
        else
            std::cerr << curl_easy_strerror(res) << std::endl;

        curl_free(enc_page);
        curl_free(enc_per_page);
        curl_free(enc_report_type);
        curl_free(enc_view_type);
        curl_free(enc_start_date);
        curl_free(enc_filter);
        curl_free(enc_view_id);
        curl_free(enc_custom_range);
        curl_free(enc_is_module_based_pagination);
        curl_slist_free_all(headers);
        curl_easy_cleanup(curl);
    }
    return 0;
}
(require '[clj-http.client :as client])

(let [enc-page (java.net.URLEncoder/encode "1" "UTF-8")
      enc-per_page (java.net.URLEncoder/encode "10" "UTF-8")
      enc-report_type (java.net.URLEncoder/encode "user" "UTF-8")
      enc-view_type (java.net.URLEncoder/encode "week" "UTF-8")
      enc-start_date (java.net.URLEncoder/encode "2023-12-20" "UTF-8")
      enc-filter (java.net.URLEncoder/encode "{\"project\":\"-\",\"assignee\":\"-\",\"billtype\":\"-\",\"approvaltype\":\"-\",\"tsheetperiod\":\"-\",\"clientcompany\":\"-\",\"content\":\"-\",\"invoicestatus\":\"-\",\"usergroups\":\"-\",\"criteria\":[{\"field_name\":\"project\",\"custom_feild\":\"-\",\"field_type\":\"-\",\"criteria_condition\":\"contains\",\"value\":[\"1752587000000097269\"]}],\"pattern\":\"1\",\"UDF_CHAR_Timesheet\":\"-\",\"UDF_USER_Timesheet\":\"-\",\"UDF_LONG_Timesheet\":\"-\",\"UDF_DATE_Timesheet\":\"-\",\"UDF_DOUBLE_Timesheet\":\"-\",\"UDF_TEXT_Timesheet\":\"-\",\"UDF_ENCRYPT_Timesheet\":\"-\"}" "UTF-8")
      enc-view_id (java.net.URLEncoder/encode "23806000074760021" "UTF-8")
      enc-custom_range (java.net.URLEncoder/encode "{\"start_date\":\"2023-12-20\",\"end_date\":\"2024-12-20\"}" "UTF-8")
      enc-is_module_based_pagination (java.net.URLEncoder/encode "-" "UTF-8")
      url (str "https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/timelogs/report" "?page=" enc-page "&per_page=" enc-per_page "&report_type=" enc-report_type "&view_type=" enc-view_type "&start_date=" enc-start_date "&filter=" enc-filter "&view_id=" enc-view_id "&custom_range=" enc-custom_range "&is_module_based_pagination=" enc-is_module_based_pagination)]
(def response
  (client/get url
    {:headers {"Authorization" "Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa"}
     :as :json}))

(println (:body response))
package main

import (
    "fmt"
    "io"
    "net/http"
    "net/url"
)

func main() {
    req, _ := http.NewRequest("GET", "https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/timelogs/report", nil)
    q := req.URL.Query()
    q.Add("page", "1")
    q.Add("per_page", "10")
    q.Add("report_type", "user")
    q.Add("view_type", "week")
    q.Add("start_date", "2023-12-20")
    q.Add("filter", "{\"project\":\"-\",\"assignee\":\"-\",\"billtype\":\"-\",\"approvaltype\":\"-\",\"tsheetperiod\":\"-\",\"clientcompany\":\"-\",\"content\":\"-\",\"invoicestatus\":\"-\",\"usergroups\":\"-\",\"criteria\":[{\"field_name\":\"project\",\"custom_feild\":\"-\",\"field_type\":\"-\",\"criteria_condition\":\"contains\",\"value\":[\"1752587000000097269\"]}],\"pattern\":\"1\",\"UDF_CHAR_Timesheet\":\"-\",\"UDF_USER_Timesheet\":\"-\",\"UDF_LONG_Timesheet\":\"-\",\"UDF_DATE_Timesheet\":\"-\",\"UDF_DOUBLE_Timesheet\":\"-\",\"UDF_TEXT_Timesheet\":\"-\",\"UDF_ENCRYPT_Timesheet\":\"-\"}")
    q.Add("view_id", "23806000074760021")
    q.Add("custom_range", "{\"start_date\":\"2023-12-20\",\"end_date\":\"2024-12-20\"}")
    q.Add("is_module_based_pagination", "-")
    req.URL.RawQuery = q.Encode()
    req.Header.Add("Authorization", "Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa")

    resp, _ := http.DefaultClient.Do(req)
    defer resp.Body.Close()
    body, _ := io.ReadAll(resp.Body)
    fmt.Println(string(body))
}
GET https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/timelogs/report?page=1&per_page=10&report_type=user&view_type=week&start_date=2023-12-20&filter=%7B%22project%22%3A%22-%22%2C%22assignee%22%3A%22-%22%2C%22billtype%22%3A%22-%22%2C%22approvaltype%22%3A%22-%22%2C%22tsheetperiod%22%3A%22-%22%2C%22clientcompany%22%3A%22-%22%2C%22content%22%3A%22-%22%2C%22invoicestatus%22%3A%22-%22%2C%22usergroups%22%3A%22-%22%2C%22criteria%22%3A%5B%7B%22field_name%22%3A%22project%22%2C%22custom_feild%22%3A%22-%22%2C%22field_type%22%3A%22-%22%2C%22criteria_condition%22%3A%22contains%22%2C%22value%22%3A%5B%221752587000000097269%22%5D%7D%5D%2C%22pattern%22%3A%221%22%2C%22UDF_CHAR_Timesheet%22%3A%22-%22%2C%22UDF_USER_Timesheet%22%3A%22-%22%2C%22UDF_LONG_Timesheet%22%3A%22-%22%2C%22UDF_DATE_Timesheet%22%3A%22-%22%2C%22UDF_DOUBLE_Timesheet%22%3A%22-%22%2C%22UDF_TEXT_Timesheet%22%3A%22-%22%2C%22UDF_ENCRYPT_Timesheet%22%3A%22-%22%7D&view_id=23806000074760021&custom_range=%7B%22start_date%22%3A%222023-12-20%22%2C%22end_date%22%3A%222024-12-20%22%7D&is_module_based_pagination=- HTTP/1.1
Host: https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/timelogs/report?page=1&per_page=10&report_type=user&view_type=week&start_date=2023-12-20&filter=%7B%22project%22%3A%22-%22%2C%22assignee%22%3A%22-%22%2C%22billtype%22%3A%22-%22%2C%22approvaltype%22%3A%22-%22%2C%22tsheetperiod%22%3A%22-%22%2C%22clientcompany%22%3A%22-%22%2C%22content%22%3A%22-%22%2C%22invoicestatus%22%3A%22-%22%2C%22usergroups%22%3A%22-%22%2C%22criteria%22%3A%5B%7B%22field_name%22%3A%22project%22%2C%22custom_feild%22%3A%22-%22%2C%22field_type%22%3A%22-%22%2C%22criteria_condition%22%3A%22contains%22%2C%22value%22%3A%5B%221752587000000097269%22%5D%7D%5D%2C%22pattern%22%3A%221%22%2C%22UDF_CHAR_Timesheet%22%3A%22-%22%2C%22UDF_USER_Timesheet%22%3A%22-%22%2C%22UDF_LONG_Timesheet%22%3A%22-%22%2C%22UDF_DATE_Timesheet%22%3A%22-%22%2C%22UDF_DOUBLE_Timesheet%22%3A%22-%22%2C%22UDF_TEXT_Timesheet%22%3A%22-%22%2C%22UDF_ENCRYPT_Timesheet%22%3A%22-%22%7D&view_id=23806000074760021&custom_range=%7B%22start_date%22%3A%222023-12-20%22%2C%22end_date%22%3A%222024-12-20%22%7D&is_module_based_pagination=-
Authorization: Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa
HttpClientBuilder httpClientBuilder = HttpClientBuilder.create();

SSLContext sslContext = SSLContext.getDefault();
SSLConnectionSocketFactory sslConnectionSocketFactory = new SSLConnectionSocketFactory(sslContext, NoopHostnameVerifier.INSTANCE);
CloseableHttpClient httpclient = httpClientBuilder.setSSLSocketFactory(sslConnectionSocketFactory).build();

URIBuilder uriBuilder = new URIBuilder("https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/timelogs/report");
uriBuilder.addParameter("page", "1");
uriBuilder.addParameter("per_page", "10");
uriBuilder.addParameter("report_type", "user");
uriBuilder.addParameter("view_type", "week");
uriBuilder.addParameter("start_date", "2023-12-20");
uriBuilder.addParameter("filter", "{\"project\":\"-\",\"assignee\":\"-\",\"billtype\":\"-\",\"approvaltype\":\"-\",\"tsheetperiod\":\"-\",\"clientcompany\":\"-\",\"content\":\"-\",\"invoicestatus\":\"-\",\"usergroups\":\"-\",\"criteria\":[{\"field_name\":\"project\",\"custom_feild\":\"-\",\"field_type\":\"-\",\"criteria_condition\":\"contains\",\"value\":[\"1752587000000097269\"]}],\"pattern\":\"1\",\"UDF_CHAR_Timesheet\":\"-\",\"UDF_USER_Timesheet\":\"-\",\"UDF_LONG_Timesheet\":\"-\",\"UDF_DATE_Timesheet\":\"-\",\"UDF_DOUBLE_Timesheet\":\"-\",\"UDF_TEXT_Timesheet\":\"-\",\"UDF_ENCRYPT_Timesheet\":\"-\"}");
uriBuilder.addParameter("view_id", "23806000074760021");
uriBuilder.addParameter("custom_range", "{\"start_date\":\"2023-12-20\",\"end_date\":\"2024-12-20\"}");
uriBuilder.addParameter("is_module_based_pagination", "-");
HttpUriRequest requestObj = new HttpGet(uriBuilder.build());
requestObj.addHeader("Authorization", "Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa");

HttpResponse response = httpclient.execute(requestObj);

HttpEntity responseEntity = response.getEntity();
Object responseObject = EntityUtils.toString(responseEntity);
String responseString = responseObject.toString();
const url = 'https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/timelogs/report';

const params = new URLSearchParams({
  'page': '1',
  'per_page': '10',
  'report_type': 'user',
  'view_type': 'week',
  'start_date': '2023-12-20',
  'filter': '{"project":"-","assignee":"-","billtype":"-","approvaltype":"-","tsheetperiod":"-","clientcompany":"-","content":"-","invoicestatus":"-","usergroups":"-","criteria":[{"field_name":"project","custom_feild":"-","field_type":"-","criteria_condition":"contains","value":["1752587000000097269"]}],"pattern":"1","UDF_CHAR_Timesheet":"-","UDF_USER_Timesheet":"-","UDF_LONG_Timesheet":"-","UDF_DATE_Timesheet":"-","UDF_DOUBLE_Timesheet":"-","UDF_TEXT_Timesheet":"-","UDF_ENCRYPT_Timesheet":"-"}',
  'view_id': '23806000074760021',
  'custom_range': '{"start_date":"2023-12-20","end_date":"2024-12-20"}',
  'is_module_based_pagination': '-'
});

const options = {
  method: 'GET',
  headers: {
    'Authorization': 'Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa'
  }
};

fetch(url + '?' + params.toString(), options)
  .then(response => response.json())
  .then(data => console.log(data))
  .catch(error => console.error(error));
page = "1"
per_page = "10"
report_type = "user"
view_type = "week"
start_date = "2023-12-20"
filter = {"project":"-","assignee":"-","billtype":"-","approvaltype":"-","tsheetperiod":"-","clientcompany":"-","content":"-","invoicestatus":"-","usergroups":"-","criteria":[{"field_name":"project","custom_feild":"-","field_type":"-","criteria_condition":"contains","value":["1752587000000097269"]}],"pattern":"1","UDF_CHAR_Timesheet":"-","UDF_USER_Timesheet":"-","UDF_LONG_Timesheet":"-","UDF_DATE_Timesheet":"-","UDF_DOUBLE_Timesheet":"-","UDF_TEXT_Timesheet":"-","UDF_ENCRYPT_Timesheet":"-"}
view_id = "23806000074760021"
custom_range = {"start_date":"2023-12-20","end_date":"2024-12-20"}
is_module_based_pagination =  - 
import java.net.HttpURLConnection
import java.net.URL
import okhttp3.HttpUrl.Companion.toHttpUrl

fun main() {
    val urlBuilder = "https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/timelogs/report".toHttpUrl().newBuilder()
    urlBuilder.addQueryParameter("page", "1")
    urlBuilder.addQueryParameter("per_page", "10")
    urlBuilder.addQueryParameter("report_type", "user")
    urlBuilder.addQueryParameter("view_type", "week")
    urlBuilder.addQueryParameter("start_date", "2023-12-20")
    urlBuilder.addQueryParameter("filter", "{\"project\":\"-\",\"assignee\":\"-\",\"billtype\":\"-\",\"approvaltype\":\"-\",\"tsheetperiod\":\"-\",\"clientcompany\":\"-\",\"content\":\"-\",\"invoicestatus\":\"-\",\"usergroups\":\"-\",\"criteria\":[{\"field_name\":\"project\",\"custom_feild\":\"-\",\"field_type\":\"-\",\"criteria_condition\":\"contains\",\"value\":[\"1752587000000097269\"]}],\"pattern\":\"1\",\"UDF_CHAR_Timesheet\":\"-\",\"UDF_USER_Timesheet\":\"-\",\"UDF_LONG_Timesheet\":\"-\",\"UDF_DATE_Timesheet\":\"-\",\"UDF_DOUBLE_Timesheet\":\"-\",\"UDF_TEXT_Timesheet\":\"-\",\"UDF_ENCRYPT_Timesheet\":\"-\"}")
    urlBuilder.addQueryParameter("view_id", "23806000074760021")
    urlBuilder.addQueryParameter("custom_range", "{\"start_date\":\"2023-12-20\",\"end_date\":\"2024-12-20\"}")
    urlBuilder.addQueryParameter("is_module_based_pagination", "-")
    val url = URL(urlBuilder.build().toString())
    val conn = url.openConnection() as HttpURLConnection
    conn.requestMethod = "GET"
    conn.setRequestProperty("Authorization", "Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa")

    val response = conn.inputStream.bufferedReader().readText()
    println(response)
}
NSString *encodedPage = [@"1" stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];
NSString *encodedPer_page = [@"10" stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];
NSString *encodedReport_type = [@"user" stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];
NSString *encodedView_type = [@"week" stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];
NSString *encodedStart_date = [@"2023-12-20" stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];
NSString *encodedFilter = [@"{\"project\":\"-\",\"assignee\":\"-\",\"billtype\":\"-\",\"approvaltype\":\"-\",\"tsheetperiod\":\"-\",\"clientcompany\":\"-\",\"content\":\"-\",\"invoicestatus\":\"-\",\"usergroups\":\"-\",\"criteria\":[{\"field_name\":\"project\",\"custom_feild\":\"-\",\"field_type\":\"-\",\"criteria_condition\":\"contains\",\"value\":[\"1752587000000097269\"]}],\"pattern\":\"1\",\"UDF_CHAR_Timesheet\":\"-\",\"UDF_USER_Timesheet\":\"-\",\"UDF_LONG_Timesheet\":\"-\",\"UDF_DATE_Timesheet\":\"-\",\"UDF_DOUBLE_Timesheet\":\"-\",\"UDF_TEXT_Timesheet\":\"-\",\"UDF_ENCRYPT_Timesheet\":\"-\"}" stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];
NSString *encodedView_id = [@"23806000074760021" stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];
NSString *encodedCustom_range = [@"{\"start_date\":\"2023-12-20\",\"end_date\":\"2024-12-20\"}" stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];
NSString *encodedIs_module_based_pagination = [@"-" stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];
NSString *urlString = [NSString stringWithFormat:@"https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/timelogs/report?page=%@&per_page=%@&report_type=%@&view_type=%@&start_date=%@&filter=%@&view_id=%@&custom_range=%@&is_module_based_pagination=%@", encodedPage, encodedPer_page, encodedReport_type, encodedView_type, encodedStart_date, encodedFilter, encodedView_id, encodedCustom_range, encodedIs_module_based_pagination];
NSURL *url = [NSURL URLWithString:urlString];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];
[request setHTTPMethod:@"GET"];
[request setValue:@"Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa" forHTTPHeaderField:@"Authorization"];

NSURLSession *session = [NSURLSession sharedSession];
NSURLSessionDataTask *task = [session dataTaskWithRequest:request
    completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
        NSString *result = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
        NSLog(@"%@", result);
}];
[task resume];
open Lwt
open Cohttp_lwt_unix

let () =
  let enc_page = Uri.pct_encode "1" in
  let enc_per_page = Uri.pct_encode "10" in
  let enc_report_type = Uri.pct_encode "user" in
  let enc_view_type = Uri.pct_encode "week" in
  let enc_start_date = Uri.pct_encode "2023-12-20" in
  let enc_filter = Uri.pct_encode "{\"project\":\"-\",\"assignee\":\"-\",\"billtype\":\"-\",\"approvaltype\":\"-\",\"tsheetperiod\":\"-\",\"clientcompany\":\"-\",\"content\":\"-\",\"invoicestatus\":\"-\",\"usergroups\":\"-\",\"criteria\":[{\"field_name\":\"project\",\"custom_feild\":\"-\",\"field_type\":\"-\",\"criteria_condition\":\"contains\",\"value\":[\"1752587000000097269\"]}],\"pattern\":\"1\",\"UDF_CHAR_Timesheet\":\"-\",\"UDF_USER_Timesheet\":\"-\",\"UDF_LONG_Timesheet\":\"-\",\"UDF_DATE_Timesheet\":\"-\",\"UDF_DOUBLE_Timesheet\":\"-\",\"UDF_TEXT_Timesheet\":\"-\",\"UDF_ENCRYPT_Timesheet\":\"-\"}" in
  let enc_view_id = Uri.pct_encode "23806000074760021" in
  let enc_custom_range = Uri.pct_encode "{\"start_date\":\"2023-12-20\",\"end_date\":\"2024-12-20\"}" in
  let enc_is_module_based_pagination = Uri.pct_encode "-" in
  let uri = Uri.of_string ("https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/timelogs/report" ^ "?page=" ^ enc_page ^ "&per_page=" ^ enc_per_page ^ "&report_type=" ^ enc_report_type ^ "&view_type=" ^ enc_view_type ^ "&start_date=" ^ enc_start_date ^ "&filter=" ^ enc_filter ^ "&view_id=" ^ enc_view_id ^ "&custom_range=" ^ enc_custom_range ^ "&is_module_based_pagination=" ^ enc_is_module_based_pagination) in
  let headers = Cohttp.Header.init ()
    |> fun h -> Cohttp.Header.add h "Authorization" "Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa"
  in
  Lwt_main.run (
    Client.get ~headers uri >>= fun (_, body) ->
    Cohttp_lwt.Body.to_string body >|= fun s ->
    print_endline s)
$headers = @{
    "Authorization" = "Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa"
}

$params = @{
    page = "1"
    per_page = "10"
    report_type = "user"
    view_type = "week"
    start_date = "2023-12-20"
    filter = "{`"project`":`"-`",`"assignee`":`"-`",`"billtype`":`"-`",`"approvaltype`":`"-`",`"tsheetperiod`":`"-`",`"clientcompany`":`"-`",`"content`":`"-`",`"invoicestatus`":`"-`",`"usergroups`":`"-`",`"criteria`":[{`"field_name`":`"project`",`"custom_feild`":`"-`",`"field_type`":`"-`",`"criteria_condition`":`"contains`",`"value`":[`"1752587000000097269`"]}],`"pattern`":`"1`",`"UDF_CHAR_Timesheet`":`"-`",`"UDF_USER_Timesheet`":`"-`",`"UDF_LONG_Timesheet`":`"-`",`"UDF_DATE_Timesheet`":`"-`",`"UDF_DOUBLE_Timesheet`":`"-`",`"UDF_TEXT_Timesheet`":`"-`",`"UDF_ENCRYPT_Timesheet`":`"-`"}"
    view_id = "23806000074760021"
    custom_range = "{`"start_date`":`"2023-12-20`",`"end_date`":`"2024-12-20`"}"
    is_module_based_pagination = "-"
}
$queryString = ($params.GetEnumerator() | ForEach-Object { "$($_.Key)=$([System.Uri]::EscapeDataString($_.Value))" }) -join "&"
$url = "https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/timelogs/report" + "?" + $queryString

$response = Invoke-RestMethod -Uri $url -Method GET -Headers $headers

$response | ConvertTo-Json
library(httr)

url <- "https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/timelogs/report"

params <- list(
  page = "1",
  per_page = "10",
  report_type = "user",
  view_type = "week",
  start_date = "2023-12-20",
  filter = "{\"project\":\"-\",\"assignee\":\"-\",\"billtype\":\"-\",\"approvaltype\":\"-\",\"tsheetperiod\":\"-\",\"clientcompany\":\"-\",\"content\":\"-\",\"invoicestatus\":\"-\",\"usergroups\":\"-\",\"criteria\":[{\"field_name\":\"project\",\"custom_feild\":\"-\",\"field_type\":\"-\",\"criteria_condition\":\"contains\",\"value\":[\"1752587000000097269\"]}],\"pattern\":\"1\",\"UDF_CHAR_Timesheet\":\"-\",\"UDF_USER_Timesheet\":\"-\",\"UDF_LONG_Timesheet\":\"-\",\"UDF_DATE_Timesheet\":\"-\",\"UDF_DOUBLE_Timesheet\":\"-\",\"UDF_TEXT_Timesheet\":\"-\",\"UDF_ENCRYPT_Timesheet\":\"-\"}",
  view_id = "23806000074760021",
  custom_range = "{\"start_date\":\"2023-12-20\",\"end_date\":\"2024-12-20\"}",
  is_module_based_pagination = "-"
)

response <- GET(
  url,
  add_headers(Authorization = "Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa"),
  query = params
)

content(response, "text")
import Foundation

var components = URLComponents(string: "https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/timelogs/report")!
components.queryItems = [
    URLQueryItem(name: "page", value: "1"),
    URLQueryItem(name: "per_page", value: "10"),
    URLQueryItem(name: "report_type", value: "user"),
    URLQueryItem(name: "view_type", value: "week"),
    URLQueryItem(name: "start_date", value: "2023-12-20"),
    URLQueryItem(name: "filter", value: "{\"project\":\"-\",\"assignee\":\"-\",\"billtype\":\"-\",\"approvaltype\":\"-\",\"tsheetperiod\":\"-\",\"clientcompany\":\"-\",\"content\":\"-\",\"invoicestatus\":\"-\",\"usergroups\":\"-\",\"criteria\":[{\"field_name\":\"project\",\"custom_feild\":\"-\",\"field_type\":\"-\",\"criteria_condition\":\"contains\",\"value\":[\"1752587000000097269\"]}],\"pattern\":\"1\",\"UDF_CHAR_Timesheet\":\"-\",\"UDF_USER_Timesheet\":\"-\",\"UDF_LONG_Timesheet\":\"-\",\"UDF_DATE_Timesheet\":\"-\",\"UDF_DOUBLE_Timesheet\":\"-\",\"UDF_TEXT_Timesheet\":\"-\",\"UDF_ENCRYPT_Timesheet\":\"-\"}"),
    URLQueryItem(name: "view_id", value: "23806000074760021"),
    URLQueryItem(name: "custom_range", value: "{\"start_date\":\"2023-12-20\",\"end_date\":\"2024-12-20\"}"),
    URLQueryItem(name: "is_module_based_pagination", value: "-")
]
let url = components.url!
var request = URLRequest(url: url)
request.httpMethod = "GET"
request.setValue("Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa", forHTTPHeaderField: "Authorization")

let semaphore = DispatchSemaphore(value: 0)
let task = URLSession.shared.dataTask(with: request) { data, response, error in
    if let data = data, let result = String(data: data, encoding: .utf8) {
        print(result)
    }
    semaphore.signal()
}
task.resume()
semaphore.wait()

Sample Input

page : "1" per_page : "10" report_type : "user" view_type : "week" start_date : "2023-12-20" filter : { "project" : "-", "assignee" : "-", "billtype" : "-", "approvaltype" : "-", "tsheetperiod" : "-", "clientcompany" : "-", "content" : "-", "invoicestatus" : "-", "usergroups" : "-", "criteria" : [ { "field_name" : "project", "custom_feild" : "-", "field_type" : "-", "criteria_condition" : "contains", "value" : [ "1752587000000097269" ] } ], "pattern" : "1", "UDF_CHAR_Timesheet" : "-", "UDF_USER_Timesheet" : "-", "UDF_LONG_Timesheet" : "-", "UDF_DATE_Timesheet" : "-", "UDF_DOUBLE_Timesheet" : "-", "UDF_TEXT_Timesheet" : "-", "UDF_ENCRYPT_Timesheet" : "-" } view_id : "23806000074760021" custom_range : { "start_date" : "2023-12-20", "end_date" : "2024-12-20" } is_module_based_pagination : -

Sample Response

200[ { "prefix" : "VI-2", "name" : "Software Development", "log_hours" : { "consolidated_total" : "05:00", "consolidated_billing" : "05:00", "consolidated_report" : [ { "date" : "2024-08-21", "total" : "02:00", "billable" : "02:00" } ], "consolidated_non_billing" : "00:00", "module_report" : [ { "name" : "Feature Testing", "log_hours" : { "consolidated_total" : "01:00", "consolidated_billing" : "01:00", "consolidated_report" : [ { "date" : "2024-08-21", "total" : "01:00", "billable" : "01:00" } ], "consolidated_non_billing" : "00:00" }, "id" : "8000000008094", "type" : "general" } ] }, "id" : "8000000005863" } ]

Get Time Log Report(Project)

Retrieve time log reports from a project

GET

/api/v3/portal/[PORTAL_ID]/projects/[PROJECT_ID]/timelogs/report

OAuth Scope:

ZohoProjects.timesheets.READ

Path Parameters

Param Name
Data Type
Description

Query Parameters

Param Name
Data Type
Description

Request Example

Request Example
  • cURL
  • Deluge
  • Node.js
  • Ruby
  • PHP
  • Python
  • C
  • C#
  • C++
  • Clojure
  • Go
  • HTTP
  • Java
  • JS Fetch
  • JSON
  • Kotlin
  • Objective-C
  • OCaml
  • PowerShell
  • R
  • Swift

curl -X GET \
'https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/projects/23806000097545166/timelogs/report?page=1&per_page=10&report_type=user&view_type=week&start_date=2023-12-20&filter=%7B%22project%22%3A%22-%22%2C%22assignee%22%3A%22-%22%2C%22billtype%22%3A%22-%22%2C%22approvaltype%22%3A%22-%22%2C%22tsheetperiod%22%3A%22-%22%2C%22clientcompany%22%3A%22-%22%2C%22content%22%3A%22-%22%2C%22invoicestatus%22%3A%22-%22%2C%22usergroups%22%3A%22-%22%2C%22criteria%22%3A%5B%7B%22field_name%22%3A%22project%22%2C%22custom_feild%22%3A%22-%22%2C%22field_type%22%3A%22-%22%2C%22criteria_condition%22%3A%22contains%22%2C%22value%22%3A%5B%221752587000000097269%22%5D%7D%5D%2C%22pattern%22%3A%221%22%2C%22UDF_CHAR_Timesheet%22%3A%22-%22%2C%22UDF_USER_Timesheet%22%3A%22-%22%2C%22UDF_LONG_Timesheet%22%3A%22-%22%2C%22UDF_DATE_Timesheet%22%3A%22-%22%2C%22UDF_DOUBLE_Timesheet%22%3A%22-%22%2C%22UDF_TEXT_Timesheet%22%3A%22-%22%2C%22UDF_ENCRYPT_Timesheet%22%3A%22-%22%7D&view_id=23806000074760021&timelog_group_id=-&custom_range=%7B%22start_date%22%3A%222023-12-20%22%2C%22end_date%22%3A%222024-12-20%22%7D&frompage=timeloggroup_draft&is_module_based_pagination=-' \
-H 'Authorization: Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa'

url = "https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/projects/23806000097545166/timelogs/report";
filter_value = {"project":"-","assignee":"-","billtype":"-","approvaltype":"-","tsheetperiod":"-","clientcompany":"-","content":"-","invoicestatus":"-","usergroups":"-","criteria":[{"field_name":"project","custom_feild":"-","field_type":"-","criteria_condition":"contains","value":["1752587000000097269"]}],"pattern":"1","UDF_CHAR_Timesheet":"-","UDF_USER_Timesheet":"-","UDF_LONG_Timesheet":"-","UDF_DATE_Timesheet":"-","UDF_DOUBLE_Timesheet":"-","UDF_TEXT_Timesheet":"-","UDF_ENCRYPT_Timesheet":"-"};
custom_range_value = {"start_date":"2023-12-20","end_date":"2024-12-20"};
params = Map();
params.put("page", "1");
params.put("per_page", "10");
params.put("report_type", "user");
params.put("view_type", "week");
params.put("start_date", "2023-12-20");
params.put("filter", filter_value);
params.put("view_id", "23806000074760021");
params.put("timelog_group_id", "-");
params.put("custom_range", custom_range_value);
params.put("frompage", "timeloggroup_draft");
params.put("is_module_based_pagination", "-");
response = invokeUrl
[
    url: url
    type: GET
    parameters: params
    connection: "projects"
];
info response;
const https = require('https');
const url = new URL('https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/projects/23806000097545166/timelogs/report');
url.searchParams.append('page', '1');
url.searchParams.append('per_page', '10');
url.searchParams.append('report_type', 'user');
url.searchParams.append('view_type', 'week');
url.searchParams.append('start_date', '2023-12-20');
url.searchParams.append('filter', '{"project":"-","assignee":"-","billtype":"-","approvaltype":"-","tsheetperiod":"-","clientcompany":"-","content":"-","invoicestatus":"-","usergroups":"-","criteria":[{"field_name":"project","custom_feild":"-","field_type":"-","criteria_condition":"contains","value":["1752587000000097269"]}],"pattern":"1","UDF_CHAR_Timesheet":"-","UDF_USER_Timesheet":"-","UDF_LONG_Timesheet":"-","UDF_DATE_Timesheet":"-","UDF_DOUBLE_Timesheet":"-","UDF_TEXT_Timesheet":"-","UDF_ENCRYPT_Timesheet":"-"}');
url.searchParams.append('view_id', '23806000074760021');
url.searchParams.append('timelog_group_id', '-');
url.searchParams.append('custom_range', '{"start_date":"2023-12-20","end_date":"2024-12-20"}');
url.searchParams.append('frompage', 'timeloggroup_draft');
url.searchParams.append('is_module_based_pagination', '-');

const options = {
  hostname: url.hostname,
  path: url.pathname + url.search,
  method: 'GET',
  headers: {
    'Authorization': 'Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa'
  }
};

const req = https.request(options, (res) => {
  let data = '';
  res.on('data', (chunk) => { data += chunk; });
  res.on('end', () => { console.log(JSON.parse(data)); });
});

req.on('error', (err) => { console.error(err); });
req.end();
require 'net/http'
require 'uri'
require 'json'

url = URI("https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/projects/23806000097545166/timelogs/report")
params = {
  "page" => "1",
  "per_page" => "10",
  "report_type" => "user",
  "view_type" => "week",
  "start_date" => "2023-12-20",
  "filter" => "{\"project\":\"-\",\"assignee\":\"-\",\"billtype\":\"-\",\"approvaltype\":\"-\",\"tsheetperiod\":\"-\",\"clientcompany\":\"-\",\"content\":\"-\",\"invoicestatus\":\"-\",\"usergroups\":\"-\",\"criteria\":[{\"field_name\":\"project\",\"custom_feild\":\"-\",\"field_type\":\"-\",\"criteria_condition\":\"contains\",\"value\":[\"1752587000000097269\"]}],\"pattern\":\"1\",\"UDF_CHAR_Timesheet\":\"-\",\"UDF_USER_Timesheet\":\"-\",\"UDF_LONG_Timesheet\":\"-\",\"UDF_DATE_Timesheet\":\"-\",\"UDF_DOUBLE_Timesheet\":\"-\",\"UDF_TEXT_Timesheet\":\"-\",\"UDF_ENCRYPT_Timesheet\":\"-\"}",
  "view_id" => "23806000074760021",
  "timelog_group_id" => "-",
  "custom_range" => "{\"start_date\":\"2023-12-20\",\"end_date\":\"2024-12-20\"}",
  "frompage" => "timeloggroup_draft",
  "is_module_based_pagination" => "-"
}
url.query = URI.encode_www_form(params)

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)
request["Authorization"] = "Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa"

response = http.request(request)
puts response.read_body
<?php
$params = [
    'page' => '1',
    'per_page' => '10',
    'report_type' => 'user',
    'view_type' => 'week',
    'start_date' => '2023-12-20',
    'filter' => '{"project":"-","assignee":"-","billtype":"-","approvaltype":"-","tsheetperiod":"-","clientcompany":"-","content":"-","invoicestatus":"-","usergroups":"-","criteria":[{"field_name":"project","custom_feild":"-","field_type":"-","criteria_condition":"contains","value":["1752587000000097269"]}],"pattern":"1","UDF_CHAR_Timesheet":"-","UDF_USER_Timesheet":"-","UDF_LONG_Timesheet":"-","UDF_DATE_Timesheet":"-","UDF_DOUBLE_Timesheet":"-","UDF_TEXT_Timesheet":"-","UDF_ENCRYPT_Timesheet":"-"}',
    'view_id' => '23806000074760021',
    'timelog_group_id' => '-',
    'custom_range' => '{"start_date":"2023-12-20","end_date":"2024-12-20"}',
    'frompage' => 'timeloggroup_draft',
    'is_module_based_pagination' => '-',
];
$url = "https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/projects/23806000097545166/timelogs/report" . "?" . http_build_query($params);

$curl = curl_init();

curl_setopt_array($curl, [
  CURLOPT_URL => $url,
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_CUSTOMREQUEST => "GET",
  CURLOPT_HTTPHEADER => [
    "Authorization: Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa"
  ],
]);

$response = curl_exec($curl);
curl_close($curl);

echo $response;
import requests

url = "https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/projects/23806000097545166/timelogs/report"

params = {
    "page": "1",
    "per_page": "10",
    "report_type": "user",
    "view_type": "week",
    "start_date": "2023-12-20",
    "filter": "{\"project\":\"-\",\"assignee\":\"-\",\"billtype\":\"-\",\"approvaltype\":\"-\",\"tsheetperiod\":\"-\",\"clientcompany\":\"-\",\"content\":\"-\",\"invoicestatus\":\"-\",\"usergroups\":\"-\",\"criteria\":[{\"field_name\":\"project\",\"custom_feild\":\"-\",\"field_type\":\"-\",\"criteria_condition\":\"contains\",\"value\":[\"1752587000000097269\"]}],\"pattern\":\"1\",\"UDF_CHAR_Timesheet\":\"-\",\"UDF_USER_Timesheet\":\"-\",\"UDF_LONG_Timesheet\":\"-\",\"UDF_DATE_Timesheet\":\"-\",\"UDF_DOUBLE_Timesheet\":\"-\",\"UDF_TEXT_Timesheet\":\"-\",\"UDF_ENCRYPT_Timesheet\":\"-\"}",
    "view_id": "23806000074760021",
    "timelog_group_id": "-",
    "custom_range": "{\"start_date\":\"2023-12-20\",\"end_date\":\"2024-12-20\"}",
    "frompage": "timeloggroup_draft",
    "is_module_based_pagination": "-"
}

headers = {
    "Authorization": "Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa",
}

response = requests.get(url, headers=headers, params=params)

print(response.json())
#include <stdio.h>
#include <string.h>
#include <curl/curl.h>

int main(void) {
    CURL *curl = curl_easy_init();
    if (curl) {
        char *enc_page = curl_easy_escape(curl, "1", 0);
        char *enc_per_page = curl_easy_escape(curl, "10", 0);
        char *enc_report_type = curl_easy_escape(curl, "user", 0);
        char *enc_view_type = curl_easy_escape(curl, "week", 0);
        char *enc_start_date = curl_easy_escape(curl, "2023-12-20", 0);
        char *enc_filter = curl_easy_escape(curl, "{\"project\":\"-\",\"assignee\":\"-\",\"billtype\":\"-\",\"approvaltype\":\"-\",\"tsheetperiod\":\"-\",\"clientcompany\":\"-\",\"content\":\"-\",\"invoicestatus\":\"-\",\"usergroups\":\"-\",\"criteria\":[{\"field_name\":\"project\",\"custom_feild\":\"-\",\"field_type\":\"-\",\"criteria_condition\":\"contains\",\"value\":[\"1752587000000097269\"]}],\"pattern\":\"1\",\"UDF_CHAR_Timesheet\":\"-\",\"UDF_USER_Timesheet\":\"-\",\"UDF_LONG_Timesheet\":\"-\",\"UDF_DATE_Timesheet\":\"-\",\"UDF_DOUBLE_Timesheet\":\"-\",\"UDF_TEXT_Timesheet\":\"-\",\"UDF_ENCRYPT_Timesheet\":\"-\"}", 0);
        char *enc_view_id = curl_easy_escape(curl, "23806000074760021", 0);
        char *enc_timelog_group_id = curl_easy_escape(curl, "-", 0);
        char *enc_custom_range = curl_easy_escape(curl, "{\"start_date\":\"2023-12-20\",\"end_date\":\"2024-12-20\"}", 0);
        char *enc_frompage = curl_easy_escape(curl, "timeloggroup_draft", 0);
        char *enc_is_module_based_pagination = curl_easy_escape(curl, "-", 0);
        char url[2048];
        snprintf(url, sizeof(url), "https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/projects/23806000097545166/timelogs/report?page=%s&per_page=%s&report_type=%s&view_type=%s&start_date=%s&filter=%s&view_id=%s&timelog_group_id=%s&custom_range=%s&frompage=%s&is_module_based_pagination=%s", enc_page, enc_per_page, enc_report_type, enc_view_type, enc_start_date, enc_filter, enc_view_id, enc_timelog_group_id, enc_custom_range, enc_frompage, enc_is_module_based_pagination);

        struct curl_slist *headers = NULL;
        headers = curl_slist_append(headers, "Authorization: Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa");

        curl_easy_setopt(curl, CURLOPT_URL, url);
        curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers);
        curl_easy_setopt(curl, CURLOPT_CUSTOMREQUEST, "GET");

        CURLcode res = curl_easy_perform(curl);
        if (res != CURLE_OK)
            fprintf(stderr, "curl failed: %s\n", curl_easy_strerror(res));

        curl_free(enc_page);
        curl_free(enc_per_page);
        curl_free(enc_report_type);
        curl_free(enc_view_type);
        curl_free(enc_start_date);
        curl_free(enc_filter);
        curl_free(enc_view_id);
        curl_free(enc_timelog_group_id);
        curl_free(enc_custom_range);
        curl_free(enc_frompage);
        curl_free(enc_is_module_based_pagination);
        curl_slist_free_all(headers);
        curl_easy_cleanup(curl);
    }
    return 0;
}
using System.Net.Http;
using System.Text;
using System.Web;

var client = new HttpClient();
client.DefaultRequestHeaders.Add("Authorization", "Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa");

var query = HttpUtility.ParseQueryString(string.Empty);
query["page"] = "1";
query["per_page"] = "10";
query["report_type"] = "user";
query["view_type"] = "week";
query["start_date"] = "2023-12-20";
query["filter"] = "{\"project\":\"-\",\"assignee\":\"-\",\"billtype\":\"-\",\"approvaltype\":\"-\",\"tsheetperiod\":\"-\",\"clientcompany\":\"-\",\"content\":\"-\",\"invoicestatus\":\"-\",\"usergroups\":\"-\",\"criteria\":[{\"field_name\":\"project\",\"custom_feild\":\"-\",\"field_type\":\"-\",\"criteria_condition\":\"contains\",\"value\":[\"1752587000000097269\"]}],\"pattern\":\"1\",\"UDF_CHAR_Timesheet\":\"-\",\"UDF_USER_Timesheet\":\"-\",\"UDF_LONG_Timesheet\":\"-\",\"UDF_DATE_Timesheet\":\"-\",\"UDF_DOUBLE_Timesheet\":\"-\",\"UDF_TEXT_Timesheet\":\"-\",\"UDF_ENCRYPT_Timesheet\":\"-\"}";
query["view_id"] = "23806000074760021";
query["timelog_group_id"] = "-";
query["custom_range"] = "{\"start_date\":\"2023-12-20\",\"end_date\":\"2024-12-20\"}";
query["frompage"] = "timeloggroup_draft";
query["is_module_based_pagination"] = "-";
var uriBuilder = new UriBuilder("https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/projects/23806000097545166/timelogs/report") { Query = query.ToString() };
var request = new HttpRequestMessage(HttpMethod.Get, uriBuilder.Uri);

var response = await client.SendAsync(request);
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
#include <iostream>
#include <string>
#include <curl/curl.h>

static size_t WriteCallback(void* contents, size_t size, size_t nmemb, std::string* output) {
    output->append((char*)contents, size * nmemb);
    return size * nmemb;
}

int main() {
    CURL* curl = curl_easy_init();
    if (curl) {
        std::string response;
        char* enc_page = curl_easy_escape(curl, "1", 0);
        char* enc_per_page = curl_easy_escape(curl, "10", 0);
        char* enc_report_type = curl_easy_escape(curl, "user", 0);
        char* enc_view_type = curl_easy_escape(curl, "week", 0);
        char* enc_start_date = curl_easy_escape(curl, "2023-12-20", 0);
        char* enc_filter = curl_easy_escape(curl, "{\"project\":\"-\",\"assignee\":\"-\",\"billtype\":\"-\",\"approvaltype\":\"-\",\"tsheetperiod\":\"-\",\"clientcompany\":\"-\",\"content\":\"-\",\"invoicestatus\":\"-\",\"usergroups\":\"-\",\"criteria\":[{\"field_name\":\"project\",\"custom_feild\":\"-\",\"field_type\":\"-\",\"criteria_condition\":\"contains\",\"value\":[\"1752587000000097269\"]}],\"pattern\":\"1\",\"UDF_CHAR_Timesheet\":\"-\",\"UDF_USER_Timesheet\":\"-\",\"UDF_LONG_Timesheet\":\"-\",\"UDF_DATE_Timesheet\":\"-\",\"UDF_DOUBLE_Timesheet\":\"-\",\"UDF_TEXT_Timesheet\":\"-\",\"UDF_ENCRYPT_Timesheet\":\"-\"}", 0);
        char* enc_view_id = curl_easy_escape(curl, "23806000074760021", 0);
        char* enc_timelog_group_id = curl_easy_escape(curl, "-", 0);
        char* enc_custom_range = curl_easy_escape(curl, "{\"start_date\":\"2023-12-20\",\"end_date\":\"2024-12-20\"}", 0);
        char* enc_frompage = curl_easy_escape(curl, "timeloggroup_draft", 0);
        char* enc_is_module_based_pagination = curl_easy_escape(curl, "-", 0);
        std::string url = "https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/projects/23806000097545166/timelogs/report";
        url += "?page=" + std::string(enc_page);
        url += "&per_page=" + std::string(enc_per_page);
        url += "&report_type=" + std::string(enc_report_type);
        url += "&view_type=" + std::string(enc_view_type);
        url += "&start_date=" + std::string(enc_start_date);
        url += "&filter=" + std::string(enc_filter);
        url += "&view_id=" + std::string(enc_view_id);
        url += "&timelog_group_id=" + std::string(enc_timelog_group_id);
        url += "&custom_range=" + std::string(enc_custom_range);
        url += "&frompage=" + std::string(enc_frompage);
        url += "&is_module_based_pagination=" + std::string(enc_is_module_based_pagination);

        struct curl_slist* headers = NULL;
        headers = curl_slist_append(headers, "Authorization: Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa");

        curl_easy_setopt(curl, CURLOPT_URL, url.c_str());
        curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers);
        curl_easy_setopt(curl, CURLOPT_CUSTOMREQUEST, "GET");
        curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, WriteCallback);
        curl_easy_setopt(curl, CURLOPT_WRITEDATA, &response);

        CURLcode res = curl_easy_perform(curl);
        if (res == CURLE_OK)
            std::cout << response << std::endl;
        else
            std::cerr << curl_easy_strerror(res) << std::endl;

        curl_free(enc_page);
        curl_free(enc_per_page);
        curl_free(enc_report_type);
        curl_free(enc_view_type);
        curl_free(enc_start_date);
        curl_free(enc_filter);
        curl_free(enc_view_id);
        curl_free(enc_timelog_group_id);
        curl_free(enc_custom_range);
        curl_free(enc_frompage);
        curl_free(enc_is_module_based_pagination);
        curl_slist_free_all(headers);
        curl_easy_cleanup(curl);
    }
    return 0;
}
(require '[clj-http.client :as client])

(let [enc-page (java.net.URLEncoder/encode "1" "UTF-8")
      enc-per_page (java.net.URLEncoder/encode "10" "UTF-8")
      enc-report_type (java.net.URLEncoder/encode "user" "UTF-8")
      enc-view_type (java.net.URLEncoder/encode "week" "UTF-8")
      enc-start_date (java.net.URLEncoder/encode "2023-12-20" "UTF-8")
      enc-filter (java.net.URLEncoder/encode "{\"project\":\"-\",\"assignee\":\"-\",\"billtype\":\"-\",\"approvaltype\":\"-\",\"tsheetperiod\":\"-\",\"clientcompany\":\"-\",\"content\":\"-\",\"invoicestatus\":\"-\",\"usergroups\":\"-\",\"criteria\":[{\"field_name\":\"project\",\"custom_feild\":\"-\",\"field_type\":\"-\",\"criteria_condition\":\"contains\",\"value\":[\"1752587000000097269\"]}],\"pattern\":\"1\",\"UDF_CHAR_Timesheet\":\"-\",\"UDF_USER_Timesheet\":\"-\",\"UDF_LONG_Timesheet\":\"-\",\"UDF_DATE_Timesheet\":\"-\",\"UDF_DOUBLE_Timesheet\":\"-\",\"UDF_TEXT_Timesheet\":\"-\",\"UDF_ENCRYPT_Timesheet\":\"-\"}" "UTF-8")
      enc-view_id (java.net.URLEncoder/encode "23806000074760021" "UTF-8")
      enc-timelog_group_id (java.net.URLEncoder/encode "-" "UTF-8")
      enc-custom_range (java.net.URLEncoder/encode "{\"start_date\":\"2023-12-20\",\"end_date\":\"2024-12-20\"}" "UTF-8")
      enc-frompage (java.net.URLEncoder/encode "timeloggroup_draft" "UTF-8")
      enc-is_module_based_pagination (java.net.URLEncoder/encode "-" "UTF-8")
      url (str "https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/projects/23806000097545166/timelogs/report" "?page=" enc-page "&per_page=" enc-per_page "&report_type=" enc-report_type "&view_type=" enc-view_type "&start_date=" enc-start_date "&filter=" enc-filter "&view_id=" enc-view_id "&timelog_group_id=" enc-timelog_group_id "&custom_range=" enc-custom_range "&frompage=" enc-frompage "&is_module_based_pagination=" enc-is_module_based_pagination)]
(def response
  (client/get url
    {:headers {"Authorization" "Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa"}
     :as :json}))

(println (:body response))
package main

import (
    "fmt"
    "io"
    "net/http"
    "net/url"
)

func main() {
    req, _ := http.NewRequest("GET", "https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/projects/23806000097545166/timelogs/report", nil)
    q := req.URL.Query()
    q.Add("page", "1")
    q.Add("per_page", "10")
    q.Add("report_type", "user")
    q.Add("view_type", "week")
    q.Add("start_date", "2023-12-20")
    q.Add("filter", "{\"project\":\"-\",\"assignee\":\"-\",\"billtype\":\"-\",\"approvaltype\":\"-\",\"tsheetperiod\":\"-\",\"clientcompany\":\"-\",\"content\":\"-\",\"invoicestatus\":\"-\",\"usergroups\":\"-\",\"criteria\":[{\"field_name\":\"project\",\"custom_feild\":\"-\",\"field_type\":\"-\",\"criteria_condition\":\"contains\",\"value\":[\"1752587000000097269\"]}],\"pattern\":\"1\",\"UDF_CHAR_Timesheet\":\"-\",\"UDF_USER_Timesheet\":\"-\",\"UDF_LONG_Timesheet\":\"-\",\"UDF_DATE_Timesheet\":\"-\",\"UDF_DOUBLE_Timesheet\":\"-\",\"UDF_TEXT_Timesheet\":\"-\",\"UDF_ENCRYPT_Timesheet\":\"-\"}")
    q.Add("view_id", "23806000074760021")
    q.Add("timelog_group_id", "-")
    q.Add("custom_range", "{\"start_date\":\"2023-12-20\",\"end_date\":\"2024-12-20\"}")
    q.Add("frompage", "timeloggroup_draft")
    q.Add("is_module_based_pagination", "-")
    req.URL.RawQuery = q.Encode()
    req.Header.Add("Authorization", "Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa")

    resp, _ := http.DefaultClient.Do(req)
    defer resp.Body.Close()
    body, _ := io.ReadAll(resp.Body)
    fmt.Println(string(body))
}
GET https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/projects/23806000097545166/timelogs/report?page=1&per_page=10&report_type=user&view_type=week&start_date=2023-12-20&filter=%7B%22project%22%3A%22-%22%2C%22assignee%22%3A%22-%22%2C%22billtype%22%3A%22-%22%2C%22approvaltype%22%3A%22-%22%2C%22tsheetperiod%22%3A%22-%22%2C%22clientcompany%22%3A%22-%22%2C%22content%22%3A%22-%22%2C%22invoicestatus%22%3A%22-%22%2C%22usergroups%22%3A%22-%22%2C%22criteria%22%3A%5B%7B%22field_name%22%3A%22project%22%2C%22custom_feild%22%3A%22-%22%2C%22field_type%22%3A%22-%22%2C%22criteria_condition%22%3A%22contains%22%2C%22value%22%3A%5B%221752587000000097269%22%5D%7D%5D%2C%22pattern%22%3A%221%22%2C%22UDF_CHAR_Timesheet%22%3A%22-%22%2C%22UDF_USER_Timesheet%22%3A%22-%22%2C%22UDF_LONG_Timesheet%22%3A%22-%22%2C%22UDF_DATE_Timesheet%22%3A%22-%22%2C%22UDF_DOUBLE_Timesheet%22%3A%22-%22%2C%22UDF_TEXT_Timesheet%22%3A%22-%22%2C%22UDF_ENCRYPT_Timesheet%22%3A%22-%22%7D&view_id=23806000074760021&timelog_group_id=-&custom_range=%7B%22start_date%22%3A%222023-12-20%22%2C%22end_date%22%3A%222024-12-20%22%7D&frompage=timeloggroup_draft&is_module_based_pagination=- HTTP/1.1
Host: https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/projects/23806000097545166/timelogs/report?page=1&per_page=10&report_type=user&view_type=week&start_date=2023-12-20&filter=%7B%22project%22%3A%22-%22%2C%22assignee%22%3A%22-%22%2C%22billtype%22%3A%22-%22%2C%22approvaltype%22%3A%22-%22%2C%22tsheetperiod%22%3A%22-%22%2C%22clientcompany%22%3A%22-%22%2C%22content%22%3A%22-%22%2C%22invoicestatus%22%3A%22-%22%2C%22usergroups%22%3A%22-%22%2C%22criteria%22%3A%5B%7B%22field_name%22%3A%22project%22%2C%22custom_feild%22%3A%22-%22%2C%22field_type%22%3A%22-%22%2C%22criteria_condition%22%3A%22contains%22%2C%22value%22%3A%5B%221752587000000097269%22%5D%7D%5D%2C%22pattern%22%3A%221%22%2C%22UDF_CHAR_Timesheet%22%3A%22-%22%2C%22UDF_USER_Timesheet%22%3A%22-%22%2C%22UDF_LONG_Timesheet%22%3A%22-%22%2C%22UDF_DATE_Timesheet%22%3A%22-%22%2C%22UDF_DOUBLE_Timesheet%22%3A%22-%22%2C%22UDF_TEXT_Timesheet%22%3A%22-%22%2C%22UDF_ENCRYPT_Timesheet%22%3A%22-%22%7D&view_id=23806000074760021&timelog_group_id=-&custom_range=%7B%22start_date%22%3A%222023-12-20%22%2C%22end_date%22%3A%222024-12-20%22%7D&frompage=timeloggroup_draft&is_module_based_pagination=-
Authorization: Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa
HttpClientBuilder httpClientBuilder = HttpClientBuilder.create();

SSLContext sslContext = SSLContext.getDefault();
SSLConnectionSocketFactory sslConnectionSocketFactory = new SSLConnectionSocketFactory(sslContext, NoopHostnameVerifier.INSTANCE);
CloseableHttpClient httpclient = httpClientBuilder.setSSLSocketFactory(sslConnectionSocketFactory).build();

URIBuilder uriBuilder = new URIBuilder("https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/projects/23806000097545166/timelogs/report");
uriBuilder.addParameter("page", "1");
uriBuilder.addParameter("per_page", "10");
uriBuilder.addParameter("report_type", "user");
uriBuilder.addParameter("view_type", "week");
uriBuilder.addParameter("start_date", "2023-12-20");
uriBuilder.addParameter("filter", "{\"project\":\"-\",\"assignee\":\"-\",\"billtype\":\"-\",\"approvaltype\":\"-\",\"tsheetperiod\":\"-\",\"clientcompany\":\"-\",\"content\":\"-\",\"invoicestatus\":\"-\",\"usergroups\":\"-\",\"criteria\":[{\"field_name\":\"project\",\"custom_feild\":\"-\",\"field_type\":\"-\",\"criteria_condition\":\"contains\",\"value\":[\"1752587000000097269\"]}],\"pattern\":\"1\",\"UDF_CHAR_Timesheet\":\"-\",\"UDF_USER_Timesheet\":\"-\",\"UDF_LONG_Timesheet\":\"-\",\"UDF_DATE_Timesheet\":\"-\",\"UDF_DOUBLE_Timesheet\":\"-\",\"UDF_TEXT_Timesheet\":\"-\",\"UDF_ENCRYPT_Timesheet\":\"-\"}");
uriBuilder.addParameter("view_id", "23806000074760021");
uriBuilder.addParameter("timelog_group_id", "-");
uriBuilder.addParameter("custom_range", "{\"start_date\":\"2023-12-20\",\"end_date\":\"2024-12-20\"}");
uriBuilder.addParameter("frompage", "timeloggroup_draft");
uriBuilder.addParameter("is_module_based_pagination", "-");
HttpUriRequest requestObj = new HttpGet(uriBuilder.build());
requestObj.addHeader("Authorization", "Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa");

HttpResponse response = httpclient.execute(requestObj);

HttpEntity responseEntity = response.getEntity();
Object responseObject = EntityUtils.toString(responseEntity);
String responseString = responseObject.toString();
const url = 'https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/projects/23806000097545166/timelogs/report';

const params = new URLSearchParams({
  'page': '1',
  'per_page': '10',
  'report_type': 'user',
  'view_type': 'week',
  'start_date': '2023-12-20',
  'filter': '{"project":"-","assignee":"-","billtype":"-","approvaltype":"-","tsheetperiod":"-","clientcompany":"-","content":"-","invoicestatus":"-","usergroups":"-","criteria":[{"field_name":"project","custom_feild":"-","field_type":"-","criteria_condition":"contains","value":["1752587000000097269"]}],"pattern":"1","UDF_CHAR_Timesheet":"-","UDF_USER_Timesheet":"-","UDF_LONG_Timesheet":"-","UDF_DATE_Timesheet":"-","UDF_DOUBLE_Timesheet":"-","UDF_TEXT_Timesheet":"-","UDF_ENCRYPT_Timesheet":"-"}',
  'view_id': '23806000074760021',
  'timelog_group_id': '-',
  'custom_range': '{"start_date":"2023-12-20","end_date":"2024-12-20"}',
  'frompage': 'timeloggroup_draft',
  'is_module_based_pagination': '-'
});

const options = {
  method: 'GET',
  headers: {
    'Authorization': 'Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa'
  }
};

fetch(url + '?' + params.toString(), options)
  .then(response => response.json())
  .then(data => console.log(data))
  .catch(error => console.error(error));
page = "1"
per_page = "10"
report_type = "user"
view_type = "week"
start_date = "2023-12-20"
filter = {"project":"-","assignee":"-","billtype":"-","approvaltype":"-","tsheetperiod":"-","clientcompany":"-","content":"-","invoicestatus":"-","usergroups":"-","criteria":[{"field_name":"project","custom_feild":"-","field_type":"-","criteria_condition":"contains","value":["1752587000000097269"]}],"pattern":"1","UDF_CHAR_Timesheet":"-","UDF_USER_Timesheet":"-","UDF_LONG_Timesheet":"-","UDF_DATE_Timesheet":"-","UDF_DOUBLE_Timesheet":"-","UDF_TEXT_Timesheet":"-","UDF_ENCRYPT_Timesheet":"-"}
view_id = "23806000074760021"
timelog_group_id =  - 
custom_range = {"start_date":"2023-12-20","end_date":"2024-12-20"}
frompage = "timeloggroup_draft"
is_module_based_pagination =  - 
import java.net.HttpURLConnection
import java.net.URL
import okhttp3.HttpUrl.Companion.toHttpUrl

fun main() {
    val urlBuilder = "https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/projects/23806000097545166/timelogs/report".toHttpUrl().newBuilder()
    urlBuilder.addQueryParameter("page", "1")
    urlBuilder.addQueryParameter("per_page", "10")
    urlBuilder.addQueryParameter("report_type", "user")
    urlBuilder.addQueryParameter("view_type", "week")
    urlBuilder.addQueryParameter("start_date", "2023-12-20")
    urlBuilder.addQueryParameter("filter", "{\"project\":\"-\",\"assignee\":\"-\",\"billtype\":\"-\",\"approvaltype\":\"-\",\"tsheetperiod\":\"-\",\"clientcompany\":\"-\",\"content\":\"-\",\"invoicestatus\":\"-\",\"usergroups\":\"-\",\"criteria\":[{\"field_name\":\"project\",\"custom_feild\":\"-\",\"field_type\":\"-\",\"criteria_condition\":\"contains\",\"value\":[\"1752587000000097269\"]}],\"pattern\":\"1\",\"UDF_CHAR_Timesheet\":\"-\",\"UDF_USER_Timesheet\":\"-\",\"UDF_LONG_Timesheet\":\"-\",\"UDF_DATE_Timesheet\":\"-\",\"UDF_DOUBLE_Timesheet\":\"-\",\"UDF_TEXT_Timesheet\":\"-\",\"UDF_ENCRYPT_Timesheet\":\"-\"}")
    urlBuilder.addQueryParameter("view_id", "23806000074760021")
    urlBuilder.addQueryParameter("timelog_group_id", "-")
    urlBuilder.addQueryParameter("custom_range", "{\"start_date\":\"2023-12-20\",\"end_date\":\"2024-12-20\"}")
    urlBuilder.addQueryParameter("frompage", "timeloggroup_draft")
    urlBuilder.addQueryParameter("is_module_based_pagination", "-")
    val url = URL(urlBuilder.build().toString())
    val conn = url.openConnection() as HttpURLConnection
    conn.requestMethod = "GET"
    conn.setRequestProperty("Authorization", "Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa")

    val response = conn.inputStream.bufferedReader().readText()
    println(response)
}
NSString *encodedPage = [@"1" stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];
NSString *encodedPer_page = [@"10" stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];
NSString *encodedReport_type = [@"user" stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];
NSString *encodedView_type = [@"week" stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];
NSString *encodedStart_date = [@"2023-12-20" stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];
NSString *encodedFilter = [@"{\"project\":\"-\",\"assignee\":\"-\",\"billtype\":\"-\",\"approvaltype\":\"-\",\"tsheetperiod\":\"-\",\"clientcompany\":\"-\",\"content\":\"-\",\"invoicestatus\":\"-\",\"usergroups\":\"-\",\"criteria\":[{\"field_name\":\"project\",\"custom_feild\":\"-\",\"field_type\":\"-\",\"criteria_condition\":\"contains\",\"value\":[\"1752587000000097269\"]}],\"pattern\":\"1\",\"UDF_CHAR_Timesheet\":\"-\",\"UDF_USER_Timesheet\":\"-\",\"UDF_LONG_Timesheet\":\"-\",\"UDF_DATE_Timesheet\":\"-\",\"UDF_DOUBLE_Timesheet\":\"-\",\"UDF_TEXT_Timesheet\":\"-\",\"UDF_ENCRYPT_Timesheet\":\"-\"}" stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];
NSString *encodedView_id = [@"23806000074760021" stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];
NSString *encodedTimelog_group_id = [@"-" stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];
NSString *encodedCustom_range = [@"{\"start_date\":\"2023-12-20\",\"end_date\":\"2024-12-20\"}" stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];
NSString *encodedFrompage = [@"timeloggroup_draft" stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];
NSString *encodedIs_module_based_pagination = [@"-" stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];
NSString *urlString = [NSString stringWithFormat:@"https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/projects/23806000097545166/timelogs/report?page=%@&per_page=%@&report_type=%@&view_type=%@&start_date=%@&filter=%@&view_id=%@&timelog_group_id=%@&custom_range=%@&frompage=%@&is_module_based_pagination=%@", encodedPage, encodedPer_page, encodedReport_type, encodedView_type, encodedStart_date, encodedFilter, encodedView_id, encodedTimelog_group_id, encodedCustom_range, encodedFrompage, encodedIs_module_based_pagination];
NSURL *url = [NSURL URLWithString:urlString];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];
[request setHTTPMethod:@"GET"];
[request setValue:@"Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa" forHTTPHeaderField:@"Authorization"];

NSURLSession *session = [NSURLSession sharedSession];
NSURLSessionDataTask *task = [session dataTaskWithRequest:request
    completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
        NSString *result = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
        NSLog(@"%@", result);
}];
[task resume];
open Lwt
open Cohttp_lwt_unix

let () =
  let enc_page = Uri.pct_encode "1" in
  let enc_per_page = Uri.pct_encode "10" in
  let enc_report_type = Uri.pct_encode "user" in
  let enc_view_type = Uri.pct_encode "week" in
  let enc_start_date = Uri.pct_encode "2023-12-20" in
  let enc_filter = Uri.pct_encode "{\"project\":\"-\",\"assignee\":\"-\",\"billtype\":\"-\",\"approvaltype\":\"-\",\"tsheetperiod\":\"-\",\"clientcompany\":\"-\",\"content\":\"-\",\"invoicestatus\":\"-\",\"usergroups\":\"-\",\"criteria\":[{\"field_name\":\"project\",\"custom_feild\":\"-\",\"field_type\":\"-\",\"criteria_condition\":\"contains\",\"value\":[\"1752587000000097269\"]}],\"pattern\":\"1\",\"UDF_CHAR_Timesheet\":\"-\",\"UDF_USER_Timesheet\":\"-\",\"UDF_LONG_Timesheet\":\"-\",\"UDF_DATE_Timesheet\":\"-\",\"UDF_DOUBLE_Timesheet\":\"-\",\"UDF_TEXT_Timesheet\":\"-\",\"UDF_ENCRYPT_Timesheet\":\"-\"}" in
  let enc_view_id = Uri.pct_encode "23806000074760021" in
  let enc_timelog_group_id = Uri.pct_encode "-" in
  let enc_custom_range = Uri.pct_encode "{\"start_date\":\"2023-12-20\",\"end_date\":\"2024-12-20\"}" in
  let enc_frompage = Uri.pct_encode "timeloggroup_draft" in
  let enc_is_module_based_pagination = Uri.pct_encode "-" in
  let uri = Uri.of_string ("https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/projects/23806000097545166/timelogs/report" ^ "?page=" ^ enc_page ^ "&per_page=" ^ enc_per_page ^ "&report_type=" ^ enc_report_type ^ "&view_type=" ^ enc_view_type ^ "&start_date=" ^ enc_start_date ^ "&filter=" ^ enc_filter ^ "&view_id=" ^ enc_view_id ^ "&timelog_group_id=" ^ enc_timelog_group_id ^ "&custom_range=" ^ enc_custom_range ^ "&frompage=" ^ enc_frompage ^ "&is_module_based_pagination=" ^ enc_is_module_based_pagination) in
  let headers = Cohttp.Header.init ()
    |> fun h -> Cohttp.Header.add h "Authorization" "Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa"
  in
  Lwt_main.run (
    Client.get ~headers uri >>= fun (_, body) ->
    Cohttp_lwt.Body.to_string body >|= fun s ->
    print_endline s)
$headers = @{
    "Authorization" = "Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa"
}

$params = @{
    page = "1"
    per_page = "10"
    report_type = "user"
    view_type = "week"
    start_date = "2023-12-20"
    filter = "{`"project`":`"-`",`"assignee`":`"-`",`"billtype`":`"-`",`"approvaltype`":`"-`",`"tsheetperiod`":`"-`",`"clientcompany`":`"-`",`"content`":`"-`",`"invoicestatus`":`"-`",`"usergroups`":`"-`",`"criteria`":[{`"field_name`":`"project`",`"custom_feild`":`"-`",`"field_type`":`"-`",`"criteria_condition`":`"contains`",`"value`":[`"1752587000000097269`"]}],`"pattern`":`"1`",`"UDF_CHAR_Timesheet`":`"-`",`"UDF_USER_Timesheet`":`"-`",`"UDF_LONG_Timesheet`":`"-`",`"UDF_DATE_Timesheet`":`"-`",`"UDF_DOUBLE_Timesheet`":`"-`",`"UDF_TEXT_Timesheet`":`"-`",`"UDF_ENCRYPT_Timesheet`":`"-`"}"
    view_id = "23806000074760021"
    timelog_group_id = "-"
    custom_range = "{`"start_date`":`"2023-12-20`",`"end_date`":`"2024-12-20`"}"
    frompage = "timeloggroup_draft"
    is_module_based_pagination = "-"
}
$queryString = ($params.GetEnumerator() | ForEach-Object { "$($_.Key)=$([System.Uri]::EscapeDataString($_.Value))" }) -join "&"
$url = "https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/projects/23806000097545166/timelogs/report" + "?" + $queryString

$response = Invoke-RestMethod -Uri $url -Method GET -Headers $headers

$response | ConvertTo-Json
library(httr)

url <- "https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/projects/23806000097545166/timelogs/report"

params <- list(
  page = "1",
  per_page = "10",
  report_type = "user",
  view_type = "week",
  start_date = "2023-12-20",
  filter = "{\"project\":\"-\",\"assignee\":\"-\",\"billtype\":\"-\",\"approvaltype\":\"-\",\"tsheetperiod\":\"-\",\"clientcompany\":\"-\",\"content\":\"-\",\"invoicestatus\":\"-\",\"usergroups\":\"-\",\"criteria\":[{\"field_name\":\"project\",\"custom_feild\":\"-\",\"field_type\":\"-\",\"criteria_condition\":\"contains\",\"value\":[\"1752587000000097269\"]}],\"pattern\":\"1\",\"UDF_CHAR_Timesheet\":\"-\",\"UDF_USER_Timesheet\":\"-\",\"UDF_LONG_Timesheet\":\"-\",\"UDF_DATE_Timesheet\":\"-\",\"UDF_DOUBLE_Timesheet\":\"-\",\"UDF_TEXT_Timesheet\":\"-\",\"UDF_ENCRYPT_Timesheet\":\"-\"}",
  view_id = "23806000074760021",
  timelog_group_id = "-",
  custom_range = "{\"start_date\":\"2023-12-20\",\"end_date\":\"2024-12-20\"}",
  frompage = "timeloggroup_draft",
  is_module_based_pagination = "-"
)

response <- GET(
  url,
  add_headers(Authorization = "Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa"),
  query = params
)

content(response, "text")
import Foundation

var components = URLComponents(string: "https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/projects/23806000097545166/timelogs/report")!
components.queryItems = [
    URLQueryItem(name: "page", value: "1"),
    URLQueryItem(name: "per_page", value: "10"),
    URLQueryItem(name: "report_type", value: "user"),
    URLQueryItem(name: "view_type", value: "week"),
    URLQueryItem(name: "start_date", value: "2023-12-20"),
    URLQueryItem(name: "filter", value: "{\"project\":\"-\",\"assignee\":\"-\",\"billtype\":\"-\",\"approvaltype\":\"-\",\"tsheetperiod\":\"-\",\"clientcompany\":\"-\",\"content\":\"-\",\"invoicestatus\":\"-\",\"usergroups\":\"-\",\"criteria\":[{\"field_name\":\"project\",\"custom_feild\":\"-\",\"field_type\":\"-\",\"criteria_condition\":\"contains\",\"value\":[\"1752587000000097269\"]}],\"pattern\":\"1\",\"UDF_CHAR_Timesheet\":\"-\",\"UDF_USER_Timesheet\":\"-\",\"UDF_LONG_Timesheet\":\"-\",\"UDF_DATE_Timesheet\":\"-\",\"UDF_DOUBLE_Timesheet\":\"-\",\"UDF_TEXT_Timesheet\":\"-\",\"UDF_ENCRYPT_Timesheet\":\"-\"}"),
    URLQueryItem(name: "view_id", value: "23806000074760021"),
    URLQueryItem(name: "timelog_group_id", value: "-"),
    URLQueryItem(name: "custom_range", value: "{\"start_date\":\"2023-12-20\",\"end_date\":\"2024-12-20\"}"),
    URLQueryItem(name: "frompage", value: "timeloggroup_draft"),
    URLQueryItem(name: "is_module_based_pagination", value: "-")
]
let url = components.url!
var request = URLRequest(url: url)
request.httpMethod = "GET"
request.setValue("Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa", forHTTPHeaderField: "Authorization")

let semaphore = DispatchSemaphore(value: 0)
let task = URLSession.shared.dataTask(with: request) { data, response, error in
    if let data = data, let result = String(data: data, encoding: .utf8) {
        print(result)
    }
    semaphore.signal()
}
task.resume()
semaphore.wait()

Sample Input

page : "1" per_page : "10" report_type : "user" view_type : "week" start_date : "2023-12-20" filter : { "project" : "-", "assignee" : "-", "billtype" : "-", "approvaltype" : "-", "tsheetperiod" : "-", "clientcompany" : "-", "content" : "-", "invoicestatus" : "-", "usergroups" : "-", "criteria" : [ { "field_name" : "project", "custom_feild" : "-", "field_type" : "-", "criteria_condition" : "contains", "value" : [ "1752587000000097269" ] } ], "pattern" : "1", "UDF_CHAR_Timesheet" : "-", "UDF_USER_Timesheet" : "-", "UDF_LONG_Timesheet" : "-", "UDF_DATE_Timesheet" : "-", "UDF_DOUBLE_Timesheet" : "-", "UDF_TEXT_Timesheet" : "-", "UDF_ENCRYPT_Timesheet" : "-" } view_id : "23806000074760021" timelog_group_id : - custom_range : { "start_date" : "2023-12-20", "end_date" : "2024-12-20" } frompage : "timeloggroup_draft" is_module_based_pagination : -

Sample Response

200

Get Time Log Project Report

Get time log project report

GET

/api/v3/portal/[PORTAL_ID]/timelogs/projectreport

OAuth Scope:

ZohoProjects.timesheets.READ

Path Parameters

Param Name
Data Type
Description

Query Parameters

Param Name
Data Type
Description

Request Example

Request Example
  • cURL
  • Deluge
  • Node.js
  • Ruby
  • PHP
  • Python
  • C
  • C#
  • C++
  • Clojure
  • Go
  • HTTP
  • Java
  • JS Fetch
  • JSON
  • Kotlin
  • Objective-C
  • OCaml
  • PowerShell
  • R
  • Swift

curl -X GET \
'https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/timelogs/projectreport?index=1&range=100&view_type=week&start_date=2023-12-20&end_date=2024-12-20&filter=%7B%22project%22%3A%22-%22%2C%22assignee%22%3A%22-%22%2C%22billtype%22%3A%22-%22%2C%22approvaltype%22%3A%22-%22%2C%22tsheetperiod%22%3A%22-%22%2C%22clientcompany%22%3A%22-%22%2C%22content%22%3A%22-%22%2C%22invoicestatus%22%3A%22-%22%2C%22usergroups%22%3A%22-%22%2C%22criteria%22%3A%5B%7B%22field_name%22%3A%22project%22%2C%22custom_feild%22%3A%22-%22%2C%22field_type%22%3A%22-%22%2C%22criteria_condition%22%3A%22contains%22%2C%22value%22%3A%5B%221752587000000097269%22%5D%7D%5D%2C%22pattern%22%3A%221%22%2C%22UDF_CHAR_Timesheet%22%3A%22-%22%2C%22UDF_USER_Timesheet%22%3A%22-%22%2C%22UDF_LONG_Timesheet%22%3A%22-%22%2C%22UDF_DATE_Timesheet%22%3A%22-%22%2C%22UDF_DOUBLE_Timesheet%22%3A%22-%22%2C%22UDF_TEXT_Timesheet%22%3A%22-%22%2C%22UDF_ENCRYPT_Timesheet%22%3A%22-%22%7D' \
-H 'Authorization: Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa'

url = "https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/timelogs/projectreport";
filter_value = {"project":"-","assignee":"-","billtype":"-","approvaltype":"-","tsheetperiod":"-","clientcompany":"-","content":"-","invoicestatus":"-","usergroups":"-","criteria":[{"field_name":"project","custom_feild":"-","field_type":"-","criteria_condition":"contains","value":["1752587000000097269"]}],"pattern":"1","UDF_CHAR_Timesheet":"-","UDF_USER_Timesheet":"-","UDF_LONG_Timesheet":"-","UDF_DATE_Timesheet":"-","UDF_DOUBLE_Timesheet":"-","UDF_TEXT_Timesheet":"-","UDF_ENCRYPT_Timesheet":"-"};
params = Map();
params.put("index", "1");
params.put("range", "100");
params.put("view_type", "week");
params.put("start_date", "2023-12-20");
params.put("end_date", "2024-12-20");
params.put("filter", filter_value);
response = invokeUrl
[
    url: url
    type: GET
    parameters: params
    connection: "projects"
];
info response;
const https = require('https');
const url = new URL('https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/timelogs/projectreport');
url.searchParams.append('index', '1');
url.searchParams.append('range', '100');
url.searchParams.append('view_type', 'week');
url.searchParams.append('start_date', '2023-12-20');
url.searchParams.append('end_date', '2024-12-20');
url.searchParams.append('filter', '{"project":"-","assignee":"-","billtype":"-","approvaltype":"-","tsheetperiod":"-","clientcompany":"-","content":"-","invoicestatus":"-","usergroups":"-","criteria":[{"field_name":"project","custom_feild":"-","field_type":"-","criteria_condition":"contains","value":["1752587000000097269"]}],"pattern":"1","UDF_CHAR_Timesheet":"-","UDF_USER_Timesheet":"-","UDF_LONG_Timesheet":"-","UDF_DATE_Timesheet":"-","UDF_DOUBLE_Timesheet":"-","UDF_TEXT_Timesheet":"-","UDF_ENCRYPT_Timesheet":"-"}');

const options = {
  hostname: url.hostname,
  path: url.pathname + url.search,
  method: 'GET',
  headers: {
    'Authorization': 'Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa'
  }
};

const req = https.request(options, (res) => {
  let data = '';
  res.on('data', (chunk) => { data += chunk; });
  res.on('end', () => { console.log(JSON.parse(data)); });
});

req.on('error', (err) => { console.error(err); });
req.end();
require 'net/http'
require 'uri'
require 'json'

url = URI("https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/timelogs/projectreport")
params = {
  "index" => "1",
  "range" => "100",
  "view_type" => "week",
  "start_date" => "2023-12-20",
  "end_date" => "2024-12-20",
  "filter" => "{\"project\":\"-\",\"assignee\":\"-\",\"billtype\":\"-\",\"approvaltype\":\"-\",\"tsheetperiod\":\"-\",\"clientcompany\":\"-\",\"content\":\"-\",\"invoicestatus\":\"-\",\"usergroups\":\"-\",\"criteria\":[{\"field_name\":\"project\",\"custom_feild\":\"-\",\"field_type\":\"-\",\"criteria_condition\":\"contains\",\"value\":[\"1752587000000097269\"]}],\"pattern\":\"1\",\"UDF_CHAR_Timesheet\":\"-\",\"UDF_USER_Timesheet\":\"-\",\"UDF_LONG_Timesheet\":\"-\",\"UDF_DATE_Timesheet\":\"-\",\"UDF_DOUBLE_Timesheet\":\"-\",\"UDF_TEXT_Timesheet\":\"-\",\"UDF_ENCRYPT_Timesheet\":\"-\"}"
}
url.query = URI.encode_www_form(params)

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)
request["Authorization"] = "Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa"

response = http.request(request)
puts response.read_body
<?php
$params = [
    'index' => '1',
    'range' => '100',
    'view_type' => 'week',
    'start_date' => '2023-12-20',
    'end_date' => '2024-12-20',
    'filter' => '{"project":"-","assignee":"-","billtype":"-","approvaltype":"-","tsheetperiod":"-","clientcompany":"-","content":"-","invoicestatus":"-","usergroups":"-","criteria":[{"field_name":"project","custom_feild":"-","field_type":"-","criteria_condition":"contains","value":["1752587000000097269"]}],"pattern":"1","UDF_CHAR_Timesheet":"-","UDF_USER_Timesheet":"-","UDF_LONG_Timesheet":"-","UDF_DATE_Timesheet":"-","UDF_DOUBLE_Timesheet":"-","UDF_TEXT_Timesheet":"-","UDF_ENCRYPT_Timesheet":"-"}',
];
$url = "https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/timelogs/projectreport" . "?" . http_build_query($params);

$curl = curl_init();

curl_setopt_array($curl, [
  CURLOPT_URL => $url,
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_CUSTOMREQUEST => "GET",
  CURLOPT_HTTPHEADER => [
    "Authorization: Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa"
  ],
]);

$response = curl_exec($curl);
curl_close($curl);

echo $response;
import requests

url = "https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/timelogs/projectreport"

params = {
    "index": "1",
    "range": "100",
    "view_type": "week",
    "start_date": "2023-12-20",
    "end_date": "2024-12-20",
    "filter": "{\"project\":\"-\",\"assignee\":\"-\",\"billtype\":\"-\",\"approvaltype\":\"-\",\"tsheetperiod\":\"-\",\"clientcompany\":\"-\",\"content\":\"-\",\"invoicestatus\":\"-\",\"usergroups\":\"-\",\"criteria\":[{\"field_name\":\"project\",\"custom_feild\":\"-\",\"field_type\":\"-\",\"criteria_condition\":\"contains\",\"value\":[\"1752587000000097269\"]}],\"pattern\":\"1\",\"UDF_CHAR_Timesheet\":\"-\",\"UDF_USER_Timesheet\":\"-\",\"UDF_LONG_Timesheet\":\"-\",\"UDF_DATE_Timesheet\":\"-\",\"UDF_DOUBLE_Timesheet\":\"-\",\"UDF_TEXT_Timesheet\":\"-\",\"UDF_ENCRYPT_Timesheet\":\"-\"}"
}

headers = {
    "Authorization": "Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa",
}

response = requests.get(url, headers=headers, params=params)

print(response.json())
#include <stdio.h>
#include <string.h>
#include <curl/curl.h>

int main(void) {
    CURL *curl = curl_easy_init();
    if (curl) {
        char *enc_index = curl_easy_escape(curl, "1", 0);
        char *enc_range = curl_easy_escape(curl, "100", 0);
        char *enc_view_type = curl_easy_escape(curl, "week", 0);
        char *enc_start_date = curl_easy_escape(curl, "2023-12-20", 0);
        char *enc_end_date = curl_easy_escape(curl, "2024-12-20", 0);
        char *enc_filter = curl_easy_escape(curl, "{\"project\":\"-\",\"assignee\":\"-\",\"billtype\":\"-\",\"approvaltype\":\"-\",\"tsheetperiod\":\"-\",\"clientcompany\":\"-\",\"content\":\"-\",\"invoicestatus\":\"-\",\"usergroups\":\"-\",\"criteria\":[{\"field_name\":\"project\",\"custom_feild\":\"-\",\"field_type\":\"-\",\"criteria_condition\":\"contains\",\"value\":[\"1752587000000097269\"]}],\"pattern\":\"1\",\"UDF_CHAR_Timesheet\":\"-\",\"UDF_USER_Timesheet\":\"-\",\"UDF_LONG_Timesheet\":\"-\",\"UDF_DATE_Timesheet\":\"-\",\"UDF_DOUBLE_Timesheet\":\"-\",\"UDF_TEXT_Timesheet\":\"-\",\"UDF_ENCRYPT_Timesheet\":\"-\"}", 0);
        char url[2048];
        snprintf(url, sizeof(url), "https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/timelogs/projectreport?index=%s&range=%s&view_type=%s&start_date=%s&end_date=%s&filter=%s", enc_index, enc_range, enc_view_type, enc_start_date, enc_end_date, enc_filter);

        struct curl_slist *headers = NULL;
        headers = curl_slist_append(headers, "Authorization: Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa");

        curl_easy_setopt(curl, CURLOPT_URL, url);
        curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers);
        curl_easy_setopt(curl, CURLOPT_CUSTOMREQUEST, "GET");

        CURLcode res = curl_easy_perform(curl);
        if (res != CURLE_OK)
            fprintf(stderr, "curl failed: %s\n", curl_easy_strerror(res));

        curl_free(enc_index);
        curl_free(enc_range);
        curl_free(enc_view_type);
        curl_free(enc_start_date);
        curl_free(enc_end_date);
        curl_free(enc_filter);
        curl_slist_free_all(headers);
        curl_easy_cleanup(curl);
    }
    return 0;
}
using System.Net.Http;
using System.Text;
using System.Web;

var client = new HttpClient();
client.DefaultRequestHeaders.Add("Authorization", "Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa");

var query = HttpUtility.ParseQueryString(string.Empty);
query["index"] = "1";
query["range"] = "100";
query["view_type"] = "week";
query["start_date"] = "2023-12-20";
query["end_date"] = "2024-12-20";
query["filter"] = "{\"project\":\"-\",\"assignee\":\"-\",\"billtype\":\"-\",\"approvaltype\":\"-\",\"tsheetperiod\":\"-\",\"clientcompany\":\"-\",\"content\":\"-\",\"invoicestatus\":\"-\",\"usergroups\":\"-\",\"criteria\":[{\"field_name\":\"project\",\"custom_feild\":\"-\",\"field_type\":\"-\",\"criteria_condition\":\"contains\",\"value\":[\"1752587000000097269\"]}],\"pattern\":\"1\",\"UDF_CHAR_Timesheet\":\"-\",\"UDF_USER_Timesheet\":\"-\",\"UDF_LONG_Timesheet\":\"-\",\"UDF_DATE_Timesheet\":\"-\",\"UDF_DOUBLE_Timesheet\":\"-\",\"UDF_TEXT_Timesheet\":\"-\",\"UDF_ENCRYPT_Timesheet\":\"-\"}";
var uriBuilder = new UriBuilder("https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/timelogs/projectreport") { Query = query.ToString() };
var request = new HttpRequestMessage(HttpMethod.Get, uriBuilder.Uri);

var response = await client.SendAsync(request);
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
#include <iostream>
#include <string>
#include <curl/curl.h>

static size_t WriteCallback(void* contents, size_t size, size_t nmemb, std::string* output) {
    output->append((char*)contents, size * nmemb);
    return size * nmemb;
}

int main() {
    CURL* curl = curl_easy_init();
    if (curl) {
        std::string response;
        char* enc_index = curl_easy_escape(curl, "1", 0);
        char* enc_range = curl_easy_escape(curl, "100", 0);
        char* enc_view_type = curl_easy_escape(curl, "week", 0);
        char* enc_start_date = curl_easy_escape(curl, "2023-12-20", 0);
        char* enc_end_date = curl_easy_escape(curl, "2024-12-20", 0);
        char* enc_filter = curl_easy_escape(curl, "{\"project\":\"-\",\"assignee\":\"-\",\"billtype\":\"-\",\"approvaltype\":\"-\",\"tsheetperiod\":\"-\",\"clientcompany\":\"-\",\"content\":\"-\",\"invoicestatus\":\"-\",\"usergroups\":\"-\",\"criteria\":[{\"field_name\":\"project\",\"custom_feild\":\"-\",\"field_type\":\"-\",\"criteria_condition\":\"contains\",\"value\":[\"1752587000000097269\"]}],\"pattern\":\"1\",\"UDF_CHAR_Timesheet\":\"-\",\"UDF_USER_Timesheet\":\"-\",\"UDF_LONG_Timesheet\":\"-\",\"UDF_DATE_Timesheet\":\"-\",\"UDF_DOUBLE_Timesheet\":\"-\",\"UDF_TEXT_Timesheet\":\"-\",\"UDF_ENCRYPT_Timesheet\":\"-\"}", 0);
        std::string url = "https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/timelogs/projectreport";
        url += "?index=" + std::string(enc_index);
        url += "&range=" + std::string(enc_range);
        url += "&view_type=" + std::string(enc_view_type);
        url += "&start_date=" + std::string(enc_start_date);
        url += "&end_date=" + std::string(enc_end_date);
        url += "&filter=" + std::string(enc_filter);

        struct curl_slist* headers = NULL;
        headers = curl_slist_append(headers, "Authorization: Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa");

        curl_easy_setopt(curl, CURLOPT_URL, url.c_str());
        curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers);
        curl_easy_setopt(curl, CURLOPT_CUSTOMREQUEST, "GET");
        curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, WriteCallback);
        curl_easy_setopt(curl, CURLOPT_WRITEDATA, &response);

        CURLcode res = curl_easy_perform(curl);
        if (res == CURLE_OK)
            std::cout << response << std::endl;
        else
            std::cerr << curl_easy_strerror(res) << std::endl;

        curl_free(enc_index);
        curl_free(enc_range);
        curl_free(enc_view_type);
        curl_free(enc_start_date);
        curl_free(enc_end_date);
        curl_free(enc_filter);
        curl_slist_free_all(headers);
        curl_easy_cleanup(curl);
    }
    return 0;
}
(require '[clj-http.client :as client])

(let [enc-index (java.net.URLEncoder/encode "1" "UTF-8")
      enc-range (java.net.URLEncoder/encode "100" "UTF-8")
      enc-view_type (java.net.URLEncoder/encode "week" "UTF-8")
      enc-start_date (java.net.URLEncoder/encode "2023-12-20" "UTF-8")
      enc-end_date (java.net.URLEncoder/encode "2024-12-20" "UTF-8")
      enc-filter (java.net.URLEncoder/encode "{\"project\":\"-\",\"assignee\":\"-\",\"billtype\":\"-\",\"approvaltype\":\"-\",\"tsheetperiod\":\"-\",\"clientcompany\":\"-\",\"content\":\"-\",\"invoicestatus\":\"-\",\"usergroups\":\"-\",\"criteria\":[{\"field_name\":\"project\",\"custom_feild\":\"-\",\"field_type\":\"-\",\"criteria_condition\":\"contains\",\"value\":[\"1752587000000097269\"]}],\"pattern\":\"1\",\"UDF_CHAR_Timesheet\":\"-\",\"UDF_USER_Timesheet\":\"-\",\"UDF_LONG_Timesheet\":\"-\",\"UDF_DATE_Timesheet\":\"-\",\"UDF_DOUBLE_Timesheet\":\"-\",\"UDF_TEXT_Timesheet\":\"-\",\"UDF_ENCRYPT_Timesheet\":\"-\"}" "UTF-8")
      url (str "https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/timelogs/projectreport" "?index=" enc-index "&range=" enc-range "&view_type=" enc-view_type "&start_date=" enc-start_date "&end_date=" enc-end_date "&filter=" enc-filter)]
(def response
  (client/get url
    {:headers {"Authorization" "Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa"}
     :as :json}))

(println (:body response))
package main

import (
    "fmt"
    "io"
    "net/http"
    "net/url"
)

func main() {
    req, _ := http.NewRequest("GET", "https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/timelogs/projectreport", nil)
    q := req.URL.Query()
    q.Add("index", "1")
    q.Add("range", "100")
    q.Add("view_type", "week")
    q.Add("start_date", "2023-12-20")
    q.Add("end_date", "2024-12-20")
    q.Add("filter", "{\"project\":\"-\",\"assignee\":\"-\",\"billtype\":\"-\",\"approvaltype\":\"-\",\"tsheetperiod\":\"-\",\"clientcompany\":\"-\",\"content\":\"-\",\"invoicestatus\":\"-\",\"usergroups\":\"-\",\"criteria\":[{\"field_name\":\"project\",\"custom_feild\":\"-\",\"field_type\":\"-\",\"criteria_condition\":\"contains\",\"value\":[\"1752587000000097269\"]}],\"pattern\":\"1\",\"UDF_CHAR_Timesheet\":\"-\",\"UDF_USER_Timesheet\":\"-\",\"UDF_LONG_Timesheet\":\"-\",\"UDF_DATE_Timesheet\":\"-\",\"UDF_DOUBLE_Timesheet\":\"-\",\"UDF_TEXT_Timesheet\":\"-\",\"UDF_ENCRYPT_Timesheet\":\"-\"}")
    req.URL.RawQuery = q.Encode()
    req.Header.Add("Authorization", "Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa")

    resp, _ := http.DefaultClient.Do(req)
    defer resp.Body.Close()
    body, _ := io.ReadAll(resp.Body)
    fmt.Println(string(body))
}
GET https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/timelogs/projectreport?index=1&range=100&view_type=week&start_date=2023-12-20&end_date=2024-12-20&filter=%7B%22project%22%3A%22-%22%2C%22assignee%22%3A%22-%22%2C%22billtype%22%3A%22-%22%2C%22approvaltype%22%3A%22-%22%2C%22tsheetperiod%22%3A%22-%22%2C%22clientcompany%22%3A%22-%22%2C%22content%22%3A%22-%22%2C%22invoicestatus%22%3A%22-%22%2C%22usergroups%22%3A%22-%22%2C%22criteria%22%3A%5B%7B%22field_name%22%3A%22project%22%2C%22custom_feild%22%3A%22-%22%2C%22field_type%22%3A%22-%22%2C%22criteria_condition%22%3A%22contains%22%2C%22value%22%3A%5B%221752587000000097269%22%5D%7D%5D%2C%22pattern%22%3A%221%22%2C%22UDF_CHAR_Timesheet%22%3A%22-%22%2C%22UDF_USER_Timesheet%22%3A%22-%22%2C%22UDF_LONG_Timesheet%22%3A%22-%22%2C%22UDF_DATE_Timesheet%22%3A%22-%22%2C%22UDF_DOUBLE_Timesheet%22%3A%22-%22%2C%22UDF_TEXT_Timesheet%22%3A%22-%22%2C%22UDF_ENCRYPT_Timesheet%22%3A%22-%22%7D HTTP/1.1
Host: https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/timelogs/projectreport?index=1&range=100&view_type=week&start_date=2023-12-20&end_date=2024-12-20&filter=%7B%22project%22%3A%22-%22%2C%22assignee%22%3A%22-%22%2C%22billtype%22%3A%22-%22%2C%22approvaltype%22%3A%22-%22%2C%22tsheetperiod%22%3A%22-%22%2C%22clientcompany%22%3A%22-%22%2C%22content%22%3A%22-%22%2C%22invoicestatus%22%3A%22-%22%2C%22usergroups%22%3A%22-%22%2C%22criteria%22%3A%5B%7B%22field_name%22%3A%22project%22%2C%22custom_feild%22%3A%22-%22%2C%22field_type%22%3A%22-%22%2C%22criteria_condition%22%3A%22contains%22%2C%22value%22%3A%5B%221752587000000097269%22%5D%7D%5D%2C%22pattern%22%3A%221%22%2C%22UDF_CHAR_Timesheet%22%3A%22-%22%2C%22UDF_USER_Timesheet%22%3A%22-%22%2C%22UDF_LONG_Timesheet%22%3A%22-%22%2C%22UDF_DATE_Timesheet%22%3A%22-%22%2C%22UDF_DOUBLE_Timesheet%22%3A%22-%22%2C%22UDF_TEXT_Timesheet%22%3A%22-%22%2C%22UDF_ENCRYPT_Timesheet%22%3A%22-%22%7D
Authorization: Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa
HttpClientBuilder httpClientBuilder = HttpClientBuilder.create();

SSLContext sslContext = SSLContext.getDefault();
SSLConnectionSocketFactory sslConnectionSocketFactory = new SSLConnectionSocketFactory(sslContext, NoopHostnameVerifier.INSTANCE);
CloseableHttpClient httpclient = httpClientBuilder.setSSLSocketFactory(sslConnectionSocketFactory).build();

URIBuilder uriBuilder = new URIBuilder("https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/timelogs/projectreport");
uriBuilder.addParameter("index", "1");
uriBuilder.addParameter("range", "100");
uriBuilder.addParameter("view_type", "week");
uriBuilder.addParameter("start_date", "2023-12-20");
uriBuilder.addParameter("end_date", "2024-12-20");
uriBuilder.addParameter("filter", "{\"project\":\"-\",\"assignee\":\"-\",\"billtype\":\"-\",\"approvaltype\":\"-\",\"tsheetperiod\":\"-\",\"clientcompany\":\"-\",\"content\":\"-\",\"invoicestatus\":\"-\",\"usergroups\":\"-\",\"criteria\":[{\"field_name\":\"project\",\"custom_feild\":\"-\",\"field_type\":\"-\",\"criteria_condition\":\"contains\",\"value\":[\"1752587000000097269\"]}],\"pattern\":\"1\",\"UDF_CHAR_Timesheet\":\"-\",\"UDF_USER_Timesheet\":\"-\",\"UDF_LONG_Timesheet\":\"-\",\"UDF_DATE_Timesheet\":\"-\",\"UDF_DOUBLE_Timesheet\":\"-\",\"UDF_TEXT_Timesheet\":\"-\",\"UDF_ENCRYPT_Timesheet\":\"-\"}");
HttpUriRequest requestObj = new HttpGet(uriBuilder.build());
requestObj.addHeader("Authorization", "Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa");

HttpResponse response = httpclient.execute(requestObj);

HttpEntity responseEntity = response.getEntity();
Object responseObject = EntityUtils.toString(responseEntity);
String responseString = responseObject.toString();
const url = 'https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/timelogs/projectreport';

const params = new URLSearchParams({
  'index': '1',
  'range': '100',
  'view_type': 'week',
  'start_date': '2023-12-20',
  'end_date': '2024-12-20',
  'filter': '{"project":"-","assignee":"-","billtype":"-","approvaltype":"-","tsheetperiod":"-","clientcompany":"-","content":"-","invoicestatus":"-","usergroups":"-","criteria":[{"field_name":"project","custom_feild":"-","field_type":"-","criteria_condition":"contains","value":["1752587000000097269"]}],"pattern":"1","UDF_CHAR_Timesheet":"-","UDF_USER_Timesheet":"-","UDF_LONG_Timesheet":"-","UDF_DATE_Timesheet":"-","UDF_DOUBLE_Timesheet":"-","UDF_TEXT_Timesheet":"-","UDF_ENCRYPT_Timesheet":"-"}'
});

const options = {
  method: 'GET',
  headers: {
    'Authorization': 'Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa'
  }
};

fetch(url + '?' + params.toString(), options)
  .then(response => response.json())
  .then(data => console.log(data))
  .catch(error => console.error(error));
index = "1"
range = "100"
view_type = "week"
start_date = "2023-12-20"
end_date = "2024-12-20"
filter = {"project":"-","assignee":"-","billtype":"-","approvaltype":"-","tsheetperiod":"-","clientcompany":"-","content":"-","invoicestatus":"-","usergroups":"-","criteria":[{"field_name":"project","custom_feild":"-","field_type":"-","criteria_condition":"contains","value":["1752587000000097269"]}],"pattern":"1","UDF_CHAR_Timesheet":"-","UDF_USER_Timesheet":"-","UDF_LONG_Timesheet":"-","UDF_DATE_Timesheet":"-","UDF_DOUBLE_Timesheet":"-","UDF_TEXT_Timesheet":"-","UDF_ENCRYPT_Timesheet":"-"}
import java.net.HttpURLConnection
import java.net.URL
import okhttp3.HttpUrl.Companion.toHttpUrl

fun main() {
    val urlBuilder = "https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/timelogs/projectreport".toHttpUrl().newBuilder()
    urlBuilder.addQueryParameter("index", "1")
    urlBuilder.addQueryParameter("range", "100")
    urlBuilder.addQueryParameter("view_type", "week")
    urlBuilder.addQueryParameter("start_date", "2023-12-20")
    urlBuilder.addQueryParameter("end_date", "2024-12-20")
    urlBuilder.addQueryParameter("filter", "{\"project\":\"-\",\"assignee\":\"-\",\"billtype\":\"-\",\"approvaltype\":\"-\",\"tsheetperiod\":\"-\",\"clientcompany\":\"-\",\"content\":\"-\",\"invoicestatus\":\"-\",\"usergroups\":\"-\",\"criteria\":[{\"field_name\":\"project\",\"custom_feild\":\"-\",\"field_type\":\"-\",\"criteria_condition\":\"contains\",\"value\":[\"1752587000000097269\"]}],\"pattern\":\"1\",\"UDF_CHAR_Timesheet\":\"-\",\"UDF_USER_Timesheet\":\"-\",\"UDF_LONG_Timesheet\":\"-\",\"UDF_DATE_Timesheet\":\"-\",\"UDF_DOUBLE_Timesheet\":\"-\",\"UDF_TEXT_Timesheet\":\"-\",\"UDF_ENCRYPT_Timesheet\":\"-\"}")
    val url = URL(urlBuilder.build().toString())
    val conn = url.openConnection() as HttpURLConnection
    conn.requestMethod = "GET"
    conn.setRequestProperty("Authorization", "Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa")

    val response = conn.inputStream.bufferedReader().readText()
    println(response)
}
NSString *encodedIndex = [@"1" stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];
NSString *encodedRange = [@"100" stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];
NSString *encodedView_type = [@"week" stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];
NSString *encodedStart_date = [@"2023-12-20" stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];
NSString *encodedEnd_date = [@"2024-12-20" stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];
NSString *encodedFilter = [@"{\"project\":\"-\",\"assignee\":\"-\",\"billtype\":\"-\",\"approvaltype\":\"-\",\"tsheetperiod\":\"-\",\"clientcompany\":\"-\",\"content\":\"-\",\"invoicestatus\":\"-\",\"usergroups\":\"-\",\"criteria\":[{\"field_name\":\"project\",\"custom_feild\":\"-\",\"field_type\":\"-\",\"criteria_condition\":\"contains\",\"value\":[\"1752587000000097269\"]}],\"pattern\":\"1\",\"UDF_CHAR_Timesheet\":\"-\",\"UDF_USER_Timesheet\":\"-\",\"UDF_LONG_Timesheet\":\"-\",\"UDF_DATE_Timesheet\":\"-\",\"UDF_DOUBLE_Timesheet\":\"-\",\"UDF_TEXT_Timesheet\":\"-\",\"UDF_ENCRYPT_Timesheet\":\"-\"}" stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];
NSString *urlString = [NSString stringWithFormat:@"https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/timelogs/projectreport?index=%@&range=%@&view_type=%@&start_date=%@&end_date=%@&filter=%@", encodedIndex, encodedRange, encodedView_type, encodedStart_date, encodedEnd_date, encodedFilter];
NSURL *url = [NSURL URLWithString:urlString];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];
[request setHTTPMethod:@"GET"];
[request setValue:@"Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa" forHTTPHeaderField:@"Authorization"];

NSURLSession *session = [NSURLSession sharedSession];
NSURLSessionDataTask *task = [session dataTaskWithRequest:request
    completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
        NSString *result = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
        NSLog(@"%@", result);
}];
[task resume];
open Lwt
open Cohttp_lwt_unix

let () =
  let enc_index = Uri.pct_encode "1" in
  let enc_range = Uri.pct_encode "100" in
  let enc_view_type = Uri.pct_encode "week" in
  let enc_start_date = Uri.pct_encode "2023-12-20" in
  let enc_end_date = Uri.pct_encode "2024-12-20" in
  let enc_filter = Uri.pct_encode "{\"project\":\"-\",\"assignee\":\"-\",\"billtype\":\"-\",\"approvaltype\":\"-\",\"tsheetperiod\":\"-\",\"clientcompany\":\"-\",\"content\":\"-\",\"invoicestatus\":\"-\",\"usergroups\":\"-\",\"criteria\":[{\"field_name\":\"project\",\"custom_feild\":\"-\",\"field_type\":\"-\",\"criteria_condition\":\"contains\",\"value\":[\"1752587000000097269\"]}],\"pattern\":\"1\",\"UDF_CHAR_Timesheet\":\"-\",\"UDF_USER_Timesheet\":\"-\",\"UDF_LONG_Timesheet\":\"-\",\"UDF_DATE_Timesheet\":\"-\",\"UDF_DOUBLE_Timesheet\":\"-\",\"UDF_TEXT_Timesheet\":\"-\",\"UDF_ENCRYPT_Timesheet\":\"-\"}" in
  let uri = Uri.of_string ("https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/timelogs/projectreport" ^ "?index=" ^ enc_index ^ "&range=" ^ enc_range ^ "&view_type=" ^ enc_view_type ^ "&start_date=" ^ enc_start_date ^ "&end_date=" ^ enc_end_date ^ "&filter=" ^ enc_filter) in
  let headers = Cohttp.Header.init ()
    |> fun h -> Cohttp.Header.add h "Authorization" "Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa"
  in
  Lwt_main.run (
    Client.get ~headers uri >>= fun (_, body) ->
    Cohttp_lwt.Body.to_string body >|= fun s ->
    print_endline s)
$headers = @{
    "Authorization" = "Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa"
}

$params = @{
    index = "1"
    range = "100"
    view_type = "week"
    start_date = "2023-12-20"
    end_date = "2024-12-20"
    filter = "{`"project`":`"-`",`"assignee`":`"-`",`"billtype`":`"-`",`"approvaltype`":`"-`",`"tsheetperiod`":`"-`",`"clientcompany`":`"-`",`"content`":`"-`",`"invoicestatus`":`"-`",`"usergroups`":`"-`",`"criteria`":[{`"field_name`":`"project`",`"custom_feild`":`"-`",`"field_type`":`"-`",`"criteria_condition`":`"contains`",`"value`":[`"1752587000000097269`"]}],`"pattern`":`"1`",`"UDF_CHAR_Timesheet`":`"-`",`"UDF_USER_Timesheet`":`"-`",`"UDF_LONG_Timesheet`":`"-`",`"UDF_DATE_Timesheet`":`"-`",`"UDF_DOUBLE_Timesheet`":`"-`",`"UDF_TEXT_Timesheet`":`"-`",`"UDF_ENCRYPT_Timesheet`":`"-`"}"
}
$queryString = ($params.GetEnumerator() | ForEach-Object { "$($_.Key)=$([System.Uri]::EscapeDataString($_.Value))" }) -join "&"
$url = "https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/timelogs/projectreport" + "?" + $queryString

$response = Invoke-RestMethod -Uri $url -Method GET -Headers $headers

$response | ConvertTo-Json
library(httr)

url <- "https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/timelogs/projectreport"

params <- list(
  index = "1",
  range = "100",
  view_type = "week",
  start_date = "2023-12-20",
  end_date = "2024-12-20",
  filter = "{\"project\":\"-\",\"assignee\":\"-\",\"billtype\":\"-\",\"approvaltype\":\"-\",\"tsheetperiod\":\"-\",\"clientcompany\":\"-\",\"content\":\"-\",\"invoicestatus\":\"-\",\"usergroups\":\"-\",\"criteria\":[{\"field_name\":\"project\",\"custom_feild\":\"-\",\"field_type\":\"-\",\"criteria_condition\":\"contains\",\"value\":[\"1752587000000097269\"]}],\"pattern\":\"1\",\"UDF_CHAR_Timesheet\":\"-\",\"UDF_USER_Timesheet\":\"-\",\"UDF_LONG_Timesheet\":\"-\",\"UDF_DATE_Timesheet\":\"-\",\"UDF_DOUBLE_Timesheet\":\"-\",\"UDF_TEXT_Timesheet\":\"-\",\"UDF_ENCRYPT_Timesheet\":\"-\"}"
)

response <- GET(
  url,
  add_headers(Authorization = "Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa"),
  query = params
)

content(response, "text")
import Foundation

var components = URLComponents(string: "https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/timelogs/projectreport")!
components.queryItems = [
    URLQueryItem(name: "index", value: "1"),
    URLQueryItem(name: "range", value: "100"),
    URLQueryItem(name: "view_type", value: "week"),
    URLQueryItem(name: "start_date", value: "2023-12-20"),
    URLQueryItem(name: "end_date", value: "2024-12-20"),
    URLQueryItem(name: "filter", value: "{\"project\":\"-\",\"assignee\":\"-\",\"billtype\":\"-\",\"approvaltype\":\"-\",\"tsheetperiod\":\"-\",\"clientcompany\":\"-\",\"content\":\"-\",\"invoicestatus\":\"-\",\"usergroups\":\"-\",\"criteria\":[{\"field_name\":\"project\",\"custom_feild\":\"-\",\"field_type\":\"-\",\"criteria_condition\":\"contains\",\"value\":[\"1752587000000097269\"]}],\"pattern\":\"1\",\"UDF_CHAR_Timesheet\":\"-\",\"UDF_USER_Timesheet\":\"-\",\"UDF_LONG_Timesheet\":\"-\",\"UDF_DATE_Timesheet\":\"-\",\"UDF_DOUBLE_Timesheet\":\"-\",\"UDF_TEXT_Timesheet\":\"-\",\"UDF_ENCRYPT_Timesheet\":\"-\"}")
]
let url = components.url!
var request = URLRequest(url: url)
request.httpMethod = "GET"
request.setValue("Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa", forHTTPHeaderField: "Authorization")

let semaphore = DispatchSemaphore(value: 0)
let task = URLSession.shared.dataTask(with: request) { data, response, error in
    if let data = data, let result = String(data: data, encoding: .utf8) {
        print(result)
    }
    semaphore.signal()
}
task.resume()
semaphore.wait()

Sample Input

index : "1" range : "100" view_type : "week" start_date : "2023-12-20" end_date : "2024-12-20" filter : { "project" : "-", "assignee" : "-", "billtype" : "-", "approvaltype" : "-", "tsheetperiod" : "-", "clientcompany" : "-", "content" : "-", "invoicestatus" : "-", "usergroups" : "-", "criteria" : [ { "field_name" : "project", "custom_feild" : "-", "field_type" : "-", "criteria_condition" : "contains", "value" : [ "1752587000000097269" ] } ], "pattern" : "1", "UDF_CHAR_Timesheet" : "-", "UDF_USER_Timesheet" : "-", "UDF_LONG_Timesheet" : "-", "UDF_DATE_Timesheet" : "-", "UDF_DOUBLE_Timesheet" : "-", "UDF_TEXT_Timesheet" : "-", "UDF_ENCRYPT_Timesheet" : "-" }

Sample Response

200

Get Time Log Client Report

Get time log client report

GET

/api/v3/portal/[PORTAL_ID]/timelogs/clientreport

OAuth Scope:

ZohoProjects.timesheets.READ

Path Parameters

Param Name
Data Type
Description

Query Parameters

Param Name
Data Type
Description

Request Example

Request Example
  • cURL
  • Deluge
  • Node.js
  • Ruby
  • PHP
  • Python
  • C
  • C#
  • C++
  • Clojure
  • Go
  • HTTP
  • Java
  • JS Fetch
  • JSON
  • Kotlin
  • Objective-C
  • OCaml
  • PowerShell
  • R
  • Swift

curl -X GET \
'https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/timelogs/clientreport?index=1&range=100&view_type=week&start_date=2023-12-20&end_date=2024-12-20&filter=%7B%22project%22%3A%22-%22%2C%22assignee%22%3A%22-%22%2C%22billtype%22%3A%22-%22%2C%22approvaltype%22%3A%22-%22%2C%22tsheetperiod%22%3A%22-%22%2C%22clientcompany%22%3A%22-%22%2C%22content%22%3A%22-%22%2C%22invoicestatus%22%3A%22-%22%2C%22usergroups%22%3A%22-%22%2C%22criteria%22%3A%5B%7B%22field_name%22%3A%22project%22%2C%22custom_feild%22%3A%22-%22%2C%22field_type%22%3A%22-%22%2C%22criteria_condition%22%3A%22contains%22%2C%22value%22%3A%5B%221752587000000097269%22%5D%7D%5D%2C%22pattern%22%3A%221%22%2C%22UDF_CHAR_Timesheet%22%3A%22-%22%2C%22UDF_USER_Timesheet%22%3A%22-%22%2C%22UDF_LONG_Timesheet%22%3A%22-%22%2C%22UDF_DATE_Timesheet%22%3A%22-%22%2C%22UDF_DOUBLE_Timesheet%22%3A%22-%22%2C%22UDF_TEXT_Timesheet%22%3A%22-%22%2C%22UDF_ENCRYPT_Timesheet%22%3A%22-%22%7D&view_id=23806000074760021' \
-H 'Authorization: Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa'

url = "https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/timelogs/clientreport";
filter_value = {"project":"-","assignee":"-","billtype":"-","approvaltype":"-","tsheetperiod":"-","clientcompany":"-","content":"-","invoicestatus":"-","usergroups":"-","criteria":[{"field_name":"project","custom_feild":"-","field_type":"-","criteria_condition":"contains","value":["1752587000000097269"]}],"pattern":"1","UDF_CHAR_Timesheet":"-","UDF_USER_Timesheet":"-","UDF_LONG_Timesheet":"-","UDF_DATE_Timesheet":"-","UDF_DOUBLE_Timesheet":"-","UDF_TEXT_Timesheet":"-","UDF_ENCRYPT_Timesheet":"-"};
params = Map();
params.put("index", "1");
params.put("range", "100");
params.put("view_type", "week");
params.put("start_date", "2023-12-20");
params.put("end_date", "2024-12-20");
params.put("filter", filter_value);
params.put("view_id", "23806000074760021");
response = invokeUrl
[
    url: url
    type: GET
    parameters: params
    connection: "projects"
];
info response;
const https = require('https');
const url = new URL('https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/timelogs/clientreport');
url.searchParams.append('index', '1');
url.searchParams.append('range', '100');
url.searchParams.append('view_type', 'week');
url.searchParams.append('start_date', '2023-12-20');
url.searchParams.append('end_date', '2024-12-20');
url.searchParams.append('filter', '{"project":"-","assignee":"-","billtype":"-","approvaltype":"-","tsheetperiod":"-","clientcompany":"-","content":"-","invoicestatus":"-","usergroups":"-","criteria":[{"field_name":"project","custom_feild":"-","field_type":"-","criteria_condition":"contains","value":["1752587000000097269"]}],"pattern":"1","UDF_CHAR_Timesheet":"-","UDF_USER_Timesheet":"-","UDF_LONG_Timesheet":"-","UDF_DATE_Timesheet":"-","UDF_DOUBLE_Timesheet":"-","UDF_TEXT_Timesheet":"-","UDF_ENCRYPT_Timesheet":"-"}');
url.searchParams.append('view_id', '23806000074760021');

const options = {
  hostname: url.hostname,
  path: url.pathname + url.search,
  method: 'GET',
  headers: {
    'Authorization': 'Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa'
  }
};

const req = https.request(options, (res) => {
  let data = '';
  res.on('data', (chunk) => { data += chunk; });
  res.on('end', () => { console.log(JSON.parse(data)); });
});

req.on('error', (err) => { console.error(err); });
req.end();
require 'net/http'
require 'uri'
require 'json'

url = URI("https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/timelogs/clientreport")
params = {
  "index" => "1",
  "range" => "100",
  "view_type" => "week",
  "start_date" => "2023-12-20",
  "end_date" => "2024-12-20",
  "filter" => "{\"project\":\"-\",\"assignee\":\"-\",\"billtype\":\"-\",\"approvaltype\":\"-\",\"tsheetperiod\":\"-\",\"clientcompany\":\"-\",\"content\":\"-\",\"invoicestatus\":\"-\",\"usergroups\":\"-\",\"criteria\":[{\"field_name\":\"project\",\"custom_feild\":\"-\",\"field_type\":\"-\",\"criteria_condition\":\"contains\",\"value\":[\"1752587000000097269\"]}],\"pattern\":\"1\",\"UDF_CHAR_Timesheet\":\"-\",\"UDF_USER_Timesheet\":\"-\",\"UDF_LONG_Timesheet\":\"-\",\"UDF_DATE_Timesheet\":\"-\",\"UDF_DOUBLE_Timesheet\":\"-\",\"UDF_TEXT_Timesheet\":\"-\",\"UDF_ENCRYPT_Timesheet\":\"-\"}",
  "view_id" => "23806000074760021"
}
url.query = URI.encode_www_form(params)

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)
request["Authorization"] = "Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa"

response = http.request(request)
puts response.read_body
<?php
$params = [
    'index' => '1',
    'range' => '100',
    'view_type' => 'week',
    'start_date' => '2023-12-20',
    'end_date' => '2024-12-20',
    'filter' => '{"project":"-","assignee":"-","billtype":"-","approvaltype":"-","tsheetperiod":"-","clientcompany":"-","content":"-","invoicestatus":"-","usergroups":"-","criteria":[{"field_name":"project","custom_feild":"-","field_type":"-","criteria_condition":"contains","value":["1752587000000097269"]}],"pattern":"1","UDF_CHAR_Timesheet":"-","UDF_USER_Timesheet":"-","UDF_LONG_Timesheet":"-","UDF_DATE_Timesheet":"-","UDF_DOUBLE_Timesheet":"-","UDF_TEXT_Timesheet":"-","UDF_ENCRYPT_Timesheet":"-"}',
    'view_id' => '23806000074760021',
];
$url = "https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/timelogs/clientreport" . "?" . http_build_query($params);

$curl = curl_init();

curl_setopt_array($curl, [
  CURLOPT_URL => $url,
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_CUSTOMREQUEST => "GET",
  CURLOPT_HTTPHEADER => [
    "Authorization: Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa"
  ],
]);

$response = curl_exec($curl);
curl_close($curl);

echo $response;
import requests

url = "https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/timelogs/clientreport"

params = {
    "index": "1",
    "range": "100",
    "view_type": "week",
    "start_date": "2023-12-20",
    "end_date": "2024-12-20",
    "filter": "{\"project\":\"-\",\"assignee\":\"-\",\"billtype\":\"-\",\"approvaltype\":\"-\",\"tsheetperiod\":\"-\",\"clientcompany\":\"-\",\"content\":\"-\",\"invoicestatus\":\"-\",\"usergroups\":\"-\",\"criteria\":[{\"field_name\":\"project\",\"custom_feild\":\"-\",\"field_type\":\"-\",\"criteria_condition\":\"contains\",\"value\":[\"1752587000000097269\"]}],\"pattern\":\"1\",\"UDF_CHAR_Timesheet\":\"-\",\"UDF_USER_Timesheet\":\"-\",\"UDF_LONG_Timesheet\":\"-\",\"UDF_DATE_Timesheet\":\"-\",\"UDF_DOUBLE_Timesheet\":\"-\",\"UDF_TEXT_Timesheet\":\"-\",\"UDF_ENCRYPT_Timesheet\":\"-\"}",
    "view_id": "23806000074760021"
}

headers = {
    "Authorization": "Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa",
}

response = requests.get(url, headers=headers, params=params)

print(response.json())
#include <stdio.h>
#include <string.h>
#include <curl/curl.h>

int main(void) {
    CURL *curl = curl_easy_init();
    if (curl) {
        char *enc_index = curl_easy_escape(curl, "1", 0);
        char *enc_range = curl_easy_escape(curl, "100", 0);
        char *enc_view_type = curl_easy_escape(curl, "week", 0);
        char *enc_start_date = curl_easy_escape(curl, "2023-12-20", 0);
        char *enc_end_date = curl_easy_escape(curl, "2024-12-20", 0);
        char *enc_filter = curl_easy_escape(curl, "{\"project\":\"-\",\"assignee\":\"-\",\"billtype\":\"-\",\"approvaltype\":\"-\",\"tsheetperiod\":\"-\",\"clientcompany\":\"-\",\"content\":\"-\",\"invoicestatus\":\"-\",\"usergroups\":\"-\",\"criteria\":[{\"field_name\":\"project\",\"custom_feild\":\"-\",\"field_type\":\"-\",\"criteria_condition\":\"contains\",\"value\":[\"1752587000000097269\"]}],\"pattern\":\"1\",\"UDF_CHAR_Timesheet\":\"-\",\"UDF_USER_Timesheet\":\"-\",\"UDF_LONG_Timesheet\":\"-\",\"UDF_DATE_Timesheet\":\"-\",\"UDF_DOUBLE_Timesheet\":\"-\",\"UDF_TEXT_Timesheet\":\"-\",\"UDF_ENCRYPT_Timesheet\":\"-\"}", 0);
        char *enc_view_id = curl_easy_escape(curl, "23806000074760021", 0);
        char url[2048];
        snprintf(url, sizeof(url), "https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/timelogs/clientreport?index=%s&range=%s&view_type=%s&start_date=%s&end_date=%s&filter=%s&view_id=%s", enc_index, enc_range, enc_view_type, enc_start_date, enc_end_date, enc_filter, enc_view_id);

        struct curl_slist *headers = NULL;
        headers = curl_slist_append(headers, "Authorization: Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa");

        curl_easy_setopt(curl, CURLOPT_URL, url);
        curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers);
        curl_easy_setopt(curl, CURLOPT_CUSTOMREQUEST, "GET");

        CURLcode res = curl_easy_perform(curl);
        if (res != CURLE_OK)
            fprintf(stderr, "curl failed: %s\n", curl_easy_strerror(res));

        curl_free(enc_index);
        curl_free(enc_range);
        curl_free(enc_view_type);
        curl_free(enc_start_date);
        curl_free(enc_end_date);
        curl_free(enc_filter);
        curl_free(enc_view_id);
        curl_slist_free_all(headers);
        curl_easy_cleanup(curl);
    }
    return 0;
}
using System.Net.Http;
using System.Text;
using System.Web;

var client = new HttpClient();
client.DefaultRequestHeaders.Add("Authorization", "Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa");

var query = HttpUtility.ParseQueryString(string.Empty);
query["index"] = "1";
query["range"] = "100";
query["view_type"] = "week";
query["start_date"] = "2023-12-20";
query["end_date"] = "2024-12-20";
query["filter"] = "{\"project\":\"-\",\"assignee\":\"-\",\"billtype\":\"-\",\"approvaltype\":\"-\",\"tsheetperiod\":\"-\",\"clientcompany\":\"-\",\"content\":\"-\",\"invoicestatus\":\"-\",\"usergroups\":\"-\",\"criteria\":[{\"field_name\":\"project\",\"custom_feild\":\"-\",\"field_type\":\"-\",\"criteria_condition\":\"contains\",\"value\":[\"1752587000000097269\"]}],\"pattern\":\"1\",\"UDF_CHAR_Timesheet\":\"-\",\"UDF_USER_Timesheet\":\"-\",\"UDF_LONG_Timesheet\":\"-\",\"UDF_DATE_Timesheet\":\"-\",\"UDF_DOUBLE_Timesheet\":\"-\",\"UDF_TEXT_Timesheet\":\"-\",\"UDF_ENCRYPT_Timesheet\":\"-\"}";
query["view_id"] = "23806000074760021";
var uriBuilder = new UriBuilder("https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/timelogs/clientreport") { Query = query.ToString() };
var request = new HttpRequestMessage(HttpMethod.Get, uriBuilder.Uri);

var response = await client.SendAsync(request);
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
#include <iostream>
#include <string>
#include <curl/curl.h>

static size_t WriteCallback(void* contents, size_t size, size_t nmemb, std::string* output) {
    output->append((char*)contents, size * nmemb);
    return size * nmemb;
}

int main() {
    CURL* curl = curl_easy_init();
    if (curl) {
        std::string response;
        char* enc_index = curl_easy_escape(curl, "1", 0);
        char* enc_range = curl_easy_escape(curl, "100", 0);
        char* enc_view_type = curl_easy_escape(curl, "week", 0);
        char* enc_start_date = curl_easy_escape(curl, "2023-12-20", 0);
        char* enc_end_date = curl_easy_escape(curl, "2024-12-20", 0);
        char* enc_filter = curl_easy_escape(curl, "{\"project\":\"-\",\"assignee\":\"-\",\"billtype\":\"-\",\"approvaltype\":\"-\",\"tsheetperiod\":\"-\",\"clientcompany\":\"-\",\"content\":\"-\",\"invoicestatus\":\"-\",\"usergroups\":\"-\",\"criteria\":[{\"field_name\":\"project\",\"custom_feild\":\"-\",\"field_type\":\"-\",\"criteria_condition\":\"contains\",\"value\":[\"1752587000000097269\"]}],\"pattern\":\"1\",\"UDF_CHAR_Timesheet\":\"-\",\"UDF_USER_Timesheet\":\"-\",\"UDF_LONG_Timesheet\":\"-\",\"UDF_DATE_Timesheet\":\"-\",\"UDF_DOUBLE_Timesheet\":\"-\",\"UDF_TEXT_Timesheet\":\"-\",\"UDF_ENCRYPT_Timesheet\":\"-\"}", 0);
        char* enc_view_id = curl_easy_escape(curl, "23806000074760021", 0);
        std::string url = "https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/timelogs/clientreport";
        url += "?index=" + std::string(enc_index);
        url += "&range=" + std::string(enc_range);
        url += "&view_type=" + std::string(enc_view_type);
        url += "&start_date=" + std::string(enc_start_date);
        url += "&end_date=" + std::string(enc_end_date);
        url += "&filter=" + std::string(enc_filter);
        url += "&view_id=" + std::string(enc_view_id);

        struct curl_slist* headers = NULL;
        headers = curl_slist_append(headers, "Authorization: Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa");

        curl_easy_setopt(curl, CURLOPT_URL, url.c_str());
        curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers);
        curl_easy_setopt(curl, CURLOPT_CUSTOMREQUEST, "GET");
        curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, WriteCallback);
        curl_easy_setopt(curl, CURLOPT_WRITEDATA, &response);

        CURLcode res = curl_easy_perform(curl);
        if (res == CURLE_OK)
            std::cout << response << std::endl;
        else
            std::cerr << curl_easy_strerror(res) << std::endl;

        curl_free(enc_index);
        curl_free(enc_range);
        curl_free(enc_view_type);
        curl_free(enc_start_date);
        curl_free(enc_end_date);
        curl_free(enc_filter);
        curl_free(enc_view_id);
        curl_slist_free_all(headers);
        curl_easy_cleanup(curl);
    }
    return 0;
}
(require '[clj-http.client :as client])

(let [enc-index (java.net.URLEncoder/encode "1" "UTF-8")
      enc-range (java.net.URLEncoder/encode "100" "UTF-8")
      enc-view_type (java.net.URLEncoder/encode "week" "UTF-8")
      enc-start_date (java.net.URLEncoder/encode "2023-12-20" "UTF-8")
      enc-end_date (java.net.URLEncoder/encode "2024-12-20" "UTF-8")
      enc-filter (java.net.URLEncoder/encode "{\"project\":\"-\",\"assignee\":\"-\",\"billtype\":\"-\",\"approvaltype\":\"-\",\"tsheetperiod\":\"-\",\"clientcompany\":\"-\",\"content\":\"-\",\"invoicestatus\":\"-\",\"usergroups\":\"-\",\"criteria\":[{\"field_name\":\"project\",\"custom_feild\":\"-\",\"field_type\":\"-\",\"criteria_condition\":\"contains\",\"value\":[\"1752587000000097269\"]}],\"pattern\":\"1\",\"UDF_CHAR_Timesheet\":\"-\",\"UDF_USER_Timesheet\":\"-\",\"UDF_LONG_Timesheet\":\"-\",\"UDF_DATE_Timesheet\":\"-\",\"UDF_DOUBLE_Timesheet\":\"-\",\"UDF_TEXT_Timesheet\":\"-\",\"UDF_ENCRYPT_Timesheet\":\"-\"}" "UTF-8")
      enc-view_id (java.net.URLEncoder/encode "23806000074760021" "UTF-8")
      url (str "https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/timelogs/clientreport" "?index=" enc-index "&range=" enc-range "&view_type=" enc-view_type "&start_date=" enc-start_date "&end_date=" enc-end_date "&filter=" enc-filter "&view_id=" enc-view_id)]
(def response
  (client/get url
    {:headers {"Authorization" "Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa"}
     :as :json}))

(println (:body response))
package main

import (
    "fmt"
    "io"
    "net/http"
    "net/url"
)

func main() {
    req, _ := http.NewRequest("GET", "https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/timelogs/clientreport", nil)
    q := req.URL.Query()
    q.Add("index", "1")
    q.Add("range", "100")
    q.Add("view_type", "week")
    q.Add("start_date", "2023-12-20")
    q.Add("end_date", "2024-12-20")
    q.Add("filter", "{\"project\":\"-\",\"assignee\":\"-\",\"billtype\":\"-\",\"approvaltype\":\"-\",\"tsheetperiod\":\"-\",\"clientcompany\":\"-\",\"content\":\"-\",\"invoicestatus\":\"-\",\"usergroups\":\"-\",\"criteria\":[{\"field_name\":\"project\",\"custom_feild\":\"-\",\"field_type\":\"-\",\"criteria_condition\":\"contains\",\"value\":[\"1752587000000097269\"]}],\"pattern\":\"1\",\"UDF_CHAR_Timesheet\":\"-\",\"UDF_USER_Timesheet\":\"-\",\"UDF_LONG_Timesheet\":\"-\",\"UDF_DATE_Timesheet\":\"-\",\"UDF_DOUBLE_Timesheet\":\"-\",\"UDF_TEXT_Timesheet\":\"-\",\"UDF_ENCRYPT_Timesheet\":\"-\"}")
    q.Add("view_id", "23806000074760021")
    req.URL.RawQuery = q.Encode()
    req.Header.Add("Authorization", "Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa")

    resp, _ := http.DefaultClient.Do(req)
    defer resp.Body.Close()
    body, _ := io.ReadAll(resp.Body)
    fmt.Println(string(body))
}
GET https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/timelogs/clientreport?index=1&range=100&view_type=week&start_date=2023-12-20&end_date=2024-12-20&filter=%7B%22project%22%3A%22-%22%2C%22assignee%22%3A%22-%22%2C%22billtype%22%3A%22-%22%2C%22approvaltype%22%3A%22-%22%2C%22tsheetperiod%22%3A%22-%22%2C%22clientcompany%22%3A%22-%22%2C%22content%22%3A%22-%22%2C%22invoicestatus%22%3A%22-%22%2C%22usergroups%22%3A%22-%22%2C%22criteria%22%3A%5B%7B%22field_name%22%3A%22project%22%2C%22custom_feild%22%3A%22-%22%2C%22field_type%22%3A%22-%22%2C%22criteria_condition%22%3A%22contains%22%2C%22value%22%3A%5B%221752587000000097269%22%5D%7D%5D%2C%22pattern%22%3A%221%22%2C%22UDF_CHAR_Timesheet%22%3A%22-%22%2C%22UDF_USER_Timesheet%22%3A%22-%22%2C%22UDF_LONG_Timesheet%22%3A%22-%22%2C%22UDF_DATE_Timesheet%22%3A%22-%22%2C%22UDF_DOUBLE_Timesheet%22%3A%22-%22%2C%22UDF_TEXT_Timesheet%22%3A%22-%22%2C%22UDF_ENCRYPT_Timesheet%22%3A%22-%22%7D&view_id=23806000074760021 HTTP/1.1
Host: https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/timelogs/clientreport?index=1&range=100&view_type=week&start_date=2023-12-20&end_date=2024-12-20&filter=%7B%22project%22%3A%22-%22%2C%22assignee%22%3A%22-%22%2C%22billtype%22%3A%22-%22%2C%22approvaltype%22%3A%22-%22%2C%22tsheetperiod%22%3A%22-%22%2C%22clientcompany%22%3A%22-%22%2C%22content%22%3A%22-%22%2C%22invoicestatus%22%3A%22-%22%2C%22usergroups%22%3A%22-%22%2C%22criteria%22%3A%5B%7B%22field_name%22%3A%22project%22%2C%22custom_feild%22%3A%22-%22%2C%22field_type%22%3A%22-%22%2C%22criteria_condition%22%3A%22contains%22%2C%22value%22%3A%5B%221752587000000097269%22%5D%7D%5D%2C%22pattern%22%3A%221%22%2C%22UDF_CHAR_Timesheet%22%3A%22-%22%2C%22UDF_USER_Timesheet%22%3A%22-%22%2C%22UDF_LONG_Timesheet%22%3A%22-%22%2C%22UDF_DATE_Timesheet%22%3A%22-%22%2C%22UDF_DOUBLE_Timesheet%22%3A%22-%22%2C%22UDF_TEXT_Timesheet%22%3A%22-%22%2C%22UDF_ENCRYPT_Timesheet%22%3A%22-%22%7D&view_id=23806000074760021
Authorization: Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa
HttpClientBuilder httpClientBuilder = HttpClientBuilder.create();

SSLContext sslContext = SSLContext.getDefault();
SSLConnectionSocketFactory sslConnectionSocketFactory = new SSLConnectionSocketFactory(sslContext, NoopHostnameVerifier.INSTANCE);
CloseableHttpClient httpclient = httpClientBuilder.setSSLSocketFactory(sslConnectionSocketFactory).build();

URIBuilder uriBuilder = new URIBuilder("https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/timelogs/clientreport");
uriBuilder.addParameter("index", "1");
uriBuilder.addParameter("range", "100");
uriBuilder.addParameter("view_type", "week");
uriBuilder.addParameter("start_date", "2023-12-20");
uriBuilder.addParameter("end_date", "2024-12-20");
uriBuilder.addParameter("filter", "{\"project\":\"-\",\"assignee\":\"-\",\"billtype\":\"-\",\"approvaltype\":\"-\",\"tsheetperiod\":\"-\",\"clientcompany\":\"-\",\"content\":\"-\",\"invoicestatus\":\"-\",\"usergroups\":\"-\",\"criteria\":[{\"field_name\":\"project\",\"custom_feild\":\"-\",\"field_type\":\"-\",\"criteria_condition\":\"contains\",\"value\":[\"1752587000000097269\"]}],\"pattern\":\"1\",\"UDF_CHAR_Timesheet\":\"-\",\"UDF_USER_Timesheet\":\"-\",\"UDF_LONG_Timesheet\":\"-\",\"UDF_DATE_Timesheet\":\"-\",\"UDF_DOUBLE_Timesheet\":\"-\",\"UDF_TEXT_Timesheet\":\"-\",\"UDF_ENCRYPT_Timesheet\":\"-\"}");
uriBuilder.addParameter("view_id", "23806000074760021");
HttpUriRequest requestObj = new HttpGet(uriBuilder.build());
requestObj.addHeader("Authorization", "Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa");

HttpResponse response = httpclient.execute(requestObj);

HttpEntity responseEntity = response.getEntity();
Object responseObject = EntityUtils.toString(responseEntity);
String responseString = responseObject.toString();
const url = 'https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/timelogs/clientreport';

const params = new URLSearchParams({
  'index': '1',
  'range': '100',
  'view_type': 'week',
  'start_date': '2023-12-20',
  'end_date': '2024-12-20',
  'filter': '{"project":"-","assignee":"-","billtype":"-","approvaltype":"-","tsheetperiod":"-","clientcompany":"-","content":"-","invoicestatus":"-","usergroups":"-","criteria":[{"field_name":"project","custom_feild":"-","field_type":"-","criteria_condition":"contains","value":["1752587000000097269"]}],"pattern":"1","UDF_CHAR_Timesheet":"-","UDF_USER_Timesheet":"-","UDF_LONG_Timesheet":"-","UDF_DATE_Timesheet":"-","UDF_DOUBLE_Timesheet":"-","UDF_TEXT_Timesheet":"-","UDF_ENCRYPT_Timesheet":"-"}',
  'view_id': '23806000074760021'
});

const options = {
  method: 'GET',
  headers: {
    'Authorization': 'Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa'
  }
};

fetch(url + '?' + params.toString(), options)
  .then(response => response.json())
  .then(data => console.log(data))
  .catch(error => console.error(error));
index = "1"
range = "100"
view_type = "week"
start_date = "2023-12-20"
end_date = "2024-12-20"
filter = {"project":"-","assignee":"-","billtype":"-","approvaltype":"-","tsheetperiod":"-","clientcompany":"-","content":"-","invoicestatus":"-","usergroups":"-","criteria":[{"field_name":"project","custom_feild":"-","field_type":"-","criteria_condition":"contains","value":["1752587000000097269"]}],"pattern":"1","UDF_CHAR_Timesheet":"-","UDF_USER_Timesheet":"-","UDF_LONG_Timesheet":"-","UDF_DATE_Timesheet":"-","UDF_DOUBLE_Timesheet":"-","UDF_TEXT_Timesheet":"-","UDF_ENCRYPT_Timesheet":"-"}
view_id = "23806000074760021"
import java.net.HttpURLConnection
import java.net.URL
import okhttp3.HttpUrl.Companion.toHttpUrl

fun main() {
    val urlBuilder = "https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/timelogs/clientreport".toHttpUrl().newBuilder()
    urlBuilder.addQueryParameter("index", "1")
    urlBuilder.addQueryParameter("range", "100")
    urlBuilder.addQueryParameter("view_type", "week")
    urlBuilder.addQueryParameter("start_date", "2023-12-20")
    urlBuilder.addQueryParameter("end_date", "2024-12-20")
    urlBuilder.addQueryParameter("filter", "{\"project\":\"-\",\"assignee\":\"-\",\"billtype\":\"-\",\"approvaltype\":\"-\",\"tsheetperiod\":\"-\",\"clientcompany\":\"-\",\"content\":\"-\",\"invoicestatus\":\"-\",\"usergroups\":\"-\",\"criteria\":[{\"field_name\":\"project\",\"custom_feild\":\"-\",\"field_type\":\"-\",\"criteria_condition\":\"contains\",\"value\":[\"1752587000000097269\"]}],\"pattern\":\"1\",\"UDF_CHAR_Timesheet\":\"-\",\"UDF_USER_Timesheet\":\"-\",\"UDF_LONG_Timesheet\":\"-\",\"UDF_DATE_Timesheet\":\"-\",\"UDF_DOUBLE_Timesheet\":\"-\",\"UDF_TEXT_Timesheet\":\"-\",\"UDF_ENCRYPT_Timesheet\":\"-\"}")
    urlBuilder.addQueryParameter("view_id", "23806000074760021")
    val url = URL(urlBuilder.build().toString())
    val conn = url.openConnection() as HttpURLConnection
    conn.requestMethod = "GET"
    conn.setRequestProperty("Authorization", "Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa")

    val response = conn.inputStream.bufferedReader().readText()
    println(response)
}
NSString *encodedIndex = [@"1" stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];
NSString *encodedRange = [@"100" stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];
NSString *encodedView_type = [@"week" stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];
NSString *encodedStart_date = [@"2023-12-20" stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];
NSString *encodedEnd_date = [@"2024-12-20" stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];
NSString *encodedFilter = [@"{\"project\":\"-\",\"assignee\":\"-\",\"billtype\":\"-\",\"approvaltype\":\"-\",\"tsheetperiod\":\"-\",\"clientcompany\":\"-\",\"content\":\"-\",\"invoicestatus\":\"-\",\"usergroups\":\"-\",\"criteria\":[{\"field_name\":\"project\",\"custom_feild\":\"-\",\"field_type\":\"-\",\"criteria_condition\":\"contains\",\"value\":[\"1752587000000097269\"]}],\"pattern\":\"1\",\"UDF_CHAR_Timesheet\":\"-\",\"UDF_USER_Timesheet\":\"-\",\"UDF_LONG_Timesheet\":\"-\",\"UDF_DATE_Timesheet\":\"-\",\"UDF_DOUBLE_Timesheet\":\"-\",\"UDF_TEXT_Timesheet\":\"-\",\"UDF_ENCRYPT_Timesheet\":\"-\"}" stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];
NSString *encodedView_id = [@"23806000074760021" stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];
NSString *urlString = [NSString stringWithFormat:@"https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/timelogs/clientreport?index=%@&range=%@&view_type=%@&start_date=%@&end_date=%@&filter=%@&view_id=%@", encodedIndex, encodedRange, encodedView_type, encodedStart_date, encodedEnd_date, encodedFilter, encodedView_id];
NSURL *url = [NSURL URLWithString:urlString];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];
[request setHTTPMethod:@"GET"];
[request setValue:@"Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa" forHTTPHeaderField:@"Authorization"];

NSURLSession *session = [NSURLSession sharedSession];
NSURLSessionDataTask *task = [session dataTaskWithRequest:request
    completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
        NSString *result = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
        NSLog(@"%@", result);
}];
[task resume];
open Lwt
open Cohttp_lwt_unix

let () =
  let enc_index = Uri.pct_encode "1" in
  let enc_range = Uri.pct_encode "100" in
  let enc_view_type = Uri.pct_encode "week" in
  let enc_start_date = Uri.pct_encode "2023-12-20" in
  let enc_end_date = Uri.pct_encode "2024-12-20" in
  let enc_filter = Uri.pct_encode "{\"project\":\"-\",\"assignee\":\"-\",\"billtype\":\"-\",\"approvaltype\":\"-\",\"tsheetperiod\":\"-\",\"clientcompany\":\"-\",\"content\":\"-\",\"invoicestatus\":\"-\",\"usergroups\":\"-\",\"criteria\":[{\"field_name\":\"project\",\"custom_feild\":\"-\",\"field_type\":\"-\",\"criteria_condition\":\"contains\",\"value\":[\"1752587000000097269\"]}],\"pattern\":\"1\",\"UDF_CHAR_Timesheet\":\"-\",\"UDF_USER_Timesheet\":\"-\",\"UDF_LONG_Timesheet\":\"-\",\"UDF_DATE_Timesheet\":\"-\",\"UDF_DOUBLE_Timesheet\":\"-\",\"UDF_TEXT_Timesheet\":\"-\",\"UDF_ENCRYPT_Timesheet\":\"-\"}" in
  let enc_view_id = Uri.pct_encode "23806000074760021" in
  let uri = Uri.of_string ("https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/timelogs/clientreport" ^ "?index=" ^ enc_index ^ "&range=" ^ enc_range ^ "&view_type=" ^ enc_view_type ^ "&start_date=" ^ enc_start_date ^ "&end_date=" ^ enc_end_date ^ "&filter=" ^ enc_filter ^ "&view_id=" ^ enc_view_id) in
  let headers = Cohttp.Header.init ()
    |> fun h -> Cohttp.Header.add h "Authorization" "Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa"
  in
  Lwt_main.run (
    Client.get ~headers uri >>= fun (_, body) ->
    Cohttp_lwt.Body.to_string body >|= fun s ->
    print_endline s)
$headers = @{
    "Authorization" = "Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa"
}

$params = @{
    index = "1"
    range = "100"
    view_type = "week"
    start_date = "2023-12-20"
    end_date = "2024-12-20"
    filter = "{`"project`":`"-`",`"assignee`":`"-`",`"billtype`":`"-`",`"approvaltype`":`"-`",`"tsheetperiod`":`"-`",`"clientcompany`":`"-`",`"content`":`"-`",`"invoicestatus`":`"-`",`"usergroups`":`"-`",`"criteria`":[{`"field_name`":`"project`",`"custom_feild`":`"-`",`"field_type`":`"-`",`"criteria_condition`":`"contains`",`"value`":[`"1752587000000097269`"]}],`"pattern`":`"1`",`"UDF_CHAR_Timesheet`":`"-`",`"UDF_USER_Timesheet`":`"-`",`"UDF_LONG_Timesheet`":`"-`",`"UDF_DATE_Timesheet`":`"-`",`"UDF_DOUBLE_Timesheet`":`"-`",`"UDF_TEXT_Timesheet`":`"-`",`"UDF_ENCRYPT_Timesheet`":`"-`"}"
    view_id = "23806000074760021"
}
$queryString = ($params.GetEnumerator() | ForEach-Object { "$($_.Key)=$([System.Uri]::EscapeDataString($_.Value))" }) -join "&"
$url = "https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/timelogs/clientreport" + "?" + $queryString

$response = Invoke-RestMethod -Uri $url -Method GET -Headers $headers

$response | ConvertTo-Json
library(httr)

url <- "https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/timelogs/clientreport"

params <- list(
  index = "1",
  range = "100",
  view_type = "week",
  start_date = "2023-12-20",
  end_date = "2024-12-20",
  filter = "{\"project\":\"-\",\"assignee\":\"-\",\"billtype\":\"-\",\"approvaltype\":\"-\",\"tsheetperiod\":\"-\",\"clientcompany\":\"-\",\"content\":\"-\",\"invoicestatus\":\"-\",\"usergroups\":\"-\",\"criteria\":[{\"field_name\":\"project\",\"custom_feild\":\"-\",\"field_type\":\"-\",\"criteria_condition\":\"contains\",\"value\":[\"1752587000000097269\"]}],\"pattern\":\"1\",\"UDF_CHAR_Timesheet\":\"-\",\"UDF_USER_Timesheet\":\"-\",\"UDF_LONG_Timesheet\":\"-\",\"UDF_DATE_Timesheet\":\"-\",\"UDF_DOUBLE_Timesheet\":\"-\",\"UDF_TEXT_Timesheet\":\"-\",\"UDF_ENCRYPT_Timesheet\":\"-\"}",
  view_id = "23806000074760021"
)

response <- GET(
  url,
  add_headers(Authorization = "Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa"),
  query = params
)

content(response, "text")
import Foundation

var components = URLComponents(string: "https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/timelogs/clientreport")!
components.queryItems = [
    URLQueryItem(name: "index", value: "1"),
    URLQueryItem(name: "range", value: "100"),
    URLQueryItem(name: "view_type", value: "week"),
    URLQueryItem(name: "start_date", value: "2023-12-20"),
    URLQueryItem(name: "end_date", value: "2024-12-20"),
    URLQueryItem(name: "filter", value: "{\"project\":\"-\",\"assignee\":\"-\",\"billtype\":\"-\",\"approvaltype\":\"-\",\"tsheetperiod\":\"-\",\"clientcompany\":\"-\",\"content\":\"-\",\"invoicestatus\":\"-\",\"usergroups\":\"-\",\"criteria\":[{\"field_name\":\"project\",\"custom_feild\":\"-\",\"field_type\":\"-\",\"criteria_condition\":\"contains\",\"value\":[\"1752587000000097269\"]}],\"pattern\":\"1\",\"UDF_CHAR_Timesheet\":\"-\",\"UDF_USER_Timesheet\":\"-\",\"UDF_LONG_Timesheet\":\"-\",\"UDF_DATE_Timesheet\":\"-\",\"UDF_DOUBLE_Timesheet\":\"-\",\"UDF_TEXT_Timesheet\":\"-\",\"UDF_ENCRYPT_Timesheet\":\"-\"}"),
    URLQueryItem(name: "view_id", value: "23806000074760021")
]
let url = components.url!
var request = URLRequest(url: url)
request.httpMethod = "GET"
request.setValue("Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa", forHTTPHeaderField: "Authorization")

let semaphore = DispatchSemaphore(value: 0)
let task = URLSession.shared.dataTask(with: request) { data, response, error in
    if let data = data, let result = String(data: data, encoding: .utf8) {
        print(result)
    }
    semaphore.signal()
}
task.resume()
semaphore.wait()

Sample Input

index : "1" range : "100" view_type : "week" start_date : "2023-12-20" end_date : "2024-12-20" filter : { "project" : "-", "assignee" : "-", "billtype" : "-", "approvaltype" : "-", "tsheetperiod" : "-", "clientcompany" : "-", "content" : "-", "invoicestatus" : "-", "usergroups" : "-", "criteria" : [ { "field_name" : "project", "custom_feild" : "-", "field_type" : "-", "criteria_condition" : "contains", "value" : [ "1752587000000097269" ] } ], "pattern" : "1", "UDF_CHAR_Timesheet" : "-", "UDF_USER_Timesheet" : "-", "UDF_LONG_Timesheet" : "-", "UDF_DATE_Timesheet" : "-", "UDF_DOUBLE_Timesheet" : "-", "UDF_TEXT_Timesheet" : "-", "UDF_ENCRYPT_Timesheet" : "-" } view_id : "23806000074760021"

Sample Response

200

Get Time Log Report Count

Retrieve time log report count.

GET

/api/v3/portal/[PORTAL_ID]/timelogs/reports/count

OAuth Scope:

ZohoProjects.timesheets.READ

Path Parameters

Param Name
Data Type
Description

Query Parameters

Param Name
Data Type
Description

Request Example

Request Example
  • cURL
  • Deluge
  • Node.js
  • Ruby
  • PHP
  • Python
  • C
  • C#
  • C++
  • Clojure
  • Go
  • HTTP
  • Java
  • JS Fetch
  • JSON
  • Kotlin
  • Objective-C
  • OCaml
  • PowerShell
  • R
  • Swift

curl -X GET \
'https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/timelogs/reports/count?report_type=-&view_type=-&start_date=-&filter=%7B%22project%22%3A%22-%22%2C%22assignee%22%3A%22-%22%2C%22billtype%22%3A%22-%22%2C%22approvaltype%22%3A%22-%22%2C%22tsheetperiod%22%3A%22-%22%2C%22clientcompany%22%3A%22-%22%2C%22content%22%3A%22-%22%2C%22invoicestatus%22%3A%22-%22%2C%22usergroups%22%3A%22-%22%2C%22criteria%22%3A%5B%7B%22cfid%22%3A%22-%22%2C%22field_name%22%3A%22user%22%2C%22custom_field%22%3A%22-%22%2C%22field_type%22%3A%22-%22%2C%22criteria_condition%22%3A%22is%22%2C%22value%22%3A%5B%224000000002411%22%5D%2C%22relative_columns%22%3A%5B%7B%22cfid%22%3A%22-%22%2C%22offset%22%3A%22-%22%2C%22unit%22%3A%22-%22%2C%22prior%22%3A%22-%22%7D%5D%7D%5D%2C%22pattern%22%3A%221+AND+2+AND+3+AND+4%22%2C%22cf_single_line%22%3A%22-%22%2C%22cf_user_picklist%22%3A%22-%22%2C%22cf_number%22%3A%22-%22%2C%22cf_date%22%3A%22-%22%2C%22cf_decimal%22%3A%22-%22%2C%22cf_multi_line%22%3A%22-%22%2C%22cf_email%22%3A%22-%22%7D&view_id=-&project_id=23806000097545166&custom_range=%7B%22start_date%22%3A%22-%22%2C%22end_date%22%3A%22-%22%7D&is_module_based_pagination=false' \
-H 'Authorization: Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa'

url = "https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/timelogs/reports/count";
filter_value = {"project":"-","assignee":"-","billtype":"-","approvaltype":"-","tsheetperiod":"-","clientcompany":"-","content":"-","invoicestatus":"-","usergroups":"-","criteria":[{"cfid":"-","field_name":"user","custom_field":"-","field_type":"-","criteria_condition":"is","value":["4000000002411"],"relative_columns":[{"cfid":"-","offset":"-","unit":"-","prior":"-"}]}],"pattern":"1 AND 2 AND 3 AND 4","cf_single_line":"-","cf_user_picklist":"-","cf_number":"-","cf_date":"-","cf_decimal":"-","cf_multi_line":"-","cf_email":"-"};
custom_range_value = {"start_date":"-","end_date":"-"};
params = Map();
params.put("report_type", "-");
params.put("view_type", "-");
params.put("start_date", "-");
params.put("filter", filter_value);
params.put("view_id", "-");
params.put("project_id", "23806000097545166");
params.put("custom_range", custom_range_value);
params.put("is_module_based_pagination", false);
response = invokeUrl
[
    url: url
    type: GET
    parameters: params
    connection: "projects"
];
info response;
const https = require('https');
const url = new URL('https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/timelogs/reports/count');
url.searchParams.append('report_type', '-');
url.searchParams.append('view_type', '-');
url.searchParams.append('start_date', '-');
url.searchParams.append('filter', '{"project":"-","assignee":"-","billtype":"-","approvaltype":"-","tsheetperiod":"-","clientcompany":"-","content":"-","invoicestatus":"-","usergroups":"-","criteria":[{"cfid":"-","field_name":"user","custom_field":"-","field_type":"-","criteria_condition":"is","value":["4000000002411"],"relative_columns":[{"cfid":"-","offset":"-","unit":"-","prior":"-"}]}],"pattern":"1 AND 2 AND 3 AND 4","cf_single_line":"-","cf_user_picklist":"-","cf_number":"-","cf_date":"-","cf_decimal":"-","cf_multi_line":"-","cf_email":"-"}');
url.searchParams.append('view_id', '-');
url.searchParams.append('project_id', '23806000097545166');
url.searchParams.append('custom_range', '{"start_date":"-","end_date":"-"}');
url.searchParams.append('is_module_based_pagination', 'false');

const options = {
  hostname: url.hostname,
  path: url.pathname + url.search,
  method: 'GET',
  headers: {
    'Authorization': 'Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa'
  }
};

const req = https.request(options, (res) => {
  let data = '';
  res.on('data', (chunk) => { data += chunk; });
  res.on('end', () => { console.log(JSON.parse(data)); });
});

req.on('error', (err) => { console.error(err); });
req.end();
require 'net/http'
require 'uri'
require 'json'

url = URI("https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/timelogs/reports/count")
params = {
  "report_type" => "-",
  "view_type" => "-",
  "start_date" => "-",
  "filter" => "{\"project\":\"-\",\"assignee\":\"-\",\"billtype\":\"-\",\"approvaltype\":\"-\",\"tsheetperiod\":\"-\",\"clientcompany\":\"-\",\"content\":\"-\",\"invoicestatus\":\"-\",\"usergroups\":\"-\",\"criteria\":[{\"cfid\":\"-\",\"field_name\":\"user\",\"custom_field\":\"-\",\"field_type\":\"-\",\"criteria_condition\":\"is\",\"value\":[\"4000000002411\"],\"relative_columns\":[{\"cfid\":\"-\",\"offset\":\"-\",\"unit\":\"-\",\"prior\":\"-\"}]}],\"pattern\":\"1 AND 2 AND 3 AND 4\",\"cf_single_line\":\"-\",\"cf_user_picklist\":\"-\",\"cf_number\":\"-\",\"cf_date\":\"-\",\"cf_decimal\":\"-\",\"cf_multi_line\":\"-\",\"cf_email\":\"-\"}",
  "view_id" => "-",
  "project_id" => "23806000097545166",
  "custom_range" => "{\"start_date\":\"-\",\"end_date\":\"-\"}",
  "is_module_based_pagination" => "false"
}
url.query = URI.encode_www_form(params)

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)
request["Authorization"] = "Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa"

response = http.request(request)
puts response.read_body
<?php
$params = [
    'report_type' => '-',
    'view_type' => '-',
    'start_date' => '-',
    'filter' => '{"project":"-","assignee":"-","billtype":"-","approvaltype":"-","tsheetperiod":"-","clientcompany":"-","content":"-","invoicestatus":"-","usergroups":"-","criteria":[{"cfid":"-","field_name":"user","custom_field":"-","field_type":"-","criteria_condition":"is","value":["4000000002411"],"relative_columns":[{"cfid":"-","offset":"-","unit":"-","prior":"-"}]}],"pattern":"1 AND 2 AND 3 AND 4","cf_single_line":"-","cf_user_picklist":"-","cf_number":"-","cf_date":"-","cf_decimal":"-","cf_multi_line":"-","cf_email":"-"}',
    'view_id' => '-',
    'project_id' => '23806000097545166',
    'custom_range' => '{"start_date":"-","end_date":"-"}',
    'is_module_based_pagination' => 'false',
];
$url = "https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/timelogs/reports/count" . "?" . http_build_query($params);

$curl = curl_init();

curl_setopt_array($curl, [
  CURLOPT_URL => $url,
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_CUSTOMREQUEST => "GET",
  CURLOPT_HTTPHEADER => [
    "Authorization: Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa"
  ],
]);

$response = curl_exec($curl);
curl_close($curl);

echo $response;
import requests

url = "https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/timelogs/reports/count"

params = {
    "report_type": "-",
    "view_type": "-",
    "start_date": "-",
    "filter": "{\"project\":\"-\",\"assignee\":\"-\",\"billtype\":\"-\",\"approvaltype\":\"-\",\"tsheetperiod\":\"-\",\"clientcompany\":\"-\",\"content\":\"-\",\"invoicestatus\":\"-\",\"usergroups\":\"-\",\"criteria\":[{\"cfid\":\"-\",\"field_name\":\"user\",\"custom_field\":\"-\",\"field_type\":\"-\",\"criteria_condition\":\"is\",\"value\":[\"4000000002411\"],\"relative_columns\":[{\"cfid\":\"-\",\"offset\":\"-\",\"unit\":\"-\",\"prior\":\"-\"}]}],\"pattern\":\"1 AND 2 AND 3 AND 4\",\"cf_single_line\":\"-\",\"cf_user_picklist\":\"-\",\"cf_number\":\"-\",\"cf_date\":\"-\",\"cf_decimal\":\"-\",\"cf_multi_line\":\"-\",\"cf_email\":\"-\"}",
    "view_id": "-",
    "project_id": "23806000097545166",
    "custom_range": "{\"start_date\":\"-\",\"end_date\":\"-\"}",
    "is_module_based_pagination": "false"
}

headers = {
    "Authorization": "Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa",
}

response = requests.get(url, headers=headers, params=params)

print(response.json())
#include <stdio.h>
#include <string.h>
#include <curl/curl.h>

int main(void) {
    CURL *curl = curl_easy_init();
    if (curl) {
        char *enc_report_type = curl_easy_escape(curl, "-", 0);
        char *enc_view_type = curl_easy_escape(curl, "-", 0);
        char *enc_start_date = curl_easy_escape(curl, "-", 0);
        char *enc_filter = curl_easy_escape(curl, "{\"project\":\"-\",\"assignee\":\"-\",\"billtype\":\"-\",\"approvaltype\":\"-\",\"tsheetperiod\":\"-\",\"clientcompany\":\"-\",\"content\":\"-\",\"invoicestatus\":\"-\",\"usergroups\":\"-\",\"criteria\":[{\"cfid\":\"-\",\"field_name\":\"user\",\"custom_field\":\"-\",\"field_type\":\"-\",\"criteria_condition\":\"is\",\"value\":[\"4000000002411\"],\"relative_columns\":[{\"cfid\":\"-\",\"offset\":\"-\",\"unit\":\"-\",\"prior\":\"-\"}]}],\"pattern\":\"1 AND 2 AND 3 AND 4\",\"cf_single_line\":\"-\",\"cf_user_picklist\":\"-\",\"cf_number\":\"-\",\"cf_date\":\"-\",\"cf_decimal\":\"-\",\"cf_multi_line\":\"-\",\"cf_email\":\"-\"}", 0);
        char *enc_view_id = curl_easy_escape(curl, "-", 0);
        char *enc_project_id = curl_easy_escape(curl, "23806000097545166", 0);
        char *enc_custom_range = curl_easy_escape(curl, "{\"start_date\":\"-\",\"end_date\":\"-\"}", 0);
        char *enc_is_module_based_pagination = curl_easy_escape(curl, "false", 0);
        char url[2048];
        snprintf(url, sizeof(url), "https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/timelogs/reports/count?report_type=%s&view_type=%s&start_date=%s&filter=%s&view_id=%s&project_id=%s&custom_range=%s&is_module_based_pagination=%s", enc_report_type, enc_view_type, enc_start_date, enc_filter, enc_view_id, enc_project_id, enc_custom_range, enc_is_module_based_pagination);

        struct curl_slist *headers = NULL;
        headers = curl_slist_append(headers, "Authorization: Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa");

        curl_easy_setopt(curl, CURLOPT_URL, url);
        curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers);
        curl_easy_setopt(curl, CURLOPT_CUSTOMREQUEST, "GET");

        CURLcode res = curl_easy_perform(curl);
        if (res != CURLE_OK)
            fprintf(stderr, "curl failed: %s\n", curl_easy_strerror(res));

        curl_free(enc_report_type);
        curl_free(enc_view_type);
        curl_free(enc_start_date);
        curl_free(enc_filter);
        curl_free(enc_view_id);
        curl_free(enc_project_id);
        curl_free(enc_custom_range);
        curl_free(enc_is_module_based_pagination);
        curl_slist_free_all(headers);
        curl_easy_cleanup(curl);
    }
    return 0;
}
using System.Net.Http;
using System.Text;
using System.Web;

var client = new HttpClient();
client.DefaultRequestHeaders.Add("Authorization", "Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa");

var query = HttpUtility.ParseQueryString(string.Empty);
query["report_type"] = "-";
query["view_type"] = "-";
query["start_date"] = "-";
query["filter"] = "{\"project\":\"-\",\"assignee\":\"-\",\"billtype\":\"-\",\"approvaltype\":\"-\",\"tsheetperiod\":\"-\",\"clientcompany\":\"-\",\"content\":\"-\",\"invoicestatus\":\"-\",\"usergroups\":\"-\",\"criteria\":[{\"cfid\":\"-\",\"field_name\":\"user\",\"custom_field\":\"-\",\"field_type\":\"-\",\"criteria_condition\":\"is\",\"value\":[\"4000000002411\"],\"relative_columns\":[{\"cfid\":\"-\",\"offset\":\"-\",\"unit\":\"-\",\"prior\":\"-\"}]}],\"pattern\":\"1 AND 2 AND 3 AND 4\",\"cf_single_line\":\"-\",\"cf_user_picklist\":\"-\",\"cf_number\":\"-\",\"cf_date\":\"-\",\"cf_decimal\":\"-\",\"cf_multi_line\":\"-\",\"cf_email\":\"-\"}";
query["view_id"] = "-";
query["project_id"] = "23806000097545166";
query["custom_range"] = "{\"start_date\":\"-\",\"end_date\":\"-\"}";
query["is_module_based_pagination"] = "false";
var uriBuilder = new UriBuilder("https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/timelogs/reports/count") { Query = query.ToString() };
var request = new HttpRequestMessage(HttpMethod.Get, uriBuilder.Uri);

var response = await client.SendAsync(request);
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
#include <iostream>
#include <string>
#include <curl/curl.h>

static size_t WriteCallback(void* contents, size_t size, size_t nmemb, std::string* output) {
    output->append((char*)contents, size * nmemb);
    return size * nmemb;
}

int main() {
    CURL* curl = curl_easy_init();
    if (curl) {
        std::string response;
        char* enc_report_type = curl_easy_escape(curl, "-", 0);
        char* enc_view_type = curl_easy_escape(curl, "-", 0);
        char* enc_start_date = curl_easy_escape(curl, "-", 0);
        char* enc_filter = curl_easy_escape(curl, "{\"project\":\"-\",\"assignee\":\"-\",\"billtype\":\"-\",\"approvaltype\":\"-\",\"tsheetperiod\":\"-\",\"clientcompany\":\"-\",\"content\":\"-\",\"invoicestatus\":\"-\",\"usergroups\":\"-\",\"criteria\":[{\"cfid\":\"-\",\"field_name\":\"user\",\"custom_field\":\"-\",\"field_type\":\"-\",\"criteria_condition\":\"is\",\"value\":[\"4000000002411\"],\"relative_columns\":[{\"cfid\":\"-\",\"offset\":\"-\",\"unit\":\"-\",\"prior\":\"-\"}]}],\"pattern\":\"1 AND 2 AND 3 AND 4\",\"cf_single_line\":\"-\",\"cf_user_picklist\":\"-\",\"cf_number\":\"-\",\"cf_date\":\"-\",\"cf_decimal\":\"-\",\"cf_multi_line\":\"-\",\"cf_email\":\"-\"}", 0);
        char* enc_view_id = curl_easy_escape(curl, "-", 0);
        char* enc_project_id = curl_easy_escape(curl, "23806000097545166", 0);
        char* enc_custom_range = curl_easy_escape(curl, "{\"start_date\":\"-\",\"end_date\":\"-\"}", 0);
        char* enc_is_module_based_pagination = curl_easy_escape(curl, "false", 0);
        std::string url = "https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/timelogs/reports/count";
        url += "?report_type=" + std::string(enc_report_type);
        url += "&view_type=" + std::string(enc_view_type);
        url += "&start_date=" + std::string(enc_start_date);
        url += "&filter=" + std::string(enc_filter);
        url += "&view_id=" + std::string(enc_view_id);
        url += "&project_id=" + std::string(enc_project_id);
        url += "&custom_range=" + std::string(enc_custom_range);
        url += "&is_module_based_pagination=" + std::string(enc_is_module_based_pagination);

        struct curl_slist* headers = NULL;
        headers = curl_slist_append(headers, "Authorization: Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa");

        curl_easy_setopt(curl, CURLOPT_URL, url.c_str());
        curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers);
        curl_easy_setopt(curl, CURLOPT_CUSTOMREQUEST, "GET");
        curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, WriteCallback);
        curl_easy_setopt(curl, CURLOPT_WRITEDATA, &response);

        CURLcode res = curl_easy_perform(curl);
        if (res == CURLE_OK)
            std::cout << response << std::endl;
        else
            std::cerr << curl_easy_strerror(res) << std::endl;

        curl_free(enc_report_type);
        curl_free(enc_view_type);
        curl_free(enc_start_date);
        curl_free(enc_filter);
        curl_free(enc_view_id);
        curl_free(enc_project_id);
        curl_free(enc_custom_range);
        curl_free(enc_is_module_based_pagination);
        curl_slist_free_all(headers);
        curl_easy_cleanup(curl);
    }
    return 0;
}
(require '[clj-http.client :as client])

(let [enc-report_type (java.net.URLEncoder/encode "-" "UTF-8")
      enc-view_type (java.net.URLEncoder/encode "-" "UTF-8")
      enc-start_date (java.net.URLEncoder/encode "-" "UTF-8")
      enc-filter (java.net.URLEncoder/encode "{\"project\":\"-\",\"assignee\":\"-\",\"billtype\":\"-\",\"approvaltype\":\"-\",\"tsheetperiod\":\"-\",\"clientcompany\":\"-\",\"content\":\"-\",\"invoicestatus\":\"-\",\"usergroups\":\"-\",\"criteria\":[{\"cfid\":\"-\",\"field_name\":\"user\",\"custom_field\":\"-\",\"field_type\":\"-\",\"criteria_condition\":\"is\",\"value\":[\"4000000002411\"],\"relative_columns\":[{\"cfid\":\"-\",\"offset\":\"-\",\"unit\":\"-\",\"prior\":\"-\"}]}],\"pattern\":\"1 AND 2 AND 3 AND 4\",\"cf_single_line\":\"-\",\"cf_user_picklist\":\"-\",\"cf_number\":\"-\",\"cf_date\":\"-\",\"cf_decimal\":\"-\",\"cf_multi_line\":\"-\",\"cf_email\":\"-\"}" "UTF-8")
      enc-view_id (java.net.URLEncoder/encode "-" "UTF-8")
      enc-project_id (java.net.URLEncoder/encode "23806000097545166" "UTF-8")
      enc-custom_range (java.net.URLEncoder/encode "{\"start_date\":\"-\",\"end_date\":\"-\"}" "UTF-8")
      enc-is_module_based_pagination (java.net.URLEncoder/encode "false" "UTF-8")
      url (str "https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/timelogs/reports/count" "?report_type=" enc-report_type "&view_type=" enc-view_type "&start_date=" enc-start_date "&filter=" enc-filter "&view_id=" enc-view_id "&project_id=" enc-project_id "&custom_range=" enc-custom_range "&is_module_based_pagination=" enc-is_module_based_pagination)]
(def response
  (client/get url
    {:headers {"Authorization" "Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa"}
     :as :json}))

(println (:body response))
package main

import (
    "fmt"
    "io"
    "net/http"
    "net/url"
)

func main() {
    req, _ := http.NewRequest("GET", "https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/timelogs/reports/count", nil)
    q := req.URL.Query()
    q.Add("report_type", "-")
    q.Add("view_type", "-")
    q.Add("start_date", "-")
    q.Add("filter", "{\"project\":\"-\",\"assignee\":\"-\",\"billtype\":\"-\",\"approvaltype\":\"-\",\"tsheetperiod\":\"-\",\"clientcompany\":\"-\",\"content\":\"-\",\"invoicestatus\":\"-\",\"usergroups\":\"-\",\"criteria\":[{\"cfid\":\"-\",\"field_name\":\"user\",\"custom_field\":\"-\",\"field_type\":\"-\",\"criteria_condition\":\"is\",\"value\":[\"4000000002411\"],\"relative_columns\":[{\"cfid\":\"-\",\"offset\":\"-\",\"unit\":\"-\",\"prior\":\"-\"}]}],\"pattern\":\"1 AND 2 AND 3 AND 4\",\"cf_single_line\":\"-\",\"cf_user_picklist\":\"-\",\"cf_number\":\"-\",\"cf_date\":\"-\",\"cf_decimal\":\"-\",\"cf_multi_line\":\"-\",\"cf_email\":\"-\"}")
    q.Add("view_id", "-")
    q.Add("project_id", "23806000097545166")
    q.Add("custom_range", "{\"start_date\":\"-\",\"end_date\":\"-\"}")
    q.Add("is_module_based_pagination", "false")
    req.URL.RawQuery = q.Encode()
    req.Header.Add("Authorization", "Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa")

    resp, _ := http.DefaultClient.Do(req)
    defer resp.Body.Close()
    body, _ := io.ReadAll(resp.Body)
    fmt.Println(string(body))
}
GET https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/timelogs/reports/count?report_type=-&view_type=-&start_date=-&filter=%7B%22project%22%3A%22-%22%2C%22assignee%22%3A%22-%22%2C%22billtype%22%3A%22-%22%2C%22approvaltype%22%3A%22-%22%2C%22tsheetperiod%22%3A%22-%22%2C%22clientcompany%22%3A%22-%22%2C%22content%22%3A%22-%22%2C%22invoicestatus%22%3A%22-%22%2C%22usergroups%22%3A%22-%22%2C%22criteria%22%3A%5B%7B%22cfid%22%3A%22-%22%2C%22field_name%22%3A%22user%22%2C%22custom_field%22%3A%22-%22%2C%22field_type%22%3A%22-%22%2C%22criteria_condition%22%3A%22is%22%2C%22value%22%3A%5B%224000000002411%22%5D%2C%22relative_columns%22%3A%5B%7B%22cfid%22%3A%22-%22%2C%22offset%22%3A%22-%22%2C%22unit%22%3A%22-%22%2C%22prior%22%3A%22-%22%7D%5D%7D%5D%2C%22pattern%22%3A%221+AND+2+AND+3+AND+4%22%2C%22cf_single_line%22%3A%22-%22%2C%22cf_user_picklist%22%3A%22-%22%2C%22cf_number%22%3A%22-%22%2C%22cf_date%22%3A%22-%22%2C%22cf_decimal%22%3A%22-%22%2C%22cf_multi_line%22%3A%22-%22%2C%22cf_email%22%3A%22-%22%7D&view_id=-&project_id=23806000097545166&custom_range=%7B%22start_date%22%3A%22-%22%2C%22end_date%22%3A%22-%22%7D&is_module_based_pagination=false HTTP/1.1
Host: https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/timelogs/reports/count?report_type=-&view_type=-&start_date=-&filter=%7B%22project%22%3A%22-%22%2C%22assignee%22%3A%22-%22%2C%22billtype%22%3A%22-%22%2C%22approvaltype%22%3A%22-%22%2C%22tsheetperiod%22%3A%22-%22%2C%22clientcompany%22%3A%22-%22%2C%22content%22%3A%22-%22%2C%22invoicestatus%22%3A%22-%22%2C%22usergroups%22%3A%22-%22%2C%22criteria%22%3A%5B%7B%22cfid%22%3A%22-%22%2C%22field_name%22%3A%22user%22%2C%22custom_field%22%3A%22-%22%2C%22field_type%22%3A%22-%22%2C%22criteria_condition%22%3A%22is%22%2C%22value%22%3A%5B%224000000002411%22%5D%2C%22relative_columns%22%3A%5B%7B%22cfid%22%3A%22-%22%2C%22offset%22%3A%22-%22%2C%22unit%22%3A%22-%22%2C%22prior%22%3A%22-%22%7D%5D%7D%5D%2C%22pattern%22%3A%221+AND+2+AND+3+AND+4%22%2C%22cf_single_line%22%3A%22-%22%2C%22cf_user_picklist%22%3A%22-%22%2C%22cf_number%22%3A%22-%22%2C%22cf_date%22%3A%22-%22%2C%22cf_decimal%22%3A%22-%22%2C%22cf_multi_line%22%3A%22-%22%2C%22cf_email%22%3A%22-%22%7D&view_id=-&project_id=23806000097545166&custom_range=%7B%22start_date%22%3A%22-%22%2C%22end_date%22%3A%22-%22%7D&is_module_based_pagination=false
Authorization: Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa
HttpClientBuilder httpClientBuilder = HttpClientBuilder.create();

SSLContext sslContext = SSLContext.getDefault();
SSLConnectionSocketFactory sslConnectionSocketFactory = new SSLConnectionSocketFactory(sslContext, NoopHostnameVerifier.INSTANCE);
CloseableHttpClient httpclient = httpClientBuilder.setSSLSocketFactory(sslConnectionSocketFactory).build();

URIBuilder uriBuilder = new URIBuilder("https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/timelogs/reports/count");
uriBuilder.addParameter("report_type", "-");
uriBuilder.addParameter("view_type", "-");
uriBuilder.addParameter("start_date", "-");
uriBuilder.addParameter("filter", "{\"project\":\"-\",\"assignee\":\"-\",\"billtype\":\"-\",\"approvaltype\":\"-\",\"tsheetperiod\":\"-\",\"clientcompany\":\"-\",\"content\":\"-\",\"invoicestatus\":\"-\",\"usergroups\":\"-\",\"criteria\":[{\"cfid\":\"-\",\"field_name\":\"user\",\"custom_field\":\"-\",\"field_type\":\"-\",\"criteria_condition\":\"is\",\"value\":[\"4000000002411\"],\"relative_columns\":[{\"cfid\":\"-\",\"offset\":\"-\",\"unit\":\"-\",\"prior\":\"-\"}]}],\"pattern\":\"1 AND 2 AND 3 AND 4\",\"cf_single_line\":\"-\",\"cf_user_picklist\":\"-\",\"cf_number\":\"-\",\"cf_date\":\"-\",\"cf_decimal\":\"-\",\"cf_multi_line\":\"-\",\"cf_email\":\"-\"}");
uriBuilder.addParameter("view_id", "-");
uriBuilder.addParameter("project_id", "23806000097545166");
uriBuilder.addParameter("custom_range", "{\"start_date\":\"-\",\"end_date\":\"-\"}");
uriBuilder.addParameter("is_module_based_pagination", "false");
HttpUriRequest requestObj = new HttpGet(uriBuilder.build());
requestObj.addHeader("Authorization", "Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa");

HttpResponse response = httpclient.execute(requestObj);

HttpEntity responseEntity = response.getEntity();
Object responseObject = EntityUtils.toString(responseEntity);
String responseString = responseObject.toString();
const url = 'https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/timelogs/reports/count';

const params = new URLSearchParams({
  'report_type': '-',
  'view_type': '-',
  'start_date': '-',
  'filter': '{"project":"-","assignee":"-","billtype":"-","approvaltype":"-","tsheetperiod":"-","clientcompany":"-","content":"-","invoicestatus":"-","usergroups":"-","criteria":[{"cfid":"-","field_name":"user","custom_field":"-","field_type":"-","criteria_condition":"is","value":["4000000002411"],"relative_columns":[{"cfid":"-","offset":"-","unit":"-","prior":"-"}]}],"pattern":"1 AND 2 AND 3 AND 4","cf_single_line":"-","cf_user_picklist":"-","cf_number":"-","cf_date":"-","cf_decimal":"-","cf_multi_line":"-","cf_email":"-"}',
  'view_id': '-',
  'project_id': '23806000097545166',
  'custom_range': '{"start_date":"-","end_date":"-"}',
  'is_module_based_pagination': 'false'
});

const options = {
  method: 'GET',
  headers: {
    'Authorization': 'Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa'
  }
};

fetch(url + '?' + params.toString(), options)
  .then(response => response.json())
  .then(data => console.log(data))
  .catch(error => console.error(error));
report_type =  - 
view_type =  - 
start_date =  - 
filter = {"project":"-","assignee":"-","billtype":"-","approvaltype":"-","tsheetperiod":"-","clientcompany":"-","content":"-","invoicestatus":"-","usergroups":"-","criteria":[{"cfid":"-","field_name":"user","custom_field":"-","field_type":"-","criteria_condition":"is","value":["4000000002411"],"relative_columns":[{"cfid":"-","offset":"-","unit":"-","prior":"-"}]}],"pattern":"1 AND 2 AND 3 AND 4","cf_single_line":"-","cf_user_picklist":"-","cf_number":"-","cf_date":"-","cf_decimal":"-","cf_multi_line":"-","cf_email":"-"}
view_id =  - 
project_id = "23806000097545166"
custom_range = {"start_date":"-","end_date":"-"}
is_module_based_pagination = false
import java.net.HttpURLConnection
import java.net.URL
import okhttp3.HttpUrl.Companion.toHttpUrl

fun main() {
    val urlBuilder = "https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/timelogs/reports/count".toHttpUrl().newBuilder()
    urlBuilder.addQueryParameter("report_type", "-")
    urlBuilder.addQueryParameter("view_type", "-")
    urlBuilder.addQueryParameter("start_date", "-")
    urlBuilder.addQueryParameter("filter", "{\"project\":\"-\",\"assignee\":\"-\",\"billtype\":\"-\",\"approvaltype\":\"-\",\"tsheetperiod\":\"-\",\"clientcompany\":\"-\",\"content\":\"-\",\"invoicestatus\":\"-\",\"usergroups\":\"-\",\"criteria\":[{\"cfid\":\"-\",\"field_name\":\"user\",\"custom_field\":\"-\",\"field_type\":\"-\",\"criteria_condition\":\"is\",\"value\":[\"4000000002411\"],\"relative_columns\":[{\"cfid\":\"-\",\"offset\":\"-\",\"unit\":\"-\",\"prior\":\"-\"}]}],\"pattern\":\"1 AND 2 AND 3 AND 4\",\"cf_single_line\":\"-\",\"cf_user_picklist\":\"-\",\"cf_number\":\"-\",\"cf_date\":\"-\",\"cf_decimal\":\"-\",\"cf_multi_line\":\"-\",\"cf_email\":\"-\"}")
    urlBuilder.addQueryParameter("view_id", "-")
    urlBuilder.addQueryParameter("project_id", "23806000097545166")
    urlBuilder.addQueryParameter("custom_range", "{\"start_date\":\"-\",\"end_date\":\"-\"}")
    urlBuilder.addQueryParameter("is_module_based_pagination", "false")
    val url = URL(urlBuilder.build().toString())
    val conn = url.openConnection() as HttpURLConnection
    conn.requestMethod = "GET"
    conn.setRequestProperty("Authorization", "Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa")

    val response = conn.inputStream.bufferedReader().readText()
    println(response)
}
NSString *encodedReport_type = [@"-" stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];
NSString *encodedView_type = [@"-" stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];
NSString *encodedStart_date = [@"-" stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];
NSString *encodedFilter = [@"{\"project\":\"-\",\"assignee\":\"-\",\"billtype\":\"-\",\"approvaltype\":\"-\",\"tsheetperiod\":\"-\",\"clientcompany\":\"-\",\"content\":\"-\",\"invoicestatus\":\"-\",\"usergroups\":\"-\",\"criteria\":[{\"cfid\":\"-\",\"field_name\":\"user\",\"custom_field\":\"-\",\"field_type\":\"-\",\"criteria_condition\":\"is\",\"value\":[\"4000000002411\"],\"relative_columns\":[{\"cfid\":\"-\",\"offset\":\"-\",\"unit\":\"-\",\"prior\":\"-\"}]}],\"pattern\":\"1 AND 2 AND 3 AND 4\",\"cf_single_line\":\"-\",\"cf_user_picklist\":\"-\",\"cf_number\":\"-\",\"cf_date\":\"-\",\"cf_decimal\":\"-\",\"cf_multi_line\":\"-\",\"cf_email\":\"-\"}" stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];
NSString *encodedView_id = [@"-" stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];
NSString *encodedProject_id = [@"23806000097545166" stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];
NSString *encodedCustom_range = [@"{\"start_date\":\"-\",\"end_date\":\"-\"}" stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];
NSString *encodedIs_module_based_pagination = [@"false" stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];
NSString *urlString = [NSString stringWithFormat:@"https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/timelogs/reports/count?report_type=%@&view_type=%@&start_date=%@&filter=%@&view_id=%@&project_id=%@&custom_range=%@&is_module_based_pagination=%@", encodedReport_type, encodedView_type, encodedStart_date, encodedFilter, encodedView_id, encodedProject_id, encodedCustom_range, encodedIs_module_based_pagination];
NSURL *url = [NSURL URLWithString:urlString];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];
[request setHTTPMethod:@"GET"];
[request setValue:@"Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa" forHTTPHeaderField:@"Authorization"];

NSURLSession *session = [NSURLSession sharedSession];
NSURLSessionDataTask *task = [session dataTaskWithRequest:request
    completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
        NSString *result = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
        NSLog(@"%@", result);
}];
[task resume];
open Lwt
open Cohttp_lwt_unix

let () =
  let enc_report_type = Uri.pct_encode "-" in
  let enc_view_type = Uri.pct_encode "-" in
  let enc_start_date = Uri.pct_encode "-" in
  let enc_filter = Uri.pct_encode "{\"project\":\"-\",\"assignee\":\"-\",\"billtype\":\"-\",\"approvaltype\":\"-\",\"tsheetperiod\":\"-\",\"clientcompany\":\"-\",\"content\":\"-\",\"invoicestatus\":\"-\",\"usergroups\":\"-\",\"criteria\":[{\"cfid\":\"-\",\"field_name\":\"user\",\"custom_field\":\"-\",\"field_type\":\"-\",\"criteria_condition\":\"is\",\"value\":[\"4000000002411\"],\"relative_columns\":[{\"cfid\":\"-\",\"offset\":\"-\",\"unit\":\"-\",\"prior\":\"-\"}]}],\"pattern\":\"1 AND 2 AND 3 AND 4\",\"cf_single_line\":\"-\",\"cf_user_picklist\":\"-\",\"cf_number\":\"-\",\"cf_date\":\"-\",\"cf_decimal\":\"-\",\"cf_multi_line\":\"-\",\"cf_email\":\"-\"}" in
  let enc_view_id = Uri.pct_encode "-" in
  let enc_project_id = Uri.pct_encode "23806000097545166" in
  let enc_custom_range = Uri.pct_encode "{\"start_date\":\"-\",\"end_date\":\"-\"}" in
  let enc_is_module_based_pagination = Uri.pct_encode "false" in
  let uri = Uri.of_string ("https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/timelogs/reports/count" ^ "?report_type=" ^ enc_report_type ^ "&view_type=" ^ enc_view_type ^ "&start_date=" ^ enc_start_date ^ "&filter=" ^ enc_filter ^ "&view_id=" ^ enc_view_id ^ "&project_id=" ^ enc_project_id ^ "&custom_range=" ^ enc_custom_range ^ "&is_module_based_pagination=" ^ enc_is_module_based_pagination) in
  let headers = Cohttp.Header.init ()
    |> fun h -> Cohttp.Header.add h "Authorization" "Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa"
  in
  Lwt_main.run (
    Client.get ~headers uri >>= fun (_, body) ->
    Cohttp_lwt.Body.to_string body >|= fun s ->
    print_endline s)
$headers = @{
    "Authorization" = "Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa"
}

$params = @{
    report_type = "-"
    view_type = "-"
    start_date = "-"
    filter = "{`"project`":`"-`",`"assignee`":`"-`",`"billtype`":`"-`",`"approvaltype`":`"-`",`"tsheetperiod`":`"-`",`"clientcompany`":`"-`",`"content`":`"-`",`"invoicestatus`":`"-`",`"usergroups`":`"-`",`"criteria`":[{`"cfid`":`"-`",`"field_name`":`"user`",`"custom_field`":`"-`",`"field_type`":`"-`",`"criteria_condition`":`"is`",`"value`":[`"4000000002411`"],`"relative_columns`":[{`"cfid`":`"-`",`"offset`":`"-`",`"unit`":`"-`",`"prior`":`"-`"}]}],`"pattern`":`"1 AND 2 AND 3 AND 4`",`"cf_single_line`":`"-`",`"cf_user_picklist`":`"-`",`"cf_number`":`"-`",`"cf_date`":`"-`",`"cf_decimal`":`"-`",`"cf_multi_line`":`"-`",`"cf_email`":`"-`"}"
    view_id = "-"
    project_id = "23806000097545166"
    custom_range = "{`"start_date`":`"-`",`"end_date`":`"-`"}"
    is_module_based_pagination = "false"
}
$queryString = ($params.GetEnumerator() | ForEach-Object { "$($_.Key)=$([System.Uri]::EscapeDataString($_.Value))" }) -join "&"
$url = "https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/timelogs/reports/count" + "?" + $queryString

$response = Invoke-RestMethod -Uri $url -Method GET -Headers $headers

$response | ConvertTo-Json
library(httr)

url <- "https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/timelogs/reports/count"

params <- list(
  report_type = "-",
  view_type = "-",
  start_date = "-",
  filter = "{\"project\":\"-\",\"assignee\":\"-\",\"billtype\":\"-\",\"approvaltype\":\"-\",\"tsheetperiod\":\"-\",\"clientcompany\":\"-\",\"content\":\"-\",\"invoicestatus\":\"-\",\"usergroups\":\"-\",\"criteria\":[{\"cfid\":\"-\",\"field_name\":\"user\",\"custom_field\":\"-\",\"field_type\":\"-\",\"criteria_condition\":\"is\",\"value\":[\"4000000002411\"],\"relative_columns\":[{\"cfid\":\"-\",\"offset\":\"-\",\"unit\":\"-\",\"prior\":\"-\"}]}],\"pattern\":\"1 AND 2 AND 3 AND 4\",\"cf_single_line\":\"-\",\"cf_user_picklist\":\"-\",\"cf_number\":\"-\",\"cf_date\":\"-\",\"cf_decimal\":\"-\",\"cf_multi_line\":\"-\",\"cf_email\":\"-\"}",
  view_id = "-",
  project_id = "23806000097545166",
  custom_range = "{\"start_date\":\"-\",\"end_date\":\"-\"}",
  is_module_based_pagination = "false"
)

response <- GET(
  url,
  add_headers(Authorization = "Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa"),
  query = params
)

content(response, "text")
import Foundation

var components = URLComponents(string: "https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/timelogs/reports/count")!
components.queryItems = [
    URLQueryItem(name: "report_type", value: "-"),
    URLQueryItem(name: "view_type", value: "-"),
    URLQueryItem(name: "start_date", value: "-"),
    URLQueryItem(name: "filter", value: "{\"project\":\"-\",\"assignee\":\"-\",\"billtype\":\"-\",\"approvaltype\":\"-\",\"tsheetperiod\":\"-\",\"clientcompany\":\"-\",\"content\":\"-\",\"invoicestatus\":\"-\",\"usergroups\":\"-\",\"criteria\":[{\"cfid\":\"-\",\"field_name\":\"user\",\"custom_field\":\"-\",\"field_type\":\"-\",\"criteria_condition\":\"is\",\"value\":[\"4000000002411\"],\"relative_columns\":[{\"cfid\":\"-\",\"offset\":\"-\",\"unit\":\"-\",\"prior\":\"-\"}]}],\"pattern\":\"1 AND 2 AND 3 AND 4\",\"cf_single_line\":\"-\",\"cf_user_picklist\":\"-\",\"cf_number\":\"-\",\"cf_date\":\"-\",\"cf_decimal\":\"-\",\"cf_multi_line\":\"-\",\"cf_email\":\"-\"}"),
    URLQueryItem(name: "view_id", value: "-"),
    URLQueryItem(name: "project_id", value: "23806000097545166"),
    URLQueryItem(name: "custom_range", value: "{\"start_date\":\"-\",\"end_date\":\"-\"}"),
    URLQueryItem(name: "is_module_based_pagination", value: "false")
]
let url = components.url!
var request = URLRequest(url: url)
request.httpMethod = "GET"
request.setValue("Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa", forHTTPHeaderField: "Authorization")

let semaphore = DispatchSemaphore(value: 0)
let task = URLSession.shared.dataTask(with: request) { data, response, error in
    if let data = data, let result = String(data: data, encoding: .utf8) {
        print(result)
    }
    semaphore.signal()
}
task.resume()
semaphore.wait()

Sample Input

report_type : - view_type : - start_date : - filter : { "project" : "-", "assignee" : "-", "billtype" : "-", "approvaltype" : "-", "tsheetperiod" : "-", "clientcompany" : "-", "content" : "-", "invoicestatus" : "-", "usergroups" : "-", "criteria" : [ { "cfid" : "-", "field_name" : "user", "custom_field" : "-", "field_type" : "-", "criteria_condition" : "is", "value" : [ "4000000002411" ], "relative_columns" : [ { "cfid" : "-", "offset" : "-", "unit" : "-", "prior" : "-" } ] } ], "pattern" : "1 AND 2 AND 3 AND 4", "cf_single_line" : "-", "cf_user_picklist" : "-", "cf_number" : "-", "cf_date" : "-", "cf_decimal" : "-", "cf_multi_line" : "-", "cf_email" : "-" } view_id : - project_id : "23806000097545166" custom_range : { "start_date" : "-", "end_date" : "-" } is_module_based_pagination : false

Sample Response

200{ "count" : 5 }
AI Tools
ChatGPT Open in ChatGPT ↗ Open in ChatGPT to ask questions about this page
Claude Open in Claude ↗ Open in Claude to ask questions about this page
Copy as Markdown Copy this page as markdown to use with AI assistants
View as Markdown ↗ Open this page as markdown in a new tab
Copy OpenAPI Spec Copy the OpenAPI YAML to the clipboard
View as YAML ↗ Open the OpenAPI spec in a new tab
Download YAML Save the OpenAPI spec as a .yaml file