Skip to content

ProofHub API

This RESTful API is an interface to the resources in ProofHub e.g. Projects, Discussions, Tasks, Files, Notes, People etc.

If you are new to REST, you can understand the basics at http://en.wikipedia.org/wiki/REST. ProofHub's RESTful API accepts and returns JSON for serialisation.

Any user can get their own API key by visiting the Manage Profile dropdown and clicking 5 times on the profile picture. The API key of the logged-in user will be displayed in the pop-up window that opens.

All URLs (Base URL) start with https://companyurl.proofhub.com/api/v3/ (No HTTP, only HTTPS). You'll also need to include the User-Agent header to identify your application with every request.

Here is a curl based example:

curl -H 'X-API-KEY: YOUR API KEY' -H 'User-Agent: AppName (name@example.com)' https://companyurl.proofhub.com/api/v3/projects

To create something, it's the same deal except you also have to include the Content-Type header and the JSON data:

curl -H 'X-API-KEY: YOUR API KEY' -H 'Content-Type: application/json' -H 'User-Agent: AppName (name@example.com)' -X POST -d '{ "name": "New project!" }' https://companyurl.proofhub.com/api/v3/projects

JSON Format

We support JSON for receiving and sending data. You must include Content-Type: application/json with every POST and PUT request.

Identify your app

You must include the User-Agent: AppName (name@example.com) header with every request. If this header is not supplied, request will be returned with 400 response.

Rate Limits

API calls are subject to rate limiting. Exceeding any rate limits will result in requests returning a status code of 429 (Too Many Requests). Rate limits are 25 requests per 10 second for the same account from the same IP. Check the Retry-After header to learn how many seconds to wait before retrying the request.

Handling errors

Error codes 500 Internal Server Error, 502 Bad Gateway, 503 Service Unavailable, or 504 Gateway Timeout means an error has occurred at our end. Re-trying in some time should solve the problem.