BQE Core is a cloud-based business management solution motivated with the mission of enabling companies of all sizes to use its exceptional project management and accounting features. Core is an API-driven solution for professional services firms. It provides comprehensive capabilities: time, expenses, project management, project accounting, billing/invoices, accounts receivable management, and financial accounting functions.
BQE Software makes it easy for firms to manage their projects, resources, and business overall, boosting productivity and profitability. Our goal is simple; we want to make it easy for firms to manage their projects, resources, and overall business.

About Core API

Core APIs belong to the Representational State Transfer (REST) category. Representational State Transfer or REST refers to a group of software architecture design constraints that bring about efficient, reliable, and scalable systems. REST isn't a specific technology, but rather a data architecture and design methodology that produces predictable and consistent outputs and behaviors by receiving a set of standard methods called verbs and returning standardized structured data, typically JSON or XML, called the resource. Representational State Transfer is an accurate description of what's happening. We transition between representations of states and these representations are transformed back and forth between the application and the server. In designing these APIs, we have taken the simple REST principles as far as possible. We allow you to perform 'RESTful' operations such as creating, retrieving, updating or deleting data. Data entities are presented as HTTP resources and the standard HTTP verb semantics apply, making accessing data very intuitive.


How does it work? Who can access Core?
Before you can make requests with your APIs, you need to register for credentials on the Core Developer Portal. When these credentials are authenticated and authorized by the Admin user of a Core company, your app gets a set of tokens that allow it to call the Core APIs on behalf of the company. Read OAuth 2.0 for more details.

  • For GET requests, parameters are passed as query string:


  • For POST / PUT requests, parameters not included in the URL should be encoded as JSON with a Content-Type of application/json. Pass in a custom header with key X-UTC-OFFSET with offset as value (in minutes). If no such header is passed, a default of Pacific Standard Time is assumed.



When an error occurs, you will receive an error object. All error objects have an error code and an error description so that your application can tell what the problem is. For example, if you get a 4xx HTTP response code, you can assume there is a bad request from the client side. In this case, check the Standard Error Responses for more context. Or, if you receive 5xx errors, it suggests a problem on the server side; so in this case, check Core API Status Page and Twitter to see how our systems are doing. In any other case, you can use our support options. For more information on errors, click here.

Rate Limits

CORE APIs impose a limit on the number of API requests your applications can make in a given amount of time. If they exceed the limit, the API endpoints respond with a 429: Too Many Requests status code to the requests. Check out the Rate Limiting section for more details.

Code Samples

For each endpoint, you will find sample code snippets to use in the following formats:

  • cURL command
  • NODE
  • PHP
  • C#
  • JAVA