UKG

UKG Timekeeping API

Punches, time entries, and timecards

Documentation

Specifications

Schemas & Data

📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/ukg/refs/heads/main/json-schema/pro-hcm-employee-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/ukg/refs/heads/main/json-schema/pro-hcm-employee-job-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/ukg/refs/heads/main/json-schema/pro-hcm-pay-rate-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/ukg/refs/heads/main/json-schema/pro-hcm-benefits-election-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/ukg/refs/heads/main/json-schema/pro-hcm-department-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/ukg/refs/heads/main/json-schema/pro-hcm-location-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/ukg/refs/heads/main/json-schema/pro-hcm-pay-statement-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/ukg/refs/heads/main/json-schema/pro-hcm-direct-deposit-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/ukg/refs/heads/main/json-schema/pro-hcm-personnel-change-request-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/ukg/refs/heads/main/json-schema/pro-hcm-personnel-change-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/ukg/refs/heads/main/json-schema/pro-hcm-employee-list-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/ukg/refs/heads/main/json-schema/pro-hcm-employee-id-list-schema.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/ukg/refs/heads/main/json-structure/pro-hcm-employee-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/ukg/refs/heads/main/json-structure/pro-hcm-employee-job-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/ukg/refs/heads/main/json-structure/pro-hcm-pay-rate-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/ukg/refs/heads/main/json-structure/pro-hcm-benefits-election-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/ukg/refs/heads/main/json-structure/pro-hcm-department-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/ukg/refs/heads/main/json-structure/pro-hcm-location-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/ukg/refs/heads/main/json-structure/pro-hcm-pay-statement-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/ukg/refs/heads/main/json-structure/pro-hcm-direct-deposit-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/ukg/refs/heads/main/json-structure/pro-hcm-personnel-change-request-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/ukg/refs/heads/main/json-structure/pro-hcm-personnel-change-response-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/ukg/refs/heads/main/json-structure/pro-hcm-employee-list-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/ukg/refs/heads/main/json-structure/pro-hcm-employee-id-list-structure.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/ukg/refs/heads/main/json-schema/pro-wfm-wfm-employee-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/ukg/refs/heads/main/json-schema/pro-wfm-timecard-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/ukg/refs/heads/main/json-schema/pro-wfm-punch-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/ukg/refs/heads/main/json-schema/pro-wfm-punch-request-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/ukg/refs/heads/main/json-schema/pro-wfm-accrual-balance-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/ukg/refs/heads/main/json-schema/pro-wfm-shift-schema.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/ukg/refs/heads/main/json-structure/pro-wfm-wfm-employee-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/ukg/refs/heads/main/json-structure/pro-wfm-timecard-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/ukg/refs/heads/main/json-structure/pro-wfm-punch-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/ukg/refs/heads/main/json-structure/pro-wfm-punch-request-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/ukg/refs/heads/main/json-structure/pro-wfm-accrual-balance-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/ukg/refs/heads/main/json-structure/pro-wfm-shift-structure.json

Other Resources

🔗
JSONLDContext
https://raw.githubusercontent.com/api-evangelist/ukg/refs/heads/main/json-ld/ukg-pro-hcm-context.jsonld
🔗
Examples
https://raw.githubusercontent.com/api-evangelist/ukg/refs/heads/main/examples/pro-hcm-employee-example.json
🔗
Examples
https://raw.githubusercontent.com/api-evangelist/ukg/refs/heads/main/examples/pro-hcm-employee-job-example.json
🔗
Examples
https://raw.githubusercontent.com/api-evangelist/ukg/refs/heads/main/examples/pro-hcm-pay-rate-example.json
🔗
Examples
https://raw.githubusercontent.com/api-evangelist/ukg/refs/heads/main/examples/pro-hcm-benefits-election-example.json
🔗
Examples
https://raw.githubusercontent.com/api-evangelist/ukg/refs/heads/main/examples/pro-hcm-department-example.json
🔗
Examples
https://raw.githubusercontent.com/api-evangelist/ukg/refs/heads/main/examples/pro-hcm-location-example.json
🔗
Examples
https://raw.githubusercontent.com/api-evangelist/ukg/refs/heads/main/examples/pro-hcm-pay-statement-example.json
🔗
Examples
https://raw.githubusercontent.com/api-evangelist/ukg/refs/heads/main/examples/pro-hcm-direct-deposit-example.json
🔗
Examples
https://raw.githubusercontent.com/api-evangelist/ukg/refs/heads/main/examples/pro-hcm-personnel-change-request-example.json
🔗
Examples
https://raw.githubusercontent.com/api-evangelist/ukg/refs/heads/main/examples/pro-hcm-personnel-change-response-example.json
🔗
Examples
https://raw.githubusercontent.com/api-evangelist/ukg/refs/heads/main/examples/pro-hcm-employee-list-example.json
🔗
Examples
https://raw.githubusercontent.com/api-evangelist/ukg/refs/heads/main/examples/pro-hcm-employee-id-list-example.json
🔗
JSONLDContext
https://raw.githubusercontent.com/api-evangelist/ukg/refs/heads/main/json-ld/ukg-pro-wfm-context.jsonld
🔗
Examples
https://raw.githubusercontent.com/api-evangelist/ukg/refs/heads/main/examples/pro-wfm-wfm-employee-example.json
🔗
Examples
https://raw.githubusercontent.com/api-evangelist/ukg/refs/heads/main/examples/pro-wfm-timecard-example.json
🔗
Examples
https://raw.githubusercontent.com/api-evangelist/ukg/refs/heads/main/examples/pro-wfm-punch-example.json
🔗
Examples
https://raw.githubusercontent.com/api-evangelist/ukg/refs/heads/main/examples/pro-wfm-punch-request-example.json
🔗
Examples
https://raw.githubusercontent.com/api-evangelist/ukg/refs/heads/main/examples/pro-wfm-accrual-balance-example.json
🔗
Examples
https://raw.githubusercontent.com/api-evangelist/ukg/refs/heads/main/examples/pro-wfm-shift-example.json

OpenAPI Specification

ukg-timekeeping-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: UKG Pro HCM Accruals Timekeeping API
  description: The UKG Pro HCM API provides programmatic access to human capital management data including employees, personnel actions, benefits, payroll, performance, and organizational structure. Supports REST-based web services with Basic Authentication and API key authorization, enabling integrations with HR systems, payroll processors, benefits administrators, and analytics platforms. Base URL for US tenants is https://service.ultipro.com.
  version: '2.0'
  contact:
    name: UKG Developer Support
    url: https://developer.ukg.com
  termsOfService: https://www.ukg.com/legal/terms
  x-generated-from: documentation
servers:
- url: https://service.ultipro.com
  description: UKG Pro HCM API (US)
- url: https://service.ultipro.ca
  description: UKG Pro HCM API (Canada)
security:
- basicAuth: []
tags:
- name: Timekeeping
  description: Punches, time entries, and timecards
paths:
  /v1/employees/{employeeId}/timecards:
    get:
      operationId: getEmployeeTimecards
      summary: UKG Pro WFM Get Employee Timecards
      description: Retrieve timecard records for an employee within a date range.
      tags:
      - Timekeeping
      parameters:
      - name: employeeId
        in: path
        required: true
        schema:
          type: string
        description: Employee identifier
        example: EMP001
      - name: startDate
        in: query
        required: true
        schema:
          type: string
          format: date
        description: Start date for timecard retrieval
        example: '2026-01-01'
      - name: endDate
        in: query
        required: true
        schema:
          type: string
          format: date
        description: End date for timecard retrieval
        example: '2026-01-14'
      responses:
        '200':
          description: Employee timecards
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Timecard'
              examples:
                getEmployeeTimecards200Example:
                  summary: Default getEmployeeTimecards 200 response
                  x-microcks-default: true
                  value:
                  - timecardId: example-value
                    employeeId: example-value
                    periodStart: '2026-01-15'
                    periodEnd: '2026-01-15'
                    totalHours: 1.0
                    regularHours: 1.0
                    overtimeHours: 1.0
                    status: Open
        '404':
          description: Employee not found
        '401':
          description: Unauthorized
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /v1/employees/{employeeId}/punches:
    get:
      operationId: getEmployeePunches
      summary: UKG Pro WFM Get Employee Punches
      description: Retrieve clock punch records for an employee.
      tags:
      - Timekeeping
      parameters:
      - name: employeeId
        in: path
        required: true
        schema:
          type: string
        description: Employee identifier
        example: EMP001
      - name: startDate
        in: query
        schema:
          type: string
          format: date
        description: Start date for punch retrieval
        example: '2026-01-01'
      - name: endDate
        in: query
        schema:
          type: string
          format: date
        description: End date for punch retrieval
        example: '2026-01-14'
      responses:
        '200':
          description: Employee punch records
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Punch'
              examples:
                getEmployeePunches200Example:
                  summary: Default getEmployeePunches 200 response
                  x-microcks-default: true
                  value:
                  - punchId: example-value
                    employeeId: example-value
                    punchTime: '2026-01-15T10:30:00Z'
                    punchType: In
                    locationId: example-value
                    jobCode: example-value
        '401':
          description: Unauthorized
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    post:
      operationId: createPunch
      summary: UKG Pro WFM Create Punch
      description: Submit a clock punch for an employee (in, out, or transfer).
      tags:
      - Timekeeping
      parameters:
      - name: employeeId
        in: path
        required: true
        schema:
          type: string
        description: Employee identifier
        example: EMP001
      requestBody:
        required: true
        description: Punch details
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PunchRequest'
            examples:
              createPunchRequestExample:
                summary: Default createPunch request
                x-microcks-default: true
                value:
                  punchTime: '2026-01-15T10:30:00Z'
                  punchType: In
                  locationId: example-value
                  jobCode: example-value
      responses:
        '201':
          description: Punch created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Punch'
              examples:
                createPunch201Example:
                  summary: Default createPunch 201 response
                  x-microcks-default: true
                  value:
                    punchId: example-value
                    employeeId: example-value
                    punchTime: '2026-01-15T10:30:00Z'
                    punchType: In
                    locationId: example-value
                    jobCode: example-value
        '400':
          description: Invalid punch data
        '401':
          description: Unauthorized
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
components:
  schemas:
    PunchRequest:
      type: object
      description: Request to create a clock punch
      required:
      - punchTime
      - punchType
      properties:
        punchTime:
          type: string
          format: date-time
          description: Punch timestamp
          example: '2026-01-15T09:00:00Z'
        punchType:
          type: string
          description: Type of punch
          example: In
          enum:
          - In
          - Out
          - Transfer
        locationId:
          type: string
          description: Location identifier
          example: EMP001
        jobCode:
          type: string
          description: Job code for this punch
          example: example-value
    Timecard:
      type: object
      description: Employee timecard for a pay period
      properties:
        timecardId:
          type: string
          description: Timecard identifier
          example: EMP001
        employeeId:
          type: string
          description: Employee identifier
          example: EMP001
        periodStart:
          type: string
          format: date
          description: Pay period start date
          example: '2026-01-15'
        periodEnd:
          type: string
          format: date
          description: Pay period end date
          example: '2026-01-15'
        totalHours:
          type: number
          format: double
          description: Total hours worked
          example: 80.0
        regularHours:
          type: number
          format: double
          description: Regular hours
          example: 80.0
        overtimeHours:
          type: number
          format: double
          description: Overtime hours
          example: 0.0
        status:
          type: string
          description: Timecard approval status
          example: Approved
          enum:
          - Open
          - Submitted
          - Approved
          - Rejected
    Punch:
      type: object
      description: Clock punch record
      properties:
        punchId:
          type: string
          description: Punch identifier
          example: EMP001
        employeeId:
          type: string
          description: Employee identifier
          example: EMP001
        punchTime:
          type: string
          format: date-time
          description: Punch date and time
          example: '2026-01-15T09:00:00Z'
        punchType:
          type: string
          description: Type of punch
          example: In
          enum:
          - In
          - Out
          - Transfer
          - Meal Start
          - Meal End
        locationId:
          type: string
          description: Location where punch occurred
          example: EMP001
        jobCode:
          type: string
          description: Job code for this punch
          example: example-value
  securitySchemes:
    basicAuth:
      type: http
      scheme: basic
      description: Basic authentication with service account credentials plus US-API-Key header