Skip to content


Folders and files

Last commit message
Last commit date

Latest commit


Repository files navigation

Paymo is a project management software for small and medium businesses that allows you to manage projects from start to finish.

This is the official Paymo API.

Paymo API

The Paymo is a RESTful API that uses JSON/XML for serialization.

Accepted request types (HTTP verbs) are: GET, POST, PUT, DELETE.

Making a request

The API base URL is It is SSL/TLS 1.2 only. There is no way to use the API over unsecure http:// protocol.

An example request using curl for retrieving the list of clients may look like this:

curl -u email:password
  -H 'Accept: application/json'

Updating a client using curl may look like:

curl -u email:password
  -H 'Accept: application/json'
  -d "name=updated%20name"

See sample code examples on how to make a request to the API.


Read the authentication guide for more details.

Request and response content types

Paymo API supports JSON as well as XML for data serialization, as well as specific types such as PDF, XLS for reports, invoices, estimates.

Read more about content types.

Response codes and error handling

The Paymo API will return a 2xx status code for successful requests. The 4xx error means an error on the user side. And the 5xx errors are returned when the Paymo service is having trouble processing your request.

The response in case of error will contain an error message to help you fix it.

You may want to consult a reference for HTTP Status codes.

Rate limiting

If you exceed the rate limit, you'll get a 429 Too Many Requests response and for all following requests until the limit expires. A header Retry-After will also be returned and will represent the number of seconds you should wait before making the next request.

The following response headers will help you with the current API usage:

  • X-Ratelimit-Decay-Period: the length in seconds of the current time interval for which the limits are applied
  • X-Ratelimit-Limit: the total number of API requests allowed per decay period
  • X-Ratelimit-Remaining: the number of remaining API requests in the current decay period

API endpoints

Data formats

For a sample and an explanation of each endpoint object, see individual endpoint pages.


If you want to filter the response of listings, you can do so by supplying the where parameter in the request URL.

Read more about response filtering

Including related content

If you want a response to include additional information about an object, you can do so by supplying the include or partial_include parameters in the request URL.

Read more about additional includes


Webhooks allow for 3rd party integrations.

By creating a webhook you create a link between an event in Paymo (e.g. adding a task) and a URL that will be notified by Paymo when the event occurs.

Read more about webhooks

Help us make it better

Please tell us how we can make the API better. If you have a specific feature request or if you found a bug, please use GitHub issues. Fork these docs and send a pull request with improvements.