---
title: "Get approval requests"
method: GET
path: "/v1/workspaces/{workspaceId}/approval-requests"
tags: ["Approval"]
---

# Get approval requests

`GET /v1/workspaces/{workspaceId}/approval-requests`

## Path parameters

- `workspaceId` string, required — Represents workspace identifier across the system.

## Query parameters

- `status` 'PENDING' | 'APPROVED' | 'WITHDRAWN_APPROVAL'
- `sort-column` 'ID' | 'USER_ID' | 'START' | 'UPDATED_AT'
- `sort-order` 'ASCENDING' | 'DESCENDING'
- `page` integer — Page number.
- `page-size` integer — Page size.
- `types` string[]

## Response `200`

OK

- ApprovalDetailsDtoV1[]
  - `approvalRequest` ApprovalRequestDtoV1 — Represents a valid approval request data transfer object.
    - `creator` ApprovalRequestCreatorDtoV1 — Represents approval request creator object.
      - `userEmail` string — Represents user email.
      - `userId` string — Represents user identifier across the system.
      - `userName` string — Represents user name.
    - `dateRange` DateRangeDto — Represents date range object.
      - `end` string, date-time
      - `start` string, date-time
    - `id` string — Represents approval request identifier across the workspace.
    - `owner` ApprovalRequestOwnerDtoV1 — Represents approval request owner object.
      - `startOfWeek` 'MONDAY' | 'TUESDAY' | 'WEDNESDAY' | 'THURSDAY' | 'FRIDAY' | 'SATURDAY' | 'SUNDAY' — Represents a day of the week.
      - `timeZone` string — Represents time zone.
      - `userId` string — Represents user identifier across the system.
      - `userName` string — Represents user name.
    - `status` ApprovalRequestStatusDtoV1 — Represents approval request status object.
      - `note` string — Represents an approval requesst note.
      - `state` 'PENDING' | 'APPROVED' | 'WITHDRAWN_SUBMISSION' | 'WITHDRAWN_APPROVAL' | 'REJECTED' — Represents approval state enum.
      - `updatedAt` string, date-time — Represents a date in yyyy-MM-ddThh:mm:ssZ format.
      - `updatedBy` string — Represents user identifier across the system.
      - `updatedByUserName` string — Represents user name.
    - `type` string — Represents approval request type.
    - `workspaceId` string — Represents workspace identifier across the system.
  - `approvedTime` string — Represents a time duration.
  - `billableAmount` number, double
  - `billableTime` string — Represents a time duration.
  - `breakTime` string — Represents a time duration.
  - `costAmount` number, double — Represents an amount.
  - `entries` TimeEntryInfoDto[] — Represents a list of time entry info data transfer objects.
    - `approvalRequestId` string — Represents approval identifier across the system.
    - `billable` boolean — Indicates whether time entry is billable or not.
    - `costRate` RateDto — Represents cost rate object.
      - `amount` integer — Represents an amount as integer.
      - `currency` string — Represents a currency.
    - `customFieldValues` CustomFieldValueDto[] — Represents a list of custom field value objects.
      - `customFieldId` string — Represents custom field identifier across the system.
      - `sourceType` 'WORKSPACE' | 'PROJECT' | 'TIMEENTRY' — Represents a custom field value source type.
      - `timeEntryId` string — Represents time entry identifier across the system.
      - `value` object — Represents custom field value.
    - `description` string — Represents a time entry description.
    - `hourlyRate` RateDto — Represents cost rate object.
      - `amount` integer — Represents an amount as integer.
      - `currency` string — Represents a currency.
    - `id` string — Represents time entry identifier across the system.
    - `isLocked` boolean — Indicates whether time entry is locked or not.
    - `project` ProjectInfoDto — Represents a project info object.
      - `clientId` string — Represents client identifier across the system.
      - `clientName` string — Represents client name.
      - `color` string — Color format ^#(?:[0-9a-fA-F]{6}){1}$. Explanation: A valid color code should start with '#' and consist of six hexadecimal characters, representing a color in hexadecimal format. Color value is in standard RGB hexadecimal format.
      - `id` string — Represents project identifier across the system.
      - `name` string — Represents a project name.
    - `tags` TagDto[] — Represents a list of tag objects.
      - `archived` boolean — Indicates whether tag is archived or not.
      - `id` string — Represents tag identifier across the system.
      - `name` string — Represents tag name.
      - `workspaceId` string — Represents workspace identifier across the system.
    - `task` TaskInfoDto — Represents a project info object.
      - `id` string — Represents task identifier across the system.
      - `name` string — Represents task name.
    - `timeInterval` TimeIntervalDto — Represents a time interval object.
      - `duration` string — Represents a time duration.
      - `end` string, date-time
      - `offsetEnd` integer
      - `offsetStart` integer
      - `start` string, date-time
      - `timeZone` string
      - `zonedEnd` string, date-time
      - `zonedStart` string, date-time
    - `type` 'REGULAR' | 'BREAK' | 'HOLIDAY' | 'TIME_OFF' — Represents a time entry type enum.
  - `expenseTotal` number, double — Represents an amount.
  - `expenses` ExpenseHydratedDto[] — Represents a list of expense hydrated data transfer objects.
    - `approvalRequestId` string — Represents approval request identifier across the system.
    - `approvalStatus` 'PENDING' | 'APPROVED' | 'UNSUBMITTED' | 'REJECTED' | 'WITHDRAWN_APPROVAL' | 'WITHDRAWN_SUBMISSION' — Represents the approval status of the expense
    - `billable` boolean — Indicates whether expense is billable or not.
    - `category` ExpenseCategoryDto — Represents an expense category object.
      - `archived` boolean — Flag that indicates whether the expense category is archived or not.
      - `hasUnitPrice` boolean — Represents whether expense category has unit price or none.
      - `id` string — Represents expense category identifier across the system.
      - `name` string — Represents expense category name.
      - `priceInCents` integer — Represents price in cents as integer.
      - `unit` string — Represents expense category unit.
      - `workspaceId` string — Represents workspace identifier across the system.
    - `currency` string — Represents a currency.
    - `date` string — Represents a date in yyyy-MM-dd format.
    - `detailedApprovalStatus` 'PENDING' | 'APPROVED' | 'UNSUBMITTED' | 'REJECTED' | 'WITHDRAWN_APPROVAL' | 'WITHDRAWN_SUBMISSION' — Represents a detailed approval status of the expense
    - `fileId` string — Represents file identifier across the system.
    - `fileName` string — Represents file name.
    - `fileUrl` string — Represents file URL.
    - `id` string — Represents expense identifier across the system.
    - `isLocked` boolean
    - `locked` boolean
    - `notes` string — Represents notes for an expense.
    - `project` ProjectInfoDto — Represents a project info object.
      - `clientId` string — Represents client identifier across the system.
      - `clientName` string — Represents client name.
      - `color` string — Color format ^#(?:[0-9a-fA-F]{6}){1}$. Explanation: A valid color code should start with '#' and consist of six hexadecimal characters, representing a color in hexadecimal format. Color value is in standard RGB hexadecimal format.
      - `id` string — Represents project identifier across the system.
      - `name` string — Represents a project name.
    - `quantity` number, double — Represents expense quantity as double data type.
    - `task` TaskInfoDto — Represents a project info object.
      - `id` string — Represents task identifier across the system.
      - `name` string — Represents task name.
    - `total` number, double — Represents expense total as double data type.
    - `userId` string — Represents user identifier across the system.
    - `workspaceId` string — Represents workspace identifier across the system.
  - `pendingTime` string — Represents a time duration.
  - `trackedTime` string — Represents a time duration.

## Changes

- **2026-08-20** `a5b636acbcd8` — 62 info
  - the `approvalRequestId` response's property default value `` was added for the status `200`
  - the `approvalRequestId` response's property default value `` was added for the status `200`
  - the `approvalStatus` response's property default value `` was added for the status `200`
  - the `approvedTime` response's property default value `` was added for the status `200`
  - …58 more

[Change history](https://skmtc.dev/clockify/apis/clockify-api/changes/v1/workspaces/:workspaceId/approval-requests/get.md)

---

[API](https://skmtc.dev/clockify/apis/clockify-api.md) · [All operations](https://skmtc.dev/clockify/apis/clockify-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/clockify/clockify-api/revisions/a5b636acbcd8/schema)
