API Headers

Using headers we can tell the server what information we are sending to it and what we expect in return. The Core REST APIs supports the following common HTTP request and response headers.

Accept: The Accept request header specifies the desired media type of the response. Core uses application/json for most API interactions.
Accept-Encoding: This represents the desired content-coding in the response. This is usually set by the request library in use if that library supports HTTP compression. This can significantly improve the performance of your app when interacting with Core APIs, due to the reduced size of the response data.
Authorization: The HTTP Authorization request header contains the credentials to authenticate a user agent with a server. This header is required for all the requests
Connection: The Connection general header controls whether or not the network connection stays open after the current transaction finishes. If the value sent is keep-alive, the connection is persistent and not closed, allowing for subsequent requests to the same server to be done.
Date: The date header specifies the date/time at which the message originated
Host: The Host header specifies the host and port number of requested resource
X-UTC-Offset: The offset is the number of hours or minutes a certain time zone is ahead of or behind GMT. A time zone’s offset can change throughout the year because of Daylight Saving Time.
Referrer: The Referer request header field allows the client to specify the address URI of the resource from which the URL has been requested
User-Agent: The User-Agent header specifies the identifier string for a Web browser or user agent

Allow: The Allow entity header field lists the set of methods supported by the resource identified by the Request-URI
Content-Language: The Content-Language entity header field describes the natural languages of the intended audience for the enclosed entity
Content-Type: The Content-Type entity header field indicates the media type of the entity-body sent to the recipient. Core API objects are returned as application/json
Content-Length: The Content-Length entity header field indicates the size of the entity-body. This header is used for POST APIs
Date: The date header specifies the date/time at which the message originated


Custom Fields

Custom fields in Core give you the ability to add additional data that is not included in your records or profile by default. Every employee, client, and project record can have custom fields.

How to Use Custom Fields

  1. Create a custom field, say, "Phone". To see how to create a custom field, click here. A successful request returns the custom field in the response with a status code 201.

    Example Request
  2. Assign it to a module, say, "Client". To see how to assign a custom field, click here. A successful request returns no content with a status code 200.

    Example Request

  3. Get the list of assigned custom fields using the list endpoint with the following query string: where="module=6 AND id='2385d222-721f-4f67-80a0-b66b1bb47f4a'".

    Example Request
  4. Set the value of a custom field. In the API request below, you are adding the field value while creating a client.

    Example Request

Learn more about how to


Date Time Format

Some requests that create new data allow you to provide time zone information when specifying or generating timestamps. We apply the following rules to determine timezone information for API calls. ISO 8601 provides a standard cross-national approach.

ISO 8601 Date Time Format
When dates are represented with numbers they can be interpreted in different ways. For example, 01/05/12 could mean January 5, 2012, or May 1, 2012. On an individual level this uncertainty can be very frustrating, in a business context it can be very expensive or serious.
ISO 8601 tackles this uncertainty by setting out an internationally agreed way to represent dates: YYYY-MM-DDThh-mm-ss
where:
YYYY = four-digit year
MM = two-digit month (eg 03=March)
DD = two-digit day of the month (01 through 31)
T = a set character indicating the start of time element
hh = two digits of an hour (00 through 23, AM/PM not included)
mm = two digits of a minute (00 through 59)
ss = two digits of a second (00 through 59)
mmm = three digits of a millisecond (000 through 999)
Example: An API call to retrieve a time entry, where the created on date is greater than 2019-01-01T21:00:00

Example Request


Subscriptions

Subscriptions allows you to manage the resources you are accessing using Core. The APIs you consume directly depend on the subscription you have purchased in Core. All subscription payments are associated with the company and not the owner of the account. Click below to see which APIs are included in your subscription.

The first subscription must have the Manager package as a minimum in Core.

Core Essentials

This is essentially a bundled version of Time & Expense, Manager, and Billing packages.
Learn More

Manager

If you are subscribed to this package in Core, you will be able to create and maintain employees
Learn More

Billing

This subscription package includes features for managing your invoices and is aimed at billing managers
Learn More

Accounting

This subscription package includes features for managing your accounts payable
Learn More

Time & Expense

If you are subscribed to this package in Core, you will be able to use time and expense APIs.
Learn More

HR Administrator

This subscription package includes features for managing your human resources
Learn More

HR Standard

This subscription package is suitable for regular users who need to view their own HR information
Learn More

General

This subscription package includes general features in Core that are included for free
Learn More