openapi: 3.0.1 info: description: "## Introduction\nBy using this REST API, you can easily integrate Clockify with your own add-ons, push and pull data\nbetween Clockify and other tools, and create custom add-ons on [CAKE.com Marketplace](https://marketplace.cake.com).\nWhether you’re looking to automate time tracking, generate custom reports, or build other custom\nintegrations, our API provides the flexibility and power you need to get the job done. If you\nhave any questions or run into any issues while using our API, don’t hesitate to reach out to us for help.\nYou can also post questions on Stack Overflow with the Clockify tag to get help from the community.\n## Authentication\nTo authenticate your requests to your API, make sure to include either the ‘X-Api-Key’ or the\n‘X-Addon-Token’ in the request header, containing your API or Addon key. If your workspace is\non a subdomain (e.g. subdomain.clockify.me), you’ll need to generate a new API key in your\nProfile Settings that will work specifically for that workspace. This ensures that you’re\naccessing data from the correct workspace and helps maintain the security of your data.\n## Webhooks\nWebhooks can enhance your workflow by keeping your add-on up-to-date with the latest changes in\nClockify. With Clockify’s webhooks you can receive real-time notifications when certain events such as\nstarting a timer or deleting a time entry occur in Clockify.\nDepending on the workspace plan, workspace owners and admins can create:\n\n* Up to 3 webhooks on **FREE** plan\n* Up to 10 webhooks per user, with a total of 100 webhooks per entire workspace\non **BASIC**, **STANDARD** and **PRO** plans\n* Up to 100 webhooks per user, with a total of 300 webhooks per entire workspace on **ENTERPRISE** plan\n\n## Rate limiting\nOur REST API has a specific rate limit of 50 requests per second (by addon on one workspace) when\naccessed using X-Addon-Token. Exceeding this limit will result in an error message with the description\n\"Too many requests\".\n## Pagination\nOur REST API supports pagination for all synchronous GET endpoints that retrieve lists of entities.\nWhen an endpoint accepts the `page` and `pageSize` query parameters, it will return a paginated response.\n\nTo control the data returned in a paginated request, you can use the following optional query parameters.\n\n- **page** (integer): The page number you wish to retrieve. This is 1-indexed. If this parameter is omitted,\nthe API will default to the first page (page=1).\n- **pageSize** (integer): The number of items to include on each page. If this parameter is omitted,\na default page size will be used.\n\nEvery response from an endpoint that supports these parameters will include a custom `Last-Page` header.\nThis header provides a simple way to determine if you have reached the end of the data set.\n\n- **true:** The current page is the final page; no more data is available.\n- **false:** Additional pages can be fetched.\n## API URLs\nRefer to the list on what URL to use base on the subdomain and data region settings of your workspace.\n* Global - can be used by workspaces with or without subdomain.\n * Regular: https://api.clockify.me/api/v1/file/image\n * Reports: https://reports.api.clockify.me/v1/workspaces/{workspaceId}/reports/detailed\n* Regional\n * Non-subdomain\n * Regular: https://euc1.clockify.me/api/v1/file/image\n * Reports: https://use2.clockify.me/report/v1/workspaces/{workspaceId}/reports/detailed\n * Subdomain\n * Regular: https://euc1.clockify.me/api/v1/file/image\n * Reports: https://yoursubdomainname.clockify.me/report/v1/workspaces/{workspaceId}/reports/detailed\n* Developer\n * Regular: https://developer.clockify.me/api/v1/file/image\n * Reports: https://developer.clockify.me/report/v1/workspaces/{workspaceId}/reports/detailed\n## Regional Server Prefixes\nIf your workspace is in a specific region, you need to change your URL prefix to access v1 API endpoints.\nFor example, this is how **backend** api [v1/file/image](#tag/User/operation/uploadImage) endpoint\nwould look in EU region:\n[https://euc1.clockify.me/api/v1/file/image](https://euc1.clockify.me)\n\nBelow are the available regional server prefixes:\n* **EU (Germany)**: euc1\n* **USA**: use2\n* **UK**: euw2\n* **AU**: apse2\n\n\n## Breaking changes\nBreaking changes in APIs are modifications that disrupt existing integrations,\nrequiring users to update their applications to maintain functionality.\nThese changes can lead to failures or unexpected results if not addressed.\nSee the list of [breaking changes](breaking-changes/).\n\n## Experimental APIs\nThe experimental API has been thoroughly tested and is ready for use in production. However, please note that user feedback may lead to changes in the API’s structure or functionality. If you choose to use the experimental API, be prepared to modify your application code accordingly to accommodate any updates." title: Clockify Approval Scheduling API version: v1 x-logo: altText: Clockify logo url: https://clockify.me/downloads/clockify_logo_primary_black_margin.png tags: - name: Scheduling x-displayName: Scheduling paths: /v1/workspaces/{workspaceId}/scheduling/assignments/all: servers: - url: https://api.clockify.me/api get: operationId: getAllAssignments parameters: - description: Represents a workspace identifier across the system. example: 64a687e29ae1f428e7ebe303 in: path name: workspaceId required: true schema: type: string description: Represents a workspace identifier across the system. example: 64a687e29ae1f428e7ebe303 - description: If provided, assignments will be filtered by name example: Bugfixing in: query name: name required: false schema: type: string description: If provided, assignments will be filtered by name example: Bugfixing default: '' - description: Represents a start date in the yyyy-MM-ddThh:mm:ssZ format. example: '2020-01-01T00:00:00Z' in: query name: start required: true schema: type: string description: Represents a start date in the yyyy-MM-ddThh:mm:ssZ format. example: '2020-01-01T00:00:00Z' - description: Represents a start date in the yyyy-MM-ddThh:mm:ssZ format. example: '2021-01-01T00:00:00Z' in: query name: end required: true schema: type: string description: Represents a start date in the yyyy-MM-ddThh:mm:ssZ format. example: '2021-01-01T00:00:00Z' - description: Represents the column as the sorting criteria. example: USER in: query name: sort-column required: false schema: type: string enum: - PROJECT - USER - ID - description: Represents the sorting mode. example: ASCENDING in: query name: sort-order required: false schema: type: string enum: - ASCENDING - DESCENDING - description: Page number. example: 1 in: query name: page required: false schema: type: integer description: Page number. format: int32 example: 1 default: 1 - description: Page size. example: 50 in: query name: page-size required: false schema: minimum: 1 type: integer description: Page size. format: int32 example: 50 default: 50 responses: '200': content: application/json: schema: type: array items: $ref: '#/components/schemas/AssignmentHydratedDtoV1' description: OK summary: Get all assignments tags: - Scheduling security: - ApiKeyAuth: [] - AddonKeyAuth: [] /v1/workspaces/{workspaceId}/scheduling/assignments/projects/totals: servers: - url: https://api.clockify.me/api post: operationId: getFilteredProjectTotals parameters: - description: Represents a workspace identifier across the system. example: 64a687e29ae1f428e7ebe303 in: path name: workspaceId required: true schema: type: string description: Represents a workspace identifier across the system. example: 64a687e29ae1f428e7ebe303 requestBody: content: application/json: schema: $ref: '#/components/schemas/ProjectTotalsRequestV1' required: true responses: '200': content: application/json: schema: type: array items: $ref: '#/components/schemas/SchedulingProjectsTotalsDtoV1' description: OK summary: Get all scheduled assignments per project tags: - Scheduling security: - ApiKeyAuth: [] - AddonKeyAuth: [] /v1/workspaces/{workspaceId}/scheduling/assignments/projects/totals/{projectId}: servers: - url: https://api.clockify.me/api get: operationId: getProjectTotalsForSingleProject parameters: - description: Represents a workspace identifier across the system. example: 64a687e29ae1f428e7ebe303 in: path name: workspaceId required: true schema: type: string description: Represents a workspace identifier across the system. example: 64a687e29ae1f428e7ebe303 - description: Represents a project identifier across the system. example: 56b687e29ae1f428e7ebe504 in: path name: projectId required: true schema: type: string description: Represents a project identifier across the system. example: 56b687e29ae1f428e7ebe504 - description: Represents a start date in the yyyy-MM-ddThh:mm:ssZ format. example: '2020-01-01T00:00:00Z' in: query name: start required: true schema: type: string description: Represents a start date in the yyyy-MM-ddThh:mm:ssZ format. example: '2020-01-01T00:00:00Z' - description: Represents an end date in the yyyy-MM-ddThh:mm:ssZ format. example: '2021-01-01T00:00:00Z' in: query name: end required: true schema: type: string description: Represents an end date in the yyyy-MM-ddThh:mm:ssZ format. example: '2021-01-01T00:00:00Z' responses: '200': content: application/json: schema: $ref: '#/components/schemas/SchedulingProjectsTotalsDtoV1' description: OK summary: Get all scheduled assignments on project tags: - Scheduling security: - ApiKeyAuth: [] - AddonKeyAuth: [] /v1/workspaces/{workspaceId}/scheduling/assignments/publish: servers: - url: https://api.clockify.me/api put: operationId: publishAssignments parameters: - description: Represents a workspace identifier across the system. example: 64a687e29ae1f428e7ebe303 in: path name: workspaceId required: true schema: type: string description: Represents a workspace identifier across the system. example: 64a687e29ae1f428e7ebe303 requestBody: content: application/json: schema: $ref: '#/components/schemas/PublishAssignmentsRequestV1' required: true responses: '200': description: OK summary: Publish assignments tags: - Scheduling security: - ApiKeyAuth: [] - AddonKeyAuth: [] /v1/workspaces/{workspaceId}/scheduling/assignments/recurring: servers: - url: https://api.clockify.me/api post: operationId: createRecurring parameters: - description: Represents a workspace identifier across the system. example: 64a687e29ae1f428e7ebe303 in: path name: workspaceId required: true schema: type: string description: Represents a workspace identifier across the system. example: 64a687e29ae1f428e7ebe303 requestBody: content: application/json: schema: $ref: '#/components/schemas/AssignmentCreateRequestV1' required: true responses: '201': content: application/json: schema: type: array items: $ref: '#/components/schemas/AssignmentDtoV1' description: Created summary: Create a recurring assignment tags: - Scheduling security: - ApiKeyAuth: [] - AddonKeyAuth: [] /v1/workspaces/{workspaceId}/scheduling/assignments/recurring/{assignmentId}: servers: - url: https://api.clockify.me/api delete: operationId: deleteRRecurringAssignment parameters: - description: Represents a workspace identifier across the system. example: 64a687e29ae1f428e7ebe303 in: path name: workspaceId required: true schema: type: string description: Represents a workspace identifier across the system. example: 64a687e29ae1f428e7ebe303 - description: Represents an assignment identifier across the system. example: 5b641568b07987035750505e in: path name: assignmentId required: true schema: type: string description: Represents an assignment identifier across the system. example: 5b641568b07987035750505e - description: Represents a series option. example: ALL in: query name: seriesUpdateOption required: false schema: type: string enum: - THIS_ONE - THIS_AND_FOLLOWING - ALL responses: '200': content: application/json: schema: type: array items: $ref: '#/components/schemas/AssignmentDtoV1' description: OK summary: Delete a recurring assignment tags: - Scheduling security: - ApiKeyAuth: [] - AddonKeyAuth: [] patch: operationId: editRecurring parameters: - description: Represents a workspace identifier across the system. example: 64a687e29ae1f428e7ebe303 in: path name: workspaceId required: true schema: type: string description: Represents a workspace identifier across the system. example: 64a687e29ae1f428e7ebe303 - description: Represents an assignment identifier across the system. example: 5b641568b07987035750505e in: path name: assignmentId required: true schema: type: string description: Represents an assignment identifier across the system. example: 5b641568b07987035750505e requestBody: content: application/json: schema: $ref: '#/components/schemas/AssignmentUpdateRequestV1' required: true responses: '200': content: application/json: schema: type: array items: $ref: '#/components/schemas/AssignmentDtoV1' description: OK summary: Update a recurring assignment tags: - Scheduling security: - ApiKeyAuth: [] - AddonKeyAuth: [] /v1/workspaces/{workspaceId}/scheduling/assignments/series/{assignmentId}: servers: - url: https://api.clockify.me/api put: operationId: editRecurringPeriod parameters: - description: Represents a workspace identifier across the system. example: 64a687e29ae1f428e7ebe303 in: path name: workspaceId required: true schema: type: string description: Represents a workspace identifier across the system. example: 64a687e29ae1f428e7ebe303 - description: Represents an assignment identifier across the system. example: 5b641568b07987035750505e in: path name: assignmentId required: true schema: type: string description: Represents an assignment identifier across the system. example: 5b641568b07987035750505e requestBody: content: application/json: schema: $ref: '#/components/schemas/RecurringAssignmentRequestV1' required: true responses: '200': content: application/json: schema: type: array items: $ref: '#/components/schemas/AssignmentDtoV1' description: OK summary: Change the recurring period tags: - Scheduling security: - ApiKeyAuth: [] - AddonKeyAuth: [] /v1/workspaces/{workspaceId}/scheduling/assignments/user-filter/totals: servers: - url: https://api.clockify.me/api post: operationId: getUserTotals parameters: - description: Represents a workspace identifier across the system. example: 64a687e29ae1f428e7ebe303 in: path name: workspaceId required: true schema: type: string description: Represents a workspace identifier across the system. example: 64a687e29ae1f428e7ebe303 requestBody: content: application/json: schema: $ref: '#/components/schemas/GetUserTotalsRequestV1' required: true responses: '200': content: application/json: schema: type: array items: $ref: '#/components/schemas/SchedulingUsersTotalsDtoV1' description: OK summary: Get total of users' capacity on workspace tags: - Scheduling security: - ApiKeyAuth: [] - AddonKeyAuth: [] /v1/workspaces/{workspaceId}/scheduling/assignments/users/{userId}/totals: servers: - url: https://api.clockify.me/api get: operationId: getUserTotalsForSingleUser parameters: - description: Represents a workspace identifier across the system. example: 64a687e29ae1f428e7ebe303 in: path name: workspaceId required: true schema: type: string description: Represents a workspace identifier across the system. example: 64a687e29ae1f428e7ebe303 - description: Represents a user identifier across the system. example: 5a0ab5acb07987125438b60f in: path name: userId required: true schema: type: string description: Represents a user identifier across the system. example: 5a0ab5acb07987125438b60f - description: Page number. example: 1 in: query name: page required: false schema: type: integer description: Page number. format: int32 example: 1 default: 1 - description: Page size. example: 50 in: query name: page-size required: false schema: minimum: 1 type: integer description: Page size. format: int32 example: 50 default: 50 - description: Represents a start date in the yyyy-MM-ddThh:mm:ssZ format. example: '2020-01-01T00:00:00Z' in: query name: start required: true schema: type: string description: Represents a start date in the yyyy-MM-ddThh:mm:ssZ format. example: '2020-01-01T00:00:00Z' - description: Represents an end date in the yyyy-MM-ddThh:mm:ssZ format. example: '2021-01-01T00:00:00Z' in: query name: end required: true schema: type: string description: Represents an end date in the yyyy-MM-ddThh:mm:ssZ format. example: '2021-01-01T00:00:00Z' responses: '200': content: application/json: schema: $ref: '#/components/schemas/SchedulingUsersTotalsDtoV1' description: OK summary: Get total capacity of a user tags: - Scheduling security: - ApiKeyAuth: [] - AddonKeyAuth: [] /v1/workspaces/{workspaceId}/scheduling/assignments/{assignmentId}/copy: servers: - url: https://api.clockify.me/api post: operationId: copyAssignment parameters: - description: Represents a workspace identifier across the system. example: 64a687e29ae1f428e7ebe303 in: path name: workspaceId required: true schema: type: string description: Represents a workspace identifier across the system. example: 64a687e29ae1f428e7ebe303 - description: Represents an assignment identifier across the system. example: 5b641568b07987035750505e in: path name: assignmentId required: true schema: type: string description: Represents an assignment identifier across the system. example: 5b641568b07987035750505e requestBody: content: application/json: schema: $ref: '#/components/schemas/CopyAssignmentRequestV1' required: true responses: '200': content: application/json: schema: type: array items: $ref: '#/components/schemas/AssignmentDtoV1' description: OK summary: Copy a scheduled assignment tags: - Scheduling security: - ApiKeyAuth: [] - AddonKeyAuth: [] components: schemas: ProjectTotalsRequestV1: required: - end - start type: object properties: end: type: string description: Represents an end date in the yyyy-MM-ddThh:mm:ssZ format. format: date-time example: '2021-01-01T00:00:00Z' page: type: integer description: Page number. format: int32 example: 1 default: 1 pageSize: maximum: 200 type: integer description: Page size. format: int32 example: 50 default: 50 search: type: string description: Represents a term for searching projects and clients by name. example: Project name start: type: string description: Represents a start date in the yyyy-MM-ddThh:mm:ssZ format. format: date-time example: '2020-01-01T00:00:00Z' statusFilter: type: string description: Filters assignments by status. example: PUBLISHED enum: - PUBLISHED - UNPUBLISHED - ALL PublishAssignmentsRequestV1: required: - end - start type: object properties: end: type: string description: Represents end date in yyyy-MM-ddThh:mm:ssZ format. example: '2021-01-01T00:00:00Z' notifyUsers: type: boolean description: Indicates whether to notify users when assignment is published. default: false search: type: string description: Represents a search string. example: search keyword start: type: string description: Represents start date in yyyy-MM-ddThh:mm:ssZ format. example: '2020-01-01T00:00:00Z' userFilter: $ref: '#/components/schemas/ContainsUsersFilterRequestV1' userGroupFilter: $ref: '#/components/schemas/ContainsUserGroupFilterRequestV1' viewType: type: string description: Represents view type. example: PROJECTS enum: - PROJECTS - TEAM - ALL AssignmentDtoV1: type: object properties: billable: type: boolean description: Indicates whether assignment is billable or not. default: false excludeDays: uniqueItems: true type: array description: Represents a list of excluded days objects items: $ref: '#/components/schemas/SchedulingExcludeDay' hoursPerDay: type: number description: Represents assignment total hours per day. format: double example: 7.5 id: type: string description: Represents assignment identifier across the system. example: 74a687e29ae1f428e7ebe505 includeNonWorkingDays: type: boolean description: Indicates whether assignment should include non-working days or not. default: false note: type: string description: Represents assignment note. example: This is a sample note for an assignment. period: $ref: '#/components/schemas/DateRangeDto' projectId: type: string description: Represents project identifier across the system. example: 56b687e29ae1f428e7ebe504 published: type: boolean description: Indicates whether assignment is published or not. default: false recurring: $ref: '#/components/schemas/RecurringAssignmentDto' startTime: type: string description: Represents start time in hh:mm:ss format. example: '10:00:00' taskId: type: string description: Represents task identifier across the system. example: 36b687e29ae1f428e7ebe109 userId: type: string description: Represents user identifier across the system. example: 72k687e29ae1f428e7ebe109 workspaceId: type: string description: Represents workspace identifier across the system. example: 64a687e29ae1f428e7ebe303 AssignmentHydratedDtoV1: type: object properties: billable: type: boolean description: Indicates whether assignment is billable or not. default: false clientId: type: string description: Represents client identifier across the system. example: 36b687e29ae1f428e7ebe109 clientName: type: string description: Represents project name. example: Software Development hoursPerDay: type: number description: Represents number of hours per day as double. format: double example: 7.5 id: type: string description: Represents assignment identifier across the system. example: 74a687e29ae1f428e7ebe505 note: type: string description: Represents assignment note. example: This is a sample note for an assignment. period: $ref: '#/components/schemas/DateRangeDto' projectArchived: type: boolean projectBillable: type: boolean projectColor: type: string description: '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.' example: '#000000' projectId: type: string description: Represents project identifier across the system. example: 56b687e29ae1f428e7ebe504 projectName: type: string description: Represents project name. example: Software Development startTime: type: string description: Represents start time in hh:mm:ss format. example: '10:00:00' taskId: type: string description: Represents task identifier across the system. example: 36b687e29ae1f428e7ebe109 taskName: type: string description: Represents task name. example: Bugfixing userId: type: string description: Represents user identifier across the system. example: 72k687e29ae1f428e7ebe109 userName: type: string description: Represents user name. example: John Doe workspaceId: type: string description: Represents workspace identifier across the system. example: 64a687e29ae1f428e7ebe303 SchedulingUsersTotalsDtoV1: type: object properties: capacityPerDay: type: number description: Represents capacity per day in seconds. For a 7hr work day, value is 25200. format: double example: 25200 totalHoursPerDay: type: array description: Represents total hours per day object. items: $ref: '#/components/schemas/TotalsPerDayDto' userId: type: string description: Represents user identifier across the system. example: 72k687e29ae1f428e7ebe109 userImage: type: string description: Represents url path to user image. userName: type: string description: Represents user name. example: John Doe userStatus: type: string description: Represents user status. example: ACTIVE workingDays: type: string description: Represents list of days of the week. example: '["MONDAY","TUESDAY","WEDNESDAY","THURSDAY","FRIDAY"]' enum: - MONDAY - TUESDAY - WEDNESDAY - THURSDAY - FRIDAY - SATURDAY - SUNDAY workspaceId: type: string description: Represents workspace identifier across the system. example: 64a687e29ae1f428e7ebe303 ContainsUserGroupFilterRequestV1: type: object properties: contains: type: string description: Filter type. example: CONTAINS enum: - CONTAINS - DOES_NOT_CONTAIN - CONTAINS_ONLY ids: uniqueItems: true type: array description: Represents a list of filter identifiers. example: - 5a0ab5acb07987125438b60f - 64c777ddd3fcab07cfbb210c items: type: string description: Represents a list of filter identifiers. example: '["5a0ab5acb07987125438b60f","64c777ddd3fcab07cfbb210c"]' status: type: string description: Filters entities by status. example: ACTIVE enum: - PENDING - ACTIVE - DECLINED - INACTIVE - ALL description: Represents a user group filter request object. RecurringAssignmentRequestV1: required: - weeks type: object properties: repeat: type: boolean description: Indicates whether assignment is recurring or not. default: false weeks: maximum: 99 minimum: 1 type: integer description: Indicates number of weeks for assignment. format: int32 example: 5 DateRangeDto: type: object properties: end: type: string format: date-time start: type: string format: date-time description: Represents date range object. AssignmentPerDayDto: type: object properties: date: type: string format: date-time hasAssignment: type: boolean description: Represents a list of assignment per day objects. AssignmentUpdateRequestV1: required: - end - start type: object properties: billable: type: boolean description: Indicates whether assignment is billable or not. default: false end: type: string description: Represents an end date in the yyyy-MM-ddThh:mm:ssZ format. example: '2021-01-01T00:00:00Z' hoursPerDay: type: number description: Represents assignment total hours per day. format: double example: 7.5 includeNonWorkingDays: type: boolean description: Indicates whether to include non-working days or not. default: false note: maxLength: 100 minLength: 0 type: string description: Represents an assignment note. example: This is a sample note for an assignment. seriesUpdateOption: type: string description: Valid series option example: THIS_ONE enum: - THIS_ONE - THIS_AND_FOLLOWING - ALL start: type: string description: Represents start date in yyyy-MM-ddThh:mm:ssZ format. example: '2020-01-01T00:00:00Z' startTime: type: string description: Represents a start time in the hh:mm:ss format. example: '10:00:00' taskId: type: string description: Represents task identifier across the system. example: 56b687e29ae1f428e7ebe505 GetUserTotalsRequestV1: required: - end - start type: object properties: end: type: string description: Represents an end date in the yyyy-MM-ddThh:mm:ssZ format. format: date-time example: '2021-01-01T00:00:00Z' page: type: integer description: Page number. format: int32 example: 1 default: 1 pageSize: maximum: 200 type: integer description: Page size. format: int32 example: 50 default: 50 search: type: string description: Represents the keyword for searching users by name or email. example: keyword start: type: string description: Represents a start date in the yyyy-MM-ddThh:mm:ssZ format. format: date-time example: '2020-01-01T00:00:00Z' statusFilter: type: string description: Filters assignments by status. example: PUBLISHED enum: - PUBLISHED - UNPUBLISHED - ALL userFilter: $ref: '#/components/schemas/ContainsUsersFilterRequestV1' userGroupFilter: $ref: '#/components/schemas/ContainsUserGroupFilterRequestV1' ContainsUsersFilterRequestV1: type: object properties: contains: type: string description: Filter type. example: CONTAINS enum: - CONTAINS - DOES_NOT_CONTAIN - CONTAINS_ONLY ids: uniqueItems: true type: array description: Represents a list of filter identifiers. example: - 5a0ab5acb07987125438b60f - 64c777ddd3fcab07cfbb210c items: type: string description: Represents a list of filter identifiers. example: '["5a0ab5acb07987125438b60f","64c777ddd3fcab07cfbb210c"]' sourceType: type: string description: Valid authorization source type. example: USER_GROUP enum: - USER_GROUP status: type: string description: Filters entities by status. example: ACTIVE enum: - PENDING - ACTIVE - DECLINED - INACTIVE - ALL statuses: type: array description: Valid array of membership statuses. example: - PENDING - INACTIVE items: type: string description: Valid array of membership statuses. example: '["PENDING","INACTIVE"]' enum: - PENDING - ACTIVE - DECLINED - INACTIVE - ALL description: Represents a user filter request object. TotalsPerDayDto: type: object properties: date: type: string format: date-time totalHours: type: number format: double description: Represents total hours per day object. RecurringAssignmentDto: type: object properties: repeat: type: boolean description: Indicates whether assignment is recurring or not. default: false seriesId: type: string description: Represents series identifier. example: 64c777ddd3fcab07cfbb210c weeks: type: integer description: Represents number of weeks for thhis assignment. format: int32 example: 5 description: Represents recurring assignment object. MilestoneDto: type: object properties: date: type: string description: Represents a date in yyyy-MM-ddThh:mm:ssZ format. format: date-time example: '2020-01-01T08:00:00Z' id: type: string description: Represents milestone identifier across the system. example: 34a687e29ae1f428e7ebe303 name: type: string description: Represents milestone name. example: Q3 projectId: type: string description: Represents project identifier across the system. example: 5b641568b07987035750505e workspaceId: type: string description: Represents workspace identifier across the system. example: 64a687e29ae1f428e7ebe303 description: Represents a list of milestone objects. AssignmentCreateRequestV1: required: - end - hoursPerDay - projectId - start - userId type: object properties: billable: type: boolean description: Indicates whether assignment is billable or not. default: false end: type: string description: Represents an end date in the yyyy-MM-ddThh:mm:ssZ format. example: '2021-01-01T00:00:00Z' hoursPerDay: type: number description: Represents assignment total hours per day. format: double example: 7.5 includeNonWorkingDays: type: boolean description: Indicates whether to include non-working days or not. default: false note: maxLength: 100 minLength: 0 type: string description: Represents an assignment note. example: This is a sample note for an assignment. projectId: minLength: 1 type: string description: Represents a project identifier across the system. example: 56b687e29ae1f428e7ebe504 recurringAssignment: $ref: '#/components/schemas/RecurringAssignmentRequestV1' start: type: string description: Represents a start date in the yyyy-MM-ddThh:mm:ssZ format. example: '2020-01-01T00:00:00Z' startTime: type: string description: Represents a start time in the hh:mm:ss format. example: '10:00:00' taskId: type: string description: Represents a task identifier across the system. example: 56b687e29ae1f428e7ebe505 userId: minLength: 1 type: string description: Represents a user identifier across the system. example: 72k687e29ae1f428e7ebe109 SchedulingExcludeDay: type: object properties: date: type: string description: Represents a datetimr in yyyy-MM-ddThh:mm:ssZ format. format: date-time example: '2020-01-01T08:00:00Z' type: type: string description: Represents the scheduling exclude day enum. example: WEEKEND enum: - WEEKEND - HOLIDAY - TIME_OFF description: Represents a list of excluded days objects SchedulingProjectsTotalsDtoV1: type: object properties: assignments: type: array description: Represents a list of assignment per day objects. items: $ref: '#/components/schemas/AssignmentPerDayDto' clientName: type: string description: Represents project name. example: Software Development milestones: type: array description: Represents a list of milestone objects. items: $ref: '#/components/schemas/MilestoneDto' projectArchived: type: boolean description: Indicates whether project is archived or not. default: false projectBillable: type: boolean description: Indicates whether project is billable or not. default: false projectColor: type: string description: '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.' example: '#000000' projectId: type: string description: Represents project identifier across the system. example: 56b687e29ae1f428e7ebe504 projectName: type: string description: Represents project name. example: Software Development taskId: type: string description: Represents task identifier across the system. example: 36b687e29ae1f428e7ebe109 taskName: type: string description: Represents task name. example: Bugfixing totalHours: type: number description: Represents project total hours as double. format: double example: 490.5 workspaceId: type: string description: Represents workspace identifier across the system. example: 64a687e29ae1f428e7ebe303 CopyAssignmentRequestV1: required: - userId type: object properties: seriesUpdateOption: type: string description: Represents a series update option. example: THIS_ONE enum: - THIS_ONE - THIS_AND_FOLLOWING - ALL userId: type: string description: Represents a user identifier across the system. example: 72k687e29ae1f428e7ebe109 securitySchemes: AddonKeyAuth: in: header name: x-addon-token type: apiKey ApiKeyAuth: in: header name: x-api-key type: apiKey MarketplaceKeyAuth: in: header name: x-marketplace-token type: apiKey ReportAddonKeyAuth: in: header name: x-addon-token type: apiKey x-tagGroups: - name: Clockify API tags: - User - Workspace - Webhooks - Approval - Client - Custom fields - Expense - Holiday - Invoice - Project - Task - Scheduling - Tag - Time entry - Balance - Policy - Time Off - Group - name: Clockify Reports API tags: - Shared Report - Team Report - Time Entry Report - Expense Report - name: Clockify Audit Log API tags: - Audit Log Report - name: Deprecated API tags: - Template (Deprecated) - Scheduling (Deprecated) - Workspace (Deprecated) - name: Experimental API tags: - Entity changes (Experimental) - name: Guide tags: - 'Entity Changes: Use cases'