The Plutio API is a RESTful interface, resource-oriented URLs and uses HTTP response codes to indicate API errors, allowing you to programmatically update and access much of your data on the platform. It provides predictable URLs for accessing resources, and uses built-in HTTP features to receive commands and return responses. This makes it easy to communicate with from a wide variety of environments, from command-line utilities to browser plugins to native applications. *JSON is returned by all API responses, including errors.


1 September, 2022

  • New trash bin endpoints


We use a standard OAuth 2 authentication method.

You can generate an application key and a secret code from your settings page inside the Plutio app and use them to create a temporary access token.

YOUR_PLUTIO_SUBDOMAIN header value should be the first part of your Plutio domain. For example YOUR_PLUTIO_SUBDOMAIN value for would be test.

Visit the "Getting Started" section for more information.

Error Codes




Bad request. The server cannot or will not process the request due to an apparent client error (malformed request syntax, invalid params)


Unauthorized. Access token is invalid or missing.


Forbidden. User is not allowed to perform the action, usually due to permission settings.


Not found. The requested resource could not be found.


Method not allowed. A request method is not supported for the requested resource; for example, a GET request on a form that requires data to be presented via POST


Too Many Requests. Your API limits have been reached.


Internal server error. Server could not process your request due to unexpected condition. Please try again later or if the issue persists please contact us.

Rate limit

There is a current limit of 1000 API calls an hour.


You can use skip and limit query parameters to get a different set of items. will return tasks 21..70

Advanced queries (BETA)

You can use basic filters by supplying key-value pairs in GET request. For example to get a contact(s) with the first name of "leo", the get request URL would be

In cases where advanced filters are required, a special query param q can be used to provide a raw MongoDB query. This allows you to build queries such as finding contact(s) who have the first name as "Leo" or the last name as "Doe". For example{"$or":[{"name.first": "John" }, { "name.last": "Doe" }]} (Value must be a valid JSON)

Getting started

POST Generate access token

Block Groups

PUT Update block group

GET Get block group


POST Create block

PUT Update block

GET Get block

DELETE Delete block


GET Get business

PUT Update business

Canned Responses

GET Get canned response

POST Create canned response

PUT Update canned response

DELETE Delete canned response


GET Get category

POST Create category

PUT Update category

DELETE Delete category


GET Get comment

POST Create comment

PUT Update comment

DELETE Delete comment


GET Get company

POST Create company

PUT Update company

DELETE Delete company


GET Get contract

POST Create contract

PUT Update contract

DELETE Delete contract


GET Get conversation

POST Create conversation

PUT Update conversation

DELETE Delete conversation

Custom Fields

GET Get custom field

POST Create custom field

PUT Update custom field

DELETE Delete custom field

Dashboard Data

GET Get dashboard data

Dashboard Pages

POST Create dashboard page

PUT Update dashboard page

GET Get dashboard page

DELETE Delete dashboard page


PUT Update dashboard

GET Get dashboard


GET Get event

POST Create event

PUT Update event

DELETE Delete event

File Folders

GET Get file folder

POST Create file folder

PUT Update file folder

DELETE Delete file folder

POST Move file folder


GET Get file

POST Create file

PUT Update file

DELETE Delete file

POST Move file

Form Responses

POST Create form response

PUT Update form response

GET Get form response

DELETE Delete form response


POST Create form

PUT Update form

GET Get form

DELETE Delete form

POST Copy form

Inbox Groups

GET Get inbox group

POST Create inbox group

PUT Update inbox group

DELETE Delete inbox group

Invoice Subscriptions

GET Get invoice subscription

PUT Update invoice subscription

DELETE Delete invoice subscription


GET Get invoice

POST Create invoice

PUT Update invoice

DELETE Delete invoice


GET Get item

POST Create item

PUT Update item

DELETE Delete item


GET Get note

POST Create note

PUT Update note

DELETE Delete note


GET Get person

POST Create person

PUT Update person

DELETE Delete person


GET Get profile


GET Get project

POST Create project

PUT Update project

DELETE Delete project

POST Move project

POST Copy project


GET Get proposal

POST Create proposal

PUT Update proposal

DELETE Delete proposal


POST Create role

PUT Update role

DELETE Delete role


GET Get status

POST Create status

PUT Update status

DELETE Delete status

POST Move status

Task Boards

GET Get task board

POST Create task board

PUT Update task board

DELETE Delete task board

POST Move task board

POST Copy task board

Task Groups

GET Get task group

POST Create task group

PUT Update task group

DELETE Delete task group

POST Move task group

POST Copy task group


GET Get task

POST Create task

PUT Update task

DELETE Delete task

POST Move task

POST Copy task


GET Get template

POST Create template

PUT Update template

DELETE Delete template

Time Tracks

GET Get time track

POST Create time track

PUT Update time track

DELETE Delete time track

Trash bin

GET Get trash bin

DELETE Delete trash bin


GET Get wiki

POST Create wiki

PUT Update wiki

DELETE Delete wiki

Wiki Entities

GET Get wiki entity

POST Create wiki entity

PUT Update wiki entity

DELETE Delete wiki entity

POST Move wiki entity