Home  Forums  Blogs  Public Pages  API    

Get your API key now

About Zoho Planner API


To support other application mashups and development, Zoho Planner provides simple APIs (Application Programming Interface).

Accessing the API


The Zoho Planner API uses simple REST calls. All calls are POST requests to a URL of the form http://planner.zoho.com/api/private/[format]/methodname?parameters

where,
methodname is one of the API methods documented below.
parameters are query parameters passed as POST input.
format is one of the required output formats (xml/json)

All methods return an XML or JSON document whose top-level object is a <response> containing method-dependent information.

User Authentication


The users need to have an 'API Key' as well as a 'Ticket ID' for accessing the Zoho API. The API key will be used to track usage and the Ticket ID is required for authenticating the user for a particular Zoho service.

How to get the API Key?
Users can request for the API Key by registering themselves at the below given url. Once we receive the request, we will send the API Key to the User's Email ID. Please do not distribute or use the key for creating multiple services (you should request for an API key for each individual service that you plan to create). Any violations will result in the cancellation of the API Key. Getting the API Key is a onetime process.

Get your API key now


How to generate Ticket ID?
To generate the ticket ID, users have to send the authenticated request to Zoho Accounts over a secured connection in the following URL format:

https://accounts.zoho.com/login?servicename=ZohoPlanner&silent=true&LOGIN_ID=[Zoho ID/Email ID]&PASSWORD=[Password]&FROM_AGENT=true


The mandatory list of parameters to be passed in the URL are:
  • servicename -- ZohoWriter, ZohoShow, ZohoSheet or ZohoPlanner
  • silent -- true
  • LOGIN_ID -- Users' Zoho ID or Email ID
  • PASSWORD -- Password for the Zoho ID
  • FROM_AGENT -- true
Depending on the parameters passed over the requested URL, the user will get a response in the following name/value format:

Response format:
#Comment
[name1]=[value1]\n
[name2]=[value2]\n
[name3]=[value3]\n


Example:
#Thu Oct 26 02:17:49 PST 2006
WARNING=
TICKET=543754375sdferuecmvc458545432dfffqq
RESULT=TRUE

Parameters and Values
  • #Comment -- Ticket generated date
  • WARNING -- If the parameters passed in the URL are incorrect, the user will get a warning message stating the same otherwise the value will be null.
  • TICKET -- Ticket generated for the request
  • RESULT -- Value is true if the ticket is generated successfully, else it is false.

How to get all pages


Request URL
http://planner.zoho.com/api/private/xml/pages
API description Given the ticket and apikey, returns the list of of pages in zoho planner on successful authentication.
Parameters to be passed
ticket, apikey
Sample call <form method="post" action="http://planner.zoho.com/api/private/xml/pages?ticket=[Ticket]&apikey=[ApiKey]">

<input type="submit" value="Get All Pages" name="submit">
</form>
Output XML
<response uri="/api/private/xml/pages">
  <result>
    <PageDetails>
      <PageDetail>
        <page_id>1</page_id>
        <page_title>Home Page</page_title>
        <is_homepage>true</is_homepage>
      </PageDetail>
      <PageDetail>
        <page_id>2</page_id>
        <page_title>
そ んなにそわそわしないで</page_title>
        <is_homepage>false</is_homepage>
      </PageDetail>
      <PageDetail>
        <page_id>3</page_id>
        <page_title>
API list for ZP</page_title>
        <is_homepage>false</is_homepage>
      </PageDetail>

    <PageDetails>
  </result>
</response>

How to get all lists


Method name http://planner.zoho.com/api/private/xml/lists
API description Given ticket, apikey and pageId from the list of pages got from the above api, returns all the lists in that page on successful authentication.
Parameters to be passed ticket, apikey and pageId
Sample call <form method="post" action="http://planner.zoho.com/api/private/xml/lists?ticket=[Ticket]&apikey=[ApiKey]">

<input type="hidden" name="pageId" value="43383">
<input type="submit" value="Get All Lists" name="submit">
</form>
Output XML <response uri="/api/private/xml/lists">
  <result>
    <PageDetail>
      <page_id>43383</page_id>
      <page_title>Daily works</page_title>
      <is_homepage>true</is_homepage>
      <PageList>
        <List>
          <list_id>47701</list_id>
          <list_name>May work items</list_name>
          <ListItem>
            <listitem_id>129901</listitem_id>
            <list_item>LC from the medical shop</list_item>
            <is_completed>false</is_completed>
          </ListItem>
          <ListItem>
            <listitem_id>129902</listitem_id>
            <list_item>Airtel connection from Arumugam</list_item>
            <list_schedule_date>Thu, 22 Nov 2007</list_schedule_date>
            <is_completed>true</is_completed>
          </ListItem>
          <ListItem>
            <listitem_id>129903</listitem_id>
            <list_item>New mobile + new battery purchace</list_item>
            <is_completed>true</is_completed>
          </ListItem>
        </List>
      </PageList>
    </PageDetail>
  </result>
</response>

How to create a new list


Method name http://planner.zoho.com/api/private/xml/list/add
API description Given ticket, apikey, user's page id from the list of pages and list name, returns a new list created in that page on successful authentication.
Parameters to be passed ticket, apikey, pageId and listName
Sample call <form method="post" action="http://planner.zoho.com/api/private/xml/list/add?ticket=[Ticket]&apikey=[ApiKey]">

<input type="hidden" name="pageId" value="1">
<input type="hidden" name="listName" value="List through api">
<input type="submit" value="Create New List" name="submit">
</form>
Output XML <response uri="/api/private/xml/list/add">
  <result>
    <List>
      <list_id>48601</list_id>
      <list_name>List thro API</list_name>
      <page_id>1</page_id>
      <sequence>6</sequence>
    </List>
  </result>
</response>

How to delete a list


Method name http://planner.zoho.com/api/private/xml/list/delete/(listId)
API description Given ticket, apikey and listId, deletes the specified list in that page on successful authentication.
Parameters to be passed ticket, apikey
Sample call <form method="post" action="http://planner.zoho.com/api/private/xml/list/delete/48601?ticket=[Ticket]&apikey=[ApiKey]">

<input type="submit" value="Delete List" name="submit">
</form>
Output XML <response uri="/api/private/xml/list/delete/48601">
  <result>
    <list_id>48601</list_id>
    <description>List removed</description>
  </result>
</response>

How to update a list


Method name http://planner.zoho.com/api/private/xml/list/update/(listId)
API description Given the ticket, apikey,  list id from the list and listName, returns the updated list in that page on successful authentication.
Parameters to be passed ticket, apikey and listName
Sample call <form method="post" action="http://planner.zoho.com/api/private/xml/list/update/47701?ticket=[Ticket]&apikey=[ApiKey]">

<input type="hidden" name="listName" value="Checking through api">
<input type="submit" value="Update List" name="submit">
</form>
Output XML <response uri="/api/private/xml/list/update/47701">
  <result>
    <List>
      <list_id>47701</list_id>
      <list_name>Checking through api</list_name>
      <page_id>43383</page_id>
      <sequence>5</sequence>
    </List>
  </result>
</response>

How to get all list items


Method name http://planner.zoho.com/api/private/xml/listitems
API description Given ticket, apikey and listId, returns all the lists in that page on successful authentication.
Parameters to be passed ticket, apikey and listId
Sample call <form method="post" action="http://planner.zoho.com/api/private/xml/listitems?ticket=[Ticket]&apikey=[ApiKey]">

<input type="hidden" name="listId" value="47701">
<input type="submit" value="Get All List Items" name="submit">
</form>
Output XML <response uri="/api/private/xml/listitems">
  <result>
    <PageList>
      <List>
        <list_id>47701</list_id>
        <list_name>May work items</list_name>
        <ListItem>
          <listitem_id>129901</listitem_id>
          <list_item>LC from the medical shop</list_item>
          <is_completed>false</is_completed>
        </ListItem>
        <ListItem>
          <listitem_id>129902</listitem_id>
          <list_item>Airtel connection from Arumugam</list_item>
          <list_schedule_date>Thu, 22 Nov 2007</list_schedule_date>
          <is_completed>true</is_completed>
        </ListItem>
        <ListItem>
          <listitem_id>129903</listitem_id>
          <list_item>New mobile + new battery purchace</list_item>
          <is_completed>true</is_completed>
        </ListItem>
      </List>
    </PageList>
  </result>
</response>

How to create list item


Method name http://planner.zoho.com/api/private/xml/listitem/add
API description Given ticket, apikey and one of the listId from the list and the listItemName, returns the newly created listItem in that list on sucessful authentication.
Parameters to be passed ticket, apikey, listId and listItem
Sample call <form method="post" action="http://planner.zoho.com/api/private/xml/listitem/add?ticket=[Ticket]&apikey=[ApiKey]">

<input type="hidden" name="listId" value="134">
<input type="hidden" name="listItem" value="List Item through api">
<input type="submit" value="Create List Item" name="submit">
</form>
Output XML <response uri="/api/private/xml/listitem/add">
  <result>
    <ListItem>
      <listitem_id>130801</listitem_id>
      <list_item>Added via API</list_item>
      <sequence>1</sequence>
    </ListItem>
  </result>
</response>

How to update list item


Method name http://planner.zoho.com/api/private/xml/listitem/update/(listItemId)
API description Given ticket, apikey and one of the listItemId from the list and the listItem, returns the updated listItem in that list on sucessful authentication.
Parameters to be passed ticket, apikey, listItemId and listItem
Sample call <form method="post" action="http://planner.zoho.com/api/private/xml/listitem/update/130801?ticket=[Ticket]&apikey=[ApiKey]">

<input type="hidden" name="listItem" value="Updating through api">
<input type="submit" value="Update List Item" name="submit">
</form>
Output XML <response uri="/api/private/xml/listitem/update/130801">
  <result>
    <ListItem>
      <listitem_id>130801</listitem_id>
      <list_item>Updating through api</list_item>
      <sequence>1</sequence>
    </ListItem>
  </result>
</response>

How to mark completed


Method name http://planner.zoho.com/api/private/xml/listitem/complete/(listItemId)
API description Given the ticket, apikey, listItemId from the listItems and isCompleted as true or false, marks the listItem as completed or incomplete on sucessful authentication.
Parameters to be passed ticket, apikey, isCompleted (either true or false)
Sample call <form method="post" action="http://planner.zoho.com/api/private/xml/listitem/complete/130801?ticket=[Ticket]&apikey=[ApiKey]">

<input type="hidden" name="isCompleted" value="true">
<input type="submit" value="Complete List Item" name="submit">
</form>
Output XML <response uri="/api/private/xml/listitem/complete/130801">
  <result>
    <listitem_id>130801</listitem_id>
    <description>Marked the list item</description>
  </result>
</response>

How to delete a list item


Method name http://planner.zoho.com/api/private/xml/listitem/delete/(listItemId)
API description Given ticket, apikey and listItemId, deletes the specified list in that page on successful authentication.
Parameters to be passed ticket, apikey
Sample call <form method="post" action="http://planner.zoho.com/api/private/xml/list/delete/130801?ticket=[Ticket]&apikey=[ApiKey]">

<input type="submit" value="Delete List Item" name="submit">
</form>
Output XML <response uri="/api/private/xml/listitem/delete/130801">
  <result>
    <listitem_id>130801</listitem_id>
    <description>List item removed</description>
  </result>
</response>

How to get page content


Method name http://planner.zoho.com/api/private/xml/page/content/(pageId)
API description Given ticket, apikey and one of the user's pageId from the list of pages, returns the whole page content on successful authentication.
Parameters to be passed ticket, apikey
Sample call <form method="post" action="http://planner.zoho.com/api/private/xml/page/content/7678?ticket=[Ticket]&apikey=[ApiKey]">

<input type="submit" value="Show Page Content" name="submit">
</form>
Output XML <response uri="/api/private/xml/page/content/7678">
  <result>
    <PageDetail>
    <page_id>7678</page_id>
    <page_title>Zoho Planner Read Me</page_title>
    <is_homepage>false</is_homepage>
    <page_desc>
      This page will contain an introduction to Zoho. Features in zoho planner
      * Description
      * To do's
      * Appointments
      * Notes
      * Attachments
      * Reminders
    </page_desc>
    <PageList>
      <List>
        <list_id>48301</list_id>
        <list_name>Another list</list_name>
        <ListItem>
          <listitem_id>130501</listitem_id>
          <list_item>First item</list_item>
          <is_completed>false</is_completed>
        </ListItem>
        <ListItem>
          <listitem_id>130502</listitem_id>
          <list_item>Second one</list_item>
          <is_completed>false</is_completed>
        </ListItem>
        <ListItem>
          <listitem_id>130503</listitem_id>
          <list_item>Third one</list_item>
          <is_completed>false</is_completed>
        </ListItem>
      </List>
      <List>
        <list_id>12912</list_id>
        <list_name>This is a todo list</list_name>
        <ListItem>
          <listitem_id>29508</listitem_id>
          <list_item>Find out about to do lists</list_item>
          <list_schedule_date>Tue, 16 May 2006</list_schedule_date>
          <is_completed>false</is_completed>
        </ListItem>
        <ListItem>
          <listitem_id>29511</listitem_id>
          <list_item>pick up stuff at best buy</list_item>
          <list_schedule_date>Fri, 12 May 2006</list_schedule_date>
          <is_completed>true</is_completed>
        </ListItem>
        <ListItem>
          <listitem_id>29512</listitem_id>
          <list_item>Past to do item</list_item>
          <list_schedule_date>Tue, 9 May 2006</list_schedule_date>
          <is_completed>false</is_completed>
        </ListItem>
      </List>
    </PageList>
    <PageNotes>
      <Notes>
        <note_id>38101</note_id>
        <note_title>Test Note</note_title>
        <note_body>testing</note_body>
        <posted_date>Thu, 31 May 2007</posted_date>
      </Notes>
      <Notes>
        <note_id>6658</note_id>
        <note_title>Hmmmm</note_title>
        <note_body>
          Lists, notes, a body at the top?   Looks kinda familiar.  *cough*    backpack *cough*.

          However, appointments are a potentially nice feature, but there are no file attachments.

          I got it, i can attach files its named as attachments
        </note_body>
        <posted_date>Fri, 3 Mar 2006</posted_date>
      </Notes>
    </PageNotes>
    <PageTags>
      <Tag>
        <tag_id>1501</tag_id>
        <tag_name>for</tag_name>
      </Tag>
      <Tag>
        <tag_id>6289</tag_id>
        <tag_name>me</tag_name>
      </Tag>
      <Tag>
        <tag_id>4508</tag_id>
        <tag_name>planner</tag_name>
      </Tag>
      <Tag>
        <tag_id>7724</tag_id>
        <tag_name>read</tag_name>
      </Tag>
    </PageTags>
    </PageDetail>
  </result>
</response>

How to create new page


Method name http://planner.zoho.com/api/private/xml/page/add
API description Given the ticket, apikey, pageTitle, the api will create a new page on successful authentication.
Parameters to be passed ticket, apikey, pageTitle
Sample call <form method="post" action="http://planner.zoho.com/api/private/xml/page/add?ticket=[Ticket]&apikey=[ApiKey]">

<input type="hidden" name="pageTitle" value="Created thro API">
<input type="submit" value="Add New Page" name="submit">
</form>
Output XML <response uri="/api/private/xml/page/add">
  <result>
    <PageDetails>
      <PageDetail>
        <page_id>69001</page_id>
        <page_title>Created thro API</page_title>
        <is_homepage>false</is_homepage>
      </PageDetail>
    </PageDetails>
  </result>
</response>

How to delete page


Method name http://planner.zoho.com/api/private/xml/page/delete/(pageId)
API description Given the ticket, apikey and one of the user's pageId (except home page), will delete that page on successful authentication.
Parameters to be passed ticket, apikey
Sample call <form method="post" action="http://planner.zoho.com/api/private/xml/page/delete/69001?ticket=[Ticket]&apikey=[ApiKey]">

<input type="submit" value="Delete Page" name="submit">
</form>
Output XML <response uri="/api/private/xml/page/delete/69001">
  <result>
    <page_id>69001</page_id>
    <description>Page removed</description>
  </result>
</response>

How to clear page contents


Method name http://planner.zoho.com/api/private/xml/page/clear/(pageId)
API description Given ticket, apikey and one of the user's pageId, will clear all the contents in that page on successful authentication.
Parameters to be passed ticket, apikey
Sample call <form method="post" action="http://planner.zoho.com/api/private/xml/page/clear/69001?ticket=[Ticket]&apikey=[ApiKey]">

<input type="submit" value="Clear Page" name="submit">
</form>
Output XML <response uri="/api/private/xml/page/clear/68702">
  <result>
    <page_id>68702</page_id>
    <description>Page contents cleared</description>
  </result>
</response>

How to update page title


Method name http://planner.zoho.com/api/private/xml/title/update
API description Given ticket, apikey, one of the user's pageId and pageTitle, updates the pageTitle on successful authentication.
Parameters to be passed ticket, apikey, pageId, pageTitle
Sample call <form method="post" action="http://planner.zoho.com/api/private/xml/title/update?ticket=[Ticket]&apikey=[ApiKey]">

<input type="hidden" name="pageId" value="68702">
<input type="hidden" name="pageTitle" value="Updated thro API">
<input type="submit" value="Update Title" name="submit">
</form>
Output XML <response uri="/api/private/xml/title/update">
  <result>
    <PageDetail>
      <page_id>68702</page_id>
      <page_title>Updated throu API</page_title>
    </PageDetail>
  </result>
</response>

How to update page description


Method name http://planner.zoho.com/api/private/xml/description/update
API description Given ticket, apikey, one of the user's pageId and pageDesc, updates the pageDesc on successful authentication.
Parameters to be passed ticket, apikey, pageId, pageDesc
Sample call <form method="post" action="http://planner.zoho.com/api/private/xml/description/update?ticket=[Ticket]&apikey=[ApiKey]">

<input type="hidden" name="pageId" value="68702">
<input type="hidden" name="pageDesc" value="Updated thro API">
<input type="submit" value="Update Description" name="submit">
</form>
Output XML <response uri="/api/private/xml/description/update">
  <result>
    <PageDescription>
      <page_id>68702</page_id>
      <page_title>Updated throu API</page_title>
    </PageDescription>
  </result>
</response>

How to share to public


Method name http://planner.zoho.com/api/private/xml/publicsharing/share
API description Given ticket, apikey and one of the user's pageId, the page is shared public on successful authentication.
Parameters to be passed ticket, apikey, pageId
Sample call <form method="post" action="http://planner.zoho.com/api/private/xml/publicsharing/share?ticket=[Ticket]&apikey=[ApiKey]">

<input type="hidden" name="pageId" value="68702">
<input type="submit" value="Share To Public" name="submit">
</form>
Output XML <response uri="/api/private/xml/publicsharing/share">
  <result>
    <page_id>68702</page_id>
    <description>Page shared to public</description>
  </result>
</response>

How to remove public share


Method name http://planner.zoho.com/api/private/xml/publicsharing/remove
API description Given ticket, apikey and one of the user's pageId, the public share is removed on successful authentication.
Parameters to be passed ticket, apikey, pageId
Sample call <form method="post" action="http://planner.zoho.com/api/private/xml/publicsharing/remove?ticket=[Ticket]&apikey=[ApiKey]">

<input type="hidden" name="pageId" value="68702">
<input type="submit" value="Remove Public Share" name="submit">
</form>
Output XML <response uri="/api/private/xml/publicsharing/remove">
  <result>
    <page_id>68702</page_id>
    <description>Removed public sharing</description>
  </result>
</response>

How to get all notes


Method name http://planner.zoho.com/api/private/xml/notes
API description Given ticket, apikey and one of the user's pageId, all the notes in that page will be listed on successful authentication.
Parameters to be passed ticket, apikey, pageId
Sample call <form method="post" action="http://planner.zoho.com/api/private/xml/notes?ticket=[Ticket]&apikey=[ApiKey]">

<input type="hidden" name="pageId" value="7678">
<input type="submit" value="Get All Notes" name="submit">
</form>
Output XML response uri="/api/private/xml/notes">
  <result>
    <PageDetail>
      <page_id>7678</page_id>
      <page_title>Zoho Planner Read Me</page_title>
      <is_homepage>false</is_homepage>
      <PageNotes>
        <Notes>
          <note_id>38101</note_id>
          <note_title>Test Note</note_title>
          <note_body>testing</note_body>
          <posted_date>Thu, 31 May 2007</posted_date>
        </Notes>
        <Notes>
          <note_id>6658</note_id>
          <note_title>Hmmmm</note_title>
          <note_body>
            Lists, notes, a body at the top?   Looks kinda familiar.  *cough* backpack *cough*.

            However, appointments are a potentially nice feature, but there are no file attachments.

            I got it, i can attach files its named as attachments
          </note_body>
          <posted_date>Fri, 3 Mar 2006</posted_date>
        </Notes>
      </PageNotes>
    </PageDetail>
  </result>
</response>

How to create new notes


Method name http://planner.zoho.com/api/private/xml/note/add
API description Given the ticket, apikey, pageId from the list of pages and noteTitle or noteBody, creates a new notes in that page on successful authentication.
Parameters to be passed ticket, apikey, pageId, pageTitle or pageBody
Sample call <form method="post" action="http://planner.zoho.com/api/private/xml/note/add?ticket=[Ticket]&apikey=[ApiKey]">

<input type="hidden" name="pageId" value="7678">
<input type="hidden" name="noteTitle" value="Added via API">
<input type="hidden" name="noteBody" value="Body throu api">
<input type="submit" value="Add Notes" name="submit">
</form>
Output XML <response uri="/api/private/xml/note/add">
  <result>
    <Notes>
      <note_id>38701</note_id>
      <note_title>Added via API</note_title>
      <note_body>Body throu api</note_body>
      <posted_date>Wed, 6 Jun 2007</posted_date>
    </Notes>
  </result>
</response>

How to update notes


Method name http://planner.zoho.com/api/private/xml/note/update/(noteId)
API description Given the ticket, apikey, noteId from the list and noteTitle or noteBody, updates the notes in that page on successful authentication.
Parameters to be passed ticket, apikey, noteId, pageTitle or pageBody
Sample call <form method="post" action="http://planner.zoho.com/api/private/xml/note/update/38701?ticket=[Ticket]&apikey=[ApiKey]">

<input type="hidden" name="noteTitle" value="Updated via API">
<input type="hidden" name="noteBody" value="Body updated throu api">
<input type="submit" value="Update Notes" name="submit">
</form>
Output XML <response uri="/api/private/xml/note/update/38701">
  <result>
    <Notes>
      <note_id>38701</note_id>
      <note_title>Updated via API</note_title>
      <note_body>Body updated throu api</note_body>
      <posted_date>Wed, 6 Jun 2007</posted_date>
    </Notes>
  </result>
</response>

How to delete notes


Method name http://planner.zoho.com/api/private/xml/note/delete/(noteId)
API description Given the ticket, apikey and noteId from the list, deletes the notes on successful authentication.
Parameters to be passed ticket, apikey
Sample call <form method="post" action="http://planner.zoho.com/api/private/xml/note/delete/38701?ticket=[Ticket]&apikey=[ApiKey]">

<input type="submit" value="Delete Notes" name="submit">
</form>
Output XML <response uri="/api/private/xml/note/delete/38701">
  <result>
    <note_id>38701</note_id>
    <description>Notes removed</description>
  </result>
</response>

How to show page tags


Method name http://planner.zoho.com/api/private/xml/tags
API description Given the ticket, apikey and pageId from the list of pages, shows all the tags in that page on successful authentication.
Parameters to be passed ticket, apikey and pageId
Sample call <form method="post" action="http://planner.zoho.com/api/private/xml/tags?ticket=[Ticket]&apikey=[ApiKey]">

<input type="hidden" name="pageId" value="7678">
<input type="submit" value="Show Page Tags" name="submit">
</form>
Output XML <response uri="/api/private/xml/tags">
  <result>
    <PageDetail>
      <page_id>7678</page_id>
      <page_title>Zoho Planner Read Me</page_title>
      <is_homepage>false</is_homepage>
      <PageTags>
        <Tag>
          <tag_id>7724</tag_id>
          <tag_name>read</tag_name>
        </Tag>
        <Tag>
          <tag_id>6289</tag_id>
          <tag_name>me</tag_name>
        </Tag>
        <Tag>
          <tag_id>1501</tag_id>
          <tag_name>for</tag_name>
        </Tag>
        <Tag>
          <tag_id>4508</tag_id>
          <tag_name>planner</tag_name>
        </Tag>
      </PageTags>
    </PageDetail>
  </result>
</response>

How to add page tags


Method name http://planner.zoho.com/api/private/xml/tag/add
API description Given the ticket, apikey, pageId from the list of pages and the tagsList, all the tags gets added in that page on successful authentication.
Parameters to be passed ticket, apikey, pageId, tagsList (Tags separated by space)
Sample call <form method="post" action="http://planner.zoho.com/api/private/xml/tag/add?ticket=[Ticket]&apikey=[ApiKey]">

<input type="hidden" name="pageId" value="7678">
<input type="hidden" name="tagsList" value="release work items">
<input type="submit" value="Add Page Tags" name="submit">
</form>
Output XML <response uri="/api/private/xml/tag/add">
  <result>
    <PageTags>
      <Tag>
        <tag_id>5268</tag_id>
      </Tag>
      <Tag>
        <tag_id>4</tag_id>
      </Tag>
    </PageTags>
  </result>
</response>

How to delete page tag


Method name http://planner.zoho.com/api/private/xml/tag/delete/(tagId)
API description Given the ticket, apikey, pageId from the list of pages and the tagId, all the tags with this id gets deleted from that page on successful authentication.
Parameters to be passed ticket, apikey, pageId
Sample call <form method="post" action="http://planner.zoho.com/api/private/xml/tag/delete/4?ticket=[Ticket]&apikey=[ApiKey]">

<input type="hidden" name="pageId" value="7678">
<input type="submit" value="Delete Page Tag" name="submit">
</form>
Output XML <response uri="/api/private/xml/tag/delete/4">
  <result>
    <tag_id>4</tag_id>
    <description>Tag removed</description>
  </result>
</response>

How to get  all open/closed appointments


Method name http://planner.zoho.com/api/private/xml/appointments/(open(or)closed)
API description Given the ticket, apikey and pageId from the list of pages all the open appointments in that page will be listed on successful authentication.
Parameters to be passed ticket, apikey, pageId
Sample call <form method="post" action="http://planner.zoho.com/api/private/xml/appointments/open(or)closed?ticket=[Ticket]&apikey=[ApiKey]">

<input type="hidden" name="pageId" value="7678">
<input type="submit" value="Get Open Appointments" name="submit">
</form>
Output XML <response uri="/api/private/xml/appointments/open">
  <result>
    <PageDetail>
      <page_id>6801</page_id>
      <page_title>Test page</page_title>
      <is_homepage>false</is_homepage>
      <PageAppointments>
        <Appointment>
          <appointment_id>42001</appointment_id>
          <appointment>Test appointment</appointment>
          <appointment_at>2007-06-27 01:00:00.0</appointment_at>
          <remind_me>15 mins</remind_me>
          <repeat_frequency>every day</repeat_frequency>
        </Appointment>
      </PageAppointments>
    </PageDetail>
  </result>
</response>

How to add a new appointment


Method name http://planner.zoho.com/api/private/xml/appointment/add
API description Given the ticket, apikey, pageId, appTitle, schDate, schTime, remindMe (before) and repeatInt a new appointment will be added in that page on successful authentication.
Parameters to be passed ticket, apikey, pageId, appTitle, schDate(MM-dd-yyyy), schTime(HH:mm), remindMe(on time, 15 mins, 30 mins, 1 hour, 2 hours, 6 hours, 12 hours, 1 day), repeatInt(only once, every 1 hour, every 2 hours, every 3 hours, every 4 hours, every 6 hours, every 8 hours, every 12 hours, every day, every week, every month, every year)
Sample call <form method="post" action="http://planner.zoho.com/api/private/xml/appointment/add?ticket=[Ticket]&apikey=[ApiKey]">

<input type="hidden" name="pageId" value="7678">
<input type="text" name="appTitle" value="Added via api">
<input type="text" name="schDate" value="06-26-2007">
<input type="text" name="schTime" value="12:05">
<input type="text" name="remindMe" value="on time">
<input type="text" name="repeatInt" value="only once">
<input type="submit" value="Add Appointment" name="submit">
</form>
Output XML <response uri="/api/private/xml/appointment/add">
  <result>
    <Appointment>
      <appointment_id>42302</appointment_id>
      <appointment>Added via api</appointment>
      <appointment_at>2007-06-26 15:45:00.0</appointment_at>
      <remind_me>on time</remind_me>
      <repeat_frequency>only once</repeat_frequency>
    </Appointment>
  </result>
</response>

How to update an appointment


Method name http://planner.zoho.com/api/private/xml/appointment/update
API description Given the ticket, apikey, appId, pageId, appTitle, schDate, schTime, remindMe (before) and repeatInt a new appointment will be added in that page on successful authentication.
Parameters to be passed ticket, apikey, appId, pageId, appTitle, schDate(MM-dd-yyyy), schTime(HH:mm), remindMe(on time, 15 mins, 30 mins, 1 hour, 2 hours, 6 hours, 12 hours, 1 day), repeatInt(only once, every 1 hour, every 2 hours, every 3 hours, every 4 hours, every 6 hours, every 8 hours, every 12 hours, every day, every week, every month, every year)
Sample call <form method="post" action="http://planner.zoho.com/api/private/xml/appointment/update?ticket=[Ticket]&apikey=[ApiKey]">

<input type="hidden" name="appId" value="76718">
<input type="hidden" name="pageId" value="7678">
<input type="text" name="appTitle" value="Updated via api">
<input type="text" name="schDate" value="06-26-2007">
<input type="text" name="schTime" value="12:05">
<input type="text" name="remindMe" value="on time">
<input type="text" name="repeatInt" value="only once">
<input type="submit" value="Update Appointment" name="submit">
</form>
Output XML <response uri="/api/private/xml/appointment/update">
  <result>
    <Appointment>
      <appointment_id>42302</appointment_id>
      <appointment>Updated via api</appointment>
      <appointment_at>2007-06-26 15:45:00.0</appointment_at>
      <remind_me>on time</remind_me>
      <repeat_frequency>only once</repeat_frequency>
    </Appointment>
  </result>
</response>

How to delete an appointment


Method name http://planner.zoho.com/api/private/xml/appointment/delete/(appId)
API description Given the ticket, apikey and appId the appointment will be deleted on successful authentication.
Parameters to be passed ticket, apikey, appId
Sample call <form method="post" action="http://planner.zoho.com/api/private/xml/appointment/delete/2850?ticket=[Ticket]&apikey=[ApiKey]">

<input type="submit" value="Delete Appointment" name="submit">
</form>
Output XML <response uri="/api/private/xml/appointment/delete/2850">
  <result>
    <appointment_id>2850</appointment_id>
    <description>Appointment removed</description>
  </result>
</response>

How to get Time Zone


Method name http://planner.zoho.com/api/private/xml/timezone/get
API description Given the ticket, apikey returns the time zone on successful authentication.
Parameters to be passed ticket, apikey
Sample call <form method="post" action="http://planner.zoho.com/api/private/xml/timezone/get?ticket=[Ticket]&apikey=[ApiKey]">

<input type="submit" value="Get Time Zone" name="submit">
</form>
Output XML <response uri="/api/private/xml/appointment/timezone/get">
  <result>
    <TimeZone>
      <time_zone>(GMT+05:30) Chennai, Kolkata, Mumbai, New Delhi</time_zone>
    </TimeZone>
  </result>
</response>

How to set Time Zone


Method name http://planner.zoho.com/api/private/xml/timezone/set
API description Given the ticket, apikey and timeZone the time zone will be added/updated on successful authentication.
Parameters to be passed ticket, apikey, timeZone_iam (allowed values)
Sample call <form method="post" action="http://planner.zoho.com/api/private/xml/timezone/set?ticket=[Ticket]&apikey=[ApiKey]">

<input type="text" name="timeZone_iam" value="(GMT-05:00) Eastern Time (US & Canada)">
<input type="submit" value="Set Time Zone" name="submit">
</form>
Output XML <response uri="/api/private/xml/appointment/timezone/set">
  <result>
    <TimeZone>
      <time_zone>
(GMT-05:00) Eastern Time (US & Canada)</time_zone>
    </TimeZone>
  </result>
</response>


Error Codes and Messages


The list of exceptions that you will get while accessing the API methods are basically segregated into two categories -
General - This entails authentication errors as well as internal server errors while processing the request.
Input - This error may occur as a result of user missing out on providing mandatory arguments for the method, incorrect parameter values etc.
The error report will be in the form of HTTP error code and an XML error response. The list of error codes and a generalised XML error response is mentioned below:

Error Codes

The list of HTTP error codes are tabulated below:

Code Category Description
4400
General Error occurred while parsing the URI
4401
General
Authentication failed because of invalid "ticket"
4402 General
The specified operation (e.g. HTTP GET or POST) is not supported for this request
4405 General
No such Method. Incorrect method name
4890 General
The "apikey" specified in the request is invalid.
4891 General Bad request URI.
4832
Input
Missing argument error. Mandatory arguments, required for processing this request is missing
4833 Input Value specified for a parameter is of wrong type
Incase if you face any problem using our API or need any help for using Zoho Planner API. Please mail us at support@zohoplanner.com

Forums  Blogs  Public Pages  API  Privacy Policy  Terms of use
© 2007 AdventNet, Inc. All rights reserved.