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.

What's new

  1. We've rebuild the structure of Invoice to use our `blocks` system, similar to proposals.
  2. Proposals, contracts, wiki and wiki entities are no longer store blocks as list of objects. Instead, they stores only block IDs.
  3. Block templates have been renamed to block group templates.
  4. A single file can be linked to multiple entities. A new field linkedEntities has been added.
  5. /blocks endpoint is now being used for entity blocks (proposal, invoice, contract, wiki and wiki entity) instead of block templates.
  6. New endpoint /block-groups has been added. It's being used by Templates to save a group of blocks.


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.

Allowed list values

Block groups

GET Get block group

PUT Update block group


POST Create block

GET Get block

PUT Update block

DELETE Delete block


GET Get business

PUT Update business

Canned responses

POST Create canned response

GET Get canned response

PUT Update canned response

DELETE Delete canned response


POST Create category

GET Get category

PUT Update category

DELETE Delete category


POST Create comment

GET Get comment

PUT Update comment

DELETE Delete comment


POST Create company

GET Get company

PUT Update company

DELETE Delete company


POST Create contract

GET Get contract

PUT Update contract

DELETE Delete contract


POST Create conversation

GET Get conversation

PUT Update conversation

DELETE Delete conversation

Custom fields

POST Create custom field

GET Get custom field

PUT Update custom field

DELETE Delete custom field


POST Create event

GET Get event

PUT Update event

DELETE Delete event


POST Create folder

GET Get folder

PUT Update folder

POST Move folder

DELETE Delete folder


POST Create file

GET Get file

PUT Update file

POST Move file

DELETE Delete file

Inbox groups

POST Create inbox group

GET Get inbox group

PUT Update inbox group

DELETE Delete inbox group

Invoice subscriptions

GET Get subscription

PUT Update subscription

DELETE Delete subscription


POST Create invoice

GET Get invoice

PUT Update invoice

DELETE Delete invoice


POST Create item

GET Get item

PUT Update item

DELETE Delete item


POST Create note

GET Get note

PUT Update note

DELETE Delete note


POST Create person

GET Get person

PUT Update person

DELETE Delete/archive person


GET Get profile


POST Create project

GET Get project

PUT Update project

POST Copy project

POST Move project

DELETE Delete project


POST Create proposal

GET Get proposal

PUT Update proposal

DELETE Delete proposal


POST Create role

PUT Update role

DELETE Delete role


POST Create status

GET Get status

PUT Update status

POST Move status

DELETE Delete status

Task boards

POST Create task board

GET Get task board

PUT Update task board

POST Move task board

POST Copy task board

DELETE Delete task board

Task groups

POST Create task group

GET Get task group

PUT Update task group

POST Move task group

POST Copy task group

DELETE Delete task group


POST Create task

GET Get task

PUT Update task

POST Move task

POST Copy task

DELETE Delete task


POST Create template

GET Get template

PUT Update template

DELETE Delete template

Time tracking

POST Create time entry

GET Get time entry

PUT Update time entry

DELETE Delete time entry


POST Create workspace

GET Get workspace

PUT Update workspace

DELETE Delete workspace

Wiki entities

POST Create workspace entity

GET Get workspace entity

PUT Update workspace entity

POST Move workspace entity

DELETE Delete workspace entity