Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we
store it to create your key and to recognise you if you sign in with another
provider. See our Privacy Policy and
Terms.
openapi: 3.2.0
info:
version: 1.0.1
title: Leapsome Time Tracking API
contact:
name: Support
url: https://leapsome.zendesk.com
description: The Content API enables you to export some raw data from Leapsome for usage within your own systems and beyond what the Leapsome application offers natively. Usage is restricted to a maximum of 20 requests per second when making requests in parallel. If you exceed this limit, you will receive a 429 status code.
servers:
- url: https://api.leapsome.com/v1
tags:
- name: Time Tracking
paths:
/time-tracking/timesheets:
get:
summary: List timesheets
description: Get a paginated list of timesheets with optional filtering by username (email) or employee ID. Returns timesheet details including status, dates, and work hour calculations. Requires permission to manage time tracking policies.
operationId: listTimesheets
security:
- bearerAuth: []
tags:
- Time Tracking
parameters:
- name: username
in: query
required: false
description: Filter by employee email address
schema:
type: string
format: email
- name: employeeId
in: query
required: false
description: Filter by Leapsome employee ID
schema:
type: string
pattern: ^[0-9a-f]{24}$
- name: offset
in: query
required: false
description: Number of results to skip
schema:
type: integer
minimum: 0
default: 0
- name: limit
in: query
required: false
description: Maximum number of results to return
schema:
type: integer
minimum: 1
maximum: 1000
default: 100
responses:
'200':
description: A list of timesheets
content:
application/json:
schema:
$ref: '#/components/schemas/TimesheetList'
'401':
description: Authorization failed. Token is missing or invalid.
'403':
description: Insufficient permissions. Permission to manage time tracking policies is required.
components:
schemas:
TimesheetList:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/Timesheet'
meta:
type: object
properties:
page:
type: integer
description: Current page number
pageSize:
type: integer
description: Number of items per page
totalCount:
type: integer
description: Total number of timesheets
Timesheet:
type: object
properties:
id:
type: string
pattern: ^[0-9a-f]{24}$
example: 58d55e3ffdc2eb20547edd0a
description: Timesheet ID
user:
type: object
properties:
id:
type: string
pattern: ^[0-9a-f]{24}$
example: 58d55e3ffdc2eb20547edd0a
name:
type: string
email:
type: string
format: email
example: jane.doe@example.com
description: Employee email address
status:
type: string
enum:
- open
- pendingApproval
- closed
example: open
description: Current status of the timesheet
startDate:
type: string
format: date-time
description: Start date of the timesheet period
endDate:
type: string
format: date-time
description: End date of the timesheet period
hoursWorked:
type: string
example: PT10H
description: Total hours worked in the period (duration in ISO 8601 format)
compensableHours:
type: string
example: PT10H
description: Total compensable hours in the period (duration in ISO 8601 format)
overtimeHours:
type: string
example: PT10H
description: Total overtime hours in the period (duration in ISO 8601 format)
workDuration:
type: string
example: PT10H
description: Total work duration in the period (duration in ISO 8601 format)
projects:
type: array
items:
type: object
properties:
id:
type: string
pattern: ^[0-9a-f]{24}$
title:
type: string
description: Projects the employee worked on in the timesheet period
securitySchemes:
bearerAuth:
type: http
scheme: bearer
bearerFormat: JWT