ProofHub Bolt's API
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
sections
README.md

README.md

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.

Getting an API key

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 opened.

Making a request

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 app 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

API endpoints

Things to remember

  • JSON Format

    We support JSON for receiving and sending the data. You must include Content-Type: application/json header with every POST and PUT request. Requests with invalid formats will be returned with 415 response.

  • 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 50 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.