#Paymo 3 API
- Making a request
- Authentication
- Request and response content types
- Response codes and error handling
- Rate limiting
- API Endpoints
- Data formats
- Filtering
- Including related content
The Paymo 3 API is not compatible with the Paymo 2 API. This is a RESTful API that uses XML/JSON for serialization.
Accepted request types (HTTP verbs) are: GET, POST, PUT, DELETE.
The API base URL is https://app.paymoapp.com/api/
. It is SSL 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'
https://app.paymoapp.com/api/clients
Updating a client using curl
my look like:
curl -u email:password
-H 'Accept: application/json'
-d "name=updated%20name"
https://app.paymoapp.com/api/clients/12345
Read the authentication guide for more details.
##Request and response content types
Paymo 3 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 3 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.
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.
- Company
- Users
- Sessions
- Clients
- Client Contacts
- Projects
- Task Lists
- Tasks
- Time Entries
- Milestones
- Files
- Discussions
- Comments
- Reports
- Invoices
- Estimates
- Recurring Invoice Profiles
- Tags
- Project Templates
- Invoice Templates
- Estimate Templates
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
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
##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.