Find an API

Search public APIs with auth details & Postman guides

← All APIs

UKG Pro (Kronos) REST API

ukg.com · Company

Company OAuth2 Paid Healthcare Manufacturing Retail & E-Commerce HR Workforce Management Payroll

REST APIs for UKG Pro (formerly Kronos and Ultimate Software) — covering time and attendance, scheduling, HR, and payroll. Widely used in healthcare, retail, and manufacturing for workforce management. Requires UKG customer tenant.

Authentication

OAuth2 OAuth2 client credentials. Client ID and secret provisioned through UKG customer portal or implementation team.

Sample Requests

GET Get employee time entries

Returns employee time punch entries for a date range.

https://{tenant}.ultipro.com/api/v1/timemanagement/time-entries?endDate=2024-01-07&pageSize=50&startDate=2024-01-01

Hover any highlighted part to learn what it does

Headers — extra info sent with the request
Authorization Bearer YOUR_ACCESS_TOKEN
US-Customer-Api-Key YOUR_CUSTOMER_API_KEY
curl -X GET "https://{tenant}.ultipro.com/api/v1/timemanagement/time-entries?endDate=2024-01-07&pageSize=50&startDate=2024-01-01" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
  -H "US-Customer-Api-Key: YOUR_CUSTOMER_API_KEY"
import requests
params = {
    "endDate": "2024-01-07",
    "pageSize": "50",
    "startDate": "2024-01-01"
}
headers = {
    "Authorization": "Bearer YOUR_ACCESS_TOKEN",
    "US-Customer-Api-Key": "YOUR_CUSTOMER_API_KEY"
}
response = requests.get(
    "https://{tenant}.ultipro.com/api/v1/timemanagement/time-entries",
    params=params,
    headers=headers,
)
print(response.json())
const url = new URL('https://{tenant}.ultipro.com/api/v1/timemanagement/time-entries');
url.searchParams.set('endDate', '2024-01-07');
url.searchParams.set('pageSize', '50');
url.searchParams.set('startDate', '2024-01-01');

const response = await fetch(url, {
  headers: {
    'Authorization': 'Bearer YOUR_ACCESS_TOKEN',
    'US-Customer-Api-Key': 'YOUR_CUSTOMER_API_KEY'
  },
}); 
const data = await response.json();
console.log(data);
package main

import (
	"fmt"
	"io"
	"net/http"
	"net/url"
)

func main() {
	baseURL, _ := url.Parse("https://{tenant}.ultipro.com/api/v1/timemanagement/time-entries")
	q := baseURL.Query()
	q.Set("endDate", "2024-01-07")
	q.Set("pageSize", "50")
	q.Set("startDate", "2024-01-01")
	baseURL.RawQuery = q.Encode()
	targetURL := baseURL.String()
	req, _ := http.NewRequest("GET", targetURL, nil)
	req.Header.Set("Authorization", "Bearer YOUR_ACCESS_TOKEN")
	req.Header.Set("US-Customer-Api-Key", "YOUR_CUSTOMER_API_KEY")

	client := &http.Client{}
	resp, _ := client.Do(req)
	defer resp.Body.Close()
	body, _ := io.ReadAll(resp.Body)
	fmt.Println(string(body))
}
require "net/http"
require "json"

uri = URI("https://{tenant}.ultipro.com/api/v1/timemanagement/time-entries")
uri.query = URI.encode_www_form({
  "endDate" => "2024-01-07",
  "pageSize" => "50",
  "startDate" => "2024-01-01"
})

http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = uri.scheme == "https"

req = Net::HTTP::Get.new(uri)
req["Authorization"] = "Bearer YOUR_ACCESS_TOKEN"
req["US-Customer-Api-Key"] = "YOUR_CUSTOMER_API_KEY"

res = http.request(req)
puts JSON.parse(res.body)
<?php
$url = "https://{tenant}.ultipro.com/api/v1/timemanagement/time-entries?" . http_build_query([
    "endDate" => "2024-01-07",
    "pageSize" => "50",
    "startDate" => "2024-01-01"
]);
$opts = ["http" => [
    "method" => "GET",
    "header" => implode("\r\n", [
        "Authorization: Bearer YOUR_ACCESS_TOKEN",
        "US-Customer-Api-Key: YOUR_CUSTOMER_API_KEY"
    ]),
]];
$ctx = stream_context_create($opts);
$res = file_get_contents($url, false, $ctx);
print_r(json_decode($res, true));

Postman Setup Guide

Get Postman ↗
  1. Requires UKG Pro (Kronos/Ultimate) customer tenant
  2. Get OAuth2 credentials from your UKG implementation team or customer portal
  3. Some APIs also require a Customer API Key header in addition to OAuth token
  4. UKG has separate APIs for UKG Pro (HCM/payroll) and UKG Dimensions (time/attendance)
  5. Developer documentation at https://developer.ukg.com (login required)
  6. Use sandbox/test environment — never write to production without testing

What can you build with UKG Pro (Kronos) REST API?

UKG Pro (Kronos) REST API is a Company API. Developers commonly use company APIs for:

  • enriching CRM records with company firmographics
  • building lead-generation and prospecting tools
  • verifying business identity and registration details
  • monitoring competitors and market intelligence
  • powering B2B data enrichment pipelines

OAuth 2.0. OAuth lets your app act on behalf of a user. You redirect them to authorise access, receive a token, then use that token in requests. Best for accessing user-owned data. UKG Pro (Kronos) REST API is a paid API — check the provider's pricing page before building a production integration.

New to APIs? Read our beginner's guide · Learn about API keys · What is REST?

Open documentation ↗