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


PUT Update business

GET Get business

Canned Responses

POST Create canned response

PUT Update canned response

GET Get canned response

DELETE Delete canned response


POST Create category

PUT Update category

GET Get category

DELETE Delete category


POST Create comment

PUT Update comment

GET Get comment

DELETE Delete comment


POST Create company

PUT Update company

GET Get company

DELETE Delete company


POST Create contract

PUT Update contract

GET Get contract

DELETE Delete contract


POST Create conversation

PUT Update conversation

GET Get conversation

DELETE Delete conversation

Custom Fields

POST Create custom field

PUT Update custom field

GET Get 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


POST Create event

PUT Update event

GET Get event

DELETE Delete event

File Folders

POST Create file folder

POST Move file folder

PUT Update file folder

GET Get file folder

DELETE Delete file folder


POST Create file

POST Move file

PUT Update file

GET Get file

DELETE Delete file

Form Responses

POST Create form response

PUT Update form response

GET Get form response

DELETE Delete form response


POST Create form

POST Copy form

PUT Update form

GET Get form

DELETE Delete form

Inbox Groups

POST Create inbox group

PUT Update inbox group

GET Get inbox group

DELETE Delete inbox group

Invoice Subscriptions

POST Create invoice subscription

PUT Update invoice subscription

GET Get invoice subscription

DELETE Delete invoice subscription


POST Create invoice

PUT Update invoice

GET Get invoice

DELETE Delete invoice


POST Create item

PUT Update item

GET Get item

DELETE Delete item


POST Create note

PUT Update note

GET Get note

DELETE Delete note


POST Create person

PUT Update person

GET Get person

DELETE Delete person


GET Get profile


POST Create project

POST Move project

POST Copy project

PUT Update project

GET Get project

DELETE Delete project


POST Create proposal

PUT Update proposal

GET Get proposal

DELETE Delete proposal


POST Create role

PUT Update role

DELETE Delete role


POST Create status

POST Move status

PUT Update status

GET Get status

DELETE Delete status

Task Boards

POST Create task board

POST Move task board

POST Copy task board

PUT Update task board

GET Get task board

DELETE Delete task board

Task Groups

POST Create task group

POST Move task group

POST Copy task group

PUT Update task group

GET Get task group

DELETE Delete task group


POST Create task

POST Move task

POST Copy task

PUT Update task

GET Get task

DELETE Delete task


POST Create template

PUT Update template

GET Get template

DELETE Delete template

Time Tracks

POST Create time track

PUT Update time track

GET Get time track

DELETE Delete time track

Trash bin

GET Get trash bin

DELETE Delete trash bin


POST Create wiki

PUT Update wiki

GET Get wiki

DELETE Delete wiki

Wiki Entities

POST Create wiki entity

POST Move wiki entity

PUT Update wiki entity

GET Get wiki entity

DELETE Delete wiki entity