Zoho Projects API Documentation
Text copied
File not found

Events

This module covers event-related operations within Zoho Projects. Use this API to create, update, delete, and retrieve events or event details, including participants.

Get Project Events

Retrieve all events associated with a specific project. Use this API to access the list of events scheduled within a project.

GET

/api/v3/portal/[PORTAL_ID]/projects/[PROJECT_ID]/events

OAuth Scope:

ZohoProjects.events.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/events?page=1&per_page=10&filter=%7B%22criteria%22%3A%5B%7B%22field_name%22%3A%22project%22%2C%22criteria_condition%22%3A%22contains%22%2C%22value%22%3A%5B%221752587000000097269%22%5D%7D%5D%2C%22pattern%22%3A%221+AND+2+AND+3+AND+4+AND+5+AND+6+AND+7+AND+8%22%7D&status=open&ids=4000000029001' \
-H 'Authorization: Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa'

url = "https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/projects/23806000097545166/events";
filter_value = {"criteria":[{"field_name":"project","criteria_condition":"contains","value":["1752587000000097269"]}],"pattern":"1 AND 2 AND 3 AND 4 AND 5 AND 6 AND 7 AND 8"};
params = Map();
params.put("page", "1");
params.put("per_page", "10");
params.put("filter", filter_value);
params.put("status", "open");
params.put("ids", "4000000029001");
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/events');
url.searchParams.append('page', '1');
url.searchParams.append('per_page', '10');
url.searchParams.append('filter', '{"criteria":[{"field_name":"project","criteria_condition":"contains","value":["1752587000000097269"]}],"pattern":"1 AND 2 AND 3 AND 4 AND 5 AND 6 AND 7 AND 8"}');
url.searchParams.append('status', 'open');
url.searchParams.append('ids', '4000000029001');

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/events")
params = {
  "page" => "1",
  "per_page" => "10",
  "filter" => "{\"criteria\":[{\"field_name\":\"project\",\"criteria_condition\":\"contains\",\"value\":[\"1752587000000097269\"]}],\"pattern\":\"1 AND 2 AND 3 AND 4 AND 5 AND 6 AND 7 AND 8\"}",
  "status" => "open",
  "ids" => "4000000029001"
}
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',
    'filter' => '{"criteria":[{"field_name":"project","criteria_condition":"contains","value":["1752587000000097269"]}],"pattern":"1 AND 2 AND 3 AND 4 AND 5 AND 6 AND 7 AND 8"}',
    'status' => 'open',
    'ids' => '4000000029001',
];
$url = "https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/projects/23806000097545166/events" . "?" . 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/events"

params = {
    "page": "1",
    "per_page": "10",
    "filter": "{\"criteria\":[{\"field_name\":\"project\",\"criteria_condition\":\"contains\",\"value\":[\"1752587000000097269\"]}],\"pattern\":\"1 AND 2 AND 3 AND 4 AND 5 AND 6 AND 7 AND 8\"}",
    "status": "open",
    "ids": "4000000029001"
}

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_filter = curl_easy_escape(curl, "{\"criteria\":[{\"field_name\":\"project\",\"criteria_condition\":\"contains\",\"value\":[\"1752587000000097269\"]}],\"pattern\":\"1 AND 2 AND 3 AND 4 AND 5 AND 6 AND 7 AND 8\"}", 0);
        char *enc_status = curl_easy_escape(curl, "open", 0);
        char *enc_ids = curl_easy_escape(curl, "4000000029001", 0);
        char url[2048];
        snprintf(url, sizeof(url), "https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/projects/23806000097545166/events?page=%s&per_page=%s&filter=%s&status=%s&ids=%s", enc_page, enc_per_page, enc_filter, enc_status, enc_ids);

        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_filter);
        curl_free(enc_status);
        curl_free(enc_ids);
        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["filter"] = "{\"criteria\":[{\"field_name\":\"project\",\"criteria_condition\":\"contains\",\"value\":[\"1752587000000097269\"]}],\"pattern\":\"1 AND 2 AND 3 AND 4 AND 5 AND 6 AND 7 AND 8\"}";
query["status"] = "open";
query["ids"] = "4000000029001";
var uriBuilder = new UriBuilder("https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/projects/23806000097545166/events") { 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_filter = curl_easy_escape(curl, "{\"criteria\":[{\"field_name\":\"project\",\"criteria_condition\":\"contains\",\"value\":[\"1752587000000097269\"]}],\"pattern\":\"1 AND 2 AND 3 AND 4 AND 5 AND 6 AND 7 AND 8\"}", 0);
        char* enc_status = curl_easy_escape(curl, "open", 0);
        char* enc_ids = curl_easy_escape(curl, "4000000029001", 0);
        std::string url = "https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/projects/23806000097545166/events";
        url += "?page=" + std::string(enc_page);
        url += "&per_page=" + std::string(enc_per_page);
        url += "&filter=" + std::string(enc_filter);
        url += "&status=" + std::string(enc_status);
        url += "&ids=" + std::string(enc_ids);

        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_filter);
        curl_free(enc_status);
        curl_free(enc_ids);
        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-filter (java.net.URLEncoder/encode "{\"criteria\":[{\"field_name\":\"project\",\"criteria_condition\":\"contains\",\"value\":[\"1752587000000097269\"]}],\"pattern\":\"1 AND 2 AND 3 AND 4 AND 5 AND 6 AND 7 AND 8\"}" "UTF-8")
      enc-status (java.net.URLEncoder/encode "open" "UTF-8")
      enc-ids (java.net.URLEncoder/encode "4000000029001" "UTF-8")
      url (str "https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/projects/23806000097545166/events" "?page=" enc-page "&per_page=" enc-per_page "&filter=" enc-filter "&status=" enc-status "&ids=" enc-ids)]
(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/events", nil)
    q := req.URL.Query()
    q.Add("page", "1")
    q.Add("per_page", "10")
    q.Add("filter", "{\"criteria\":[{\"field_name\":\"project\",\"criteria_condition\":\"contains\",\"value\":[\"1752587000000097269\"]}],\"pattern\":\"1 AND 2 AND 3 AND 4 AND 5 AND 6 AND 7 AND 8\"}")
    q.Add("status", "open")
    q.Add("ids", "4000000029001")
    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/events?page=1&per_page=10&filter=%7B%22criteria%22%3A%5B%7B%22field_name%22%3A%22project%22%2C%22criteria_condition%22%3A%22contains%22%2C%22value%22%3A%5B%221752587000000097269%22%5D%7D%5D%2C%22pattern%22%3A%221+AND+2+AND+3+AND+4+AND+5+AND+6+AND+7+AND+8%22%7D&status=open&ids=4000000029001 HTTP/1.1
Host: https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/projects/23806000097545166/events?page=1&per_page=10&filter=%7B%22criteria%22%3A%5B%7B%22field_name%22%3A%22project%22%2C%22criteria_condition%22%3A%22contains%22%2C%22value%22%3A%5B%221752587000000097269%22%5D%7D%5D%2C%22pattern%22%3A%221+AND+2+AND+3+AND+4+AND+5+AND+6+AND+7+AND+8%22%7D&status=open&ids=4000000029001
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/events");
uriBuilder.addParameter("page", "1");
uriBuilder.addParameter("per_page", "10");
uriBuilder.addParameter("filter", "{\"criteria\":[{\"field_name\":\"project\",\"criteria_condition\":\"contains\",\"value\":[\"1752587000000097269\"]}],\"pattern\":\"1 AND 2 AND 3 AND 4 AND 5 AND 6 AND 7 AND 8\"}");
uriBuilder.addParameter("status", "open");
uriBuilder.addParameter("ids", "4000000029001");
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/events';

const params = new URLSearchParams({
  'page': '1',
  'per_page': '10',
  'filter': '{"criteria":[{"field_name":"project","criteria_condition":"contains","value":["1752587000000097269"]}],"pattern":"1 AND 2 AND 3 AND 4 AND 5 AND 6 AND 7 AND 8"}',
  'status': 'open',
  'ids': '4000000029001'
});

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"
filter = {"criteria":[{"field_name":"project","criteria_condition":"contains","value":["1752587000000097269"]}],"pattern":"1 AND 2 AND 3 AND 4 AND 5 AND 6 AND 7 AND 8"}
status = "open"
ids = "4000000029001"
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/events".toHttpUrl().newBuilder()
    urlBuilder.addQueryParameter("page", "1")
    urlBuilder.addQueryParameter("per_page", "10")
    urlBuilder.addQueryParameter("filter", "{\"criteria\":[{\"field_name\":\"project\",\"criteria_condition\":\"contains\",\"value\":[\"1752587000000097269\"]}],\"pattern\":\"1 AND 2 AND 3 AND 4 AND 5 AND 6 AND 7 AND 8\"}")
    urlBuilder.addQueryParameter("status", "open")
    urlBuilder.addQueryParameter("ids", "4000000029001")
    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 *encodedFilter = [@"{\"criteria\":[{\"field_name\":\"project\",\"criteria_condition\":\"contains\",\"value\":[\"1752587000000097269\"]}],\"pattern\":\"1 AND 2 AND 3 AND 4 AND 5 AND 6 AND 7 AND 8\"}" stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];
NSString *encodedStatus = [@"open" stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];
NSString *encodedIds = [@"4000000029001" stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];
NSString *urlString = [NSString stringWithFormat:@"https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/projects/23806000097545166/events?page=%@&per_page=%@&filter=%@&status=%@&ids=%@", encodedPage, encodedPer_page, encodedFilter, encodedStatus, encodedIds];
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_filter = Uri.pct_encode "{\"criteria\":[{\"field_name\":\"project\",\"criteria_condition\":\"contains\",\"value\":[\"1752587000000097269\"]}],\"pattern\":\"1 AND 2 AND 3 AND 4 AND 5 AND 6 AND 7 AND 8\"}" in
  let enc_status = Uri.pct_encode "open" in
  let enc_ids = Uri.pct_encode "4000000029001" in
  let uri = Uri.of_string ("https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/projects/23806000097545166/events" ^ "?page=" ^ enc_page ^ "&per_page=" ^ enc_per_page ^ "&filter=" ^ enc_filter ^ "&status=" ^ enc_status ^ "&ids=" ^ enc_ids) 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"
    filter = "{`"criteria`":[{`"field_name`":`"project`",`"criteria_condition`":`"contains`",`"value`":[`"1752587000000097269`"]}],`"pattern`":`"1 AND 2 AND 3 AND 4 AND 5 AND 6 AND 7 AND 8`"}"
    status = "open"
    ids = "4000000029001"
}
$queryString = ($params.GetEnumerator() | ForEach-Object { "$($_.Key)=$([System.Uri]::EscapeDataString($_.Value))" }) -join "&"
$url = "https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/projects/23806000097545166/events" + "?" + $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/events"

params <- list(
  page = "1",
  per_page = "10",
  filter = "{\"criteria\":[{\"field_name\":\"project\",\"criteria_condition\":\"contains\",\"value\":[\"1752587000000097269\"]}],\"pattern\":\"1 AND 2 AND 3 AND 4 AND 5 AND 6 AND 7 AND 8\"}",
  status = "open",
  ids = "4000000029001"
)

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/events")!
components.queryItems = [
    URLQueryItem(name: "page", value: "1"),
    URLQueryItem(name: "per_page", value: "10"),
    URLQueryItem(name: "filter", value: "{\"criteria\":[{\"field_name\":\"project\",\"criteria_condition\":\"contains\",\"value\":[\"1752587000000097269\"]}],\"pattern\":\"1 AND 2 AND 3 AND 4 AND 5 AND 6 AND 7 AND 8\"}"),
    URLQueryItem(name: "status", value: "open"),
    URLQueryItem(name: "ids", value: "4000000029001")
]
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" filter : { "criteria" : [ { "field_name" : "project", "criteria_condition" : "contains", "value" : [ "1752587000000097269" ] } ], "pattern" : "1 AND 2 AND 3 AND 4 AND 5 AND 6 AND 7 AND 8" } status : "open" ids : "4000000029001"

Sample Response

200{ "page_info" : { "per_page" : 100, "has_next_page" : false, "count" : 1, "page" : 1 }, "events" : [ { "updated_on" : "2024-05-10T07:31:48.308Z", "starts_at" : "2024-05-11T07:30:00.000Z", "updatedby" : { "user_type" : "1", "last_name" : "Hemsworth", "id" : "103368000000048003", "first_name" : "Monica", "email" : "monica.hemsworth@zylker.com", "zuid" : "66295825" }, "add_to_office365" : false, "is_open" : true, "title" : "Quarterly Meeting", "remind_before" : "on time", "duration" : { "duration" : "30 minutes", "hours" : "0", "minutes" : "30", "days" : "0", "duration_milli" : "1800000" }, "recurrence" : { "name" : "only once", "count" : "1", "type" : "count", "frequency" : "only once" }, "addEventToO365" : false, "created_on" : "2024-05-10T07:31:48.308Z", "createdby" : { "user_type" : "1", "last_name" : "Hemsworth", "id" : "103368000000048003", "first_name" : "Monica", "email" : "monica.hemsworth@zylker.com", "zuid" : "66295825" }, "comment_mail_id" : "c88c2Md80r8Fx67079EB003m0x671maC7k0l@zylker.com", "location" : "Conference Hall 5", "id" : "103368000002494001", "ends_at" : "2024-05-11T08:00:00.000Z" } ] }

Get Event Details

Retrieve the details of a specific event in a project. Use this API to access the full information of an event within a project.

GET

/api/v3/portal/[PORTAL_ID]/projects/[PROJECT_ID]/events/[EVENT_ID]

OAuth Scope:

ZohoProjects.events.READ

Path 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
  • Kotlin
  • Objective-C
  • OCaml
  • PowerShell
  • R
  • Swift

curl -X GET \
'https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/projects/23806000097545166/events/[EVENT_ID]' \
-H 'Authorization: Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa'

url = "https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/projects/23806000097545166/events/[EVENT_ID]";
response = invokeUrl
[
    url: url
    type: GET
    connection: "projects"
];
info response;
const https = require('https');
const url = new URL('https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/projects/23806000097545166/events/[EVENT_ID]');

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/events/[EVENT_ID]")

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
$url = "https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/projects/23806000097545166/events/[EVENT_ID]";

$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/events/[EVENT_ID]"

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

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

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

int main(void) {
    CURL *curl = curl_easy_init();
    if (curl) {
        struct curl_slist *headers = NULL;
        headers = curl_slist_append(headers, "Authorization: Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa");

        curl_easy_setopt(curl, CURLOPT_URL, "https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/projects/23806000097545166/events/[EVENT_ID]");
        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_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 request = new HttpRequestMessage(HttpMethod.Get, "https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/projects/23806000097545166/events/[EVENT_ID]");

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;
        struct curl_slist* headers = NULL;
        headers = curl_slist_append(headers, "Authorization: Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa");

        curl_easy_setopt(curl, CURLOPT_URL, "https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/projects/23806000097545166/events/[EVENT_ID]");
        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_slist_free_all(headers);
        curl_easy_cleanup(curl);
    }
    return 0;
}
(require '[clj-http.client :as client])

(def response
  (client/get "https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/projects/23806000097545166/events/[EVENT_ID]"
    {:headers {"Authorization" "Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa"}
     :as :json}))

(println (:body response))
package main

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

func main() {
    req, _ := http.NewRequest("GET", "https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/projects/23806000097545166/events/[EVENT_ID]", nil)
    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/events/[EVENT_ID] HTTP/1.1
Host: https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/projects/23806000097545166/events/[EVENT_ID]
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/events/[EVENT_ID]");
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/events/[EVENT_ID]';

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

fetch(url, options)
  .then(response => response.json())
  .then(data => console.log(data))
  .catch(error => console.error(error));
import java.net.HttpURLConnection
import java.net.URL
import okhttp3.HttpUrl.Companion.toHttpUrl

fun main() {
    val url = URL("https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/projects/23806000097545166/events/[EVENT_ID]")
    val conn = url.openConnection() as HttpURLConnection
    conn.requestMethod = "GET"
    conn.setRequestProperty("Authorization", "Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa")

    val response = conn.inputStream.bufferedReader().readText()
    println(response)
}
NSURL *url = [NSURL URLWithString:@"https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/projects/23806000097545166/events/[EVENT_ID]"];
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 uri = Uri.of_string "https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/projects/23806000097545166/events/[EVENT_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"
}

$response = Invoke-RestMethod -Uri "https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/projects/23806000097545166/events/[EVENT_ID]" -Method GET -Headers $headers

$response | ConvertTo-Json
library(httr)

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

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

content(response, "text")
import Foundation

let url = URL(string: "https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/projects/23806000097545166/events/[EVENT_ID]")!
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 Response

200{ "updated_on" : "2024-05-10T07:31:48.308Z", "starts_at" : "2024-05-11T07:30:00.000Z", "add_to_office365" : false, "is_open" : true, "attendees" : [ { "zpuid" : "103368000000048003", "full_name" : "Monica Hemsworth", "name" : "Monica", "last_name" : "Hemsworth", "id" : "66295825", "is_client_user" : false, "first_name" : "Monica", "email" : "monica.hemsworth@zylker.com" } ], "addedvia" : "v3", "title" : "Quarterly Meeting", "created_by" : { "invoiceRate" : "120.000", "zpuid" : "103368000000048003", "full_name" : "Monica Hemsworth", "role" : "admin", "roleId" : "103368000000048005", "name" : "Monica", "last_name" : "Hemsworth", "id" : "66295825", "is_client_user" : false, "first_name" : "Monica", "email" : "monica.hemsworth@zylker.com" }, "remind_before" : "on time", "duration" : { "duration" : "30 minutes", "hours" : "0", "minutes" : "30", "days" : "0", "duration_milli" : "1800000" }, "recurrence" : { "name" : "only once", "count" : "1", "type" : "count", "frequency" : "only once" }, "addEventToO365" : false, "project_id" : "103368000001263005", "created_on" : "2024-05-10T07:31:48.308Z", "comment_mail_id" : "c88c2Md80r8Fx67079EB003m0x671maC7k0l@zylker.com", "updated_by" : { "invoiceRate" : "120.000", "zpuid" : "103368000000048003", "full_name" : "Monica Hemsworth", "role" : "admin", "roleId" : "103368000000048005", "name" : "Monica", "last_name" : "Hemsworth", "id" : "66295825", "is_client_user" : false, "first_name" : "Monica", "email" : "monica.hemsworth@zylker.com" }, "location" : "Conference Hall 5", "id" : "103368000002494001", "ends_at" : "2024-05-11T08:00:00.000Z" }

Get Participants

Retrieve all participants of a specific event in a portal. Use this API to access the list of users participating in an event.

GET

/api/v3/portal/[PORTAL_ID]/events/[EVENT_ID]/participants

OAuth Scope:

ZohoProjects.events.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]/events/[EVENT_ID]/participants?page=1&per_page=10' \
-H 'Authorization: Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa'

url = "https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/events/[EVENT_ID]/participants";
params = Map();
params.put("page", "1");
params.put("per_page", "10");
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]/events/[EVENT_ID]/participants');
url.searchParams.append('page', '1');
url.searchParams.append('per_page', '10');

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]/events/[EVENT_ID]/participants")
params = {
  "page" => "1",
  "per_page" => "10"
}
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',
];
$url = "https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/events/[EVENT_ID]/participants" . "?" . 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]/events/[EVENT_ID]/participants"

params = {
    "page": "1",
    "per_page": "10"
}

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 url[2048];
        snprintf(url, sizeof(url), "https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/events/[EVENT_ID]/participants?page=%s&per_page=%s", enc_page, enc_per_page);

        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_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";
var uriBuilder = new UriBuilder("https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/events/[EVENT_ID]/participants") { 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);
        std::string url = "https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/events/[EVENT_ID]/participants";
        url += "?page=" + std::string(enc_page);
        url += "&per_page=" + std::string(enc_per_page);

        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_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")
      url (str "https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/events/[EVENT_ID]/participants" "?page=" enc-page "&per_page=" enc-per_page)]
(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]/events/[EVENT_ID]/participants", nil)
    q := req.URL.Query()
    q.Add("page", "1")
    q.Add("per_page", "10")
    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]/events/[EVENT_ID]/participants?page=1&per_page=10 HTTP/1.1
Host: https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/events/[EVENT_ID]/participants?page=1&per_page=10
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]/events/[EVENT_ID]/participants");
uriBuilder.addParameter("page", "1");
uriBuilder.addParameter("per_page", "10");
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]/events/[EVENT_ID]/participants';

const params = new URLSearchParams({
  'page': '1',
  'per_page': '10'
});

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"
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]/events/[EVENT_ID]/participants".toHttpUrl().newBuilder()
    urlBuilder.addQueryParameter("page", "1")
    urlBuilder.addQueryParameter("per_page", "10")
    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 *urlString = [NSString stringWithFormat:@"https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/events/[EVENT_ID]/participants?page=%@&per_page=%@", encodedPage, encodedPer_page];
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 uri = Uri.of_string ("https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/events/[EVENT_ID]/participants" ^ "?page=" ^ enc_page ^ "&per_page=" ^ enc_per_page) 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"
}
$queryString = ($params.GetEnumerator() | ForEach-Object { "$($_.Key)=$([System.Uri]::EscapeDataString($_.Value))" }) -join "&"
$url = "https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/events/[EVENT_ID]/participants" + "?" + $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]/events/[EVENT_ID]/participants"

params <- list(
  page = "1",
  per_page = "10"
)

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]/events/[EVENT_ID]/participants")!
components.queryItems = [
    URLQueryItem(name: "page", value: "1"),
    URLQueryItem(name: "per_page", value: "10")
]
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"

Sample Response

200{ "page_info" : { "per_page" : 100, "has_next_page" : false, "count" : 2, "page" : 1 }, "users" : [ { "user_type" : "1", "last_name" : "Hemsworth", "id" : "103368000000048003", "first_name" : "Monica", "email" : "monica.hemsworth@zylker.com", "zuid" : "66295825" } ] }

Add Event

Add a new event to a specific project. Use this API to create and schedule an event within a project.

POST

/api/v3/portal/[PORTAL_ID]/projects/[PROJECT_ID]/events

OAuth Scope:

ZohoProjects.events.CREATE

Path Parameters

Param Name
Data Type
Description

Body 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 POST \
'https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/projects/23806000097545166/events' \
-H 'Authorization: Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa' \
-H 'Content-Type: application/json' \
-d '{"title":"admin Event","starts_at":"2022-06-15T12:48:53.523Z","ends_at":"2022-06-15T13:48:53.524Z","remind_before":"on time","recurrence_frequency":"every day","recurrence_count":5,"location":"chennai","attendees":["23806000000152047"],"attachment_ids":["23806000097572061"],"thirdparty_id":["a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0"]}'

url = "https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/projects/23806000097545166/events";
params = Map();
params.put("title", "admin Event");
params.put("starts_at", "2022-06-15T12:48:53.523Z");
params.put("ends_at", "2022-06-15T13:48:53.524Z");
params.put("remind_before", "on time");
params.put("recurrence_frequency", "every day");
params.put("recurrence_count", 5);
params.put("location", "chennai");
params.put("attendees", ["23806000000152047"]);
params.put("attachment_ids", ["23806000097572061"]);
params.put("thirdparty_id", ["a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0"]);
response = invokeUrl
[
    url: url
    type: POST
    parameters: params.toString()
    connection: "projects"
];
info response;
const https = require('https');
const url = new URL('https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/projects/23806000097545166/events');

const payload = JSON.stringify({"title":"admin Event","starts_at":"2022-06-15T12:48:53.523Z","ends_at":"2022-06-15T13:48:53.524Z","remind_before":"on time","recurrence_frequency":"every day","recurrence_count":5,"location":"chennai","attendees":["23806000000152047"],"attachment_ids":["23806000097572061"],"thirdparty_id":["a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0"]});

const options = {
  hostname: url.hostname,
  path: url.pathname + url.search,
  method: 'POST',
  headers: {
    'Authorization': 'Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa',
    'Content-Type': 'application/json',
    'Content-Length': Buffer.byteLength(payload)
  }
};

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.write(payload);
req.end();
require 'net/http'
require 'uri'
require 'json'

url = URI("https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/projects/23806000097545166/events")

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

request = Net::HTTP::Post.new(url)
request["Authorization"] = "Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa"
request["Content-Type"] = "application/json"
request.body = '{"title":"admin Event","starts_at":"2022-06-15T12:48:53.523Z","ends_at":"2022-06-15T13:48:53.524Z","remind_before":"on time","recurrence_frequency":"every day","recurrence_count":5,"location":"chennai","attendees":["23806000000152047"],"attachment_ids":["23806000097572061"],"thirdparty_id":["a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0"]}'

response = http.request(request)
puts response.read_body
<?php
$url = "https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/projects/23806000097545166/events";

$curl = curl_init();

curl_setopt_array($curl, [
  CURLOPT_URL => $url,
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_CUSTOMREQUEST => "POST",
  CURLOPT_POSTFIELDS => '{"title":"admin Event","starts_at":"2022-06-15T12:48:53.523Z","ends_at":"2022-06-15T13:48:53.524Z","remind_before":"on time","recurrence_frequency":"every day","recurrence_count":5,"location":"chennai","attendees":["23806000000152047"],"attachment_ids":["23806000097572061"],"thirdparty_id":["a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0"]}',
  CURLOPT_HTTPHEADER => [
    "Authorization: Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa",
    "Content-Type: application/json"
  ],
]);

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

echo $response;
import requests

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

headers = {
    "Authorization": "Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa",
    "Content-Type": "application/json",
}

payload = '{"title":"admin Event","starts_at":"2022-06-15T12:48:53.523Z","ends_at":"2022-06-15T13:48:53.524Z","remind_before":"on time","recurrence_frequency":"every day","recurrence_count":5,"location":"chennai","attendees":["23806000000152047"],"attachment_ids":["23806000097572061"],"thirdparty_id":["a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0"]}'

response = requests.post(url, headers=headers, data=payload)

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

int main(void) {
    CURL *curl = curl_easy_init();
    if (curl) {
        struct curl_slist *headers = NULL;
        headers = curl_slist_append(headers, "Authorization: Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa");
        headers = curl_slist_append(headers, "Content-Type: application/json");

        curl_easy_setopt(curl, CURLOPT_URL, "https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/projects/23806000097545166/events");
        curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers);
        curl_easy_setopt(curl, CURLOPT_CUSTOMREQUEST, "POST");
        curl_easy_setopt(curl, CURLOPT_POSTFIELDS, "{\"title\":\"admin Event\",\"starts_at\":\"2022-06-15T12:48:53.523Z\",\"ends_at\":\"2022-06-15T13:48:53.524Z\",\"remind_before\":\"on time\",\"recurrence_frequency\":\"every day\",\"recurrence_count\":5,\"location\":\"chennai\",\"attendees\":[\"23806000000152047\"],\"attachment_ids\":[\"23806000097572061\"],\"thirdparty_id\":[\"a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0\"]}");

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

        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 request = new HttpRequestMessage(HttpMethod.Post, "https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/projects/23806000097545166/events");
request.Content = new StringContent(
    @"{""title"":""admin Event"",""starts_at"":""2022-06-15T12:48:53.523Z"",""ends_at"":""2022-06-15T13:48:53.524Z"",""remind_before"":""on time"",""recurrence_frequency"":""every day"",""recurrence_count"":5,""location"":""chennai"",""attendees"":[""23806000000152047""],""attachment_ids"":[""23806000097572061""],""thirdparty_id"":[""a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0""]}",
    Encoding.UTF8,
    "application/json"
);

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;
        struct curl_slist* headers = NULL;
        headers = curl_slist_append(headers, "Authorization: Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa");
        headers = curl_slist_append(headers, "Content-Type: application/json");

        curl_easy_setopt(curl, CURLOPT_URL, "https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/projects/23806000097545166/events");
        curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers);
        curl_easy_setopt(curl, CURLOPT_CUSTOMREQUEST, "POST");
        curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, WriteCallback);
        curl_easy_setopt(curl, CURLOPT_WRITEDATA, &response);
        curl_easy_setopt(curl, CURLOPT_POSTFIELDS, "{\"title\":\"admin Event\",\"starts_at\":\"2022-06-15T12:48:53.523Z\",\"ends_at\":\"2022-06-15T13:48:53.524Z\",\"remind_before\":\"on time\",\"recurrence_frequency\":\"every day\",\"recurrence_count\":5,\"location\":\"chennai\",\"attendees\":[\"23806000000152047\"],\"attachment_ids\":[\"23806000097572061\"],\"thirdparty_id\":[\"a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0\"]}");

        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_slist_free_all(headers);
        curl_easy_cleanup(curl);
    }
    return 0;
}
(require '[clj-http.client :as client])

(def response
  (client/post "https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/projects/23806000097545166/events"
    {:headers {"Authorization" "Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa"
                "Content-Type" "application/json"}
     :body "{\"title\":\"admin Event\",\"starts_at\":\"2022-06-15T12:48:53.523Z\",\"ends_at\":\"2022-06-15T13:48:53.524Z\",\"remind_before\":\"on time\",\"recurrence_frequency\":\"every day\",\"recurrence_count\":5,\"location\":\"chennai\",\"attendees\":[\"23806000000152047\"],\"attachment_ids\":[\"23806000097572061\"],\"thirdparty_id\":[\"a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0\"]}"
     :as :json}))

(println (:body response))
package main

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

func main() {
    payload := strings.NewReader("{\"title\":\"admin Event\",\"starts_at\":\"2022-06-15T12:48:53.523Z\",\"ends_at\":\"2022-06-15T13:48:53.524Z\",\"remind_before\":\"on time\",\"recurrence_frequency\":\"every day\",\"recurrence_count\":5,\"location\":\"chennai\",\"attendees\":[\"23806000000152047\"],\"attachment_ids\":[\"23806000097572061\"],\"thirdparty_id\":[\"a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0\"]}")
    req, _ := http.NewRequest("POST", "https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/projects/23806000097545166/events", payload)
    req.Header.Add("Authorization", "Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa")
    req.Header.Add("Content-Type", "application/json")

    resp, _ := http.DefaultClient.Do(req)
    defer resp.Body.Close()
    body, _ := io.ReadAll(resp.Body)
    fmt.Println(string(body))
}
POST https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/projects/23806000097545166/events HTTP/1.1
Host: https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/projects/23806000097545166/events
Authorization: Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa
Content-Type: application/json

{"title":"admin Event","starts_at":"2022-06-15T12:48:53.523Z","ends_at":"2022-06-15T13:48:53.524Z","remind_before":"on time","recurrence_frequency":"every day","recurrence_count":5,"location":"chennai","attendees":["23806000000152047"],"attachment_ids":["23806000097572061"],"thirdparty_id":["a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0"]}
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/events");
HttpUriRequest requestObj = new HttpPost(uriBuilder.build());
requestObj.addHeader("Authorization", "Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa");

HttpEntityEnclosingRequestBase requestBase = (HttpEntityEnclosingRequestBase) requestObj;
String requestBody = "{\"title\":\"admin Event\",\"starts_at\":\"2022-06-15T12:48:53.523Z\",\"ends_at\":\"2022-06-15T13:48:53.524Z\",\"remind_before\":\"on time\",\"recurrence_frequency\":\"every day\",\"recurrence_count\":5,\"location\":\"chennai\",\"attendees\":[\"23806000000152047\"],\"attachment_ids\":[\"23806000097572061\"],\"thirdparty_id\":[\"a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0\"]}";
requestBase.setEntity(new StringEntity(requestBody, HTTP.UTF_8));

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/events';

const options = {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({"title":"admin Event","starts_at":"2022-06-15T12:48:53.523Z","ends_at":"2022-06-15T13:48:53.524Z","remind_before":"on time","recurrence_frequency":"every day","recurrence_count":5,"location":"chennai","attendees":["23806000000152047"],"attachment_ids":["23806000097572061"],"thirdparty_id":["a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0"]})
};

fetch(url, options)
  .then(response => response.json())
  .then(data => console.log(data))
  .catch(error => console.error(error));
{"title":"admin Event","starts_at":"2022-06-15T12:48:53.523Z","ends_at":"2022-06-15T13:48:53.524Z","remind_before":"on time","recurrence_frequency":"every day","recurrence_count":5,"location":"chennai","attendees":["23806000000152047"],"attachment_ids":["23806000097572061"],"thirdparty_id":["a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0"]}
import java.net.HttpURLConnection
import java.net.URL
import okhttp3.HttpUrl.Companion.toHttpUrl

fun main() {
    val url = URL("https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/projects/23806000097545166/events")
    val conn = url.openConnection() as HttpURLConnection
    conn.requestMethod = "POST"
    conn.setRequestProperty("Authorization", "Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa")
    conn.setRequestProperty("Content-Type", "application/json")
    conn.doOutput = true
    conn.outputStream.bufferedWriter().use { it.write("""{"title":"admin Event","starts_at":"2022-06-15T12:48:53.523Z","ends_at":"2022-06-15T13:48:53.524Z","remind_before":"on time","recurrence_frequency":"every day","recurrence_count":5,"location":"chennai","attendees":["23806000000152047"],"attachment_ids":["23806000097572061"],"thirdparty_id":["a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0"]}""") }

    val response = conn.inputStream.bufferedReader().readText()
    println(response)
}
NSURL *url = [NSURL URLWithString:@"https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/projects/23806000097545166/events"];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];
[request setHTTPMethod:@"POST"];
[request setValue:@"Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa" forHTTPHeaderField:@"Authorization"];
[request setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
NSData *body = [@"{\"title\":\"admin Event\",\"starts_at\":\"2022-06-15T12:48:53.523Z\",\"ends_at\":\"2022-06-15T13:48:53.524Z\",\"remind_before\":\"on time\",\"recurrence_frequency\":\"every day\",\"recurrence_count\":5,\"location\":\"chennai\",\"attendees\":[\"23806000000152047\"],\"attachment_ids\":[\"23806000097572061\"],\"thirdparty_id\":[\"a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0\"]}" dataUsingEncoding:NSUTF8StringEncoding];
[request setHTTPBody:body];

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 uri = Uri.of_string "https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/projects/23806000097545166/events" in
  let headers = Cohttp.Header.init ()
    |> fun h -> Cohttp.Header.add h "Authorization" "Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa"
    |> fun h -> Cohttp.Header.add h "Content-Type" "application/json"
  in
  let body = Cohttp_lwt.Body.of_string {json|{"title":"admin Event","starts_at":"2022-06-15T12:48:53.523Z","ends_at":"2022-06-15T13:48:53.524Z","remind_before":"on time","recurrence_frequency":"every day","recurrence_count":5,"location":"chennai","attendees":["23806000000152047"],"attachment_ids":["23806000097572061"],"thirdparty_id":["a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0"]}|json} in
  Lwt_main.run (
    Client.post ~headers ~body uri >>= fun (_, body) ->
    Cohttp_lwt.Body.to_string body >|= fun s ->
    print_endline s)
$headers = @{
    "Authorization" = "Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa"
    "Content-Type" = "application/json"
}

$body = @'
{"title":"admin Event","starts_at":"2022-06-15T12:48:53.523Z","ends_at":"2022-06-15T13:48:53.524Z","remind_before":"on time","recurrence_frequency":"every day","recurrence_count":5,"location":"chennai","attendees":["23806000000152047"],"attachment_ids":["23806000097572061"],"thirdparty_id":["a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0"]}
'@

$response = Invoke-RestMethod -Uri "https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/projects/23806000097545166/events" -Method POST -Headers $headers -Body $body

$response | ConvertTo-Json
library(httr)

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

response <- POST(
  url,
  add_headers(Authorization = "Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa"),
  content_type_json(),
  body = "{\"title\":\"admin Event\",\"starts_at\":\"2022-06-15T12:48:53.523Z\",\"ends_at\":\"2022-06-15T13:48:53.524Z\",\"remind_before\":\"on time\",\"recurrence_frequency\":\"every day\",\"recurrence_count\":5,\"location\":\"chennai\",\"attendees\":[\"23806000000152047\"],\"attachment_ids\":[\"23806000097572061\"],\"thirdparty_id\":[\"a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0\"]}"
)

content(response, "text")
import Foundation

let url = URL(string: "https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/projects/23806000097545166/events")!
var request = URLRequest(url: url)
request.httpMethod = "POST"
request.setValue("Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa", forHTTPHeaderField: "Authorization")
request.setValue("application/json", forHTTPHeaderField: "Content-Type")
request.httpBody = """
{"title":"admin Event","starts_at":"2022-06-15T12:48:53.523Z","ends_at":"2022-06-15T13:48:53.524Z","remind_before":"on time","recurrence_frequency":"every day","recurrence_count":5,"location":"chennai","attendees":["23806000000152047"],"attachment_ids":["23806000097572061"],"thirdparty_id":["a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0"]}
""".data(using: .utf8)

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

Content-Type: application/json
{ "title" : "admin Event", "starts_at" : "2022-06-15T12:48:53.523Z", "ends_at" : "2022-06-15T13:48:53.524Z", "remind_before" : "on time", "recurrence_frequency" : "every day", "recurrence_count" : 5, "location" : "chennai", "attendees" : [ "23806000000152047" ], "attachment_ids" : [ "23806000097572061" ], "thirdparty_id" : [ "a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0" ] }

Sample Response

201{ "updated_on" : "2024-05-10T07:31:48.308Z", "starts_at" : "2024-05-11T07:30:00.000Z", "add_to_office365" : false, "is_open" : true, "attendees" : [ { "zpuid" : "103368000000048003", "full_name" : "Monica Hemsworth", "name" : "Monica", "last_name" : "Hemsworth", "id" : "66295825", "is_client_user" : false, "first_name" : "Monica", "email" : "monica.hemsworth@zylker.com" } ], "addedvia" : "v3", "title" : "Quarterly Meeting", "created_by" : { "invoiceRate" : "120.000", "zpuid" : "103368000000048003", "full_name" : "Monica Hemsworth", "role" : "admin", "roleId" : "103368000000048005", "name" : "Monica", "last_name" : "Hemsworth", "id" : "66295825", "is_client_user" : false, "first_name" : "Monica", "email" : "monica.hemsworth@zylker.com" }, "remind_before" : "on time", "duration" : { "duration" : "30 minutes", "hours" : "0", "minutes" : "30", "days" : "0", "duration_milli" : "1800000" }, "recurrence" : { "name" : "only once", "count" : "1", "type" : "count", "frequency" : "only once" }, "addEventToO365" : false, "project_id" : "103368000001263005", "created_on" : "2024-05-10T07:31:48.308Z", "comment_mail_id" : "c88c2Md80r8Fx67079EB003m0x671maC7k0l@zylker.com", "updated_by" : { "invoiceRate" : "120.000", "zpuid" : "103368000000048003", "full_name" : "Monica Hemsworth", "role" : "admin", "roleId" : "103368000000048005", "name" : "Monica", "last_name" : "Hemsworth", "id" : "66295825", "is_client_user" : false, "first_name" : "Monica", "email" : "monica.hemsworth@zylker.com" }, "location" : "Conference Hall 5", "id" : "103368000002494001", "ends_at" : "2024-05-11T08:00:00.000Z" }

Update Event

Update details of an event in the Zoho Projects portal.

PATCH

/api/v3/portal/[PORTAL_ID]/projects/[PROJECT_ID]/events/[EVENT_ID]

OAuth Scope:

ZohoProjects.events.UPDATE

Path Parameters

Param Name
Data Type
Description

Body 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 PATCH \
'https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/projects/23806000097545166/events/[EVENT_ID]' \
-H 'Authorization: Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa' \
-H 'Content-Type: application/json' \
-d '{"title":"admin Event","attachment_ids":["23806000097572061"],"thirdparty_id":["a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0"],"starts_at":"2022-06-15T12:48:53.523Z","ends_at":"2022-06-15T13:48:53.524Z","remind_before":"on time","recurrence_frequency":"every day","recurrence_count":5,"location":"chennai","attendees":["23806000000152047"]}'

url = "https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/projects/23806000097545166/events/[EVENT_ID]";
params = Map();
params.put("title", "admin Event");
params.put("attachment_ids", ["23806000097572061"]);
params.put("thirdparty_id", ["a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0"]);
params.put("starts_at", "2022-06-15T12:48:53.523Z");
params.put("ends_at", "2022-06-15T13:48:53.524Z");
params.put("remind_before", "on time");
params.put("recurrence_frequency", "every day");
params.put("recurrence_count", 5);
params.put("location", "chennai");
params.put("attendees", ["23806000000152047"]);
response = invokeUrl
[
    url: url
    type: PATCH
    parameters: params.toString()
    connection: "projects"
];
info response;
const https = require('https');
const url = new URL('https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/projects/23806000097545166/events/[EVENT_ID]');

const payload = JSON.stringify({"title":"admin Event","attachment_ids":["23806000097572061"],"thirdparty_id":["a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0"],"starts_at":"2022-06-15T12:48:53.523Z","ends_at":"2022-06-15T13:48:53.524Z","remind_before":"on time","recurrence_frequency":"every day","recurrence_count":5,"location":"chennai","attendees":["23806000000152047"]});

const options = {
  hostname: url.hostname,
  path: url.pathname + url.search,
  method: 'PATCH',
  headers: {
    'Authorization': 'Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa',
    'Content-Type': 'application/json',
    'Content-Length': Buffer.byteLength(payload)
  }
};

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.write(payload);
req.end();
require 'net/http'
require 'uri'
require 'json'

url = URI("https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/projects/23806000097545166/events/[EVENT_ID]")

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

request = Net::HTTP::Patch.new(url)
request["Authorization"] = "Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa"
request["Content-Type"] = "application/json"
request.body = '{"title":"admin Event","attachment_ids":["23806000097572061"],"thirdparty_id":["a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0"],"starts_at":"2022-06-15T12:48:53.523Z","ends_at":"2022-06-15T13:48:53.524Z","remind_before":"on time","recurrence_frequency":"every day","recurrence_count":5,"location":"chennai","attendees":["23806000000152047"]}'

response = http.request(request)
puts response.read_body
<?php
$url = "https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/projects/23806000097545166/events/[EVENT_ID]";

$curl = curl_init();

curl_setopt_array($curl, [
  CURLOPT_URL => $url,
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_CUSTOMREQUEST => "PATCH",
  CURLOPT_POSTFIELDS => '{"title":"admin Event","attachment_ids":["23806000097572061"],"thirdparty_id":["a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0"],"starts_at":"2022-06-15T12:48:53.523Z","ends_at":"2022-06-15T13:48:53.524Z","remind_before":"on time","recurrence_frequency":"every day","recurrence_count":5,"location":"chennai","attendees":["23806000000152047"]}',
  CURLOPT_HTTPHEADER => [
    "Authorization: Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa",
    "Content-Type: application/json"
  ],
]);

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

echo $response;
import requests

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

headers = {
    "Authorization": "Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa",
    "Content-Type": "application/json",
}

payload = '{"title":"admin Event","attachment_ids":["23806000097572061"],"thirdparty_id":["a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0"],"starts_at":"2022-06-15T12:48:53.523Z","ends_at":"2022-06-15T13:48:53.524Z","remind_before":"on time","recurrence_frequency":"every day","recurrence_count":5,"location":"chennai","attendees":["23806000000152047"]}'

response = requests.patch(url, headers=headers, data=payload)

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

int main(void) {
    CURL *curl = curl_easy_init();
    if (curl) {
        struct curl_slist *headers = NULL;
        headers = curl_slist_append(headers, "Authorization: Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa");
        headers = curl_slist_append(headers, "Content-Type: application/json");

        curl_easy_setopt(curl, CURLOPT_URL, "https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/projects/23806000097545166/events/[EVENT_ID]");
        curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers);
        curl_easy_setopt(curl, CURLOPT_CUSTOMREQUEST, "PATCH");
        curl_easy_setopt(curl, CURLOPT_POSTFIELDS, "{\"title\":\"admin Event\",\"attachment_ids\":[\"23806000097572061\"],\"thirdparty_id\":[\"a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0\"],\"starts_at\":\"2022-06-15T12:48:53.523Z\",\"ends_at\":\"2022-06-15T13:48:53.524Z\",\"remind_before\":\"on time\",\"recurrence_frequency\":\"every day\",\"recurrence_count\":5,\"location\":\"chennai\",\"attendees\":[\"23806000000152047\"]}");

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

        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 request = new HttpRequestMessage(HttpMethod.Patch, "https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/projects/23806000097545166/events/[EVENT_ID]");
request.Content = new StringContent(
    @"{""title"":""admin Event"",""attachment_ids"":[""23806000097572061""],""thirdparty_id"":[""a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0""],""starts_at"":""2022-06-15T12:48:53.523Z"",""ends_at"":""2022-06-15T13:48:53.524Z"",""remind_before"":""on time"",""recurrence_frequency"":""every day"",""recurrence_count"":5,""location"":""chennai"",""attendees"":[""23806000000152047""]}",
    Encoding.UTF8,
    "application/json"
);

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;
        struct curl_slist* headers = NULL;
        headers = curl_slist_append(headers, "Authorization: Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa");
        headers = curl_slist_append(headers, "Content-Type: application/json");

        curl_easy_setopt(curl, CURLOPT_URL, "https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/projects/23806000097545166/events/[EVENT_ID]");
        curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers);
        curl_easy_setopt(curl, CURLOPT_CUSTOMREQUEST, "PATCH");
        curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, WriteCallback);
        curl_easy_setopt(curl, CURLOPT_WRITEDATA, &response);
        curl_easy_setopt(curl, CURLOPT_POSTFIELDS, "{\"title\":\"admin Event\",\"attachment_ids\":[\"23806000097572061\"],\"thirdparty_id\":[\"a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0\"],\"starts_at\":\"2022-06-15T12:48:53.523Z\",\"ends_at\":\"2022-06-15T13:48:53.524Z\",\"remind_before\":\"on time\",\"recurrence_frequency\":\"every day\",\"recurrence_count\":5,\"location\":\"chennai\",\"attendees\":[\"23806000000152047\"]}");

        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_slist_free_all(headers);
        curl_easy_cleanup(curl);
    }
    return 0;
}
(require '[clj-http.client :as client])

(def response
  (client/patch "https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/projects/23806000097545166/events/[EVENT_ID]"
    {:headers {"Authorization" "Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa"
                "Content-Type" "application/json"}
     :body "{\"title\":\"admin Event\",\"attachment_ids\":[\"23806000097572061\"],\"thirdparty_id\":[\"a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0\"],\"starts_at\":\"2022-06-15T12:48:53.523Z\",\"ends_at\":\"2022-06-15T13:48:53.524Z\",\"remind_before\":\"on time\",\"recurrence_frequency\":\"every day\",\"recurrence_count\":5,\"location\":\"chennai\",\"attendees\":[\"23806000000152047\"]}"
     :as :json}))

(println (:body response))
package main

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

func main() {
    payload := strings.NewReader("{\"title\":\"admin Event\",\"attachment_ids\":[\"23806000097572061\"],\"thirdparty_id\":[\"a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0\"],\"starts_at\":\"2022-06-15T12:48:53.523Z\",\"ends_at\":\"2022-06-15T13:48:53.524Z\",\"remind_before\":\"on time\",\"recurrence_frequency\":\"every day\",\"recurrence_count\":5,\"location\":\"chennai\",\"attendees\":[\"23806000000152047\"]}")
    req, _ := http.NewRequest("PATCH", "https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/projects/23806000097545166/events/[EVENT_ID]", payload)
    req.Header.Add("Authorization", "Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa")
    req.Header.Add("Content-Type", "application/json")

    resp, _ := http.DefaultClient.Do(req)
    defer resp.Body.Close()
    body, _ := io.ReadAll(resp.Body)
    fmt.Println(string(body))
}
PATCH https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/projects/23806000097545166/events/[EVENT_ID] HTTP/1.1
Host: https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/projects/23806000097545166/events/[EVENT_ID]
Authorization: Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa
Content-Type: application/json

{"title":"admin Event","attachment_ids":["23806000097572061"],"thirdparty_id":["a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0"],"starts_at":"2022-06-15T12:48:53.523Z","ends_at":"2022-06-15T13:48:53.524Z","remind_before":"on time","recurrence_frequency":"every day","recurrence_count":5,"location":"chennai","attendees":["23806000000152047"]}
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/events/[EVENT_ID]");
HttpUriRequest requestObj = new HttpPatch(uriBuilder.build());
requestObj.addHeader("Authorization", "Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa");

HttpEntityEnclosingRequestBase requestBase = (HttpEntityEnclosingRequestBase) requestObj;
String requestBody = "{\"title\":\"admin Event\",\"attachment_ids\":[\"23806000097572061\"],\"thirdparty_id\":[\"a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0\"],\"starts_at\":\"2022-06-15T12:48:53.523Z\",\"ends_at\":\"2022-06-15T13:48:53.524Z\",\"remind_before\":\"on time\",\"recurrence_frequency\":\"every day\",\"recurrence_count\":5,\"location\":\"chennai\",\"attendees\":[\"23806000000152047\"]}";
requestBase.setEntity(new StringEntity(requestBody, HTTP.UTF_8));

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/events/[EVENT_ID]';

const options = {
  method: 'PATCH',
  headers: {
    'Authorization': 'Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({"title":"admin Event","attachment_ids":["23806000097572061"],"thirdparty_id":["a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0"],"starts_at":"2022-06-15T12:48:53.523Z","ends_at":"2022-06-15T13:48:53.524Z","remind_before":"on time","recurrence_frequency":"every day","recurrence_count":5,"location":"chennai","attendees":["23806000000152047"]})
};

fetch(url, options)
  .then(response => response.json())
  .then(data => console.log(data))
  .catch(error => console.error(error));
{"title":"admin Event","attachment_ids":["23806000097572061"],"thirdparty_id":["a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0"],"starts_at":"2022-06-15T12:48:53.523Z","ends_at":"2022-06-15T13:48:53.524Z","remind_before":"on time","recurrence_frequency":"every day","recurrence_count":5,"location":"chennai","attendees":["23806000000152047"]}
import java.net.HttpURLConnection
import java.net.URL
import okhttp3.HttpUrl.Companion.toHttpUrl

fun main() {
    val url = URL("https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/projects/23806000097545166/events/[EVENT_ID]")
    val conn = url.openConnection() as HttpURLConnection
    conn.requestMethod = "PATCH"
    conn.setRequestProperty("Authorization", "Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa")
    conn.setRequestProperty("Content-Type", "application/json")
    conn.doOutput = true
    conn.outputStream.bufferedWriter().use { it.write("""{"title":"admin Event","attachment_ids":["23806000097572061"],"thirdparty_id":["a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0"],"starts_at":"2022-06-15T12:48:53.523Z","ends_at":"2022-06-15T13:48:53.524Z","remind_before":"on time","recurrence_frequency":"every day","recurrence_count":5,"location":"chennai","attendees":["23806000000152047"]}""") }

    val response = conn.inputStream.bufferedReader().readText()
    println(response)
}
NSURL *url = [NSURL URLWithString:@"https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/projects/23806000097545166/events/[EVENT_ID]"];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];
[request setHTTPMethod:@"PATCH"];
[request setValue:@"Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa" forHTTPHeaderField:@"Authorization"];
[request setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
NSData *body = [@"{\"title\":\"admin Event\",\"attachment_ids\":[\"23806000097572061\"],\"thirdparty_id\":[\"a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0\"],\"starts_at\":\"2022-06-15T12:48:53.523Z\",\"ends_at\":\"2022-06-15T13:48:53.524Z\",\"remind_before\":\"on time\",\"recurrence_frequency\":\"every day\",\"recurrence_count\":5,\"location\":\"chennai\",\"attendees\":[\"23806000000152047\"]}" dataUsingEncoding:NSUTF8StringEncoding];
[request setHTTPBody:body];

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 uri = Uri.of_string "https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/projects/23806000097545166/events/[EVENT_ID]" in
  let headers = Cohttp.Header.init ()
    |> fun h -> Cohttp.Header.add h "Authorization" "Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa"
    |> fun h -> Cohttp.Header.add h "Content-Type" "application/json"
  in
  let body = Cohttp_lwt.Body.of_string {json|{"title":"admin Event","attachment_ids":["23806000097572061"],"thirdparty_id":["a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0"],"starts_at":"2022-06-15T12:48:53.523Z","ends_at":"2022-06-15T13:48:53.524Z","remind_before":"on time","recurrence_frequency":"every day","recurrence_count":5,"location":"chennai","attendees":["23806000000152047"]}|json} in
  Lwt_main.run (
    Client.patch ~headers ~body uri >>= fun (_, body) ->
    Cohttp_lwt.Body.to_string body >|= fun s ->
    print_endline s)
$headers = @{
    "Authorization" = "Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa"
    "Content-Type" = "application/json"
}

$body = @'
{"title":"admin Event","attachment_ids":["23806000097572061"],"thirdparty_id":["a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0"],"starts_at":"2022-06-15T12:48:53.523Z","ends_at":"2022-06-15T13:48:53.524Z","remind_before":"on time","recurrence_frequency":"every day","recurrence_count":5,"location":"chennai","attendees":["23806000000152047"]}
'@

$response = Invoke-RestMethod -Uri "https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/projects/23806000097545166/events/[EVENT_ID]" -Method PATCH -Headers $headers -Body $body

$response | ConvertTo-Json
library(httr)

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

response <- PATCH(
  url,
  add_headers(Authorization = "Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa"),
  content_type_json(),
  body = "{\"title\":\"admin Event\",\"attachment_ids\":[\"23806000097572061\"],\"thirdparty_id\":[\"a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0\"],\"starts_at\":\"2022-06-15T12:48:53.523Z\",\"ends_at\":\"2022-06-15T13:48:53.524Z\",\"remind_before\":\"on time\",\"recurrence_frequency\":\"every day\",\"recurrence_count\":5,\"location\":\"chennai\",\"attendees\":[\"23806000000152047\"]}"
)

content(response, "text")
import Foundation

let url = URL(string: "https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/projects/23806000097545166/events/[EVENT_ID]")!
var request = URLRequest(url: url)
request.httpMethod = "PATCH"
request.setValue("Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa", forHTTPHeaderField: "Authorization")
request.setValue("application/json", forHTTPHeaderField: "Content-Type")
request.httpBody = """
{"title":"admin Event","attachment_ids":["23806000097572061"],"thirdparty_id":["a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0"],"starts_at":"2022-06-15T12:48:53.523Z","ends_at":"2022-06-15T13:48:53.524Z","remind_before":"on time","recurrence_frequency":"every day","recurrence_count":5,"location":"chennai","attendees":["23806000000152047"]}
""".data(using: .utf8)

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

Content-Type: application/json
{ "title" : "admin Event", "attachment_ids" : [ "23806000097572061" ], "thirdparty_id" : [ "a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0" ], "starts_at" : "2022-06-15T12:48:53.523Z", "ends_at" : "2022-06-15T13:48:53.524Z", "remind_before" : "on time", "recurrence_frequency" : "every day", "recurrence_count" : 5, "location" : "chennai", "attendees" : [ "23806000000152047" ] }

Sample Response

200{ "updated_on" : "2024-05-10T07:31:53.843Z", "starts_at" : "2024-05-11T05:30:00.000Z", "add_to_office365" : false, "is_open" : true, "attendees" : [ { "zpuid" : "103368000000048003", "full_name" : "Monica Hemsworth", "name" : "Monica", "last_name" : "Hemsworth", "id" : "66295825", "is_client_user" : false, "first_name" : "Monica", "email" : "monica.hemsworth@zylker.com" } ], "addedvia" : "v3", "title" : "Quarterly Meeting", "created_by" : { "invoiceRate" : "120.000", "zpuid" : "103368000000048003", "full_name" : "Monica Hemsworth", "role" : "admin", "roleId" : "103368000000048005", "name" : "Monica", "last_name" : "Hemsworth", "id" : "66295825", "is_client_user" : false, "first_name" : "Monica", "email" : "monica.hemsworth@zylker.com" }, "remind_before" : "on time", "duration" : { "duration" : "30 minutes", "hours" : "0", "minutes" : "30", "days" : "0", "duration_milli" : "1800000" }, "recurrence" : { "name" : "only once", "count" : "1", "type" : "count", "frequency" : "only once" }, "addEventToO365" : false, "project_id" : "103368000001263005", "created_on" : "2024-05-10T07:31:48.308Z", "comment_mail_id" : "c88c2Md80r8Fx67079EB003m0x671maC7k0l@zylker.com", "updated_by" : { "invoiceRate" : "120.000", "zpuid" : "103368000000048003", "full_name" : "Monica Hemsworth", "role" : "admin", "roleId" : "103368000000048005", "name" : "Monica", "last_name" : "Hemsworth", "id" : "66295825", "is_client_user" : false, "first_name" : "Monica", "email" : "monica.hemsworth@zylker.com" }, "location" : "Conference Hall 2", "id" : "103368000002494001", "ends_at" : "2024-05-11T06:00:00.000Z" }

Delete Event

Remove a specific event from a project. Use this API to permanently remove an event from a project.

DELETE

/api/v3/portal/[PORTAL_ID]/projects/[PROJECT_ID]/events/[EVENT_ID]

OAuth Scope:

ZohoProjects.events.DELETE

Path 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
  • Kotlin
  • Objective-C
  • OCaml
  • PowerShell
  • R
  • Swift

curl -X DELETE \
'https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/projects/23806000097545166/events/[EVENT_ID]' \
-H 'Authorization: Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa'

url = "https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/projects/23806000097545166/events/[EVENT_ID]";
response = invokeUrl
[
    url: url
    type: DELETE
    connection: "projects"
];
info response;
const https = require('https');
const url = new URL('https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/projects/23806000097545166/events/[EVENT_ID]');

const options = {
  hostname: url.hostname,
  path: url.pathname + url.search,
  method: 'DELETE',
  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/events/[EVENT_ID]")

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

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

response = http.request(request)
puts response.read_body
<?php
$url = "https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/projects/23806000097545166/events/[EVENT_ID]";

$curl = curl_init();

curl_setopt_array($curl, [
  CURLOPT_URL => $url,
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_CUSTOMREQUEST => "DELETE",
  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/events/[EVENT_ID]"

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

response = requests.delete(url, headers=headers)

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

int main(void) {
    CURL *curl = curl_easy_init();
    if (curl) {
        struct curl_slist *headers = NULL;
        headers = curl_slist_append(headers, "Authorization: Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa");

        curl_easy_setopt(curl, CURLOPT_URL, "https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/projects/23806000097545166/events/[EVENT_ID]");
        curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers);
        curl_easy_setopt(curl, CURLOPT_CUSTOMREQUEST, "DELETE");

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

        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 request = new HttpRequestMessage(HttpMethod.Delete, "https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/projects/23806000097545166/events/[EVENT_ID]");

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;
        struct curl_slist* headers = NULL;
        headers = curl_slist_append(headers, "Authorization: Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa");

        curl_easy_setopt(curl, CURLOPT_URL, "https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/projects/23806000097545166/events/[EVENT_ID]");
        curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers);
        curl_easy_setopt(curl, CURLOPT_CUSTOMREQUEST, "DELETE");
        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_slist_free_all(headers);
        curl_easy_cleanup(curl);
    }
    return 0;
}
(require '[clj-http.client :as client])

(def response
  (client/delete "https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/projects/23806000097545166/events/[EVENT_ID]"
    {:headers {"Authorization" "Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa"}
     :as :json}))

(println (:body response))
package main

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

func main() {
    req, _ := http.NewRequest("DELETE", "https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/projects/23806000097545166/events/[EVENT_ID]", nil)
    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))
}
DELETE https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/projects/23806000097545166/events/[EVENT_ID] HTTP/1.1
Host: https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/projects/23806000097545166/events/[EVENT_ID]
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/events/[EVENT_ID]");
HttpUriRequest requestObj = new HttpDelete(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/events/[EVENT_ID]';

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

fetch(url, options)
  .then(response => response.json())
  .then(data => console.log(data))
  .catch(error => console.error(error));
import java.net.HttpURLConnection
import java.net.URL
import okhttp3.HttpUrl.Companion.toHttpUrl

fun main() {
    val url = URL("https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/projects/23806000097545166/events/[EVENT_ID]")
    val conn = url.openConnection() as HttpURLConnection
    conn.requestMethod = "DELETE"
    conn.setRequestProperty("Authorization", "Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa")

    val response = conn.inputStream.bufferedReader().readText()
    println(response)
}
NSURL *url = [NSURL URLWithString:@"https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/projects/23806000097545166/events/[EVENT_ID]"];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];
[request setHTTPMethod:@"DELETE"];
[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 uri = Uri.of_string "https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/projects/23806000097545166/events/[EVENT_ID]" in
  let headers = Cohttp.Header.init ()
    |> fun h -> Cohttp.Header.add h "Authorization" "Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa"
  in
  Lwt_main.run (
    Client.delete ~headers uri >>= fun (_, body) ->
    Cohttp_lwt.Body.to_string body >|= fun s ->
    print_endline s)
$headers = @{
    "Authorization" = "Bearer 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa"
}

$response = Invoke-RestMethod -Uri "https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/projects/23806000097545166/events/[EVENT_ID]" -Method DELETE -Headers $headers

$response | ConvertTo-Json
library(httr)

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

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

content(response, "text")
import Foundation

let url = URL(string: "https://projects.zoho.com/api/v3/portal/[PORTAL_ID]/projects/23806000097545166/events/[EVENT_ID]")!
var request = URLRequest(url: url)
request.httpMethod = "DELETE"
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 Response

204 No Content{ "status" : "success" }
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